FMOD Ex Audio Classes 0.6b
Sponsored Links
FMOD Ex Audio Classes 0.6b Ranking & Summary
File size:
1.3 MB
Platform:
Mac OS X
License:
Freeware
Price:
Downloads:
845
Date added:
2007-07-04
Publisher:
Chaotic Box
FMOD Ex Audio Classes 0.6b description
FMOD is a cross platform audio library that supports a wide range of audio formats and playback options, including a physically correct 3D audio engine. The FMOD Ex Audio Classes leverage FMOD to create a simple but powerful audio interface for REALbasic. Note however, that these classes do not expose all of FMOD Exs functionality, nor are they wrappers to access the FMOD Ex API directly.
First, a little background... The FMOD Ex API supports multiple concurrent "system" objects which may map to multiple audio devices installed on the same machine. Consequentially, all audio samples, channels, and effects are owned by a single system object and can not be shared. If a system object is destroyed, all sounds, channels, groups, and effects created under that system become invalidated and accessing them will generate errors (or worse).
To simplify this situation within the REALbasic environment, these classes do not allow for more than one system object to be active at any given time. Under normal circumstances this should not cause any grief - you call FMEx.StartUp when your application is launched, load your audio samples, create player objects, etc., then call FMEx.ShutDown when your application quits and all will be fine. If you have a need to restart FMOD Ex however, all existing FMExAudio, FMExStream, and FMExSubMixer instances will point to invalid audio handles. There is error checking in place to avoid crashes if this situation should arise, but it can still be annoying. In order to properly restart FMOD Ex you should follow the steps below...
Call the Stop method on all existing FMExAudioPlayer and FMExAudioPlayer3D instances. You do not have to dispose of these objects, but calling Stop ensures the internal channel reference is reset.
Dispose of all FMExAudio, FMExStream, and FMExSubMixer instances (i.e. set them to Nil). Be sure to also dispose of any FMExAudio instances that have been assigned to FMExAudioPlayer.DefaultAudio properties.
Call FMEx.ShutDown, followed by FMEx.StartUp, then reload/recreate all required FMExAudio, FMExStream, and FMExSubMixer objects and re-route any submixers.
ByRef methods are provided to allow you to reuse existing FMExAudio, FMExStream, and FMExSubMixer instances by replacing the required data/handles. This can be much easier than recreating them from scratch.
These classes couldve been simplified further by automatically reference counting audio objects and starting/stopping FMOD Ex behind your back, but that would preclude the ability to restart the audio engine at any time, and greatly impair the start up options interface.
- Virtual Channels
One of FMOD Exs most touted features is automatic channel virtualization. This allows you to play sounds on more channels than are physically available and let FMOD Ex decide which are more important based on priority settings and 3D positioning. One caveat with virtualization is that you must call FMEx.Update as frequently as possible for this to actually work (e.g. in games youd typically call FMEx.Update every frame). NOTE: If youre already calling FMEx.Update for 3D audio you do not need to call it twice.
- MIDI
MIDI playback currently only works on Windows, and only if the default system sound font is installed (/windows/system32/drivers/gm.dls). Broader MIDI support is on the would-like list but primary tests point to a broken implementation on Mac OS X (i.e. some FMOD Ex bugs need to be fixed before this can work).
- Other bugs...
Stereo sounds routed to submixers may "pollute" the wave data of other submixers. Everything else works as expected however and the audio output is correct, but submixers may return incorrect values when calling their Level methods. This appears to be a bug within FMOD Ex itself but more testing is required.
First, a little background... The FMOD Ex API supports multiple concurrent "system" objects which may map to multiple audio devices installed on the same machine. Consequentially, all audio samples, channels, and effects are owned by a single system object and can not be shared. If a system object is destroyed, all sounds, channels, groups, and effects created under that system become invalidated and accessing them will generate errors (or worse).
To simplify this situation within the REALbasic environment, these classes do not allow for more than one system object to be active at any given time. Under normal circumstances this should not cause any grief - you call FMEx.StartUp when your application is launched, load your audio samples, create player objects, etc., then call FMEx.ShutDown when your application quits and all will be fine. If you have a need to restart FMOD Ex however, all existing FMExAudio, FMExStream, and FMExSubMixer instances will point to invalid audio handles. There is error checking in place to avoid crashes if this situation should arise, but it can still be annoying. In order to properly restart FMOD Ex you should follow the steps below...
Call the Stop method on all existing FMExAudioPlayer and FMExAudioPlayer3D instances. You do not have to dispose of these objects, but calling Stop ensures the internal channel reference is reset.
Dispose of all FMExAudio, FMExStream, and FMExSubMixer instances (i.e. set them to Nil). Be sure to also dispose of any FMExAudio instances that have been assigned to FMExAudioPlayer.DefaultAudio properties.
Call FMEx.ShutDown, followed by FMEx.StartUp, then reload/recreate all required FMExAudio, FMExStream, and FMExSubMixer objects and re-route any submixers.
ByRef methods are provided to allow you to reuse existing FMExAudio, FMExStream, and FMExSubMixer instances by replacing the required data/handles. This can be much easier than recreating them from scratch.
These classes couldve been simplified further by automatically reference counting audio objects and starting/stopping FMOD Ex behind your back, but that would preclude the ability to restart the audio engine at any time, and greatly impair the start up options interface.
- Virtual Channels
One of FMOD Exs most touted features is automatic channel virtualization. This allows you to play sounds on more channels than are physically available and let FMOD Ex decide which are more important based on priority settings and 3D positioning. One caveat with virtualization is that you must call FMEx.Update as frequently as possible for this to actually work (e.g. in games youd typically call FMEx.Update every frame). NOTE: If youre already calling FMEx.Update for 3D audio you do not need to call it twice.
- MIDI
MIDI playback currently only works on Windows, and only if the default system sound font is installed (/windows/system32/drivers/gm.dls). Broader MIDI support is on the would-like list but primary tests point to a broken implementation on Mac OS X (i.e. some FMOD Ex bugs need to be fixed before this can work).
- Other bugs...
Stereo sounds routed to submixers may "pollute" the wave data of other submixers. Everything else works as expected however and the audio output is correct, but submixers may return incorrect values when calling their Level methods. This appears to be a bug within FMOD Ex itself but more testing is required.
FMOD Ex Audio Classes 0.6b Screenshot
FMOD Ex Audio Classes 0.6b Keywords
FMOD
FMOD Ex
FMOD Ex Audio Classes
FMExAudio
FMExSubMixer
FMExStream
wide range
Cross platform
audio library
Audio formats
audio
ex
classes
system
instances
objects
Bookmark FMOD Ex Audio Classes 0.6b
FMOD Ex Audio Classes 0.6b Copyright
WareSeeker periodically updates pricing and software information of FMOD Ex Audio Classes 0.6b full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of FMOD Ex Audio Classes 0.6b Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
Version History
Related Software
BasaOne Classes enable you to speed up development with BasaOne by reusing already developed objects Free Download
Display Overlord Classes is such a professional and useful tool that adds methods and classes to gather video device capabilities and capture displays, providing full screen environments suitable for games, multimedia presentations, or kiosk applications. Free Download
The FMOD Wrappers project contains classes and modules that implement a subset of FMODs functionality Free Download
Ex Cues - sound playback solution for theatre and other live performance Free Download
Highly portable, cross-platform multimedia player for various audio and video formats. Free Download
TexFinderX - search and replace text inside entire folders Free Download
iController - iTunes controller for the menu bar Free Download
Free and cross-platform IP TV player Tano Player is a free and open-source IP TV player that combines Qt and Phonon libraries for simple usage Free Download
Latest Software
Popular Software
Favourite Software