External Streams
Air weather, news and other bulletins published at somebody else's URL, and pin them to a minute in a clock.
External Streams
Some of what your station plays is not yours to upload. A weather forecast is regenerated every hour at a fixed address; a news feed runs continuously somewhere else. External Streams is where you register those addresses so a clock can reach them.
Nothing here is stored in your Media Library and nothing counts against your storage. The audio is fetched at the moment it airs.
Add a stream
Paste the URL, give it a title and a genre, and save. The title is what listeners see as now-playing while it airs.
The URL must start with https://. It does not need to end in .mp3 — most bulletin URLs are download endpoints with a key in the query string, and many redirect to a signed file with a different name each time. That is exactly the case this is built for.
Check asks this server to fetch the URL and tells you what it found: whether there is audio there, how long it is, and whether it is a file or an endless stream. This is the same fetch the playout node makes, so if Check is happy the node will be too.
The play button on each stream plays the URL back to you through the dashboard, so you can hear precisely what would go out before you put it in a clock.
Volume adjustment
Somebody else recorded this, in their studio, at their level. A bulletin that disappears underneath your music needs a few decibels to sit with it, and Volume adjustment is where you add them. Leave it at 0 to air the file exactly as it arrives.
Your uploaded files are measured on import and levelled automatically, but a stream cannot be: the audio at that URL is replaced every hour, so a measurement would describe the bulletin before last. This dial is the manual stand-in, and it applies to whatever arrives at that address from now on.
Test playback plays through the dial, so what you hear is what listeners will hear. Change the number while it is playing and the level follows.
The line underneath tells you whether the number is safe — it measures the file's own headroom as it plays and warns you when a boost would push the peaks past the ceiling, which sounds harsh and cannot be undone. Let the whole bulletin play before trusting it: the reading is the loudest point *so far*.
If you find yourself wanting more than about +6 dB, the source is too quiet to rescue this way and wants re-recording. See Audio levels for what is being measured and why.
Files and endless streams
A file is one bulletin at a fixed address, replaced in place by whoever publishes it. It plays start to finish and the hour carries on. This is the ordinary case.
An endless stream is an Icecast or Shoutcast mount that never stops. It has to carry a maximum length, because nothing about the source will ever end it — the station joins it, airs it for that long, and returns to your rotation. Without a cap it would hold the station indefinitely, so it cannot be saved without one.
Check works out which of the two you have and sets the mode for you. You can override it.
Put one on the hour
In Clocks, add an External stream slot, choose the stream, and set at :MM to pin it. Pinned to :00, a weather bulletin opens every hour. Switch on back-timing and the song before it will end right on the minute instead of running over.
A bulletin is short and pinned slots are reached only through their minute, so give the clock ordinary rotation slots as well — a clock made only of pinned slots has nothing to play between them.
When the URL is down
The clock steps over the slot and plays whatever comes next. Your station does not go quiet because somebody else's server is having a bad morning, and the airing is not retried — an hourly bulletin will simply be current again next hour.
The failure is recorded against the stream and shown here, with the reason and when it happened, so a URL that has been quietly dead for a week is visible rather than buried in a log. It clears itself as soon as the stream airs successfully again. Clocks that use a stream which is switched off or unreachable are also flagged in the Schedule's pre-flight checks.
Length is an estimate, never a cut
The length shown for a file is what it was when it was last checked. Whoever publishes it can replace it with a longer one at any time, so it is used for the clock's hour arithmetic only — the bulletin always plays to its real end and is never clipped to the old figure. An endless stream is the opposite: its maximum length is exact, because that is the only thing that ends it.