Use Cases & How-Tos

Step-by-step guides for the most common TagStack workflows, organized by user type. Each scenario walks through a complete setup from first launch to live broadcast.

Internet Radio Station

📻 Scenario: Fully Automated Internet Radio Station

A 24/7 internet radio station running a mix of automated music with scheduled live DJ shows. Station uses Mcaster1DNAS with multiple source mounts: /live for the DJ and /autodj for the AutoDJ fallback.

Step 1 — Build the Music Library

  • In TagStack, go to Media Library → Library tab.
  • Click Add Folder and point to your music drive. Let the background scanner read all ID3 tags.
  • Right-click tracks and run MusicBrainz Lookup in batches to populate MBID, ISRC, label, and mood. This data is essential for PRO reporting (ASCAP, BMI, SOCAN).
  • Set weight values via the Metadata Editor: power rotation = 3.0, secondary rotation = 2.0, gold = 1.5, deep cuts = 0.5.

Step 2 — Create Rotation Categories and Playlists

  • In Settings → Database, add categories: "Hot AC Currents", "Hot AC Recurrents", "Hot AC Gold", "Spots", "Jingles".
  • In the Playlist tab, create a playlist called "Hot AC Currents" with your newest adds. Set rules: Artist Separation = 3600 (1 hour), BPM Min = 90, BPM Max = 140, Energy Mode = Flat.
  • Create "Hot AC Gold" with your library classics. Set Artist Separation = 7200 (2 hours).

Step 3 — Build Clock Templates in ComposerPro

  • Open ComposerPro. Click Edit Clock.
  • Create a template "Hot AC Hour": Music(Currents), Music(Currents), Music(Recurrents), Jingle, Music(Currents), Music(Gold), Spot, Spot, Music(Currents), Music(Recurrents), Jingle, Music(Gold), Music(Currents), Music(Currents).
  • Save the template.

Step 4 — Produce the Daily Log

  • In ComposerPro, set the log date to tomorrow.
  • Select the "Hot AC Hour" template and click Apply Clock. Repeat for each hour (the template appends each hour to the log).
  • Review the log, make manual adjustments for special programming.
  • Export as SAM Broadcaster Log (.txt) or Rivendell CSV for import into your automation system.
  • Click Save Log to keep it in MySQL for reference and compliance records.

Step 5 — Connect and Push ICY 2.2 Metadata

  • On the Servers page, connect to your DNAS server and select the /live mount.
  • In the ICY 2.2 Composer, fill in all Station/Show fields: station ID, logo URL, show title, and the AutoDJ flag set to 1 when no DJ is live.
  • Add social links, hashtags, and engagement URLs in the Social tab.
  • Click Push Headers. All ICY 2.2 metadata is now live on your stream.

FM/AM Radio — Web Simulcast

📻 Scenario: Traditional Radio Station Adding an Online Stream

An FM or AM station wants to simulcast its on-air signal online. The on-air programming is produced in SAM Broadcaster or Rivendell. TagStack bridges the broadcast log and metadata to the web stream.

Step 1 — Set Up the Web Stream

  • Install Mcaster1DNAS or Icecast2 on a cloud server. Configure one mount (/simulcast) for the on-air audio feed from your encoding PC.
  • Add the server in TagStack's Servers page.

Step 2 — Integrate with Your Automation System

  • In your SAM Broadcaster or Rivendell station, configure the stream output to push audio to the web server mount. (This is done in SAM/Rivendell directly — TagStack only handles metadata, not the audio routing from your automation system.)
  • From TagStack, push ICY 1.x "now playing" titles as your automation system advances through the log. Use the Media Library → right-click → Push to Stream workflow if your playout system is the same machine running TagStack.

Step 3 — Export Broadcast Logs for Your Automation System

  • Produce daily logs in ComposerPro using your existing categories and clock templates.
  • Export as SAM Broadcaster Log (.txt) and import into SAM's log scheduler. Cart numbers in the export map directly to SAM's cart library.
  • For Rivendell: export as Rivendell CSV and import via rdlogedit.

