PutOnAirInput
Put the station on air, building its running order from the top
Attributes (29)
| Attribute | Type | Required | Description |
|---|---|---|---|
pluginId | string | No | The plugin whose playlist to build from. Absent starts empty and lets the station generate its own programming |
playlistId | string | No | Required alongside pluginId. The playlist is READ at this moment rather than copied, so it is never edited by having been aired |
chartId | string | No | A published chart to build from instead, as pluginId:chartId. An ALTERNATIVE to pluginId and playlistId rather than a companion: a chart names records where a playlist names copies, so its entries are looked up and ingested before they can air, and a station with rotation.discover off can play almost none of one |
chartOrder | 'countdown' | 'ranked' | 'unordered' | No | Which way round to play it. countdown opens on the lowest rank and ends on number one, which is the shape a chart show has; ranked walks the published document from the top; unordered leaves the sequence to the station's own artist spacing. Absent is countdown. Ignored without chartId |
chartPositions | boolean | No | Whether the host says where the chart placed each record it named: "number seven on the Hot 100". Absent is yes. Set it false to air a chart without its positions read out. A record no chart named has no position to say whatever this says |
albumId | string | No | An album the library holds, to play in the order it was made: by disc, then by track, with any record nobody numbered after the rest. An ALTERNATIVE to every source above, and like a station playlist its records air from whichever provider serves a copy. Pair it with mode: feature to play it whole, with no breaks and no blends |
routeFrom | string | No | Start a route at this artist and travel to routeTo through artists the library holds, one record each, every step a record two of them share or a similarity source naming them alike. Send both or neither, and nothing else that names a source. Preview it first with /director/route/preview, which also makes this quicker |
routeTo | string | No | Where a route ends. See routeFrom |
stationPlaylistId | string | No | A playlist the station owns to build from instead. An ALTERNATIVE to pluginId and playlistId, and to chartId: its records are the library's own, so each airs from whichever provider serves a copy, and a row the library does not hold yet is left out |
name | string | No | What to call this broadcast. Absent names it after the chart, or after the plugin, since only the surface that listed the source knows its own name for it |
brief | string | No | What the station should play, in your own words: "heavy metal hits". It steers every refill for as long as this broadcast runs, not just the first batch, and it needs a model to programme with. Absent programmes the station the way its own rules do |
personaId | string | No | Who is hosting this broadcast. It rides the running order for as long as the broadcast does, so the presenter cannot drift back mid-show. Absent uses whichever persona the station has on air |
eraFrom | number | No | The earliest release year this broadcast plays. Absent means no lower bound, and a record whose year the catalog does not know is played whatever the period |
eraTo | number | No | The latest release year, on the same terms. Set with eraFrom for a decade; either may stand alone |
moods | ('love' | 'happiness' | 'comfort' | 'sadness' | 'loneliness' | 'anger' | 'fear')[] | No | The moods this broadcast leans into, as stages in order across the schedule slot it fills. Off the schedule, only the first is used. Records a model has judged to be in the mood are a little more likely to be picked; nothing is ever kept off the air for it. Absent or empty is no lean |
avoidMoods | ('love' | 'happiness' | 'comfort' | 'sadness' | 'loneliness' | 'anger' | 'fear')[] | No | The moods this broadcast steers away from, for the whole of it. Records a model has judged to be in one are less likely to be picked, half as likely; nothing is ever kept off the air for it. Absent or empty avoids nothing |
breaks | boolean | No | Whether the host talks between the records. Absent is the mode's own answer: a rotation talks and a setlist does not. Set it true on a setlist for a countdown with a host, which talks as often as the station does while the records play exactly as the setlist has them. A feature stays silent whatever this says |
callins | boolean | No | Whether somebody phones in during this broadcast. A call is a short programme rather than a break: a few turns in a few voices, entering the running order as one block, spaced by rotation.callinEveryMinutes. Absent is no calls: there is no station-wide default behind it |
mixInSimilar | boolean | No | Whether records that sound like the ones on this playlist are mixed in among them, one every rotation.mixInEvery records, found through the similarity plugin. The playlist still plays in full and in its own order around them. Absent takes the station's own setting, which is off. A setlist and a feature never have anything mixed in |
requestShow | boolean | No | Whether this is a request show: the station plays as it otherwise would until a listener's request is placed, then replaces what was planned behind the request with records that sound like it, found through the similarity plugin. A second request waits for the first one's records to play out. Absent is no: there is no station-wide default behind it. A setlist or a feature never has a request followed, since that would throw its own sequence away |
requestFollowOn | number | No | How many records follow each request on a request show. Absent is 4. Ignored unless requestShow is true |
requestCooldownMinutes | number | No | Minutes one listener waits between requests during this broadcast, in place of the station's requests.cooldownMinutes. Absent keeps the station's. A party night wants it short |
requestMaxOpen | number | No | How many requests may be waiting at once during this broadcast, in place of the station's requests.maxOpen. Absent keeps the station's |
repeatWindowDays | number | No | Days a record rests after airing before this broadcast may play it again, in place of the station's rotation.repeatWindowDays. 0 lifts the window. Absent keeps the mode's own answer: the station's for a rotation, none for a setlist or a feature. A lift never reaches a dislike or a never-play rule |
artistCooldownMinutes | number | No | Minutes an artist rests after airing during this broadcast, in place of the station's rotation.artistCooldownMinutes. 0 lifts the cooldown, which is what an hour of one artist needs first. Absent keeps the mode's own answer, on repeatWindowDays' terms |
maxPerArtist | number | No | Most records by one artist in each batch the station programmes for this broadcast, in place of the station's rotation.maxPerArtist. 0 lifts the cap. Absent keeps the mode's own answer, on repeatWindowDays' terms |
writerOrder | 'model' | 'station' | No | Which writer is asked first for this broadcast's breaks, in place of the station's llm.breakWriterOrder: model, with the station's own words underneath, or station, the phrasings, headlines and stories as written with the model underneath. Absent keeps the station's setting. Changes nothing while the model is switched off |
mode | StationMode | No | |
onEnd | StationOnEnd | No |