Post by DarkTonic Dev on Sept 16, 2014 0:47:35 GMT
Attention users: I will be traveling for the next 7 days. I will probably have zero internet access, so I will respond to any email / forum questions after that. Sorry it this keeps anyone waiting on answers. If Eric (DT) can answer any questions, he will. Please update to the latest version before reporting bugs to make sure they aren't fixed there.
Fixed bug where SoundGroupVariationUpdater would in some situations have a Null Reference error.
Fixed bug where TriggerPlaylistClip will play the same song twice in a row with auto-advance on before changing to the next song if that song is not looped.
Fixed bug where deleting a Playlist that's a starting playlist for any Playlist Controller will cause a startup error saying the Playlist can't be found.
Fixed bug where fading in a Sound Group right after playing a silent sound wouldn't play the sound audibly.
Moved the following methods in MasterAudioManager into MasterAudio class, and marked as public static, in case you want to do these from script for some reason: CreateMasterAudio, CreatePlaylistController & CreateDynamicSoundGroupCreator.
Added "Refill Sound Group Pool" to the Group Command dropdown on Event Sounds. This refills the random pool or sets a top-to-bottom Group back to top.
Added "Error on Duplicate Items" checkbox to Dynamic Sound Group Creator Inspector. Defaults to checked. If you turn it off, no errors will be logged for Groups, Playlists, Custom Events and Buses that already exist. They still won't be created. This is useful if you have more than one of the same Dynamic Sound Group Creator but don't want to see all the errors when you already created the items with the first one that spawned.
Added "Always Highest Priority" checkbox to Sound Group Inspector. This is only visible and working when you have Distance Priority turned on in the MA prefab. Checking it makes the priority of that Sound Group always highest priority (not calculated based on distance or clip age).
Eliminated warnings about mouse events for iOS and Android export.
Added songName parameter to ChangePlaylistPitch method, so you can change just one song's pitch if you like.
FadeOutEarly method of Variation no longer stops the audio automatically when the fade out is complete.
Added a set of checkboxes in a new Fading Settings section in Advanced Settings in the Master Audio prefab. There's a checkbox for each type: Variations, Groups, Buses and Playlists. Checking the box for that type means that audio in that type will be stopped if you have a fade that reaches zero volume (excluding automatic cross-fading of playlists). For example if you do a Fade on a Sound Group to zero volume, when complete, the Variations on that Sound Group will not be stopped unless you check this box. They will continue to play silently instead.
Removed option "Fast GUI Refresh" since it's not needed anymore after some changes we made recently to make the refresh more consistent.
Bug fixed: Chain Loop mode wasn't working at all, only played one sound and stopped.
Bug fixed: Top-to-bottom should play in the same order they show in Hierarchy (not auto-alphabetize).
Bug fixed: Load Resources Async controls weren't showing up for Unity 4.5.4.
Bug fixed: Calling MasterAudio.StartPlaylist with a single parameter caused a StackOverflow error.
Added Global Settings section in Master Audio Manager window. Its only option is "Display dB For Volumes". By default that setting is off. If you turn it on, all volume sliders in Master Audio will be displayed as decibels instead of between 0 and 1.
Removed AudioUpdater.cs from the plugin. It's no longer needed since 3.5.5.
Fixed bug where Distance Priority caused console errors for Groups with Variations of weight > 1.
Fixed intermittent bug on GetVariationLength.
Fixed bug where playing more than 1 of the same Variation by name wouldn't actually play 2, but only 1.
Fixed bug where Playlist songs wouldn't load on Unity 4.5.4
Fixed bug: Removed alpha-sorting of Variations on Group Inspector. Now they appear in the same order as Hierarchy.
Changed dB setting to use PlayerPrefs instead of EditorPrefs because you couldn't make a build with EditorPrefs unfortunately.
Added arrow and buttons to expand / collapse Variations in the Group's Inspector. This lets you preview / view all Variations without having to scroll up & down.
Added "Clone Variation" icon button in Sound Group's Inspector to quickly create multiple copies of a Variation with all settings cloned, including adding a number to the end of the name of the clone.
Added checkboxes to each Variation in Sound Group's Inspector when Copy Settings is expanded so you can choose which target Variations to copy to, instead of copying to all. Checked rows turn blue and the source Variation row has a yellow "SOURCE" label so you know why there isn't a checkbox.
Added buttons for Check All and Uncheck All in Sound Group's Inspector Copy Settings section.
Changed the default Sound Spawn Mode of EventSounds to Attach To Caller instead of Caller Location. This shouldn't change any already existing EventSounds components, only new ones.
Added a section in Playlist Controller's Inspector for you to specify an optional Custom Event to fire whenever a Song Changes or Ends. This allows you to set up a custom event receiver to play a "stinger" sound when the music changes or anything else you want to do, without writing any code.
Added a checkbox in Advanced Settings of Master Audio to Log Custom Events. This will log to the console whenever a Custom Event is fired. This can help you figure out what script is firing the custom event if you don't know.
Post by DarkTonic Dev on Oct 14, 2014 22:23:23 GMT
V 220.127.116.11 Changelog:
Added gapless song transitions for Unity 4+ users. You enable it from the Advanced Settings of the MA prefab. It is off by default because it generally will not be needed for users who use crossfading. If you turn it on, with Resource files, audio memory usage will be more as most amount of the time there will be 2 Resource files in memory simultaneously. Known issue: If you change (jump via code) the position of the current song into the cross-fading portion at the end, the next song will arrive after the cross fade is complete. This should be ok since usually you will not use crossfading and gapless at the same time.
Added Random Start Position (min/max) option & controls to each Variation. This lets you randomly start playing the audio clip at a random position at X% of its length if enabled.
Added MasterAudioSoundUpgrader, a window that helps you prepare a project that has existing audio for switching over to Master Audio. It has buttons to find all existing Audio Sources in a Scene and then delete them so there won't be any audio not controller by Master Audio. It should be used in each Scene. You can also use it even after configuring Master Audio in your Scene, to find any forgotten Audio Sources not controlled by Master Audio. It will safely ignore the ones that are controlled by Master Audio.
Added a Hierarchy icon for Playlist Controllers. It's 2 blue eighth notes.
Added Group Templates feature. We have started with 18 in the MasterAudio/Sources/Prefabs/GroupTemplates folder. You can create more of your own (please send them to me for consideration if so). Bulk Creation Mode is disabled when using Group Templates because Group Templates take a single audio file and create 1 or more Variations of it based on the template). Some of the Group Template are: Random Volume Extreme, Single Variation 5 Voices, Pitch Rising Chromatic, Dialog With 1 Second Fade, 25 Percent Chance Play, etc. Be extra careful that you don't put any Audio Clips or filter FX into the templates themselves as they will take up audio memory even if you haven't created any Groups with the templates! We check that both of those aren't in the template up front, but if you add them to the template prefab later, we cannot catch that.
Playing a Variation with no audio assigned now doesn't take any voices up. This is good to use for a type of "% chance to play" on a Dialog Sound Group, so a silent clip won't shut off the currently playing non-silent one.
Fixed bogus Jukebox warning when starting the same Playlist again with the Play button.
Fixed Inspector bug for Dynamic SGC where after the 1st Variation in a Group, the rest were greyed out and disabled.
Fixed bug: Variation's priority (AudioSource component) wouldn't be reset back to normal on each play.
Fixed bug: Null reference error when you only have a single Looped Chain Sound Group and press play.
Fixed bug: First Sound Group shows on LED meter on mixer after 1 second sometimes.
Fixed bug: Dialog and Chained Loop groups didn't show on LED meter on mixer.
Fixed bug: The sound played silently during warming (silent) should not log anything to Console regardless of MA logging settings selected.
Fixed bug: The variation played for warming (silent) shouldn't be removed from the randomizer so you can play it for real before waiting for the randomizer to refill.
Fixed bug: The variation played for warmup (silent) should not trigger any linked Groups.
Fixed bug: Retrigger Limit Mode on Event Sounds was shown for each action when it is not a per-action setting. It's per event (group of actions).
Fixed bug where after adjusting a bus volume, AdjustVolume (on the Variation) would pretend bus volume was at full.
Fixed bug where Master Audio Inspector would break on newest Unity.
Fixed some things in UI to make it less confusing. Since "Loop Clip" in each Variation isn't used (loop not allowed) for Chained Loop Groups, there's no checkbox there, but a message instead explaining why it isn't
With Synchronized Playlists, the Loop Clip setting is also not shown because every song must loop. A message explaining is there instead.
Added Sort Alpha, Expand / Collapse All buttons to Custom Events section.
Changed function of Expand and Collapse buttons above list of Playlists. Now it only collapses or expands the Playlist itself, not the songs in it.
Added Sort Alpha, Expand / Collapse All button for songs in each Playlist.
Added Song Started and Song Changed custom event dropdowns to each song in each Playlist. Now you can configure stingers per song. Song Changed does not work with gapless transitions, the UI says this clearly.
Added missing (normal) "Default Single" Sound Group Template and selected it as the default.
Added Sound Group Organizer prefab (create one from the Master Audio Manager window). This is like a "Super" Master Audio prefab that you should only ever keep in a Sandbox Scene (not ever played) because of audio memory usage considerations. You can use it to import Sound Groups to and from Master Audio and Dynamic Sound Group Creator game objects in the current Scene. This allows you to keep a master list of all Sound Groups and quickly copy them to Scenes you need them in. You can also use it to transfer Groups from MA to Dynamic SGC objects and vice versa. To use it, you will need to make your own prefab (drag into Project View) out of the one created from the Master Audio Manager window. To import Groups, you have to put it in the Scene you're importing from (Unity limitation). Then you can apply changes to the prefab and remove it from the Scene. Bus settings are not copied into Organizer.
Added settings icon for MA and Organizer prefab into Master Audio Manager window to quickly go to them.
Fixed bug: The previewer Audio Sources that appear for DGSC, MA and Organizer prefabs are now pulled from the template Audio Source so volumes are the same. Problem was with custom rolloff not being script accessible. Now we "copy / paste component" via script.
Fixed problem (not really bug, we had to go around Unity API limitation): Audio Source copying between DSGC / MA / Sound Group Organizer didn't copy custom rolloff curve.
Made bus voice "Dialog Mode" setting now work for any voice limit, not just 1 voice. The checkbox on the bus has been renamed to "Stop Oldest", and it now stops the oldest playing sound when you play a new one and the bus voice limit has been reached. Now much more flexible!
Note: please re-set your "Dialog Mode" checkbox on any buses. The change above will not keep any settings you had for this. The checkbox is now called "Stop Oldest".
Removed accidental log statement in ResourceOptimizer.
Fixed bug where turning on Clip Age Priority would cause Null Exception error to be logged in Console if playing a sound in "Caller Location".
Fixed bug where the PlaylistVolume property of Playlist Controller didn't update the volume of the currently playing clip.
Fixed almost invisible Delete icon for Event Sounds listening to Custom Events.
Added Footstep Sounds script, which is a much simpler and focused version of EventSounds. You select trigger or collision event (once only), then tell it what Sound Groups to play to which layer / tags.
Added button "Alpha Sort Custom Event Triggers" to Event Sounds in the top section. It will make all Custom Event Triggers sorted A-Z by Custom Event name.
Added ability to save all changes made during runtime! New checkbox in Advanced Settings section defaults to off: "Save Runtime Changes". Saves all changes to Master Audio prefab (mixer too), Groups, and Playlist Controllers.
Added "Expand / Collapse Group Creation" button in the mixer section, to give you more screen real estate at time you don't need that part.
Added "Bulk Group Changes" checkbox above the mixer. Turning this on puts a checkbox at the left of each Group in the mixer. There are select / deselect all buttons next to that. You can select X Groups in the mixer, then mute / solo / adjust volume or change bus in bulk for the selected Groups only.
Heads up to you guys: Loading Resources asynchronously is apparently getting yanked from the Unity 5 API and will not compile. So you will have the ability to load async with Unity 4.5 - 4.6 and then lose it. Don't worry about the compiling part because it's already that way in the latest MA and it compiles fine on Unity 5.
Crappy move by Unity. They said it wasn't supposed to be a public method and was poorly planned. And that we're supposed to use Asset Bundles instead of Resource files in the future. I have no idea how that makes any sense because I thought Asset Bundles are for external files and Resources are internal. Perhaps that's changing. I'll let you know when I know more.
Fixed bug of stack overflow caused by SoundFinishedEvent that calls stop on the same Variation that's playing, directly or indirectly.
Fixed bug: The 2 Audio Sources on Playlist Controller didn't have the same custom rolloff. Note that this will only fix Playlist Controllers you haven't created yet. To fix already created ones, delete them and recreate from Master Audio Manager window.
Fixed bug: calling MasterAudio.SetBusVolumeByName sometimes had out of index error.
Fixed bug: Dynamic Sound Group Creator would log an error if you call RemoveItems more than once.
Fixed bug: One clone of the first Variation in the first Group didn't had its pitch reverted to 1.
Added button for "wide mode" between the mixer and buses. Makes the faders 3 times as wide for fine tuning levels.
Attention: Users of the DF-GUI Master Audio package will need to install the new version of the package to compile again.
Added MasterAudio.UnsubscribeFromAllVariations method to unsubscribe from all SoundFinished events in every single Variations in the entire MA Hierarchy.
Added Custom Event import/export ability to the Organizer.
Added new option to Dynamic SGC to choose whether the items get created on 2nd+ Enables or not (defaults to not). Turning this on means you can repeatedly disable and enable DSGC's to add and remove audio items from Master Audio.
Added new method: MasterAudio.MasterAudio.GetAllPlayingVariations(). Returns a list of all SoundGroupVariations that are still playing.
Now the yellow voice count numbers next to each mixer row and bus are buttons that can be clicked on to select all X of the Variations that make up that voice count.
Chained Loop Groups can now cross-fade! Just set up each Variation with Custom Fading. Any Variation with Custom Fade Out time will trigger the next clip in the chain when the fade out starts instead of when the clip ends.
Added Retrigger Limit controls to Footstep Sounds script. Applies to all tag / layer triggers at once.
Added an optional "fire 'Items Created' Custom Event" section in Dynamic Sound Group Creators, so you can be notified that the sounds are created and ready.
Removed Master Audio Clip Manager from Master Audio for Unity 5+. Certain parts of the Audio Importer API has been closed off by Unity so this code won't work anymore. It's fine though because Unity 5 has the ability to bulk change Audio Clip import settings (which is exactly what Clip Manager did).
V 18.104.22.168 includes FULL Unity 5 integration! Changelog:
(Unity 5 feature only) Added a field to specify a Unity Mixer Group for each Master Audio Bus. All Variations in all Sound Groups assigned to that Bus will be routed to the Unity Mixer Group when the Scene starts. If you change the bus the Sound Group is assigned to or change the Unity Mixer Group the Bus is assigned to at runtime, it will switch over instantly to the new Unity Mixer Group. It is recommended that you now name your buses identically to the Unity Mixer Groups to avoid confusion.
(Unity 5 feature only) Added a field to specify a Unity Mixer Group for each Playlist Controller. If you change the Mixer Group assignment during runtime, it will instantly switch over to that Group.
(Unity 5 feature only) Added "Music Spatial Blend Rule" dropdown to the Playlist Controller section in the Master Audio prefab. Choices are: Force All To 2D (default), Force All To 3D, For All To Custom, and Allow Different Per Controller. If you choose the last one, there will be a similar dropdown on each Playlist Controller with the first 3 choices. Changing these at runtime instantly switches the Spatial Blend of both Audio Sources on the Controller(s).
(Unity 5 feature only) Added "Group Spatial Blend Rule" dropdown to the mixer section in the Master Audio prefab. Choices are the same as the Playlist Controller dropdown. Works the same. If you choose the last option, you can choose the Spatial Blend for the Group on the Group's settings.
(Unity 5 feature only) Added ability for EventSounds to do "Transition to Snapshot" in the Unity Audio Mixer.
(Unity 5 feature only) Added ability for EventSounds to do "Transition to Snapshot Blend" in the Unity Audio Mixer.
(Unity 5 only) - Using the pitch field on a Unity Mixer Group to a value less than 100%: It doesn't change the pitch of the Audio Source(s) feeding it, so as soon as the Audio Clip is done playing (and stops), the slowed down one in the mixer will stop even if it's in the middle of the clip.
DF-GUI users will need to re-install the latest Master Audio DF-GUI package to get the Unity 5 features in the DF-GUI version of Event Sounds.
Fixed bug: Creating a Dynamic Sound Group assigned to a muted bus didn't mute the Group.