-
-
Notifications
You must be signed in to change notification settings - Fork 132
Advanced Scheduling Options
FieldStation42's scheduler—code-named Liquid Scheduler—is designed to make your TV experience as flexible as possible. Unlike the original rigid scheduler (which only allowed 30, 60, or 120 minute blocks), Liquid Scheduler lets you create fluid, dynamic schedules for any channel style.
Liquid Scheduler keeps schedules aligned using the schedule_increment=N setting (N = minutes). Schedules always end on these increments. For example:
- Traditional TV: 30-minute blocks (shows are 30, 60, 90, 120 min, etc.)
- Movie channel: 5-minute increments with short bumps
-
No breaks: Set
schedule_increment=0for continuous play
How it works:
| Show Length | With schedule_increment=30
|
With schedule_increment=5
|
|---|---|---|
| 22 min | 30 min (buffered) | 25 min (buffered) |
| 47 min | 60 min (buffered) | 50 min (buffered) |
| 78 min | 90 min (buffered) | 80 min (buffered) |
Works with existing configs—no updates required for default.
Keep these concepts in mind when working with scheduler configs:
- tags are just relative directory paths
- All paths are relative to the station's
content_dir
The FS42 scheduler supports a wide range of optional time slot settings. Understanding these unlocks the most powerful features of FieldStation42!
Here’s an example time slot using many advanced parameters:
"20": {
"tags": "myshow",
"start_bump": "extra/pre-myshow.mp4",
"end_bump": "extra/post-myshow.mp4",
"bump_dir": "extra/myshow_bumps",
"commercial_dir": "extra/myshow_commercials",
"sequence": "prime",
"sequence_start": 0.0,
"sequence_end": 1.0,
"random_tags": true,
"video_scramble_fx": "color_inversion"
}Set specific bumps to play at the start or end of a time slot:
-
Start and end bump in the same slot:
"20": {"tags": "adult_swim", "start_bump": "caps/sb.mp4", "end_bump": "caps/eb.mp4"}
-
Wrap a block with start and end bumps:
"20": {"tags": "adult_swim", "start_bump": "caps/sb.mp4"}, "21": {"tags": "adult_swim"}, "22": {"tags": "adult_swim", "end_bump": "caps/eb.mp4"}
File paths are relative to the station's
content_dir. Use a separate folder for these bumps and don't use it as a tag, or the bumps may be used in normal programming.
Override the default commercial or bump directories for a specific time slot. Only content from the specified directories will be used for breaks.
Example: Saturday morning cartoons
"8": {"tags": "saturday_cartoons", "commercial_dir": "kids_commercials", "bump_dir": "sat_morning_bumps"}If tags is a list, setting random_tags: true tells the scheduler to pick randomly from the list for that slot.
"22": {"tags": ["drama/show1", "drama/show2"], "random_tags": true}If tags is a single string, random_tags has no effect. If not set or false, the scheduler uses the first tag for the first half of the slot and the second for the last half.
Play a series in order, based on the alphanumeric order of video files. Sequences are named, so you can have multiple sequences with the same name.
"21": {"tags": "my_show", "sequence": "my_sequence"}Only files in the my_show folder are included in the sequence. The folder is read recursively to build the episode list.
You can run multiple sequences of a show, each covering different intervals of the series. For example, play old episodes during the day and new ones in primetime:
-
Daily (old episodes):
"17": {"tags": "xfiles", "sequence": "daily", "sequence_start": 0.0, "sequence_end": 0.75}
-
Friday (new episodes):
"21": {"tags": "xfiles", "sequence": "prime", "sequence_start": 0.75, "sequence_end": 1.0}
Here, sequence_start and sequence_end are percentages of the total episode count. Sequences loop after reaching the end.
For more, see the Playing Series in Sequence guide.
Scramble FX can be set at the station level or overridden per time slot. For example, to add a color inversion scrambling effect for a specific slot:
"21": {"tags": "premium-content", "video_scramble_fx": "color_inversion"}To turn off scramble FX for a specific slot (even if set at the station level):
"21": {"tags": "free-content", "video_scramble_fx": false}