Canalis Air · Quick start
From installer to on air in five steps
Canalis Air is a self-contained radio automation system: it owns the audio, the library, the schedule and the clock, and it keeps a station on air whether anyone is watching or not. Here is the whole of getting one running.
- Install it. Run
CanalisAir-0.1.20-beta-setup.exeand click through. It's self-contained — nothing else to install. Full steps below, including the Windows SmartScreen prompt on a beta build. - Open Canalis Air. One desktop shortcut starts everything and puts the studio on your screen. Under it are three programs; you only ever open this one.
- Add music. Library → Browse and add music. Point it at a folder, choose a category, and add. Or import an existing station's library if you have one.
- Build an hour. Scheduling → The hours. A clock is a template for one hour — slots drawn from categories. Each slot shows how many records can fill it, and the clock tells you whether it can be sustained before it ever airs.
- Go on air. Pick AUTO DJ and press GO ON AIR.
The station fills its own hour, plays it, and lands its top-of-hour ID on
:00. Nobody has to be there.
A design-time capacity check that tells you a clock can't be filled before it airs; the outgoing stream status shown in the studio header; and, in Auto DJ, the top-of-hour ID landing on the hour by fading the record that crosses it — never cutting one.
Installation
Installing Canalis Air
What it needs
- Windows 10 or 11, 64-bit.
- A 1366 × 768 screen or better. Everything is reachable at that size; more room shows more at once.
- About 500 MB of disk. Both programs are self-contained, so the machine needs no .NET runtime installed — that's the trade for not talking anyone through a runtime install over the phone.
Running the installer
Windows SmartScreen will say “Windows protected your PC — unknown publisher.” That's expected on a beta that isn't code-signed yet. Click More info, then Run anyway. A signed installer comes with the first shipping release.
- Double-click the setup file. It needs administrator rights (a Windows prompt), because it installs into Program Files.
- Accept the licence and choose the folder, or take the defaults.
- Start with Windows is ticked by default — the station comes up after a reboot, once someone logs in. Untick it if this isn't the on-air machine.
- Finish, and open Canalis Air. On a fresh install it starts empty, ready for your music and clocks.
Updating
Run a newer installer over the top. Your library, cue points, clocks, schedule and audio are untouched, and the database is copied automatically before any update that changes its shape — see Copies of the station. Uninstalling leaves all of that in place too; it removes the programs, not the station.
How it fits together
The three programs
You open one thing. Underneath there are three, and it's worth knowing what they are the first time something looks odd.
The engine
Owns the audio, the library, the schedule and the clock. It has no window at all — nothing on the taskbar, nothing to close — and it keeps the station going whether anyone is looking or not. Closing the screen does not stop it.
The engine manager
The small Canalis icon by the clock. It starts the engine, watches it, and is where you go to stop it. You don't open it — Canalis Air brings it up. Right-click it for:
| Open the studio screen | Or just double-click the icon |
| Start / Restart the engine | |
| Stop the engine | Takes the station off air. It asks first |
| Open the log folder | Where the engine and the manager write |
| Open the station folder | The database, the backups and the licence |
| Quit the manager | The station keeps playing. It asks first |
The top line of that menu says whether the station is playing, so you can tell at a glance. If the engine stops on its own the manager puts it straight back; if it falls three times in three minutes the manager stops trying and says so, because past that point the engine is refusing to run and something needs fixing first.
The screen
Canalis Air itself. Only one opens — launching it again brings the one you have to the front rather than giving you a second copy.
Running the station
The studio screen
The screen the station is run from. Everything else is a detour.
The top bar
The clock, the date, the programme meter, and the buttons for the other screens. The meter is the station's own output on a dB scale: green to −12, amber to −6, red above, with a peak-hold line falling at 20 dB a second. It turns red and stays red if anything clipped. Beside the brand you'll also see the connection and stream status.
What is on air
The title, the artist, how far through it is and how long is left. NEXT is what follows. RDS is the line the transmitter is publishing, with a pencil to hold your own text there — press again to release. The ring to the right is the output by frequency: the two halves match while the station is healthy and stop matching the moment a leg is lost, a record is out of phase, or a mono file plays where a stereo one should.
The three modes
| Mode | What it means |
|---|---|
| AUTO DJ | The station fills its own hour and plays it. Nobody has to be here. |
| LIVE ASSIST | It plays on, but you decide where it stops. Mark an item with STOP AFTER and it waits for you there. |
| MANUAL | Nothing advances by itself. Every item is a press. |
GO ON AIR starts the output; Stop after item waits at the end of what's playing; Stop now stops it dead. A commercial break plays through a stop mark either way — a break that waited for someone who stepped out is a break that didn't air.
Up next, and the transport column
The running order. Press a number to take that item to air now. The column beside it only reorders — the two gestures are kept apart so a misplaced finger is never an on-air mistake.
| UP / DOWN | Move the picked item. |
| NEXT | Make it the next thing to play. |
| STOP AFTER | Play up to the end of it and wait. Press again to clear. |
| EDIT | Open Fix this track on it. |
| CUE | Open its cue points. |
| DELETE | Take it out of the running order. The library keeps it. |
History & the cart wall
History is what has aired, newest first, with the time it actually went out. Instants is the cart wall — seven across, seven down, several banks on tabs; one press is one sound and eight can sound at once. The stripe down each button says what it is: green an effect, amber a sweeper, slate a station ID. A playing button turns blue and pulses. ARRANGE turns the wall into a layout you can drag; STOP ALL stops everything sounding. From the studio library you can search and PLAY NEXT or ADD TO END.
Running the station
Station health & streaming New
The stream, in the header
The outgoing stream now shows in the studio header, beside the engine connection — on air, how many are listening, and how long it has held:
It's the same line the streaming settings carry, lifted to where it's seen mid-link, so you know the station is reaching people without opening the encoder's own console. It's summarised across every output, and it hides itself when nothing is streaming.
The station-health badge
A badge appears in the header only when a clock that is actually in rotation can't be filled from the library under its own separation rules. A half-built clock nobody has scheduled is never an alarm — it's told the truth quietly on its own row, but it doesn't raise the station badge. See Clock capacity for what the verdict means and how to clear it.
Records
Fix a track
Right-click any track anywhere — running order, history or library.
Details
Where the file is, what it's called, who it's by, the album, its weight (how heavily it's drawn against its shelf — one is ordinary, two is twice as likely), and what it's filed under. A record in the wrong category keeps being drawn from it until someone takes it out, which is why that list is here rather than three clicks away.
READY / PENDING / RETIRE. Ready is in use; pending is held back without leaving the library; retired is out of use, but its history and as-run lines stay so last month's report still makes sense. AUDITION plays a track down the cue output to your headphones — how you tell one ID or sweeper from another when the names say nothing.
Cue points
The waveform editor is behind CUE POINTS…. A record drawn as its shape, with three markers:
| Marker | What it decides |
|---|---|
| START | Where the audio begins, so a ragged count-in never airs. |
| NEXT IN | Where the following item begins playing over this one — the only one of the three that decides what a segue sounds like. |
| END | Where it stops. |
Drag the line or the card above it; double-click a figure to type it (1:12.4,
72.4 and 72400 all mean the same moment). Scroll to zoom, shift-scroll
to move along. Space plays down the cue output and stops back where it
started. FADE TO THE END fades a record out from NEXT IN to END whatever
follows it — the fix for a single that stops dead where the master was chopped.
SAVE CUE POINTS marks it cued by hand, which stops a library-wide re-measure
from undoing your work.
Records
How one song joins the next
Each record carries its own segue point, read from how it actually ends — nothing on a cold stop, a longer overlap on a fade — because one station-wide number sounds wrong on a record that stops dead and one that rings out. A track cued by hand always wins over the station's numbers. In Settings → Audio:
| Setting | What it does |
|---|---|
| Overlap | How early the next song starts on an ordinary join. Smaller is tighter. |
| Fade length | How long the outgoing song takes to fall away. Also used when you force the next song. |
| Shape | Equal power holds a steady loudness across the join; linear dips slightly in the middle. |
| Longest crossfade | The ceiling on what analysis decides per record. This is where you say “that's too much of two records at once.” |
| Under a spot / ID | A far tighter ceiling for anything that may not be crossfaded, so the next record never covers a tag line. |
IDs, imaging and commercials are never crossfaded — they land hard and stop, by design.
Its own fade is longer than the station's Longest crossfade, so the tail plays out alone before the next record comes in. Raise Longest crossfade in Settings, or pull END back to where the record is still audible and NEXT IN before that.
Programming
The library
Everything the station can play.
- Search by artist or title; click a category to narrow. Ctrl-click a second, and the any / all toggle decides whether a record needs any of the picked shelves or every one — “the 2024 dancehall” is Dancehall and 2024 with all.
- The MUSIC / IMAGING tabs show the music shelves or the imaging ones — IDs, sweepers, drops, beds — one kind at a time. Show retired and Show hidden bring back what's been set aside.
- BROWSE AND ADD MUSIC opens the folders the engine can see: stage what you want, choose a category, tick the box if they're drops rather than songs, and add.
- MEASURE LOUDNESS measures selected tracks — or everything never measured — and leaves hand-cued tracks alone. Every record is levelled against the library.
- Each category shows how many are in it and how many of those can actually be scheduled.
Programming
Scheduling & clocks
The hour editor
A clock is a template for an hour: a list of slots, each drawn from categories. Each slot has a pool (any of these) and filters (all of these must hold) — a slot that says “any of Reggae, Dancehall” and “all of 2020s” draws a 2020s record from either shelf. The count beside each slot is how many records could fill it right now, and it refreshes as the library changes underneath you.
The week & rotation rules
Paint clocks onto a grid of days and hours; save a week under a name and restore it later — the schedule on air is untouched until you restore. Rotation rules (in Settings) are artist separation, title separation, minimum rest and a repeat floor; when a rule can't be met the scheduler relaxes them in order and records which it relaxed, so an hour can always be explained.
Landing the top of the hour New
In Auto DJ, the top-of-hour ID lands on :00. The record that
crosses the hour plays its full length and is faded under the ID exactly on the hour — nothing
is cut. If a clock runs a little short, its own music fills the gap to the hour rather than the
ID airing early.
Landing the hour
An hour of real records almost never totals exactly sixty minutes. Rather than cut the last record to fit, the correction is spread across the hour — a few seconds each, off the end where the next record is already coming in. Nothing but music is touched, nothing under a minute is touched. If an hour still can't be tightened enough it's left long and says so in the hour's notes.
Programming
Clock capacity New
Before an hour ever airs, Canalis works out whether it can be filled from the library, hour after hour, without breaking its own separation rules — and tells you if it can't.
Every clock in Scheduling → The hours carries a verdict:
It answers a different question from the ready count beside a slot: a shelf can hold one song that qualifies right now and still be far too thin to play a whole hour without repeating a title inside its own separation window. A category of five songs on a three-hour title separation can sustain fewer than two plays an hour — so a clock leaning on it every few minutes is Degraded however “available” each slot looks.
The quantified fix
Click a Tight or Degraded verdict and it shows the shelves that can't keep up, with the numbers behind each and a plain fix — for example:
Reggae (only the 2000s ones) — asks 6/hr, sustains 0.7/hr from 2 ready.
Add 16 more ready songs to Reggae (only the 2000s ones) — 18
are needed for 6/hour at a 180-minute title window, and it has 2. Or widen the 2000s filter,
draw Reggae less often in the clock, or shorten its title separation.
Only what's on the air raises an alarm
The header's station-health badge counts only clocks in rotation. A clock you're still building — short of a category or two while you finish it — reads its honest verdict on its own row (“Degraded — not scheduled”) but never sets off the station warning. The verdict re-checks itself when you save a clock and when the library changes: readying or retiring records, moving a song between categories, or changing a separation rule.
Programming
Traffic
Advertisers, campaigns, spots, rate cards and what actually aired.
- Advertisers carry alternate names and a sector, so two spellings of one client bill as one.
- Campaigns hold bookings and the cuts that serve them; break templates describe the shape of a break in bands.
- Rate cards hold bands and sectors; spot import watches a folder for new cuts.
- As-run records what aired and when — what an invoice is built from.
A break with nothing booked is left out of the hour, and the jingle that would have followed it is dropped, so the station doesn't identify itself twice running.
Reference
Settings
Five tabs, one SAVE SETTINGS button that writes all of them.
| Tab | Holds |
|---|---|
| Audio | Which socket carries the programme and which carries cue, and how one song joins the next. The cue output takes effect as soon as it's saved; the programme output is read as the engine starts. |
| On air | Queue depth, clearing at the top of the hour, coming back on air after a restart, and copies of the station. |
| Scheduling | Rotation rules, how slot categories are matched, which day a week starts on. |
| Traffic | The spot-watch folder and the most spots allowed in a break. |
| Studio | Whether the analyser and the programme meter are shown. |
Reference
Copies of the station
Settings → On air → Copies of the station. The database holds the library and its cue points, the clocks, the week, the cart wall, the advertisers and every as-run line. The audio files are not in it — a restore puts back what Canalis decided about a record, not the record itself.
A copy is taken automatically before every migration — before an update changes the database's shape. COPY NOW takes one whenever you want, worth doing before a big import or a re-measure. To go back to one, pick it and press GO BACK TO THIS COPY:
- The database as it stands now is kept too, labelled replaced by a restore — your way back if you restore the wrong night. It's never deleted to make room.
- The restore is applied when the engine next starts, the only moment nothing is holding the database open. Until then, CANCEL THE RESTORE undoes it.
The path beside COPY NOW is where the copies live — select it to copy the path and get one onto a memory stick.
Reference
Where things live
| Database | C:\ProgramData\Canalis Air\station\canalis.db |
| Backups | …\station\backups\ — one before each migration, ten kept |
| Engine settings | appsettings.json beside canalis-engine.exe |
| Ports | gRPC 127.0.0.1:5311, meters and HTTP 127.0.0.1:5310 |
Audio files are never moved or modified. Everything Canalis decides about a record — trims, levels, fades — is stored beside it and applied at play time.
Reference
When something is wrong
| Symptom | What it is, and the fix |
|---|---|
| No sound but the meters move | The programme output is set to a device that isn't feeding the desk. Settings → Audio → Programme. |
| Cue comes out of the main speakers | Settings → Audio → Cue, or the CUE OUT box in the cue editor. “The same as the programme” does exactly that. |
| A record ends abruptly | Its file has no ending. Open its cue points and tick FADE TO THE END. |
| A record dies into silence before the next starts | Its fade is longer than Longest crossfade. Raise it in Settings, or pull END back to where it's still audible and NEXT IN before that. |
| A sampler button does nothing | It's loaded but sharing a slot. Press GIVE n A SLOT on the wall. |
| The station didn't come back after a restart | Settings → On air → come back on air. |
| “Cannot reach the engine” | Give it a few seconds — opening the screen starts the engine. If it doesn't clear, right-click the Canalis icon by the clock: the top line says whether the engine is running, with Start the engine under it. |
| The icon by the clock has gone | It was quit, or Windows tucked it into the overflow — click the arrow by the clock and drag it out. Opening Canalis Air brings the manager back; the station kept playing throughout. |
| The station went quiet in the night | Open the log folder from the icon by the clock and read engine-manager.log — a line for every start, stop and fall, with times. |
| An hour has a gap in it | A break had nothing booked. The hour's notes say so. |