Planet Hosts Studio — User Guide

Version 1.0 — A professional broadcast automation and streaming application.

1. Getting Started

Login

Launch the application to reach the Login screen. Enter your credentials:

Check Remember Me to save your credentials for next launch. Click Login to authenticate. On success you'll proceed to station selection.


2. Station Selection

After login, choose which stations to broadcast to:

The StationSelectionViewModel loads your station list from the API and pre-selects any previously chosen stations.


3. Broadcast Interface Overview

The broadcast interface is a multi-panel desktop workspace organized across two canvases (Desktop A and B). Each panel is a draggable, resizable DockablePanel.

Desktop A panels:

PanelDefault PositionDescription
Deck ATop-leftPrimary playback deck
Deck BTop-centerSecondary playback deck
Voice FXTop-rightMicrophone controls and processing
PlaylistMiddle-leftFolder/track browser and scheduling
QueueMiddle-centerUpcoming tracks
MixerMiddle-rightVolume sliders and crossfader
AutoDJBottom-leftAutomated playlist rotation
Cart WallBottom-centerSound effect buttons (jingles, ads, drops, sweeps)
HistoryBottom-rightRecently played tracks
StatisticsFar-bottom-leftListener stats
RequestsFar-bottom-centerListener song requests
ClockFar-bottom-rightMulti-timezone clock
FaderFar-bottom-rightCrossfader control buttons

Menu items at the top provide access to: Voice Track, Settings, Playlist Manager, and window navigation.


4. Decks (A & B)

Each deck functions as an independent audio player.

Controls

ButtonAction
LoadOpen a file dialog to load an audio file
PlayStart playback (if no file loaded, pulls from queue)
PausePause playback
StopStop playback
CueSeek to the beginning of the track
CP (Cue Point)Save current position as a cue point
SkipSkip to the next track in the queue
EQToggle EQ info display
PreviewToggle preview mode
Talk OverToggle talkover mode
AirToggle air status (send to stream)
Cue MonitorToggle cue monitoring
Volume SliderAdjust deck volume

Display Fields

Track Title — Current song name
Artist, Album, Year, Genre, BPM, Bitrate, File Type, Sample Rate
Position — Elapsed time / Remaining time / Total duration
Waveform/Level — Visual audio level meters

Track History

Every played track is recorded automatically: TrackPlayed delegates fire to update both the History panel and Statistics.

Deck Alternation

When a track ends on one deck and the other deck is not playing, the next track is automatically started on the opposite deck. This is wired through PlaybackEndedAsync delegates.


5. Mixer & Crossfader

The mixer provides volume control for all audio sources.

Volume Sliders

SliderControls
Deck AVolume for Deck A (adjusted by crossfader position)
Deck BVolume for Deck B (adjusted by crossfader position)
MicMicrophone input volume
CartCart Wall volume
AutoDJAutoDJ engine volume
LineLine input volume
MasterOverall master output volume

VU Meters

Each source has a simulated VU meter showing audio level activity.

Crossfader

The crossfader blends between Deck A and Deck B:

Fade Buttons (Fader panel)

The fade animation runs at 30ms intervals (~67 steps). When a fade starts, the FadeStarted event triggers the destination deck to begin playing.

Master Mute

The Mute toggle mutes all local speakers (Decks A/B, AutoDJ, Microphone, Cart Wall, and Master output) without affecting the streaming output.


6. Voice FX (Microphone)

The Voice FX panel provides microphone control and audio processing.

Controls

ControlAction
Vertical FaderMic gain / volume level
Level MeterGreen vertical bar showing mic input level (with clipping indication)
Mic OnToggle the microphone on/off
AutoToggle auto-ducking (music volume reduces when mic is active)
AirToggle air status (mic sent to stream)
CueToggle cue monitoring
Press To TalkHold to activate mic (releases when mouse is released)
Lock TalkCheck to keep mic locked on without holding the button
ConfigOpens the Voice FX Configuration dialog
EQExpands the processing section

How Mic Activation Works

The mic is live when all three conditions are true:

  1. Mic On is enabled
  2. Either Lock Talk is checked OR Press To Talk is being held

Processing Section (collapsible)

Auto-Ducking

When enabled, active mic automatically reduces music source volumes to 25%. Original levels are restored when the mic is deactivated.

Voice FX Configuration Dialog

Opened by clicking Config in the Voice FX panel:

SettingDescription
InputSelect microphone input device (enumerated from system)
OutputSelect output device
Fade CurveLinear / Logarithmic / Exponential
Levels (L/R)Left and right channel level faders
PreviewVisual graph area

