•Redid Inspectors so they don't modify objects unless they are changed. •Redid the 2D Toolkit package. If you're using this, you will need to install the newest package from Master Audio to get it to compile again. •Redid the Daikon Forge package. If you're using this, you will need to install the newest package from Master Audio to get it to compile again. •Note: you will need to install the latest Core GameKit plugin as well if you use that to get it to compile again.
•Fixed the Playlist Controller's Song Changed event. It was being assigned a bit too early which led to the wrong song returned on ActiveAudioSource if you called that immediately. •Update V 22.214.171.124 broke the refresh on the Master Audio Inspector when "Fast Refresh" option turned off. Now fixed again. •Added Playmaker custom action MasterAudioStopTransformSound, for stopping all or one Sound Group worth of sounds triggered by a particular transform.
Added localization features for Resource file SFX. In the Master Audio prefab's Languages section (up top), you set the default language, supported languages and optionally Specific Language. Master Audio will append the name of the "user current language" folder in front of the Resource File Name. If the user has a language that isn't supported, the your selected Default Language folder will be used (i.e. "English"). You should create a folder for each of the chosen Supported Languages (i.e. English / German / French) and place identically named sound files in each folder for sounds that use localization. Master Audio will detect if you drag in a resource file that comes from a folder starting with a language name (English / German / etc) and will check the "use Localized folders" checkbox for you. Read section 18 in the Readme for full details, it's 2 pages long.
Added "Resize all siblings" checkbox to Button Clicker script. Now it can shrink or expand the button you're clicking and all the other related GUI elements at the same level (button text, other button graphics, etc).
Created custom Inspector for the Daikon Forge version of Button Clicker as well and added Resize all siblings to that. Please re-import that MA_DFGUI to get the changes.
Changed follow Variation CoRoutine to update position every frame instead of every 0.1 seconds. It will now sound much better with fast moving objects.
Fixed bug where first Sound Group's loop checkbox would get turned off by the pre-warming code.
Fixed bug where pre-warming code would break if the first Sound Group contains a localized audio clip.
Make sure to re-set your Language Mode under Languages if you're using it. The variable was changed and you will lose that setting.
Added 3rd Language Mode "Dynamically Set", which lets you set the language with code: "MasterAudio.DynamicLanguage = SystemLanguage.German" for example. The limitation is that this code must be called in a previous Scene that doesn't share the same Master Audio prefab (like a main menu) as Master Audio needs to keep track of a map of AudioSources per resource during the Awake event to correctly unload Resource files.
Added "IsFading" property to Playlist Controller. It will return true if it's crossfading or doing another fade. You can check this before doing any volume-setting (including fading) code so you don't interfere with a current fade.
Added PersistentAudioSettings class. This allows you to set Master Mixer Volume and Master Playlist Volume and have all Master Audio prefabs in all Scenes use those settings on startup. This is good for the standard "set SFX / music volumes" options screen. It also sets the current Scene's master volumes, if there's a Master Audio prefab in the Scene. Check the new section "Persistent Settings" in the Readme for usage. It's quite short.
Added Sound Group volume settings to PersistentAudioSettings class.
Added Bus volume settings to PersistentAudioSettings class.
Got rid of warning when temp playlist is deleted while being played. Now it stops the playlist and deletes it if this occurs.
Added Caller Despawned Mode setting to Sound Groups. The options are: None (default and old behavior), Stop and Fade Out. This allows you to control what happens to a Variation that is still playing when the object that "made the sound" is destroyed or despawned. Previously it would continue to play until the clip was over (or forever if looped).
Fixed localization bug where you could only switch languages once.
Fixed Playlist Controller bug where there was a race condition starting the playlist via API and letting it initialize itself in the Start event.
Added Behavior Designer demo version (includes full conversion of all Master Audio Playmaker custom actions!) as an optional package in the 3rd party folder.
Added ability to remove last song in any Playlist. There's now an "Add Empty Song" button above that to get it back without dragging a song in.
New Playlists no longer get created with an empty first song. Zero songs instead.
Added ability to remove last Playlist in Master Audio prefab.
Changed a bunch of green notes in Inspectors to the red error bar and yellow attention bar when better suited.
Added a section in the Sound Group's Inspector to copy various settings from one Variation to all others to save time (custom fade, random delay, random pitch, random volume, etc);
Added a section in the Dynamic Sound Group's Inspector to copy various settings from one Variation to all others to save time (custom fade, random delay, random pitch, random volume, etc);
Fixed bug: playing the same song as is already playing will stop it playing after shortly after loading if it's a resource. Now we ignore requests to play the currently playing songs and log a warning so you know it happened.
Fixed bug: Clip Age Prioritization was not checking whether you turned it on or not, assumed on always.
Added new script SoundGroupVariationUpdater to all Variations (disabled for now). When I'm done with it, it will be activated when you need follow code or other CPU-intensive code, but will be disabled any other time. This should allow me to get rid of most or all of the CoRoutines.
Note: For the above bullet, to upgrade your Master Audio prefabs, you will need to open the Master Audio Manager window and click "Upgrade MA Prefab" for each Scene with a MA prefab. It will fix the Variations. If you forget, the Console will tell you this info.
Moved following and priority updating code into SoundGroupVariationUpdater script, eliminating one CoRoutine.
Moved DetectedSoundEnd code into SoundGroupVariationUpdater script, eliminating another CoRoutine. Allocations now down to 60 bytes per sound play!
Added ClearQueue method to PlaylistController.
In play mode, each bus now has a stop button which stops all actively playing audio that's going through that bus.
Added pre-warming code to each in-Scene Audio Clip to prevent lags when using them for the first time.
Added pre-warming code to EventSounds which works if you have any object that start in the Scene with that component, to prevent lags when using them for the first time.
Refactored SoundGroupVariation to reuse its object to take Allocation from 60 bytes down to an insanely low 16 bytes per sound play!
Exciting update! We've downloaded beta Unity 5.0 and got Master Audio totally working under the new rebuilt audio engine! So there will be zero downtime when 5.0 comes out, and it's still backward compatible. We will need to change the Master Audio Clip Manager a little since import settings have changed and hopefully add some no-coding mixer automation
Refactored Event Sounds and Event Calc Sounds script to use zero bytes allocation in 97% of cases (Start & Mouse Drag events need it).
Moved fading functions of SoundGroupVariation into SoundGroupVariationUpdater script, eliminating all 3 remaining CoRoutines there.
Fixed allocations in Master Audio main loop, down from 20 bytes to 0.
Added ability for Sound Groups to trigger other Sound Groups that you specify, in a new "Linked Group Mode" section in the Sound Group's Inspector. Now you can set it up so that whenever the Group "Explosion" is played, Master Audio will also trigger "DeathScream" Group and any number of others you specify. To prevent an endless loop, none of DeathScream's Triggered Groups will be called when it's played as a side effect of another Group. There's an option to play the Linked Groups when the Group is requested or when it's actually Played (not failed to play).
Added automatic asynchronous (non-blocking) load of Resource files for SFX and Playlists! Requires Unity 4.5.3 and Pro license. Otherwise it defaults back to non-async.
Fixed bug where the next song would be requested multiple times when cross-fading is enabled, resulting in multiple error messages if a Resource filename was entered incorrectly.
Fixed bug where Equalize Song Volumes button would assign zero or infinite volume to songs when one of the songs could not be scanned (compressed and streaming files can't be scanned).
Equalize Song Volumes button previously skipped Resource file songs. Now they work the same as Audio Clips.
Calling "Change Playlist" requests will now be denied if you try to change to the same Playlist that's already loaded in a Playlist Controller.
Added advanced setting "Always Load Resources Async" in Master Audio's Inspector. Defaults to true. Only appears if you have Unity 4.5.3+ pro license. If unchecked, you will see a "Load Resources Async" checkbox in every Sound Group and Playlist that has a Resource file. This lets you choose between Async and traditional thread-blocking Resource loading.
Added 3 collapsible categorized sections in Advanced Settings since it was getting a little long.
Deleted unused clip in Example Scenes that was causing a warning when imported.
Removed a Playlist restriction. Now it will no longer ignore a request for the currently playing song and say it's invalid. This now works whether it's a Resource file or not. This also means you can put the same song into a Playlist twice or more in a row.
You can now crossfade into the same song as well.
Vastly improved Resource file tracking for Playlists. The lack of this before was causing intermittent bugs.
Post by DarkTonic Dev on Sept 15, 2014 3:20:21 GMT
V 126.96.36.199 changelog:
Added a "Fire!" button during runtime in the Custom Events section for each event so you can fire it at any time.
Fixed bug: Caller Despawned Mode didn't work when the caller became inactive and not destroyed.
Fixed missing null check in ducking code due to recent bug fix.
Fixed bug where pausing a playlist would actually cause the song to advance to the next in some situations.
Added StartPlaylist method to PlaylistController, MasterAudio and EventSounds, which can be used to either change the playlist or restart it (it will figure out which one it needs to do).
Modified Behavior Designer task for StartPlaylistByName (and the Playmaker one too) to use the StartPlaylist method instead of ChangePlaylist so it works in every case.
Fixed bug where Unity 3.5.7 didn't compile with a recent change.
Changed UI, eliminated confusing icons and replaced with words (Add, Expand, Collapse).
Added 3 more Custom Event receive modes: never, within distance, beyond distance. Always is the old "existing" option and the default. This means you can make it so only receivers within a certain distance will actually receive.
FireCustomEvent method now takes an extra parameter of Vector3 (originPoint). You will need to provide this to compile again if you're calling the method.
Modified Behavior Designer "FireCustomEvent" task. Please re-import the BD package to get latest and compile again if you're using BD.
Modified Playmaker Custom Event "FireCustomEvent". Please re-import the PM package to get latest and compile again if you're using PM.