MusicPlus Test - mazmazz/SRB2 GitHub Wiki
This demo contains the following branches:
- music-cleanup - Internal cleanup of music code
- musicplus-core - Fading, position, and seeking features
- musicplus-lua - Lua support for new music features
- musicplus-sdlmixerx - Uses SDL Mixer X fork to provide non-native MIDI (with configurable instruments!) and fix MP3 glitches
- musicplus-libopenmpt - Better MOD player
- musicplus-le-changemusic - Change Music LD with fading and seeking features
- musicplus-jingle - Post-jingle music resume
- musicplus-jingle-lua - Lua functions for jingle features
- musicplus-feature-dying - Fades out music at dying and map change
- musicplus-feature-endoflevel - Fades out music before intermission; and map header to fade level music during intermission
- musicplus-feature-postboss - Level music after defeating a boss
- musicplus-feature-nights-sfx-timeup - "Cross-fade" level music with NiGHTS timeout SFX, optional level header
WIP:
- [musicplus-setup] - Hold music metadata and load multiple tracks in memory at once, to support the below:
- [musicplus-streams] - Multi-"track" music switching
Meta-Branches (combo of multiple branches)
- musicplus-mx-mpt - Merge of
musicplus-sdlmixerxandmusicplus-libopenmpt - musicplus-demo - Merge of all music branches
YouTube
- Post-boss music - By level header
- Fade music scenarios - Dying, level end, warping
- Jingle resuming - Resume level music after a jingle
- Non-native MIDI - Configurable MIDI instruments
- Ambient music streams - Switch between music "tracks" with the same position. Listen with headphones! (WIP, not in demo)
- Speed shoes music - Same concept, just with different track lengths (WIP, not in demo)
Download Demo
Music Length Tagger
In order for the jingle resume feature to work properly, music lumps must be tagged with LENGTHMS=. Use this utility to automatically tag each music in a given WADfile.
musicplus-demo on Windows does not need this because it uses SDL Mixer X to tell song length. Individual branches -- and any branch on Linux -- need this tag.