The Mcaster1 Platform
An open-source internet radio and streaming infrastructure platform. Four interconnected tools covering the full broadcast workflow — from stream server to DSP encoder to statistics monitor to metadata composer.
Platform Updates
Current development status for each Mcaster1 project. All items below are backed by working code in active Git repositories.
Mcaster1DNAS
A Digital Network Audio Server forked from Icecast2 / Icecast-KH. Ships an ICY 2.2 extended metadata protocol, YAML configuration, static mount points, a song history API, a built-in HTML5 browser audio player, and a Windows native GUI with NSIS installer. Dual-platform: Linux (Autotools) + Windows (VS2022 service + GUI).
- ICY-META v2.2 — 60+ metadata fields
- Static mount types: podcast, socialcast, on-demand
- Song history API at
/songdata.xsl - HTML5 browser player with VU meters
- YAML configuration (parallel to XML)
- Per-listener SSL enforcement
- Windows GUI: live log viewer, real-time clock
- NSIS installer — Windows service + shortcuts
- Default ports: 9330 (HTTP) / 9443 (HTTPS)
- Track lookup: MusicBrainz, Last.fm, Discogs
Mcaster1DSPEncoder
A dual-platform broadcast DSP encoder forked from EdcastDSP by Ed Zalesky. Encodes live or file-based audio in 8 codecs and streams via ICY SOURCE to Icecast2, Shoutcast, or Mcaster1DNAS. The Linux build leads development with an embedded HTTPS admin server, full PHP web control panel, and 8 completed feature phases.
- 8 codecs: MP3, Opus, Vorbis, FLAC, AAC-LC/HE/HEv2/ELD
- Linux: embedded HTTP/HTTPS + PHP web panel (10 pages)
- Linux: 3-stage DSP chain — 10-band EQ, AGC, crossfader
- Linux: MariaDB media library + 8-algorithm playlist gen
- Linux: streaming server monitor + system health (/proc)
- Up to 12 simultaneous encoder slots (Linux)
- Windows: MFC desktop app + 3 DSP plugin DLLs
- Windows: WASAPI loopback, ASIO, DirectSound
- ICY 2.2 extended metadata (70+ fields)
- Phase L8 complete on Linux (v1.7.0)
Mcaster1CastIt
A Windows broadcast streaming control panel and statistics monitor. Originally built as CastIt (~2005) for CasterClub by Dave St. John, revived and modernized in 2026 as part of the Mcaster1 platform. Polls Shoutcast, Icecast2, SteamCast, and Mcaster1DNAS servers in real time; logs stats to MariaDB; generates HTML status pages; uploads via FTP/SFTP.
- 3-column server list: URL / Station Name / Current Song
- Right-click Monitor Tabs — per-server live stats
- Monitor Detail Dialog — dark-theme HTML5 stats card
- MariaDB/MySQL stats logging (5-table schema)
- HTML5/CSS3 template generation (30+ substitution tags)
- FTP + SFTP upload (libcurl + libssh2)
- SSH key authentication + SSL/TLS MariaDB
- Resizable MFC dialogs, system tray, add/edit server wizard
- 15 development phases complete (Phase 15D)
- VS2022 v143, Win32, vcpkg-managed dependencies
Mcaster1TagStack
A native Windows desktop application for composing and pushing ICY 2.2 metadata to Mcaster1DNAS and Icecast2-compatible streaming servers. Features a custom borderless dark-themed window with a left navigation panel. Phase 3 (v1.2.0) complete — full connection flow: server login, active mount selection, and live ICY 2.2 header push.
- ICY 2.2 Composer — 90+ fields across 4 tabs
- Server connection: /admin/listmounts → mount select
- Push headers via HTTP PUT to active source mount
- ICY 1.x title push via /admin/metadata endpoint
- Custom dark theme — GDI drawn, no Windows dark mode dep
- YAML config (tagstack.yaml) with multi-server support
- Tabs: Station/Show, DJ/Track, Social, Broadcast
- Phase 4: ICY 1.x Composer + Stats/Now Playing (planned)
- VS2022 x64, MFC, vcpkg: libyaml, curl, libxml2, OpenSSL
- CDarkTabCtrl — fully custom-drawn double-buffered GDI tabs
Platform Overview
The Mcaster1 platform is an open-source internet radio ecosystem covering every layer of the broadcast workflow. Each component is independent but designed to interoperate — a streaming server, a DSP encoder, a statistics and scheduling monitor, and a metadata composition tool.
All projects are authored by David St. John and released under open-source licenses. The platform draws from a rich lineage: Icecast2 (Xiph.Org), Icecast-KH (Karl Heyes), EdcastDSP (Ed Zalesky), and CastIt (CasterClub, ~2005) — each modernized for current toolchains and extended with new capabilities.
Mcaster1DNAS
Streaming server — Icecast2 fork with ICY 2.2, YAML config, song history API, Windows GUI
Mcaster1DSPEncoder
Broadcast DSP encoder — 8 codecs, Linux web admin, Windows MFC app + 3 plugin DLLs
Mcaster1CastIt
Stats monitor and scheduling — polls Shoutcast/Icecast2/DNAS, MariaDB logging, HTML page gen
Mcaster1TagStack
Metadata composer — ICY 2.2 field builder and pusher for DNAS/Icecast2, dark-theme Windows app
Development Status at a Glance
| Project | Version | Platform | Current Phase | Status | Next Up |
|---|---|---|---|---|---|
| Mcaster1DNAS | v2.5.2-dev | Linux + Windows | Song history API, static mounts, ICY 2.2 UI, Windows NSIS installer | Beta | v2.6.1 — Podcast features, RSS generation |
| Mcaster1DSPEncoder | v1.4.0 Linux / v5.0 Win | Linux + Windows | L8 complete — system health monitoring, 5-tab metrics dashboard | Beta | L9 — Advanced automation & clockwheel scheduling |
| Mcaster1CastIt | v0.9.7 | Windows x86 | Phase 15D — Monitor list resize, server URL url/mountpoint format | Beta | v1.0.0 — Installer, platform integration polish |
| Mcaster1TagStack | v1.2.0 | Windows x64 | Phase 3 — Connection flow, mount selection, live ICY 2.2 push | Beta | v1.3.0 — ICY 1.x Composer, Stats / Now Playing page |
Open Source — Built in Public
All Mcaster1 projects are open source and developed in public on GitHub. Contributions, issue reports, and pull requests are welcome. Authored and maintained by David St. John.