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, Cue Routing & DSP

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

Mute Buttons

Each source row has an M mute button and a C cue button. Mute silences the source on the speakers only β€” the encoder/stream keeps broadcasting, so listeners never hear your mute.

Headphone / Cue Routing

The C button routes a source to the headphone (cue) bus independently of the main mix. This is a pre-fader listen β€” ideal for checking the next track before going live. Adjust the Cue slider for the headphone level, and use the Air Monitor / Cue Monitor checkboxes to choose what you hear.

VU Meters

Each source has a VU meter showing audio level activity. The Audio Meters panel adds Peak Hold, a LUFS loudness readout, and a Phase Correlation meter for the master output.

Master DSP Chain

The DSP panel applies processing to the entire mix in this order: EQ β†’ Noise Gate β†’ Compressor β†’ Limiter β†’ AGC β†’ Stereo Enhancer β†’ Bass Boost. Each effect can be toggled with its Bypass checkbox.

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 / Unmute All command (Tools menu) mutes all local speakers 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 & Smart Playlists

Access via Tools β†’ Playlist Manager. This is your central library management hub.

Layout

Virtual "Library" Folder

The Library folder 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
Load to AutoDJLoads the selected playlist into the AutoDJ rotation
ScheduleSchedule the playlist to play at a time (daily or a specific weekday)

Ratings

Rate any track 1–5 stars with the Rate buttons. The Rating β‰₯ filter limits the view, and AutoDJ prefers higher-rated tracks during rotation.

Smart Playlists

Open Smart playlists... to create rule-based playlists that auto-match your library. Add rules like Genre contains "Rock", BPM > 120, or Year >= 2000, preview the matches, and load them into AutoDJ (queue or rotation). Smart playlists are saved and re-evaluated automatically.

ReplayGain Scanner

Open ReplayGain scanner... to measure each track's loudness (gain/peak) and write ReplayGain tags for consistent playback volume.

9. Music Library & Tag Editor

Open Tools β†’ Music Library for a full browser with Songs, Albums, Artists, and Genres views (grouped trees), plus a Duplicates tab. Search and genre-filter the Songs view, add tracks to a playlist, or import a folder.

Right-click any track in the playlist and select Edit Metadata to open the full tag editor, which integrates MusicBrainz search and Cover Art Archive cover art.

Duplicate Finder

The Duplicates tab finds duplicate tracks by filename, by duration + file size, and by SHA-256 content hash so identical files with different names are caught too.

10. AutoDJ & Clocks

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
MuteMute AutoDJ on the speakers (stream continues)

Rotation Rules

Clocks

The Clock box on the AutoDJ panel lets you pick a time-based rotation template. Each clock has segments (e.g. 06:00–10:00 β†’ Rock); during a segment AutoDJ prefers tracks matching that category. Use Manage… to create/edit clocks. The active segment is shown live on the panel.

Queue

ButtonAction
Remove SelectedRemove the selected queue item
β–² Move UpMove selected item up
β–Ό Move DownMove selected item down
Clear QueueEmpty the entire queue

Cloud Sync

The Sync settings to cloud button posts your rotation rules (separation, shuffle, duplicate protection) to the Planet Hosts server.

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

Cards

Each cart card supports:

Group names are editable in place. Use Import / Export at the top to save or restore your entire cart wall as JSON.

13. Requests

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

Tabs & Limits

The Requests tab shows Requests (pending count) and flashes Β· N new when fresh requests arrive. Use Accept to approve (respecting cooldown/limits), Add to Queue to play it if it's in your library, or Reject.

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 Capture β†’ Encoder β†’ Streamer β†’ Server

15. Scheduler & Automation

The Automation Scheduler (bottom-left in the sidebar) lets you create time- or event-triggered tasks that chain multiple actions with retry logic and a full execution history. Supported actions include:

The Event Scheduler panel on the broadcast desktop schedules playlists at a time β€” daily or a specific weekday β€” with an enable/disable toggle per entry.

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 & Reporting

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)

The Reports tab provides played-songs logs, request history, broadcast hours, recording reports, and error reports.

19. Relay Manager

The Relay Manager lets you configure relay/re-broadcast targets. Listener counts for Icecast and SHOUTcast relays refresh every 15 seconds.

20. Built-in Tools

All tools live under Tools in the top menu:

ToolDescription
Music LibraryBrowse by Songs/Albums/Artists/Genres, search, genre filter, duplicates, add to playlist
Playlist ManagerFolders, Smart Playlists, ReplayGain scanner, ratings, scheduling
Voice Track RecorderRecord, trim, normalize (-16 LUFS), preview, upload or save to playlist
Audio ConverterBatch convert MP3/WAV/FLAC/OGG/AAC with bitrate/sample-rate options (uses ffmpeg)
Log ViewerLive application log with search, level filter, and export
Audio TestPlay test tones (left/right/both, 440 Hz, 1 kHz, sweep)
Latency TestMeasure round-trip audio latency (speaker β†’ mic)
Artwork DownloaderScan the library, fetch Cover Art Archive art via MusicBrainz, save + embed

21. Settings & Security

Access via File β†’ Settings. Settings are organized into beginner-friendly tabs: General, Audio, Broadcast, Music & Auto DJ, Library & Recording, Hotkeys & Alerts, Planet Hosts, and Advanced.

Security

22. Desktop Layout

The broadcast interface uses a canvas-based layout with draggable panels across two desktops (Main and Secondary). Panel positions, sizes, and closed states save automatically. Re-open closed panels from the Window menu, and reset with the Reset Layout button. The Controls tab holds the DSP, Cart Wall, Encoders, Event Scheduler, Event Log, FTP, PAL Scripts, and Relays panels β€” each closable and restored from the Window menu.

23. Notifications

In-app notifications (Tools β†’ Show Notifications) alert you to stream drops, errors, and reconnects. Requests also post a notification and a badge on the Requests tab when new requests arrive.

24. Updates

The app checks for updates on startup (when enabled in Settings). Use Help β†’ Check for Updates to see the latest version and changelog.

25. Planet Hosts Cloud Sync

Now-playing metadata is uploaded automatically on every track change, playlists sync to your Planet Hosts account, and the AutoDJ panel's Sync settings to cloud button pushes your rotation rules to the server. DJ accounts can be managed from Settings β†’ Planet Hosts.