diff --git a/CHANGELOG.md b/CHANGELOG.md index 91e42d73d..4261fc412 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -62,6 +62,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix high CPU when errors are displayed; errors will now work ahead before throttling to realtime, similar to primary content - Fix startup error caused by duplicate smart collection names (and no longer allow duplicate smart collection names) - Fix erroneous downgrade health check failure with some installations that use MariaDB +- Sequential schedules: fix `count` instruction validation to accept integer (constant) or string (expression) ### Changed - No longer round framerate to nearest integer when normalizing framerate diff --git a/ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutCountHandler.cs b/ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutCountHandler.cs index c0ee6a2b8..92e134f09 100644 --- a/ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutCountHandler.cs +++ b/ErsatzTV.Core/Scheduling/YamlScheduling/Handlers/YamlPlayoutCountHandler.cs @@ -43,7 +43,7 @@ public class YamlPlayoutCountHandler(EnumeratorCache enumeratorCache) : YamlPlay e.Result = name switch { "count" => enumeratorCount, - "random" => random.Next() % enumeratorCount, + "random" => enumeratorCount > 0 ? random.Next() % enumeratorCount : 0, _ => e.Result }; }; diff --git a/ErsatzTV/Resources/sequential-schedule-import.schema.json b/ErsatzTV/Resources/sequential-schedule-import.schema.json index 2ea0480f0..6ae801007 100644 --- a/ErsatzTV/Resources/sequential-schedule-import.schema.json +++ b/ErsatzTV/Resources/sequential-schedule-import.schema.json @@ -191,7 +191,7 @@ "countInstruction": { "type": "object", "properties": { - "count": { "type": "integer" }, + "count": { "type": ["integer", "string"] }, "content": { "type": "string" }, "custom_title": { "type": "string" }, "filler_kind": { "$ref": "#/$defs/enums/filler_kind" }, diff --git a/ErsatzTV/Resources/sequential-schedule.schema.json b/ErsatzTV/Resources/sequential-schedule.schema.json index 34304c5a6..004933eca 100644 --- a/ErsatzTV/Resources/sequential-schedule.schema.json +++ b/ErsatzTV/Resources/sequential-schedule.schema.json @@ -242,7 +242,7 @@ "countInstruction": { "type": "object", "properties": { - "count": { "type": "integer" }, + "count": { "type": ["integer", "string"] }, "content": { "type": "string" }, "custom_title": { "type": "string" }, "filler_kind": { "$ref": "#/$defs/enums/filler_kind" },