Releases: Mindgamesnl/OpenAudioMc
6.10.10
We're back again with a significant update featuring major improvements and fixes, but first, some context.
Since introducing speakers with the help of 56738, our system has relied on PannerNodes, a web standard for 3D audio rendering. VoiceChat was added shortly after and expanded on this foundation. Unfortunately, these web APIs have been poorly maintained for years. Several critical bugs—reported years ago—remain unfixed in Chromium with little likelihood of resolution.
These issues caused noticeable audio crackling, and their unpredictable behavior led to more severe problems including connectivity issues and excessive resource consumption. Many players reported significant FPS drops as their computers struggled to keep up.
After careful consideration, I made the difficult decision to move away from these default rendering systems and develop our own solution, which I'm excited to release today!
Changelog
-
Regions
- Fixed the
sync-regions
config option, which was completely being ignored
- Fixed the
-
Speakers
- Fixed issues with synchronization on redstone speakers, specifically the
reset playthrough on power loss
feature, which got borked a few updates ago
- Fixed issues with synchronization on redstone speakers, specifically the
-
Web Client
-
Audio Rendering
-
Migrated to the custom spatial audio system
-
Added new customization options - letting you change how strong you want the stereo effect to be, more granular control over volume roll-off (how quiet audio becomes over distance), and one quick instant toggle to instantly disable spatial audio at all (affecting speakers and voicechat)
-
Added fallback mechanism to a more boring volume-based system for browsers that don't support workers
-
Fixed some browser polyfill methods, restoring compatibility with Safari on older macOS versions
-
Changed how (and when) the client tries to interpolate between location data
-
-
UI
-
Overhauled the login page to be more 'generic', making it fit in easier with your own styling (colors and image)
-
Overhauled the bedrock login flow to be more stable and easier to follow
-
Completely redesigned the onboarding page, which now better explains where a user needs to click and what their options are
-
Changed the navbar styling - it will now go transparent on the voice-chat page to better fit in with the rest of the UI components below it
-
voice-chat peers now show their state in loading messages, making possible connection issues way easier to understand
-
-
-
Misc
- Fixed API binary distribution in the documentation
- Fixed issues with the documentation site not loading assets on mobile
- Minor bug fixes
6.10.9
Hey there folks!
January finally ended, so it's update time again! This one brings a few changes and fixes that have been requested quite a bit :)
Changelog
-
Voice Chat
- Changed the default option for channels behaviour, new users were getting confused as to why they would not be able to hear someone while they are in a channel. The new default behaviour is that proximity voicechat will remain active while you have a channel selected. This can be turned off in the config.
- VoiceChat Range (radius) has been relaxed, now accepting any value between 5 and 200 blocks (used to be 20-70)
- Added API methods to manage moderation mode per client
-
Train Carts
- Added two config options
traincarts-mute-regions
andtraincarts-mute-speakers
, which can be used to make traincarts media overwrite speakers and regions - Train media now always uses the ID
train_audio
, allowing you to stop media for players with a command (/oa stop @a train_audio
)
- Added two config options
-
Speakers
- Fixed broken speaker behaviour on 1.20.4 and below (this change may also finally make speakers work on offlinemode/cracked servers, though I haven't tested this)
-
Misc
- Fixed threading issues with shows on newer java versions
Speaker API changes, removing deprecated mechanisms
Hey there! This update is relatively minor compared to the last version but does ship a new API binary.
Changes:
- added support for 'virtual' speakers, which are speakers that are not actively being validated by the plugin, but still tracked and emit audio
- added a new 'virtual speaker' API, which lets developers turn any block/location into an audio source
- https://javadoc.openaudiomc.net/com/craftmend/openaudiomc/api/WorldApi.html#registerVirtualSpeaker(int,int,int,java.lang.String,java.lang.String,com.craftmend.openaudiomc.api.speakers.SpeakerType,int,com.craftmend.openaudiomc.api.speakers.ExtraSpeakerOptions...)
- https://javadoc.openaudiomc.net/com/craftmend/openaudiomc/api/WorldApi.html#unregisterVirtualSpeaker(com.craftmend.openaudiomc.api.speakers.BasicSpeaker)
- Removed old version check mechanisms because it's now provided by the account server, meaning that the plugin no longer requires network access to github.com
- Removed old config options for features that have been dropped long ago
- Added required packet adapters to vistas for the new channel UI in the web client
6.10.2
What changed
- Added API methods to stop (and fade out) media link
- Added API methods to interact (and manage) Channels link
- Fixed wrong messages in the temp region sub command
- Added support for 1.21
- Regions/Speakers will now fade in and out if a higher-priority media with a mute flag is playing
- Fixed an issue where Regions/Speakers are still audible despite a mute flag being present
- Fixed clickable messages in the help command, background image sizing and interface implementation by @nicolube
- Added API features to customize how players are rendered in voice chat (allowing you to use another display name or skin) link
- Bumped internal dependencies
- Added a new
/oa region forceupdate
command to update all region media (to fetch changes to a playlist, for example) - Various client stability improvements
- Changed how SoundCloud resources are loaded (noticeable speed improvement)
New Contributors
- @GioCole made their first contribution in #422
- @T0biii made their first contribution in #418
- @nicolube made their first contribution in #438
Full Changelog: 6.10.0...6.10.2
6.10.2-pre4
- Implement CS language
- Fixed NPE on some bungee forks that change event order
- Bumped NBT api
- Update de.lang by @T0biii in #418
- Fix action bar message for vistas users by @nicolube in #436
- Fix help subcommand clickable messages by @nicolube in #437
- Plugin-side API for custom voicechat display UUID's or names by @Mindgamesnl in
- the navbar is now replaced by a slideover menu on mobile devices
- fixed an overflow issue with voicechat peers on mobile
- fixed a memory leak on vistas caused by Wisp
- Names in the voicechat UI no longer overflow on mobile devices
- Feature/media inhibitor cross fading by @Mindgamesnl in #430
- Expanded the Region API to allow for mutations
- the packet middleware API now works on servers running under a proxy or vistas
6.10.2 pre-2
What's Changed
- 6.10.1 by @Mindgamesnl in #414
- Add CZ draft by @Mindgamesnl in #433
- Backport to dev by @Mindgamesnl in #434
- Fixes/server null during the connected event by @Mindgamesnl in #435
- Update de.lang by @T0biii in #418
- Fix action bar message for vistas users by @nicolube in #436
- Fix help subcommand clickable messages by @nicolube in #437
- Plugin-side API for custom voicechat display UUID's or names by @Mindgamesnl in #439
- the navbar is now replaced by a slideover menu on mobile devices
- fixed an overflow issue with voicechat peers on mobile
New Contributors
Full Changelog: 6.10.2-pre2...6.10.2-pre3
6.10.2-pre2
What's Changed
- Feature/fix/if 44 by @Mindgamesnl in #431
- Feature/media inhibitor cross fading by @Mindgamesnl in #430
- Minor client changes
Full Changelog: 6.10.2-pre1...6.10.2-pre2
6.10.2-pre1
- bump version
- added region API components
- the packet middleware API now works on servers running under a proxy or vistas
6.10.1
6.10.1
- Fix compatibility using paper 1.20.5+
- Bump NBT API version
- improved concurrency control during connection state setup
- improved client messaging when an unknown baseurl is used on a server which does not have a custom client whitelisted
- the
options.token-auto-login
setting now gets respected on servers running through vistas - added stopFor API methods
- the SourceHolder interface now supplies an exposed setter method
- worldguard regions with negative priorities are now supported
removeStaticPeer
andaddStaticPeer
now respect theClientPeerAddEvent
andClientPeerRemovedEvent
events- Fixed a few bugs where channels would still have members who have since disconnected or switched servers
- Added a whole new API to interact with channels
- Added a configuration option to define a max radius for speakers
6.10.1-pre1
6.10.1 - Pre-release 1
- Fix compatibility using paper 1.20.5+
- Bump NBT API version
- improved concurrency control during connection state setup
- improved client messaging when an unknown baseurl is used on a server which does not have a custom client whitelisted
- the
options.token-auto-login
setting now gets respected on servers running through vistas - added stopFor API methods
- the SourceHolder interface now supplies an exposed setter method
- worldguard regions with negative priorities are now supported
removeStaticPeer
andaddStaticPeer
now respect theClientPeerAddEvent
andClientPeerRemovedEvent
events