Step 4 — Push Rich Metadata for Online Listeners

  • While on-air talent is live, use the ICY 2.2 Composer to push show programming info (show title, DJ handle, genre) to the web stream. Online listeners on ICY 2.2-aware clients see the same rich metadata as a pure internet station.
  • Add your station website, request URL, and social media links in the Social tab. Web listener apps display these as clickable links.

Internet TV Channel

📻 Scenario: 24/7 Internet TV Channel

A content creator running a themed internet TV channel (lifestyle, music video, fitness, news loops). Content is a mix of pre-recorded videos and a live show several times a week.

Step 1 — Build the Video Playlist

  • In TagStack's Media Library, add your video files using Add Files or Add Folder. Video entries are stored in media_items alongside audio tracks.
  • In the Playlist tab, create a playlist called "Main Channel Loop". Add all your video segments in order. Set duration-based rules for genre mix if you have content categories (e.g. "Interviews":30, "Music Videos":50, "Ads":20).

Step 2 — Add IPTV / Internet TV Channel Entries

For playlist entries that are internet streams (not local files), add them via the playlist editor with item_type = tv_internet and fill in the channel_url, channel_name, and optional channel_number fields in the MySQL database or via the Metadata Editor.

Step 3 — Stream Video with TagCap

  • On the Live Stream page, select File Input mode in the TagCap section.
  • Browse to your first video segment. Choose H.264+AAC FLV for maximum player compatibility.
  • Click Start TagCap. TagCap loops the file and pushes the stream to your server mount.

Step 4 — Push Channel Metadata

  • In the ICY 2.2 Composer, fill the Show Title with the current program name, your channel logo URL in Station Logo URL, and all social fields.
  • Push at the start of each program block. ICY 2.2-aware TV widgets display program name, channel art, and social links.

Step 5 — Live Show Integration

  • For live show days, switch to DirectShow camera input in TagCap.
  • Select your camera from the device list and choose your encoding preset.
  • Click Start TagCap to begin the live segment. Push updated ICY 2.2 metadata with icy-meta-show-title reflecting the live show name and icy-meta-autodj: 0.

DJs and Club Artists

📻 Scenario: Live DJ Set with Real-Time Metadata and BPM/Key Push

A DJ streaming a live set from their controller/DAW setup, wanting real-time track info with BPM, key, artwork, and social links pushed to listeners.

Step 1 — Tag Your DJ Library

  • Scan your DJ library folder in TagStack's Media Library. Use TagLib's BPM tag reading — most DJ software (rekordbox, Serato, Traktor) writes BPM and key tags to files.
  • For tracks missing BPM or key: use the Metadata Editor to fill in values manually. BPM and key are displayed in the ICY stream by compatible players and web widgets.
  • Set rotation weight for your "peak time bangers" (3.0) vs. warm-up tracks (0.5) if you plan to use ComposerPro for set planning.

Step 2 — Connect to Your DNAS / Icecast2 Server

  • On the Servers page, add your streaming server with source password. Connect and select your mount (e.g. /djlive).

Step 3 — Configure ICY 2.2 for the Set

  • In the ICY 2.2 Composer, DJ / Track tab: fill in your DJ handle, short bio, genre (e.g. "House"), and show rating.
  • Social tab: add your Twitter/X, Instagram, TikTok, and Twitch handles. Add a hashtag array like ["#HouseMusic","#LiveDJ","#FridayNight"].
  • Station / Show tab: fill in show title (e.g. "Friday Night Bass"), show start time, and your DJ handle as Station ID.
  • Click Push Headers at the start of the set.

Step 4 — Update Track Info During the Set

  • As each new track drops, update the DJ / Track tab: track artwork URL, album, year, label, BPM, and key (Camelot notation, e.g. "8A").
  • For the ICY 1.x now-playing title, right-click the current track in the Media Library and choose Push to Stream. This sends "Artist - Track Title" to the stream immediately — all basic ICY players (Winamp, VLC, web players) update in real time.
  • Click Push Headers on the ICY 2.2 Composer after each track change to send the full extended metadata (artwork, BPM, key, social links) to ICY 2.2-aware clients.

Step 5 — Listeners Experience

  • Basic listeners (Winamp, any ICY player): see "Artist - Track" in the player title bar.
  • ICY 2.2 clients / web widgets: see album art, BPM, key, DJ bio, social links, and hashtags — all surfaced from your real-time pushes.
  • Your TikTok, Instagram, and Twitter handles are embedded in the stream metadata — ICY 2.2 player apps can show them as tappable links.

