Skip to content

Advanced Scheduling Options

Shane C Mason edited this page Aug 1, 2025 · 28 revisions

🕒 Advanced Scheduling Options in FieldStation42

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.


⏱️ Flexible Schedule Increments

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=0 for 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)

This setting can be overridden at the time-slot level. Read more to learn about setting properties on time slots.


📁 It's All Relative

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

🗓️ Configurable Time Slots

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",
  "break_stratety": "center",
  "sequence": "prime",
  "sequence_start": 0.0,
  "sequence_end": 1.0,
  "schedule_increment": 30,
  "random_tags": true,
  "video_scramble_fx": "color_inversion"
}

🎬 Time Slot start_bump and end_bump

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.


📺 Time Slot commercial_dir and bump_dir

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"}

🎲 Time Slot random_tags

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.


📚 Time Slot sequence

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.

📺 Time Slot break_strategy

Override the default break_strategy for a specific time slot, can be one of standard (interspersed), end (all at end of show) or center (all in middle).

Example: Show with an intermission in the middle

"20": {"tags": "cool_show", "break_strategy": "center"}

Sequence Start and End Points

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.


📺 Time Slot schedule_increment

This parameter lets you change the schedule increment for this time slot. For example, if you want to have 15 minute programming shows for the hour, you can do this:

"21": {"tags": "short_shows", "schedule_increment": 15}

This only effects the schedule_increment on slots it is declared, otherwise the station level increment is used. You should choose factors or multiples of 60 minutes (2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60, 120, 180 and so on) and ensure all shows in the tag are shorter than the schedule_increment or you will likely end up with schedule overrun.


🌀 Timeslot Scramble FX

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}

Clone this wiki locally