7. Voice Track Recording

Voice Track lets you record audio and upload it to a playlist. Access via Menu → Voice Track.

Workflow

  1. Load Playlists — Fetches available playlists from the API (falls back to local library folders)
  2. Record — Click the red Record button. Recording saves to the voice tracks folder with a timestamp filename
  3. Stop — Click Stop to end recording
  4. Preview — Listen to the recording before uploading
  5. Set Metadata — Enter Title and Artist for the track
  6. Choose Target — Select a destination playlist from the dropdown
  7. Upload — Uploads the recording to the server (or saves locally if offline)
  8. Discard — Delete the recorded file and start over

8. Playlist Manager

Access via Menu → Playlist Manager. This is your central library management hub.

Layout

Virtual "Library" Folder

The Library folder (ID __library__) appears at the top of the folder list. When selected, it aggregates all tracks from all folders into a single view.

Folder Operations

ActionHow
New FolderEnter name in "New Folder" textbox, click New
Rename FolderSelect folder, enter new name in rename field, click Rename
Delete FolderSelect folder, click Delete (Library virtual folder cannot be deleted)
Add FolderClick Add Folder, pick a directory — recursively scans and imports audio files
Add MusicClick Add Music, select audio files to import into selected folder

9. Track Metadata Editor & MusicBrainz

Right-click any track in the playlist and select Edit Metadata to open the full metadata editor.

10. AutoDJ

AutoDJ automates playlist rotation and queue management for continuous playback.

Mode

Controls

ButtonAction
Load RotationLoad selected playlist into rotation
StartBegin AutoDJ playback
StopStop AutoDJ
SkipSkip to next track
ReloadReload rotation from selected playlist
Force RotationForce-advance to next track
Set Mode (Auto/Manual)Toggle auto/manual mode

Queue

ButtonAction
Remove SelectedRemove the selected queue item
▲ Move UpMove selected item up
▼ Move DownMove selected item down
Clear QueueEmpty the entire queue

11. Queue

The Queue panel shows tracks loaded into the AutoDJ rotation.

Controls

ButtonAction
RemoveRemove selected track from queue
Move selected track up
Move selected track down

12. Cart Wall

The Cart Wall provides instant-play sound effects and audio clips organized into groups.

Default Groups

GroupPurpose
JinglesStation jingles
AdCommercial advertisements
DropSound drops and effects
SweepSweepers and transitions

13. Requests

The Requests panel polls the server every 10 seconds for listener song requests.

14. Streaming / Broadcasting

Adding a Stream

  1. Click + Add Stream in the Streams panel
  2. Select an encoder plugin (from available providers)
  3. Configure stream settings in the Stream Config window
SettingDescription
Stream TypeIcecast / SHOUTcast v1 / SHOUTcast v2
HostnameStreaming server address
PortServer port
UsernameAuthentication username
PasswordAuthentication password
Mount PointIcecast mount point (e.g. /stream.mp3)
CodecMP3 / AAC / AAC+ / OGG / Opus / FLAC / WAV
BitrateStream bitrate
Auto ConnectAutomatically connect on startup

Protocol Support

Encoder Pipeline

Audio flows: PCM CaptureEncoderStreamerServer

15. Event Scheduler

The scheduler panel displays scheduled playlist events as bordered cards. A 30-second timer checks all schedule entries.

16. Clock Widget

The clock panel shows the current time and multi-timezone clocks. Zone clocks update every second and persist across sessions.

17. History

The History panel tracks recently played songs. Each entry shows timestamp, artist, title, and duration. Capped at 200 entries.

18. Statistics

FieldDescription
Current ListenersLive listener count from server
Peak ListenersPeak listener count
Unique ListenersUnique listener count
Current SongCurrently playing song title
Current DJDJ name
BitrateStream bitrate
UptimeSession uptime (hh:mm:ss)

19. Relay Manager

The Relay Manager lets you configure relay/re-broadcast targets.

20. PAL Scripts

PAL (Programming Automation Language) scripts enable custom automation.

CommandDescription
Enqueue(query)Search library for matching track and add to queue
Log(message)Append text to the script output log
Lock()Lock AutoDJ to manual mode (prevents auto-play)
Unlock()Unlock AutoDJ back to auto mode

21. Settings

Access via Menu → Settings. Configure API URL, Remember Me, station info, and FTP settings.

22. Desktop Layout

The broadcast interface uses a canvas-based layout with draggable panels across two desktops. Panel positions save automatically.