On-Air Talent and Show Hosts

📻 Scenario: Morning Show Host with Show Programming Info

A radio host or podcast-style internet presenter who wants full show metadata (start/end times, next show, content rating, DJ bio) visible to listeners.

Step 1 — Station Identity Push (Once Per Station)

  • In ICY 2.2 Composer, Station / Show tab: set Station ID (unique for your station), Station Logo URL (PNG, at least 256×256), and Station Verified status.
  • This is a one-time setup. Push it at the start of each session to ensure the station identity is current.

Step 2 — Show Programming Push (Start of Each Show)

  • Station / Show tab: Set Show Title (e.g. "Morning Drive with Alex"), Show Start time (06:00), Show End time (10:00), Next Show (e.g. "Midday Mix").
  • DJ / Track tab: Set DJ Handle (@yourhandle), DJ Bio ("Top 40 morning show, WKRP Cincinnati"), Genre, and Show Rating (G, PG, PG-13, or R).
  • Click Push Headers. Show info is now live on the stream. ICY 2.2 apps show the show title and host bio in their now-playing display.

Step 3 — Listener Engagement URLs

  • In the Social tab: fill in Listener Requests URL, Chat URL, and Tip URL (PayPal, Ko-fi). Set icy-meta-listener-requests: 1 to flag that requests are open.
  • Push these in the Social tab at show start. Listener apps with ICY 2.2 support show "Request a Song" and "Chat" as action buttons.

Step 4 — Station Notice

  • In the Broadcast tab: use icy-meta-station-notice for time-sensitive announcements (e.g. "Station off-air Dec 25 for maintenance"). Set icy-meta-notice-expiry to the ISO 8601 datetime when the notice should stop displaying.
  • Push an empty notice string to clear it when the event is over.

Podcasters

📻 Scenario: Podcast Published as a Live Stream and RSS Feed

A podcaster who wants to simulcast recordings live on a streaming server while also generating an RSS feed for major podcast directories.

Step 1 — Set Up Podcast Metadata in TagStack

  • Navigate to the Podcasts page (left nav).
  • On the Episodes tab: create episode entries with title, description, episode number, season, duration, and file path.
  • On the Feed tab: configure the RSS feed — podcast title, description, author, language, category, cover art URL. TagStack generates a standard RSS 2.0 + Apple Podcasts namespace feed from this data, stored in podcasts.yaml.

Step 2 — Push ICY Podcast Metadata to the Stream

  • In ICY 2.2 Composer, DJ / Track tab: fill in icy-meta-podcast-host (your show/network name), icy-meta-podcast-rss (your feed URL), and icy-meta-podcast-episode (e.g. "EP-042").
  • Push at the start of each episode. Listeners on ICY 2.2-aware apps see episode info and can follow the RSS link to subscribe.

Step 3 — Stream the Episode Live

  • On the Live Stream page, select File Input in TagCap and browse to your episode audio file.
  • Configure codec (MP3 or AAC) and bitrate (128–192 kbps for talk). Start the stream.
  • At the same time, push the ICY 2.2 metadata. Listeners connecting during the live stream get the full podcast episode info in their player.

Step 4 — Publish the RSS Feed

  • On the Podcasts → Publish tab: configure your podcast hosting destination and publish the feed. The generated RSS file can be submitted to Apple Podcasts, Spotify, and other directories.

Socialcasters and Content Creators

📻 Scenario: Multi-Platform Simultaneous Stream with Social Promotion

A social media creator who streams simultaneously to YouTube Live, Twitch, and TikTok Live while maintaining a Mcaster1DNAS radio stream. Uses TagStack for metadata, social link embedding, and cross-platform coordination.

Step 1 — Configure Social Links in ICY 2.2

  • In the ICY 2.2 Composer, Social tab:
  • Set icy-meta-social-twitter to your Twitter/X handle.
  • Set icy-meta-social-twitch to your Twitch channel name.
  • Set icy-meta-social-tiktok to your TikTok handle.
  • Set icy-meta-social-youtube to your YouTube channel URL.
  • Set icy-meta-social-ig to your Instagram handle.
  • Set icy-meta-social-linktree to your link-in-bio URL.
  • Set icy-meta-hashtag-array to your campaign hashtags: ["#LiveNow","#Twitch","#TikTokLive","#NewEpisode"].
  • Push at the start of every live session.

