2021.8.13.612 - Shuffle world browser option, MultiAudioClipPlayer and more
Hello everyone, I got another extra build for you today with some more goodies! There's now a Shuffle option for browsing worlds, which lets you discover worlds old and new with ease! :smile: It re-shuffles every hour or so.
Also related to previous component, there's another one for playing audio clips in perfect sync (it should be down to a precise sample if the clips share same samplerate and playback rate), this version trades off varying the speed dynamically for having the playback position synced across all users in the session, which should cover a whole bunch of other use-cases.
There's some smaller goodies too, like PingPong movement for Panner (also exposed as its own function in LogiX), computing Greatest Common Divisors and Least Common Multiples, OnEquipFail and OnDequipFail impulses, visually impaired badges showing in the session menu and bunch more!
[h2]New Features:[/h2]
- Added new "Shuffle" world category which lists published worlds sorted in a random order (requested by PointerOffset, @GearBell, @Shadow Panther [RU/EN, UTC+3], Yugioh-web, GH #2566, prioritized based on GitHub votes)
-- Note that the random order is same across everyone and only changes roughtly every hour
- Added MultiAudioClip player, which allows playing multiple audio clips together in perfect sync
-- This has a shared playback, which is synced across players - this will ensure that the position of all the clips is synced across all players in the session (this makes it useful for speed or dynamic ambinace/music where all players having same audio cues matter)
-- You can vary the volume of each clip dynamically. Clips with 0 volume are internally skipped to avoid taking performance
-- You can also set RelativeSpeed of the clip (relative to the playback speed), but this cannot vary dynamically, as changing this will change the position within the clip
-- If the playback is not looped, the length will be the length of the longest clip
-- If the playbak is looped, the length will be the approximate least common multiple of all lengths (with random lengths this can end up really long)
-- It's strongly recommended to use clips with the same encoding, lengths (or multiples of same length) and sample rate
- Added PingPong to Panner components (requested by @Toxic_Cookie | NTC CEO, GH #1915, prioritized based on GitHub votes)
-- Instead of the value wrapping around when reaching the repeat, it will reverse direction
- Added PingPong LogiX node (under Math)
- Added Least Common Multiple and Greatest Common Divisor nodes (under Math) (previously requested by @pek)
- Tooltip Equip/Dequip nodes now have OnEquipFail and OnDequipFail impulses respectively (requested by @GalexY and @3x1t_5tyl3, implemented by @ProbablePrime | Docs, GH #1164)
[h2]Tweaks:[/h2]
- CreditsStatus now has HasAnyBalance bool field, which indicates whether the user has any balance of given token
- Token Facet preset now doesn't display CDFT when given user doesn't have any balance (suggested by @Karel | CEO)
- Implicitly allowed API endpoint is now narrowed just to "mentor.neos.com" to prevent potential abuse (based on suggest by @runtime)
- Permission user minimum and maximum scale is now respected by the DefaultUserScale and SetUserScale (based on report by @AshtonSparx, GH #2758)
- Visually Impaired badge now shows up in the session menu (reported by @Mysticporo, implemented by @ProbablePrime | Docs, GH #2782)
- Neos Pro now automatically uses separate data folder, to avoid clashes with the regular Steam version (based on request from @Karel | CEO on behalf of others)
- Merged Korean locale additions by @MirPASEC
- Merged Japanese locale additions and tweaks by @Aesc/あすく
- Merged Russian locale additions and tweaks by @Shadow Panther [RU/EN, UTC+3]
[h2]Bugfixes:[/h2]
- Fixed exporting objects through inspector reference exporting the export dialog, instead of the referenced object (reported by @Enverex, GH #2780)
- Spawn areas now respect the Enabled state (reported by @Turk, GH #2785)
- Fixed headless sessions not inheriting the UniverseID properly (based on report by @Karel | CEO and @VRxist)
- Fixed UniverseID of world being persistent
- Fixed virtual shift triggering for other users in world-space virtual keyboards (based on report by @Earthmark)
-- Note there are more planned changes and fixes coming, but need certain things resolved around them first

Also related to previous component, there's another one for playing audio clips in perfect sync (it should be down to a precise sample if the clips share same samplerate and playback rate), this version trades off varying the speed dynamically for having the playback position synced across all users in the session, which should cover a whole bunch of other use-cases.
There's some smaller goodies too, like PingPong movement for Panner (also exposed as its own function in LogiX), computing Greatest Common Divisors and Least Common Multiples, OnEquipFail and OnDequipFail impulses, visually impaired badges showing in the session menu and bunch more!
[h2]New Features:[/h2]
- Added new "Shuffle" world category which lists published worlds sorted in a random order (requested by PointerOffset, @GearBell, @Shadow Panther [RU/EN, UTC+3], Yugioh-web, GH #2566, prioritized based on GitHub votes)
-- Note that the random order is same across everyone and only changes roughtly every hour
- Added MultiAudioClip player, which allows playing multiple audio clips together in perfect sync
-- This has a shared playback, which is synced across players - this will ensure that the position of all the clips is synced across all players in the session (this makes it useful for speed or dynamic ambinace/music where all players having same audio cues matter)
-- You can vary the volume of each clip dynamically. Clips with 0 volume are internally skipped to avoid taking performance
-- You can also set RelativeSpeed of the clip (relative to the playback speed), but this cannot vary dynamically, as changing this will change the position within the clip
-- If the playback is not looped, the length will be the length of the longest clip
-- If the playbak is looped, the length will be the approximate least common multiple of all lengths (with random lengths this can end up really long)
-- It's strongly recommended to use clips with the same encoding, lengths (or multiples of same length) and sample rate
- Added PingPong to Panner components (requested by @Toxic_Cookie | NTC CEO, GH #1915, prioritized based on GitHub votes)
-- Instead of the value wrapping around when reaching the repeat, it will reverse direction
- Added PingPong LogiX node (under Math)
- Added Least Common Multiple and Greatest Common Divisor nodes (under Math) (previously requested by @pek)
- Tooltip Equip/Dequip nodes now have OnEquipFail and OnDequipFail impulses respectively (requested by @GalexY and @3x1t_5tyl3, implemented by @ProbablePrime | Docs, GH #1164)
[h2]Tweaks:[/h2]
- CreditsStatus now has HasAnyBalance bool field, which indicates whether the user has any balance of given token
- Token Facet preset now doesn't display CDFT when given user doesn't have any balance (suggested by @Karel | CEO)
- Implicitly allowed API endpoint is now narrowed just to "mentor.neos.com" to prevent potential abuse (based on suggest by @runtime)
- Permission user minimum and maximum scale is now respected by the DefaultUserScale and SetUserScale (based on report by @AshtonSparx, GH #2758)
- Visually Impaired badge now shows up in the session menu (reported by @Mysticporo, implemented by @ProbablePrime | Docs, GH #2782)
- Neos Pro now automatically uses separate data folder, to avoid clashes with the regular Steam version (based on request from @Karel | CEO on behalf of others)
- Merged Korean locale additions by @MirPASEC
- Merged Japanese locale additions and tweaks by @Aesc/あすく
- Merged Russian locale additions and tweaks by @Shadow Panther [RU/EN, UTC+3]
[h2]Bugfixes:[/h2]
- Fixed exporting objects through inspector reference exporting the export dialog, instead of the referenced object (reported by @Enverex, GH #2780)
- Spawn areas now respect the Enabled state (reported by @Turk, GH #2785)
- Fixed headless sessions not inheriting the UniverseID properly (based on report by @Karel | CEO and @VRxist)
- Fixed UniverseID of world being persistent
- Fixed virtual shift triggering for other users in world-space virtual keyboards (based on report by @Earthmark)
-- Note there are more planned changes and fixes coming, but need certain things resolved around them first


