Roadmap
TagStack is actively developed. This page shows what is complete in the current release (v1.3.2), what is in progress, and the planned trajectory for future versions.
Current version: 1.3.2 — Windows 10/11 x64 — February 2026
Version 1.3.2 — Current Release
What is complete and live in the current build:
-
CMainFrame Live
Borderless custom-chrome window with sticky nav panel (220px), title bar (36px), player status strip (52px). Light theme throughout.
-
ICY 1.x Metadata Push Live
Real-time now-playing title push via GET /admin/metadata to any Icecast2 or Mcaster1DNAS server. URL-encoding handled by libcurl automatically.
-
ICY 2.2 Composer — 90+ Fields Live
Full 4-tab ICY 2.2 extended metadata composer: Station/Show, DJ/Track, Social, Broadcast. All 90+ spec-compliant header names. PUT to source mount with source password.
-
Server Management Live
Add/edit/remove servers (Mcaster1DNAS or Icecast2). 3-step wizard. Connect via /admin/listmounts, mount selection modal. Source + admin credential storage per server.
-
Media Library with TagLib Scanning Live
Background folder scan via CScanProgressDlg. TagLib reads ID3v2/FLAC/OGG/AAC tags. MySQL storage with BPM, key, weight, format, duration. OLE drag-drop support.
-
MusicBrainz Lookup Live
Per-track background lookup via MusicBrainz API. Fills MBID, ISRC, label, mood, and MB rating in MySQL. Essential for PRO reporting workflows.
-
Playlist System with Broadcast Rules Live
Two-panel playlist UI. Saved playlists with broadcast automation rules: artist/title separation, BPM range, genre mix (JSON), energy mode. Double-click opens in ComposerPro.
-
ComposerPro — Broadcast Log Production Live
Full broadcast log editor with log grid, sidebar library search, clock templates, category filter, cart mappings. Date picker for log scheduling. Import playlist as log draft.
-
ComposerPro — Multi-Format Export Live
Export logs as M3U, M3U8, PLS, SAM Broadcaster Log (.txt), Rivendell/CSV. UTF-8 encoded M3U8 for non-ASCII artist names.
-
Standalone Media Player Live
Mcaster1MediaPlayer.exe: FFmpeg decode pipeline, waveOut output, local file and ICY stream playback, play queue, album art (APIC + ICY artwork URL), GDI+ owner-draw transport buttons, antialiased volume knob.
-
Live Streaming — TagCap Subprocess Live
Mcaster1TagCap.exe: GDI screen grab, DirectShow camera/mic, file input. VP9+Opus WebM, VP8+Vorbis WebM, H.264+AAC FLV output. HTTP PUT to streaming server.
-
Podcast Management Live
3-tab Podcasts page: Episode metadata, RSS feed builder, publish controls. Configuration stored in podcasts.yaml.
-
Socialcasting Page Live
Video file playlist builder, RTMP stream config, social posting placeholder. Foundation for platform API integrations.
-
MySQL Database — Schema v6 Live
12 tables with full migration history tracking. Automatic schema init and migration wizard in Settings → Database. mysqldump-based backup dialog.
-
Debug and Database Log Console Live
CLoggingPage with 3 tabs: Config, App Log (CConsoleRichEdit, 2000-line ring buffer), MySQL Log (DbLogger). Black-background console with right-click copy menu.
Near-Term — v1.4
-
Disconnect Button + Stats Polling In Progress
v1.4 — Q2 2026
Wire the Disconnect button to CMainFrame::Disconnect(). Start StatsPoller when a mount is selected — poll listener counts and stream health from the server at the configured poll_interval.
-
NSIS Installer In Progress
v1.4 — Q2 2026
Package TagStack, MediaPlayer, ComposerPro, and TagCap with all runtime DLLs into a single NSIS installer. Silent install option for IT-managed deployments.
-
Equalizer (Media Player) Planned
v1.4 — Q2 2026
10-band equalizer in Mcaster1MediaPlayer. FFmpeg swresample filter graph for EQ processing. Preset management (Flat, Bass Boost, Vocal, Classical). Settings persisted in tagstack.yaml.
-
Favourites System Planned
v1.4 — Q2 2026
Heart button in Media Player marks current track as favourite in MySQL. Favourites playlist auto-maintained in the library. Quick filter in Media Library to show only favourites.
-
Stream Statistics Dashboard Planned
v1.4 — Q2 2026
Live listener count chart on the Servers page. Historical listener data stored in MySQL. Peak listeners, average session duration, and unique IPs per mount.
Platform Integrations — v2.0
-
TikTok Live API Integration Planned
v2.0 — 2026
Push now-playing metadata to TikTok Live via the TikTok for Developers API. Display current track title, artist, and artwork in the TikTok Live gift/overlay panel. Automatic OAuth token management.
-
Instagram Live Metadata Overlay Planned
v2.0 — 2026
Push now-playing track info to Instagram Live via the Instagram Graph API. Overlay the track title and artist as a live caption / story element. Requires Instagram Professional Account and Meta App Review approval.
-
YouTube Live API — Now Playing Cards Planned
v2.0 — 2026
Use the YouTube Data API v3 to update the live stream title and description in real time as tracks change. Create "Now Playing" super chats / pinned messages automatically. OAuth 2.0 integration with token refresh.
-
Twitch Helix — Channel Point Rewards + Now Playing Planned
v2.0 — 2026
Twitch Helix API integration: update stream title and game/category to reflect current show. Create a Channel Points reward for song requests that feeds into the TagStack request queue. Listen to chat via EventSub for real-time request handling.
-
Discord Rich Presence + Webhook Push Planned
v2.0 — 2026
Post now-playing metadata to a Discord webhook on every track change. Discord Rich Presence shows the current track in the TagStack user's Discord profile ("Listening to: Artist - Title on Station Name"). Configurable per-server webhook URL.
-
Twitter / X Auto-Post Planned
v2.0 — 2026
Auto-tweet now-playing updates with customizable templates (e.g. "Now Playing: {artist} - {title} on {station} {hashtags} {stream_url}"). Rate-limit management to stay within Twitter API limits. Tweet on show start and on configurable track-change intervals.
-
Facebook Page Auto-Post Planned
v2.0 — 2026
Post now-playing and show updates to a Facebook Page via the Graph API. Include track artwork as a photo post for higher engagement. Configurable post frequency (e.g. every 3 tracks, or every 30 minutes).
Audio Intelligence — v2.0+
-
Spotify Metadata Matching Future
v2.1
Match library tracks against Spotify's catalog via the Spotify Web API. Fill in ISRC, popularity score, audio features (energy, danceability, valence, acousticness, speechiness), and album art from Spotify's database. Complements MusicBrainz enrichment.
-
BPM Auto-Detection Future
v2.1
Analyze audio files in the library to detect BPM automatically using an FFmpeg-based beat detection algorithm. Fill the
bpm column in MySQL for tracks where the ID3 BPM tag is missing. Background analysis thread with progress reporting.
-
Harmonic Key Auto-Detection Future
v2.1
Detect the musical key of each track using chromagram analysis. Report in both standard notation (C major, A minor) and Camelot wheel notation (8A, 4B). Used by the harmonic mixing feature to suggest compatible next tracks for DJ sets.
-
Harmonic Mixing Suggestions Future
v2.1
Based on BPM and Camelot key of the current track, suggest the top 5 harmonically compatible next tracks from the library. Displayed in the Media Library right-click menu and ICY 2.2 Composer. Compatible keys are adjacent on the Camelot wheel (±1 step, same position, +7 semitones).
-
LUFS Loudness Normalization Future
v2.2
Measure integrated LUFS loudness of each library track using FFmpeg's ebur128 filter. Store in a new
lufs column. Auto-normalize playback gain to a configurable target (default -14 LUFS for internet radio). Push the measured value in icy-meta-audio-lufs.
Automation System Integrations — v2.x
-
SAM Broadcaster Live Export Future
v2.2
Live two-way sync with SAM Broadcaster via its ODBC/database interface. As SAM advances through its playout log, TagStack automatically receives the current track and pushes ICY metadata. Eliminates manual metadata updates for SAM-driven stations.
-
Zetta / NexGen / GSelector Export Future
v2.3
Export broadcast logs in GSelector XML and Zetta-compatible formats. Import Zetta traffic logs to populate the cart_mappings table automatically. Supports the full broadcast automation ecosystem used by large-market radio groups.
-
RadioBOSS Integration Future
v2.3
RadioBOSS HTTP API plugin to receive now-playing events. TagStack listens on a local HTTP port for RadioBOSS "track started" callbacks and auto-pushes ICY 1.x and ICY 2.2 metadata without manual intervention.
Mobile and Cloud — v3.0
-
TagStack Mobile Companion App Future
v3.0
iOS and Android app that connects to a TagStack desktop instance via a local network API. Remote-push ICY metadata from your phone while the desktop runs the library and connections. Show schedule management, track request approval, and listener stats on mobile.
-
TagStack Cloud Sync Future
v3.0
Optional cloud sync for station identity, playlists, and broadcast logs. Push logs from multiple desktop instances to a shared cloud account. View combined listener stats and metadata push history from a web dashboard.
-
AI-Assisted Broadcast Log Builder Future
v3.1
Use an LLM API (Claude, OpenAI) to generate broadcast log suggestions based on your library, show format, time of day, and target audience. AI suggests a complete clock template layout, recommends tracks from your library, and writes show notes for each log item. Flag AI-generated content with
icy-meta-content-ai: 1.
Feedback and Feature Requests
TagStack is built for broadcasters, by a broadcaster. If you have a feature request, a workflow that TagStack does not support, or a bug to report, open an issue at the project repository or contact Mcaster1 support directly.