--:--:--
—  
L
R
80%
Music
100%
Carts
100%
Now Playing ON AIR
—
—
00:00 / 00:00-00:00
Up Next

Log / Schedule

—
—
— 0:00 -0:00 ready space fires the next event while the tracker is collapsed
#TimeEvent / TitleArtist / Details LengthType

Right-click a pad to assign audio, rename, recolour or rebind · drag to rearrange

Compact tightens the rows, the transport and the pads for a smaller screen. It is applied before the page draws, so nothing ever resizes in front of you.

Everything LEWIS III plays goes here — pick your interface.

Optional second output for headphone work: the stream monitor, the voice tracker's lanes and row auditions go here instead. Leave it on “same as the main output” to keep everything on one device.

CLIP

Lifts a quiet microphone before it is recorded or monitored. Aim for the mark at −6 dB on the loudest words; if CLIP lights, come down. Remembered per input device.

Mono sums the input to both sides — a mic on one channel of a stereo interface comes out centred.

Auto-advance walks you to the next voice track slot so you can keep tracking. Turn it off and a NEXT VT button appears beside SAVE VT.

How far PLAYBACK carries on into the next event after the voice track ends, so you hear the landing. STOP or space cuts it anywhere.

A small panel in the corner listing everything that is making a noise right now and what it is for — the log, a break, a cart, a preview. It also counts leaks: audio that is playing which nothing owns. That should always be zero; if it is not, the panel names what it was and the console has the line. lewis3Audio() prints the same thing at any time.

A voice track is about a particular day, so past its air date it stops playing immediately — this is only how long it then stays on the server before it is deleted, here and in AzuraCast. Drag to 0 to keep every take for ever. For one evergreen break, right-click it in the log and choose Keep this break for ever.

ON: firing a cart or a hotkey fades the record out over a second and the log comes back in at the next event when the cart finishes — a cart is an event, like it is on a NexGen stack. OFF: carts play over the music at the bed level and the log never moves. Either way, one cart at a time: the one already playing gives way over half a second.

Voice Tracking

Previous song (outro)— Duck0 dB
Voice track (recording)Voice TrackRecording… Level100%
00:00.0/ 00:30
Next event (intro)— Duck0 dB

Next event

— —
Intro: —

Streaming — GO LIVE

Asked of the station itself — this is the same socket its own Web DJ uses.

The password is kept in this browser only, with the rest of your settings. It is never sent anywhere but the station.

—

A test logs in as the live DJ for a couple of seconds, so the station may blip over to us and back. It asks first.

—

—

—

On Air is already running in another tab

Two copies must never both drive the playout engine or open a microphone — they would fight over the clock and you would hear both.

This tab is silent until you decide.

This tab is silent — On Air is running in another window.

—

SMTWTFS
scheduled pushed no log
Not signed inoffline
ACTIVE AUDIO0 0 leaks

Insert a song

Edit pad

—

Set cues

Drag a marker on the waveform, or nudge it below. ▶ auditions three seconds around it. Green band = instrumental (safe to talk or drop over). Red band = vocal — protected.

LEWIS III account

offline
Backup & restore — no account needed

Everything this browser holds for the station, in one file. It works signed out, with no Firebase and no network — take one before you touch anything else.

⚠ The file includes your credentials — the AzuraCast API key and the streamer password — so that a restore puts you straight back on the air with nothing to retype. Keep it somewhere private: don't email it, and don't put it in a shared folder. (What syncs to the account is scrubbed of both.)

Moving from another browser? Either take a backup there and restore it here, or run copy(JSON.stringify(localStorage)) in that browser's console and paste it below.

1 · Firebase project

Paste the web app config from your Firebase console. It is not a secret — it only says which project to talk to.

Or type the four values. If pasting is being awkward, copy them one at a time out of the Firebase console.

2 · Sign in

3 · Station
—
—
never
4 · Put this browser's settings into the account

Reads everything this browser has — categories, clocks, dayparts, cues, voice track timings, hotkeys, the pushed dates, the day log — and writes it to the account. If the account already holds a different copy of something it asks before replacing it.

AzuraCast connection
unknown
never

The API key stays on the server: every call goes through the LEWIS III proxy, which adds it. This screen never sees it and never stores it.

Ready.