Mcaster1Studio
Professional Broadcast Automation Suite — Documentation Home — v0.2.0-alpha — 2026-03-10
Broadcast. Podcast. Worship. One Studio.
Mcaster1Studio is a modular broadcast control surface application built with C++20 and Qt 6.8.3.
Purpose-built workspaces — called Surfaces — provide tailored module layouts
for radio automation, live DJ performance, podcast production, church services, video streaming, and more.
Over 40 built-in modules cover every stage of the broadcast workflow, from audio mixing and
metadata management to live graphics switching, sermon transcription, and podcast distribution.
Getting Started Guide
First-time user walkthrough: audio setup, surfaces, modules, broadcasting, church and podcast workflows.
Feature Reference
Detailed capabilities of every module, ribbon widget, theme, ICY protocol, SDK, and plugin system.
Project Plan & Status
Phase roadmap, deliverables, completion status, surface paradigm, module catalog, and build architecture.
By the Numbers
9Surface Types
40+Built-in Modules
7Audio Codecs
3Themes
70+ICY 2.2 Fields
25Phases Complete
Surface Paradigm
Every workflow starts with a Surface — a preconfigured workspace with the right modules
for the job. Surfaces are tabbed, and each surface contains Sub-Surface Panels that can be
renamed and reorganized. Modules live inside drag-and-drop docks that can be rearranged, floated,
pinned, or closed. The entire layout persists automatically across sessions.
Alpha & Beta
5 / 3 modules
- Primary & backup radio broadcast
- VU meters, dual-deck, playlist, encoder, metadata
- Beta: lean 3-module fallback layout
DJ
4 modules
- Live performance with dual decks
- VU meters, effects rack, media library
- Crossfader, BPM matching, waveforms
Company & Social
4 / 3 modules
- Corporate & socialcast streaming
- Encoder, metadata, monitor, playlist
- RTMP, scheduled automation
Entertainment
3 modules
- TV/Video automation
- Video module, encoder, playlist
- QMediaPlayer + QVideoWidget
Church
17 modules (5 core + 12 church)
- Complete worship production
- Lyrics, scripture, graphics, video switcher
- Service rundown, stage monitor, mixer
- Sermon recording & transcription
Podcast
17 modules (4 core + 13 podcast)
- End-to-end podcast production
- Recording, editing, encoding, transcription
- RSS feed, publishing, analytics
- Soundboard, effects, remote guests
Church Surface — Live Worship Production
The Church surface provides a complete production environment for live services. The
GraphicsEngine renders themed visuals that feed into LyricsCaster,
ScriptureCaster, and AnnounceCaster. The SwitchCaster
aggregates all visual sources into a Program/Preview bus with broadcast-grade transitions.
ServiceRunner orchestrates the entire service rundown, coordinating timers,
video switching, transcription recording, and audio mixing automatically.
Church Module Wiring
GraphicsEngine
→
LyricsCaster
→
SwitchCaster
→
Program Out
GraphicsEngine
→
ScriptureCaster
→
SwitchCaster
GraphicsEngine
→
AnnounceCaster
→
SwitchCaster
ServiceRunner
→
TimerClock
+
SwitchCaster
+
TranscribeRec
+
AudioMix
StageMon
←
LyricsCaster
+
ScriptureCaster
+
TimerClock
TimerClock
- Master clock with 3D LCD-style painted digits
- Multiple named timers: countdown, count-up, or time-of-day target
- Per-timer warning (amber) and alarm (red) thresholds
- Dialog-driven timer creation with name, mode, and duration
- 100ms tick resolution, full state persistence
GraphicsEngine
- Theme-based rendering for all visual content
- Custom themes: background/text/accent colors, fonts, sizes, images
- Render types: lyrics, scripture, dual scripture, sermon point, lower third, title card, countdown, blank
- Live preview widget (960x540, 16:9 aspect)
- Vignette effect, logo placement, text wrapping
LyricsCaster
- Song library with search, add/edit/remove
- Song sections: Verse, Chorus, Bridge, Pre-Chorus, Intro, Outro, Tag
- Arrangement editor with drag-drop reordering
- Live transport: Previous / BLANK / Next with auto-advance
- Song metadata: key, BPM, CCLI number
ScriptureCaster
- Bible verse lookup — 66 books, 6 translations (KJV/NIV/ESV/NASB/NLT/NKJV)
- Autocomplete book names, verse range parsing
- Sermon queue: scripture, sermon points, blank slides
- Dual scripture side-by-side (two translations)
- ~20 seed verses cached; full SQLite Bible DB planned
AnnounceCaster
- Slide manager with title, body, image, and scheduling
- Date-range filtering: only show active announcements
- Loop playback with configurable interval
- Lower third overlay with text fields
- Priority ordering, full persistence
TelePrompter
- Scrolling script display for pastor/speaker
- Adjustable speed (10-200 px/sec), font size (16-72pt)
- Mirror mode for beam-splitter teleprompter rigs
- Section markers with jump-to navigation
- Configurable text and background colors
MediaCaster
- Video/image playback with drag-drop playlist
- QMediaPlayer + QVideoWidget + QAudioOutput backend
- Cue points with labels and fire window
- Loop mode, preview mode (video without audio)
- 9 media formats, volume control, seek slider
StageMon
- Confidence monitor for worship team and speakers
- Three modes: Worship, Sermon, Combined (side-by-side)
- Clock bar with current time + active timer countdowns
- Current section (large) + next section preview
- Key/BPM display, configurable font/clock/timer toggles
AudioMix
- 8-channel virtual mixing console
- Per-channel: volume, pan, mute/solo, gain, 3-band EQ (±12dB)
- Per-channel peak compressor (threshold + ratio)
- Stereo VU bars per channel + master bus
- Master mix recording to WAV (ring-buffer architecture)
- Default: Pastor Mic, Vocals, Band, Media
TranscribeRec
- Sermon recording from audio input via SPSC ring buffer
- Record/Pause/Resume/Stop with elapsed time display
- Manual transcript entries with timestamps
- Export: WAV (audio), TXT (plain text), SRT (subtitles)
- Speech-to-text planned (v2 — Whisper)
SwitchCaster
- Program/Preview video switcher
- 7 sources: Lyrics, Scripture, Announce, Media, Video, Logo, Black
- Transitions: CUT, DISSOLVE (200-5000ms), Fade to Black
- LIVE badge on program monitor, transition progress bar
- Lower third via AnnounceCaster binding
- 10fps preview, 60fps transitions
ServiceRunner
- Service order rundown with 11 segment types
- Welcome, Worship, Prayer, Scripture, Sermon, Offering, Announcement, Communion, MediaPlayback, Closing, Custom
- Per-segment: title, notes, duration, auto-advance
- Segment editor dialog for add/edit
- Color-coded progress bar (green/amber/red)
- TimerClock integration, JSON template save/load
Podcast Surface — End-to-End Production
The Podcast surface covers the entire production pipeline from recording through distribution.
Each module is self-contained — no cross-module wiring needed. Per-instance factories ensure
multiple Podcast surfaces can run independently.
Podcast Production Workflow
PodMixer
→
PodRecorder
→
PodEditor
→
PodEncode
→
PodTranscribe
PodShowNotes
→
PodRSS
→
PodPublisher
→
PodAnalytics
PodMixer
- 6-channel podcast mixer: Host, Guest 1-2, Soundboard, Music, Phone
- Per-channel gain, volume, pan, mute, solo, 3-band EQ, aux sends
- Stereo VU bars + master bus, headphone volume
PodPTT
- Enhanced Push-to-Talk: Hold, Toggle, AlwaysOn modes
- Cough button (momentary mute), talkback channel
- Voice Activity Detection (VAD) with threshold
PodRecorder
- Multi-track WAV recorder with SPSC ring buffer
- Show/episode metadata, named markers
- Take management: retake without restarting
PodSoundboard
- Sound pad grid with banks (Intro/Outro, SFX, Beds)
- Modes: OneShot, Toggle, Loop
- Custom colors, keyboard shortcuts, JSON persistence
PodFX
- 7-processor voice chain
- Noise Gate, Compressor, De-Esser, Parametric EQ, HPF, Limiter, LUFS Meter
- Per-processor bypass, reorderable, RT-safe DSP
PodEditor
- DAW-style waveform editor
- Timeline with regions, markers, cut/trim stubs
- Zoom in/out/fit, scroll, playback position
- QMediaPlayer + QAudioOutput backend
PodEncode
- Multi-format export: MP3, AAC, OGG, FLAC, Opus
- Bitrate/samplerate/channels config, ID3 metadata form
- LUFS normalization, job queue with progress
PodTranscribe
- Transcript editor with speaker labels
- Per-segment: time, speaker, text, confidence
- Export: SRT, VTT; chapter marker generation
- Whisper STT integration (v2)
PodShowNotes
- WYSIWYG show notes with formatting toolbar
- Templates: Standard, Interview, Solo
- Chapter markers, resource links, guest bios
- Export: HTML, Markdown, plain text
PodRSS
- RSS 2.0 + iTunes namespace feed generator
- Show settings + episode table, feed validation
- XML preview dialog, file export
PodPublisher
- Multi-target distribution
- Local Copy (v1), SFTP/FTP/HTTP (v2)
- Per-target progress tracking
PodAnalytics
- Episode statistics dashboard
- Downloads, subscribers, growth trend
- Bar chart, episode table, CSV export
PodRemote
- Remote guest manager for up to 4 guests
- Status indicators, audio level bars, mute/admit controls
- Join URL generation, WebRTC audio (v2)
Core Broadcast Modules
These modules form the foundation shared across all broadcast surfaces — audio playback,
encoding, metadata, monitoring, and effects processing.
| Module | ID | Capabilities |
| VU Meter | com.mcaster1.vumeter | Stereo peak + RMS bars, green/amber/red thresholds, clip indicator |
| Deck A & B | com.mcaster1.deck | Dual-deck player, waveform, crossfader, 3-band EQ, cue, loop, BPM, HTTP streams |
| Media Library | com.mcaster1.library | MySQL/SQLite, TagLib scanning, search, drag-to-deck, album art |
| Encoder | com.mcaster1.encoder | 7 codecs, 7-state machine, per-slot DSP chain, ICY push, reconnect watchdog |
| Effects Rack | com.mcaster1.effects | Virtual 19" rack, IEffectUnit C ABI, EQ31, Sonic, Compressor, AGC, MicPre, Stereo |
| Metadata | com.mcaster1.metadata | ICY 2.2 editor (70+ fields, 8 groups), ICY 1.x fallback, HTTP PUT |
| Playlist | com.mcaster1.playlist | Clock scheduling, rotation engine, broadcast log, auto-advance |
| Video | com.mcaster1.video | QMediaPlayer + QVideoWidget, playlist, RTMP stub |
| Monitor | com.mcaster1.monitor | Polls Icecast2/Shoutcast/DNAS stats; listeners chart, bandwidth, uptime |
| PTT | com.mcaster1.ptt | Push-to-Talk, Armed/Live/Off states, encoder duck attenuation |
| CartWall | com.mcaster1.cartwall | Hot-start audio pads, drag-from-library, one-shot/loop |
Technology Stack
| Component | Technology | Version |
| Language | C++20 (MSVC v143) | VS 2022 |
| UI Framework | Qt Widgets + Multimedia + Network + SVG | 6.8.3 |
| Build System | CMake + vcpkg + Visual Studio generator | 3.28+ |
| Audio I/O | PortAudio with ASIO support | 19.7 |
| Video | FFmpeg (avcodec, avformat, avutil, swresample) | 8.0.1 |
| Media Tags | TagLib | 2.1.1 |
| Database | SQLite (default) / MySQL-MariaDB (enterprise) | 3.51 / 8.0 |
| Audio Codecs | LAME, libopusenc, libvorbis, libFLAC, fdk-aac | various |
| HTTP | libcurl + Qt Network | 8.18 |
Mcaster1 Ecosystem
Mcaster1DNAS
- Streaming server (Icecast-derived)
- ICY 2.2 protocol, YAML config, admin XML API
Mcaster1DSPEncoder
- Standalone audio encoder
- Winamp, foobar2000, RadioDJ DSP plugins
Mcaster1TagStack
- Metadata composer + media library
- ICY 2.2 full editor, MySQL backend
Mcaster1CastIt
- Server stats monitor
- MariaDB analytics, libcurl polling