Use the Create station method set from the CC:Tweaked integration docs to identify attached train stations even when the peripheral type string is not reported as train_station.
Detect train station peripherals from all discovered names and automatically write station_identity.cfg from the physical station identity so attached main hosts stop falling back to manual slave setup.
Avoid prompting manual slave setup on main hosts when the train station block is attached somewhere other than the back side, and log the detected side for easier diagnosis.
Keep the active music stream attached until Audio.stop runs so stop requests finish the stream reader cleanly and the next music playback can start again without getting stuck behind the previous stream.
Make monitors optional so slave nodes can boot and play audio in terminal-only mode, while still using the monitor UI automatically when one is present.
Remove station_name from the slave identity config and prompt for station code and platform on startup when no train station peripheral and no usable identity file are present, so slave nodes can be configured interactively on first boot.
Allow station_broadcast to run without a train station peripheral on the back, add a local station_identity.cfg override for station name/code/platform, and display the active station code, platform, and identity mode so slave nodes can be grouped to a platform manually.
Allow the console and music page to upload common audio formats, expand music track detection and playback source selection beyond wav/dfpwm, and update station list name normalization so common extensions resolve consistently. Bump the station build to v1.0.6.
Bump the station build to v1.0.5, reduce live WAV chunks to 0.25 seconds, and queue decoded samples in a synchronized multi-speaker mode so multiple speakers stay aligned during streaming playback.
Bump the station build to v1.0.4, reduce live WAV chunk size to 0.5 seconds, and keep native speaker queues fed during streaming instead of draining after every chunk so playback is less jittery and stays closer to real time.
Bump the station build to v1.0.3 and send decoded WAV samples through each speaker's native playAudio path before falling back to controller.playAudioAll, with logs to show which output path was used.