Readme.txt 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. ==============================================================
  2. Audio Toolkit v6.5 - (c) 2012 by ClockStone Software GmbH
  3. ==============================================================
  4. Summary:
  5. --------
  6. Audio Toolkit provides an easy-to-use and performance optimized framework
  7. to play and manage music and sound effects in Unity.
  8. Features include:
  9. - ease of use: play audio files with a simple static function call, creation
  10. of required AudioSource objects is handled automatically
  11. - conveniently define audio assets in categories
  12. - play audios from within the inspector
  13. - set properties such as the volume for the entire category
  14. - change the volume of all playing audio objects within a category at any time
  15. - define alternative audio clips that get played with a specified
  16. probability or order
  17. - advanced audio pick modes such as "RandomNotSameTwice", "TwoSimultaneously", etc.
  18. - audio sequence modes such as
  19. + random looping
  20. + intro-loop
  21. + intro-loop-outro
  22. - uses audio object pools for optimized performance particuliarly on mobile devices
  23. - set audio playing parameters conveniently, such as:
  24. + random pitch & volume
  25. + minimum time difference between play calls
  26. + delay
  27. + looping
  28. - fade out / in
  29. - special functions for music including cross-fading
  30. - music track playlist management with shuffle, loop, etc.
  31. - delegate event call if audio was completely played
  32. - audio event log
  33. - audio overview window
  34. Package Folders:
  35. ----------------
  36. - AudioToolkit: The C# script files of the Audio Toolkit
  37. - Shared Auxiliary Code: additional general purpose script files
  38. required by the Audio Toolkit. These files might also be used
  39. by other toolkits made by ClockStone available in the Unity Asset
  40. Store.
  41. - Reference Documentation file (Windows CHM format)
  42. - Demo: A scene demonstrating the use of the toolkit
  43. Quick Guide:
  44. ------------
  45. We recommend to watch the video tutorial on http://unity.clockstone.com
  46. Usage:
  47. - create a unique GameObject named "AudioController" with the
  48. AudioController script component added.
  49. - Create an prefab named "AudioObject" containing the following components: Unity's AudioSource,
  50. the AudioObject script, and the PoolableObject script (if pooling is wanted).
  51. Then set your custom AudioSource parameters in this prefab. Next, specify this prefab
  52. as the "Audio Object Prefab" in the AudioController.
  53. - create your audio categories in the AudioController using the Inspector, e.g. "Music", "SFX", etc.
  54. - for each audio to be played by a script create an 'audio item' with a unique name.
  55. - specify any number of audio sub-items (= the AudioClip plus parameters in CLIP mode)
  56. within an audio item.
  57. - to play an audio item call the static function
  58. AudioController.Play( "MyUniqueAudioItemName" )
  59. - Use AudioController.PlayMusic( "MusicAudioItemName" ) to play music. This function
  60. assures that only one music file is played at a time and handles cross fading automatically
  61. according to the configuration in the AudioController instance
  62. For an up-to-date, detailed documentation please visit: http://unity.clockstone.com
  63. Usage with Java Script:
  64. -----------------------
  65. If you want to access the AudioToolkit from Java Scripts please move alle none-editor AudioToolkit script files
  66. to a subfolder of either the Assets/Plugins or the Assets/Standard Assets directory. The "AudioController/Editor"
  67. subdirectory must not be moved to Plugins/Standard Assets directory.
  68. See http://docs.unity3d.com/Documentation/ScriptReference/index.Script_compilation_28Advanced29.html for
  69. more infos about script compilation order.
  70. Please note that Java script does not support default parameter values like C# (since Unity 3.1). There are
  71. overloads for the most common methods, but for all other cases you have to specify all parameters in Java Script.
  72. e.g.:
  73. AudioController.Play( "MySFX", 0.5 ); // Play with volume=0.5, delay=0, startTime =0, possible only in C#
  74. AudioController.Play( "MySFX", 0.5, 0, 0 ); // in Java Script you have to specify all default paramters
  75. Poolable Audio Objects:
  76. -----------------------
  77. When audio object pooling is enabled you must be aware of the following:
  78. - If audio object are attached to a parent object e.g. by calling AudioController.Play( audioID, parentTransform )
  79. then the parent object must be destroyed using ObjectPoolController.Destroy(), otherwise the
  80. audio object will not be moved back to the pool correctly
  81. - if you save an AudioObject reference and access it later in time, use PoolableReference to make sure the reference
  82. is not in the pool and still belongs to the original AudioObject
  83. Example:
  84. var soundFX = new PoolableReference( AudioController.Play( "someSFX" ) );
  85. // some other part of the code executed later when the sound may have stopped playing
  86. // and was moved back to the pool
  87. AudioObject audioObject = soundFX.Get();
  88. if( audioObject.Get() != null )
  89. {
  90. // it is safe to access audioObject here
  91. audioObject.Stop();
  92. }
  93. Gapless Audio Chaining (Seqences):
  94. ----------------------------------
  95. Please note that gapless audio seuqences require Unity v4.1 or newer.
  96. Building for Flash:
  97. -------------------
  98. Unfortunately Unity has stopped supporting Flash, ultimately we can not support Flash builds
  99. anymore for Unity v4. So exporting to Flash only works in Unity v3.5.7.
  100. Also the following features are not available when building for Flash:
  101. - (random) pitch changes
  102. Changelog:
  103. ----------
  104. v2.2: initial release on asset store
  105. v2.3:
  106. - playlist with cross fading
  107. - new function PlayPreviousMusicOnPlaylist()
  108. v2.4:
  109. - implementation without default method parameters for MonoDevelop .NET 3.5 compatibility
  110. v2.5:
  111. - several inspector view bugfixes
  112. v2.6
  113. - new feature: AudioObjectPrefab can be set for each category
  114. - new feature: OverrideClipLength
  115. - new feature: "Add all items to playlist" - button
  116. - inspector view bugfix: changed data not saves correctly
  117. v3.0
  118. - maximum instance count
  119. - audio log
  120. - audio overview
  121. - new subitem pick modes: random-not-same-twice, sequence, all, two
  122. - subitem modes: CLIP (play audio clip) or ITEM (play audio item)
  123. - reworked GUI design
  124. - play audio assets from within the Unity inspector
  125. v3.1
  126. - refined GUI design
  127. - new subitem feature: Random Start Position
  128. - new subitem feature: Start / End Position
  129. - bugfix: audio log refreshed correctly
  130. v3.2
  131. - bugfix: inspector null reference errors on audio controllers without categories or items
  132. - playlist can still be resumed after StopMusic()
  133. v3.3
  134. - new subitem feature: Random Delay, Fade-in, Fade-out
  135. - pooling system: bugfix for poolable object parented to other poolable object
  136. - bugfix: probability not working with 'RandomNotSameTwice'-mode
  137. - inspector: keyboard input focus released when changing items
  138. v3.4
  139. - Flash support
  140. - new AudioController option: Persist Scene Load
  141. - new AudioController functions: GetPlayingAudioObjectsInCategory, PauseAll, UnpauseAll,
  142. PauseCategory, UnpauseCategory, IsValidAudioID
  143. - add new categories and audio items per script functions:
  144. NewCategory, RemoveCategory, AddToCategory
  145. - high precision system time used instead of Unity's game time ( e.g. for fading)
  146. - Object Pooling System: poolable objects parented to poolable objects now correctly handled
  147. - bugfix: music correctly handled when changing scene with none-persistent AudioController
  148. v3.5
  149. - AudioObject.Stop() fades out audio with sub item "Fade-Out" parameter
  150. - bugfix: FadeIn start volume
  151. v3.6
  152. - bugfix: inspector changes saved correctly
  153. - no error if pooling is disabled and AudioObject does not have the PoolableObject component
  154. v4.0
  155. - Unity 4 compatibility
  156. - new function AudioController.RemoveAudioItem
  157. v5.0
  158. - AudioSource override parameters (min/max distance)
  159. - pooling system bugfixes and improvements (new messages)
  160. - new parameter: AudioObject.Stop( float fadeOutLength, float startToFadeTime )
  161. - new loop modes: Loop Sequence, Loop Sequence Gapless
  162. - sub / parent categories
  163. - music fade-in/out can be specified separately
  164. - Unity inspector undo working
  165. v5.1
  166. - bugfixes for Flash build
  167. - bugfix: volume change of parent category
  168. - audio item is rename changes playlist accordingly
  169. v5.2
  170. - bugfix: "Loop Sequence" working correctly
  171. v5.3
  172. - AudioController automatically preloads poolable AudioObject prefabs if preloading is specified
  173. in the poolable AudioObject prefab
  174. - AudioController.Stop function uses by default the fadeout as specified int the subitem
  175. - two Stop() calls with fadeout now combine the fade-out
  176. - bugfix: incorrect parent category displayed in inspector
  177. v6.0
  178. - bugfix: Stopping sequence loop audio
  179. - new AudioObject functions: FadeOut, volumeItem
  180. - volume changes of audio items / subitems in inspector take effect
  181. - new feature: move audio item to a different category
  182. - additional AudioController objects
  183. - Pause/Unpause with fade-in/out
  184. - Support for new Unity v4.1 features: PlayScheduled
  185. - Loop sequence: gapless stitching, or overlap with fade
  186. - tooltips in Unity Inspector for AudioController
  187. - bugfixes when pausing / unpausing a fading audio
  188. - AudioObject: performance improvements
  189. - object pooling: performance improvements, pooled objects grouped in hierarchy
  190. - MaxInstance count check: audio objects are destroyed immediatly if exceeded by more than one
  191. - bugfix: UnpauseAll / UnpauseCategory
  192. - item overview window: search audio item
  193. v6.1
  194. - added function versions without default paramters for Java script support
  195. - new functions: AudioController.DetachAllAudios(), AudioObject.PlayNow()
  196. - new Loop Mode: PlaySequenceAndLoopLast
  197. - bugfix: when using additional AudioController the correct AudioObejctPrefab and PlayWithZeroVolume values are taken
  198. - bugfix: when displaying Audio Item Overview of prefab
  199. v6.2
  200. - support for Win8 app and Windows Phone8
  201. - added new property AudioObject.pan
  202. - bugfix in pooling system: dummy parent objects recreated when loading scene
  203. - bugfix when using gapless looping and 3D audio files (incorrect 3D parameters)
  204. - bugfix: paused audios change volume correctly if global or category volume gets changed
  205. v6.3
  206. - fixed a bug when playing a sequence with subitem Play mode "Other Audio Item"
  207. - fixed a bug when unpausing an audio that is still fading out
  208. - inspector: sort audio items and categories in alphabetical order
  209. v6.4
  210. - bugfix: "Argument out of range" with zero elements in playlist
  211. - bugfix: music is not faded-in anymore if crossfade is enabled but no music is playing
  212. - new option: equal-power cross-fading
  213. v6.5
  214. - new feature: intro-loop-outro sequence mode
  215. - new AudioObject method: FinishSequence()
  216. - new feature: unload audio if audio controller is destroyed
  217. - new AudioController function: GetAudioItemMaxDistance()