Song pre-processing
- added a new playback variant that mixes all notes of a song into single audio segments on the client
- those segments are then streamed, similar to background music
- active by default
- allows to play songs with a lot of simultaneous notes (Vanilla only support up to 247 sounds on most setups)
- doesn't suppress vanilla sounds when playing songs with a lot of notes
- very accurate note timings (48000 Hz)
- includes a high quality compressor and a cubic resampler for good sound quality
API and settings
- add API for controlling the playback variant and stereo mixing mode from the server
- add client settings and config for overriding the playback variant and stereo mixing mode to use
- add volume, playback variant and stereo mode as optional arguments for the /music play command
General
- inhibit Minecraft music from playing while notica songs are playing
- now depends on cloth-config
Bugfixes
- fix individual note playback tempo errors for songs with fractional tempo (the playback variant from before thats also vanilla compatible)
- use correct stereo panning according to the NBS specification
- song handles are now correctly destroyed when a listening player leaves the server
- fix infinite song request and response bug that caused the rate limiter to spam messages
- support tempo changes
- support locked layers
- /music seek command
- /music play command now replaces currently playing song
- properly quote file names in song file argument
- support songs with more than 127 custom instruments
- free memory of songs after they are done playing
- batch-play notes to reduce overhead
- added translations for Simplified Chinese (#9 by Chiloven945)