Step 2 — Cross-Post Declaration

  • In the Broadcast tab: set icy-meta-crosspost to twitch,youtube,tiktok. This flags to ICY 2.2-aware client apps that this stream is simultaneously live on multiple platforms, helping listeners find you on their preferred platform.

Step 3 — Stream Video with TagCap

  • On the Live Stream page: select DirectShow or GDI Desktop.
  • Choose H.264 + AAC FLV as the encoding preset (required for RTMP-based ingestion to YouTube and Twitch).
  • Start TagCap to push to your Mcaster1DNAS stream. For YouTube and Twitch, use OBS or a separate RTMP encoder pointed at their ingest servers. TagStack handles the Mcaster1DNAS / Icecast2 side of your multi-platform setup.

Step 4 — Monetization and Engagement Links

  • Set icy-meta-tip-url to your Ko-fi, PayPal.me, or other tip page URL. ICY 2.2 players can surface this as a "Support" button.
  • Set icy-meta-chat-url to your Discord server invite or live chat page.
  • Set icy-meta-events-url to your event calendar URL for upcoming appearances and streams.

Brand Promotion and Influencer Marketing

📻 Scenario: Brand Radio Channel for Product and Event Promotion

A brand using a radio stream to create ambient content for a retail store, event, or loyalty app. TagStack manages the playlist, branding metadata, and event links.

Step 1 — Build a Branded Playlist

  • Scan your licensed or royalty-free music collection. In the Broadcast tab of the ICY 2.2 Composer, set icy-meta-content-royalty-free: 1 if your music is royalty-free.
  • Set rotation rules on the playlist for a pleasant, varied listening experience: Artist Separation = 3600, BPM Min/Max tuned for your environment (e.g. 80–110 for retail ambience).

Step 2 — Embed Brand Identity

  • In Station / Show tab: set Station ID to your brand slug, Station Logo URL to your brand logo, and Station Verified to match your verification status.
  • In Social tab: add all brand social handles. Set Hashtag Array to your brand hashtags: ["#YourBrand","#NewArrival","#ExclusiveOffer"].

Step 3 — Promote Events and Products

  • Use icy-meta-station-notice in the Broadcast tab for limited-time promotions: "30% off this weekend — use code RADIO30". Set icy-meta-notice-expiry to the promo end date.
  • Set icy-meta-events-url to your event page. Customers listening in the loyalty app see a "View Events" button.

Step 4 — Content Licensing Compliance

  • Run MusicBrainz lookup on your entire library to obtain MBID and ISRC values. Export these from MySQL for your PRO reporting.
  • Use the icy-meta-license-type field (e.g. CC-BY-4.0) to declare license information in the stream for any creative-commons or custom-licensed content.

Quick Reference: ICY 2.2 Fields by Goal

GoalKey ICY 2.2 Fields to Push
Show listener who is on airicy-meta-show-title, icy-meta-dj-handle, icy-meta-dj-bio, icy-meta-show-start, icy-meta-show-end
Display current track with articy-meta-track-artwork-url, icy-meta-album, icy-meta-year, icy-meta-label, icy-meta-bpm, icy-meta-key
Build social followingicy-meta-social-twitter, icy-meta-social-ig, icy-meta-social-tiktok, icy-meta-social-youtube, icy-meta-hashtag-array
Drive listener interactionicy-meta-listener-requests, icy-meta-request-url, icy-meta-chat-url, icy-meta-tip-url
Promote eventsicy-meta-events-url, icy-meta-station-notice, icy-meta-notice-url, icy-meta-notice-expiry
Technical / complianceicy-meta-audio-codec, icy-meta-audio-lufs, icy-meta-license-type, icy-meta-content-royalty-free, icy-meta-geo-region
Podcast listenersicy-meta-podcast-host, icy-meta-podcast-rss, icy-meta-podcast-episode
Cross-platform streamingicy-meta-crosspost, icy-meta-social-twitch, icy-meta-social-facebook-page