2020.11.10.578 - New audio input selection, Audio XY "oscilloscope", many fixes
New audio input device select screen! It should be much easier and faster to use and will also be incorporated into the upcoming initial Neos setup for new users.
It's also designed in a modular way too, so you can now create your own facets and UI for switching audio devices (e.g. having a quick switch between two commonly used on your dash), I've even thrown in a component to easily map audio device by its name to make it easier.
Also added new procedural AudioSourceXYMesh, which graphs the stereo channels on XY axes, allowing the sounds and signals to be visualized as interesting patterns (see #🎥devlog for example).
I'm also slowly working on preliminary work towards ReflectionProbes, a first tiny step made it into this build, having Projection360 support cubemaps. No way to import/create them yet, more to come.
Also a bunch of bugfixes as usual!
[previewyoutube][/previewyoutube]
[h2]New Features:[/h2]
- Added AudioInputDeviceSelection, which provides new UI for selecting the default input audio device
-- This shows list of all audio devices at the same time
-- It also shows the device monitoring data - volume bar and realtime waveform
-- Additionally you can quickly test the input, by having it play the audio back to you
-- This replaces the audio selection in Settings
- Added ButtonAudioDeviceSet component, which sets the default audio device based on index or name
-- Using value of -1 will revert to system default
-- This component only works in Userspace
- Added LocalAudioDeviceStream which is an audio source that directly passes audio data from an audio device, without syncing the audio data to other users
- Added AudioDeviceInfo (under Audio/Utility) which provides information about audio device
-- Currently provides DeviceName, if it's Neos default, if it's system default and the device type
-- Providing -1 as DeviceIndex will make it show properties of the current Neos default
-- This component only works in Userspace
- Added AudioDeviceIndexFinder (Audio/Utility), which will find the device index of audio device by name
-- Name match can be case insensitive (on by default) and allow partial matching of substring (on by default)
- Added Cubemap support to Projection360 material
- Added AudioSourceXYMesh procedural mesh (it's a RectMesh) which graphs stereo audio signal as XY graph (based on request by @Hodufan)
-- When cubemap texture is assigned, it takes precedence over the 2D equirectangular texture
-- Field of view and angle offset are not supported when cubemap is in use
-- Tint texture is not supported when cubemap is in use
-- Creating cubemaps in-game isn't supported yet
- Added nodes for getting and setting the OrderOffset of slots (implemented by @Coffee | Programmer)
[h2]Tweaks:[/h2]
- Improved biped rig heuristics to filter out twist bones when there are other better bone candidates (based on report and sample models provided by @Turk)
[h2]Bugfixes:[/h2]
- Fixed audio updates not running on overlay worlds (e.g. Userspace), causing certain behaviors to break or misbehave
- Fixed volume sliders in Settings being affected by the whisper sphere activation
- Fixed audio group volume filters not updating properly every frame
-- This fixes whisper spheres not immediately lowering volume of Sound Effects, Multimedia and UI sounds (previously reported by Iforgotwhosorry ;_;)
- Fixed "Bake Mesh" button on procedural meshes in the inspector not working (reported by @Aesc)
- Fixed DefaultUserScale throwing exceptions when changed and currently inactive (found in a logs from @Toni Kat, @3x1t_5tyl3, @Cyro and reported by @Shifty | Quality Control Lead)
- Fixed permission validations scheduled on disposed worlds throwing exceptions (found in a log from @Toni Kat)
- Fixed "Separate parts of mesh unaffected by blendshapes" breaking the SimpleAwayIndicator by not adding the user reference assigner (reported by @runtime)
- Fixed model import breaking when searching for external textures, when certain paths cannot be enumerated or when the search path is invalid

It's also designed in a modular way too, so you can now create your own facets and UI for switching audio devices (e.g. having a quick switch between two commonly used on your dash), I've even thrown in a component to easily map audio device by its name to make it easier.
Also added new procedural AudioSourceXYMesh, which graphs the stereo channels on XY axes, allowing the sounds and signals to be visualized as interesting patterns (see #🎥devlog for example).
I'm also slowly working on preliminary work towards ReflectionProbes, a first tiny step made it into this build, having Projection360 support cubemaps. No way to import/create them yet, more to come.
Also a bunch of bugfixes as usual!
[previewyoutube][/previewyoutube]
[h2]New Features:[/h2]
- Added AudioInputDeviceSelection, which provides new UI for selecting the default input audio device
-- This shows list of all audio devices at the same time
-- It also shows the device monitoring data - volume bar and realtime waveform
-- Additionally you can quickly test the input, by having it play the audio back to you
-- This replaces the audio selection in Settings
- Added ButtonAudioDeviceSet component, which sets the default audio device based on index or name
-- Using value of -1 will revert to system default
-- This component only works in Userspace
- Added LocalAudioDeviceStream which is an audio source that directly passes audio data from an audio device, without syncing the audio data to other users
- Added AudioDeviceInfo (under Audio/Utility) which provides information about audio device
-- Currently provides DeviceName, if it's Neos default, if it's system default and the device type
-- Providing -1 as DeviceIndex will make it show properties of the current Neos default
-- This component only works in Userspace
- Added AudioDeviceIndexFinder (Audio/Utility), which will find the device index of audio device by name
-- Name match can be case insensitive (on by default) and allow partial matching of substring (on by default)
- Added Cubemap support to Projection360 material
- Added AudioSourceXYMesh procedural mesh (it's a RectMesh) which graphs stereo audio signal as XY graph (based on request by @Hodufan)
-- When cubemap texture is assigned, it takes precedence over the 2D equirectangular texture
-- Field of view and angle offset are not supported when cubemap is in use
-- Tint texture is not supported when cubemap is in use
-- Creating cubemaps in-game isn't supported yet
- Added nodes for getting and setting the OrderOffset of slots (implemented by @Coffee | Programmer)
[h2]Tweaks:[/h2]
- Improved biped rig heuristics to filter out twist bones when there are other better bone candidates (based on report and sample models provided by @Turk)
[h2]Bugfixes:[/h2]
- Fixed audio updates not running on overlay worlds (e.g. Userspace), causing certain behaviors to break or misbehave
- Fixed volume sliders in Settings being affected by the whisper sphere activation
- Fixed audio group volume filters not updating properly every frame
-- This fixes whisper spheres not immediately lowering volume of Sound Effects, Multimedia and UI sounds (previously reported by Iforgotwhosorry ;_;)
- Fixed "Bake Mesh" button on procedural meshes in the inspector not working (reported by @Aesc)
- Fixed DefaultUserScale throwing exceptions when changed and currently inactive (found in a logs from @Toni Kat, @3x1t_5tyl3, @Cyro and reported by @Shifty | Quality Control Lead)
- Fixed permission validations scheduled on disposed worlds throwing exceptions (found in a log from @Toni Kat)
- Fixed "Separate parts of mesh unaffected by blendshapes" breaking the SimpleAwayIndicator by not adding the user reference assigner (reported by @runtime)
- Fixed model import breaking when searching for external textures, when certain paths cannot be enumerated or when the search path is invalid


