Jump to content


Photo

Fmod Sound System Engine


  • Please log in to reply
1026 replies to this topic

#1 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 15 October 2007 - 12:45 PM

GMFMODSimple v4.28.09cb (Last Update Nov 4 2013 (no version change, Added Studio Project)
Using:
FMOD Sound System, copyright © Firelight Technologies Pty, Ltd., 1994-2010.
FMOD Ex API version: v4.28.09

Licensing:
Detailed Licensing Information Here


Problems
P: It dont Work Right!!! Sounds weird, skips, lags, no 3d, no effects...
A: You forget to call FMODUpdate() each end step. 80% of the posts here are about this.

P: Some functions dont work. Pause, change volume, set position, mute
A: Many functions are instance based and you passed a sound to them. When you SoundPlay a sound, remember to store the instance, remember to use the instance when the function name indicates it. 20% of the posts here are about this.

P: Game won't compile In Studio
A: You have to use the provided gmz as a base; import in studio and save as gmx from there you can add the scripts to your existing project easily with the add existing scrips option and add the dlls in your include files.
A2: You have your output set to an output that does not support dll, like YYC, Java, Win8 or Steam Workshop. http://gmc.yoyogames...33705&p=4546770

GM81. problems, see here
http://gmc.yoyogames...dpost&p=3771535

Download
SkyDrive

User Build Support
GM::Studio Extension THIS GEX NO LONGER WORKS IN STUDIO. USE THE SUPPLIED GMZ

Includes:
Gmfmodesimpledemo.gm6 merge file
Fmodex.dll
Gmfmodsimple.dll
Gmfmodsimple dll source code
Sound encryption program
Sounds, music and encrypted examples
Gmfmodsimpledemo.exe (vista compatible) demo

GM Functions Replacement
GMFnWrapper.gml in the Zip
For people who don't want to translate all their sound_play/add/delete calls to FMOD equivalent in their code. This function set replaces GM's functions. They call FMOD functions so little is needed to do but drop the SampleSoundController in the boot room and call the init function. You still need to convert your GMK sounds to files (See comments in the init function)
Detailed explanation here...

Latest News:
Added Studio Project
UPDATE 4.28.09cb
UPDATE 4.28.09 + GM8 Patch
UPDATE 4.28.0
UPDATE 4.26.0
midi tag for karaoke
UPDATE 1.9.9
FMOD 4.22.01
Latest FMOD version update
Demo Updated
Parameterized effects
Microphone
Pitch Detection in MicObj and MicDraw in demo
Fast Spectrum/Wave Data Fetch using ds list
3d FPS Setup

Products and examples using FMODSimple.dll
Visual Music For Web Streaming (Does not use current FMOD), Has source.


PLEASE READ the Known Problems and Questions script in the scripts folder before posting any problems


Feature Overview:


See my top ten best used features here
Also Link To FMOD Feature List

  • Supports all popular file types (excluding DRM type files like mp4)
  • This system allows playing the same sound at different settings and coordinates
  • This system supports Doppler effect and frequency changes ('bullet speed' sound)
  • This system supports 2d distance relative sounds (directional emulation optional)
  • This system supports 3d relative sounds
  • This system allows playing sound at x,y,z coordinates in the room
  • This system allows for hundreds of sounds 'active' in the room
  • This system supports sound blocking to block or fade sounds behind walls (in a 3d sound setup)
  • This system allows you to load sounds from file into your game
  • This system allows encryption of sound files to protect your assets
  • This system allows controlling volume for sounds, instances, and groups; The following 4 groups are available
  • priority (most important group), effects, ambient music and ambient effects
  • Mute, pause your sounds or sound groups
  • Get sound data form paying sound or sound groups such as wave and spectrum
  • Suitable for top down and platform games (on default) and 3d fps games though it requires work from your part to rotate the players 'ears'
  • This system replaces the GM native sound system though it should not interfere with it (on most cards)
  • This system plays sounds better than GM's native sound system
  • This system allows playing files over the web (and possibly webcasts... not tested)
  • This system should provide speaker support all the way to 5.1 and possibly higher sound setup (If you have a 5.1 surround setup, please inform me if it does not work right)
  • Complete control of where/how the sounds play in the 3d world or over the skeakers.
  • Fast playing for ogg, mp3 and other compressed sound when streamed, less memory usage.
  • Fast no delay rewind of looped sounds. (Requires Loop Points for files other than wav)
  • Change the volume or even mute MIDI/MOD/S3M/XM/IT instrument tracks one track at a time.
  • Tweak each sound effect for the playing instance or the group.
You will find an equivalent similar FMOD function for most of GM's sound functions though some functions are 'sound' relative while others are sound 'instance' relative

How To:

Make This Work in GM Studio
Equalizer example
Get The Spectrum and Wave Data
Properly Looping Compressed Songs (mp3/ogg)
Fixing Left to right cross over transition in top down setup
How to play music backwards
How to encrypt sounds
How to Add Parameterized Effects in your game
How to extract tags from a sound
How to display karaoke lyrics
Resolve odd happening, like sound freaking out or crashes
Error defining an external function
Support Game Saving/Loading
Speaker Vibrate
Convert Values the dB
Play music off the web
Try loading in a new tab or new window if it's reloading this page when you click

Playing sounds is as easy are 1 2 3
  • Init System
  • Load sound (once)
  • Play sound - and let included controller object handle the rest
Playing 3d sounds is almost as easy
  • Init system
  • Load sound (once)
  • set range (once)
  • play sound (looped) at x,y,(z) (many times, many places)
  • place listener(s) at x,y,(z)- and let incuded controller object handle the rest
How to use, Detailed Setup:
  • Download the GMFMODSimpleDemo.zip
  • Unzip in on your PC
  • Copy the 2 DLLs to your game project folder
  • Use the Merge Feature and Merge with GMFMODSimpleDemo.gm6
  • Make a BOOT Room, A room that will never be accessed again
  • Set the BOOT Room as you start up room
  • Drop a FMODSampleControllerObj in that room
  • Use the sample controller game start to load your sounds and other event to control global music
  • Use the room code button an type room_goto_next(). The BOOT room ensures everything is loaded before you attempt to play a sound, Useful if you play sound in the create event of some objects.
  • The next room should be your own game/menu room
  • Tip, keep everything until your game is complete. Then you can delete all the Demo Folders in the resource list.
  • Tip, use the sample objects included in the Sample folder, I've included most commonly used objects.
Simplified, this is how the system works:

//////////////////////
//Simple setup
//On Game Start
LoadFMOD();
FMODinit(100);
//using a password
//FMODSetPassword("password");

//To load sounds
//game background music
global.bkMusic = FMODSoundAdd("bkmusic.mid");
FMODSoundSetGroup(global.bkMusic,3);
//To set the volume to 80%
FMODSoundSetMaxVolume(global.bkMusic,.8);

//To load a special effect
global.gunshot = FMODSoundAdd("gunshot.wav");
FMODSoundSetGroup(global.gunshot,2);
//On Room Start
FMODSoundLoop(global.bkMusic);
//On Sound Controller end Step
FMODUpdate();
//On Player Fire Gun
FMODSoundPlay(global.gunshot);
//On room end
FMODAllStop();
//On Game End
//to free the sounds
FMODSoundFree(global.bkMusic);
FMODSoundFree(global.gunshot);
//to free the system
FMODfree();
UnloadFMOD();
//Simple setup end
////////////////////////
Must read
HowToUse Script for common examples in the merge file
Known Problems and Questions Script in the merge file



Complete API (Does not seem that simple anymore, but you don't need to know most of these)


Game Start/End
  • LoadFMOD -Load dll, define API
  • UnloadFMOD -Unload DLL
  • FMODinit -Init Sound system and defines how many sounds can play at the same time and if web streaming is used
  • FMODfree -Free the system
EndStep
  • FMODUpdate -Update the system every end step, a MUST
Adding Sounds Resources
  • FMODSoundAdd -Add a sound resource
  • FMODSoundFree -Free a sound resource
  • FMODSoundSetGroup -Set the play group
  • FMODSoundSetMaxVolume -Set the max volume
  • FMODSoundGetMaxVolume - Get
  • FMODSoundGetMaxDist -Get the max 3d audible distance
  • FMODSoundSetEffects -Add sound effect (like GM)
  • FMODSoundAddEffect Add other sound effects
  • FMODSoundSet3dMinMaxDistance -Set the audible 3d distances
  • FMODSoundSet3dDopplerMax -Set the doppler amplification
  • FMODSoundSet3dCone -set the playing cone
  • FMODSoundGetNumChannels -Get if sound is mono, stereo, or other
  • FMODSoundGetLength -Get the length in millisecs
  • FMODSoundSetLoopCount -Sets the loop count
  • FMODSoundGetLoopCount - Get
  • FMODSoundSetLoopPoints -Set where the sound starts and ends a loop
  • FMODSoundGetMusicNumChannels -Get the number of midi tracks
  • *1*FMODSoundGetMusicChannelVolume -Get the midi track volume
  • *1*FMODSoundSetMusicChannelVolume -Set the midi track volume
*1* These APIs will allow you to change the volume or even mute MIDI/MOD/S3M/XM/IT instrument tracks one track at a time. All playing instance will be affected, this can be done while a sound is playing



Playing Sounds
  • FMODSoundPlay -Play a sound (Like GM)
  • FMODSoundLoop -Loop a sound (Like GM)
  • FMODSoundPlay3d -Play a 3d sound
  • FMODSoundLoop3d -Loop a 3d sound
Sound Instances
  • FMODInstanceStop -Stops a playing sound instance
  • FMODInstanceGetSound -Get the sound resource ID from the instance
  • FMODInstanceIsPlaying -Is playing (like GM)
  • FMODInstanceSetVolume -Set the instance volume
  • FMODInstanceGetVolume - Get
  • FMODInstanceSetFrequency -Set the frequency (bullet time)
  • FMODInstanceGetFrequency - Get
  • FMODInstanceSetMuted -Set Mute
  • FMODInstanceGetMuted - Get
  • FMODInstanceSetPaused -Set Pause
  • FMODInstanceGetPaused - Get
  • FMODInstanceSetPosition -Set playing position
  • FMODInstanceGetPosition - Get
  • FMODInstanceSetPan -Pan left right
  • FMODInstanceGetPan - Get
  • FMODInstanceSetLoopCount -Like sound version but only for this instance
  • FMODInstanceGetLoopCount - get
  • FMODInstanceSet3dConeOrientation -Like sound version but for this instance
  • FMODInstanceSet3dPosition -Set 3d position in the 3d world
  • FMODInstanceFadeVolume -Fade volume to a value
  • FMODInstanceFadeFrequency -Fade frequency to a value
  • FMODInstanceFadePan -Pan towards a value
  • FMODInstanceSet3dMinMaxDistance -Like for sound but only this instance
  • FMODInstanceSet3dDopplerMax -Ditto Doppler
  • FMODInstanceSet3dCone -Ditto cone
  • FMODInstanceGetMaxDist -Ditto audibility distance
  • FMODInstanceGetWaveSnapshot -get wave data
  • FMODInstanceGetSpectrumSnapshot -ditto spectrum
  • FMODInstanceGetWaveSnapshot2 -another method
  • FMODInstanceGetSpectrumSnapshot2 -another method
  • FMODInstanceSoundGetLength -get the length of the sound of the playing instance
  • FMODInstanceSetLoopPoints -same a sound version but for this instance
  • FMODInstanceGetAudibility -Get the audibility, 0 if too far to hear
  • FMODInstanceSetSpeakerMix -Complete control over where the sound plays in a 5.1/7.1 setup
  • FMODInstanceSet3DPanLevel -Dynamically change 3d sound from position relative (stereo) to distance only
  • FMODInstanceGet3DPanLevel - Get
  • FMODInstanceSet3DSpread -Set the amount of 3d stereo effect the instance has, from intense to little
  • FMODInstanceGet3DSpread - Get
  • FMODInstanceSetPitch -Set frequency of the instance whitout needing to know what the original frequency was
  • FMODInstanceGetPitch - Get
Groups
  • FMODAllStop -Stop everything
  • FMODGroupStop -Stop all in this group
  • FMODMasterSetVolume -Set master volume
  • FMODGroupSetVolume -Set group volume
  • FMODGroupGetVolume - Get
  • FMODGroupSetPitch -Set group pitch (changes all playing sounds in the group)
  • FMODGroupGetPitch - Get
  • FMODGroupSetPaused -Pause the playing instance in groups
  • FMODGroupGetPaused - Get
  • FMODGroupSetMuted - Mute
  • FMODGroupGetMuted - get
  • FMODGroupSetFrequency -Changes the frequency of the group (use pitch instead)
  • FMODGroupSetPan -Set the group pan
  • FMODGroupFadeVolume -Fade the volume to a value
  • FMODGroupFadePitch -Ditto for pitch
  • FMODGroupFadePan -and pan
  • FMODGroupGetWaveSnapshot -Get the data, assembled from all instances playing in the group
  • FMODGroupGetSpectrumSnapshot -Ditto spectrum
  • FMODGroupGetWaveSnapshot2 -Another method
  • FMODGroupGetSpectrumSnapshot2 -Another method
Listener
  • FMODListenerSetNumber -Set the number of player on this PC
  • FMODListenerSet3dPosition -Set the players hears position
  • FMODListenerSet3dPositionEx -Complete control
  • FMODListenerHearsDistanceOnly -Distance only or add a sense of direction to the sound position
  • FMODSetDopplerFPS -Like for a moving car
  • FMODSetWorldScale -Set the units used for real time Doppler, 1 pixel = 1 meter is default
Password
  • FMODSetPassword -Set the decryption password
Use the included encryption application to encrypt your sound or included dll API




Blockers
  • FMODBlockersInit -Init the sound blocking system
  • FMODBlockersFree -Free the blocking system
  • FMODBlockerAddGMObjects -Add walls in the system from GM instances
  • FMODBlockerAdd -Add a blocker
  • FMODBlockerSet3dPosition -Move a blocker
  • FMODBlockerSet3dOrientation - Rotate
  • FMODBlockerSet3dScale - Scale
  • FMODBlockerSetEnabled - Enable, turn ON/OFF
  • FMODBlockerGetEnabled - Get
  • FMODBlockerSetStrength -Amount of sound reduction when blocking 0-none to 1 full)
  • FMODBlockerGetStrength - Get
Dynamic Effects
  • FMODInstanceAddEffect -Like Sound Effect but only for instance
  • FMODGroupAddEffect -For group
  • FMODEffectFree -Free effect
  • FMODEffectGetActive - get effect active
  • FMODEffectSetActive - set effect active
  • FMODEffectGetBypass - get effect bypass (mute)
  • FMODEffectSetBypass - set effect bypass (mute)
  • FMODEffectGetDefaultPan - get effect pan
  • FMODEffectSetDefaultPan - set effect pan
  • FMODEffectGetDefaultVol - get effect volume
  • FMODEffectSetDefaultVol - set effect volume
  • FMODEffectGetDefaultFr - get effect frequency
  • FMODEffectSetDefaultFr - set effect frequency
  • FMODEffectGetNumParams - get effect parameter count
  • FMODEffectGetParamValue - get effect param value
  • FMODEffectSetParamValue - set effect param value
  • FMODEffectGetParamMin - get min value
  • FMODEffectGetParamMax - get max value
  • FMODEffectGetParamValueStr - get the value in string format
  • FMODEffectGetParamName - get param name
  • FMODEffectGetParamLabel - get param label
  • FMODEffectGetParamDesc - get param description
  • FMODEffectGetSpeakerActive - get effect speaker active
  • FMODEffectSetSpeakerActive - set effect speaker active
  • FMODEffectReset - reset effect
Web Streams
  • FMODSoundAddAsyncStream -Connect to server to get sound
  • FMODSoundAsyncReady -Is sound ready to be instanciated, Can I SoundPlay() it
  • FMODInstanceAsyncOK -While playing, am I still getting data, server error?
  • FMODServerError -Server error
Tags
  • FMODGetTagData -Get the data of a tag, like artist name
  • FMODGetTagName -Is the tag €œARTIST€ or €œDESCRIPTION€Â, for example
  • FMODInstanceGetNextTag -check if there is a tag to read
Helpers
  • FMODNormalizeWaveData -Makes the largest data vale a 1 and adjust the rest to match
  • FMODNormalizeSpectrumData - Ditto
  • FMODSpectrumSetSnapshotType -Sets how to get the spectrum
  • FMODGetSnapshotEntry -Get a single data entry of a snapshot
  • FMODGetSpectrumBuffer -Fill a string with data
  • FMODGetWaveBuffer - Ditto
  • FMODEncryptFile -Encrypt a sound file
  • FMODUpdateTakeOverWhileLocked -Take over FMODUpdate while in the help window or file_open dialog
  • FMODUpdateTakeOverDone - Done
  • FMODSnapShotToDsList- Grab the data feteched with GetSpectrumData and tranfer it to a ds list
Microphone
  • FMODCreateSoundFromMicInput -Associate a sound to the default microphone
  • FMODMicStart-Starts the microphone and returns a instance
  • FMODMicStop -Stops the recording
Debugging
  • FMODGetNumInstances -Number of active playing sound instances
  • FMODSoundIsStreamed -Is sound streamed
  • FMODSoundIs3d -Is sound 3d
  • FMODSoundInstanciate -Generic play, only I know how it works, do not use
  • FMODErrorStr -Convert error value to string
  • FMODGetLastError -Error of last API call
FMODSimplePasswordProtect
This app will allow you to encrypt sound files, You can multi-select files to encrypt. Start the program, select the files, clicl opne. The app will ask for a password (in another file dialog, sorry, the compiler I use does not compile dialog resources under Vista). The encrypted files will be created in a sub folder in the directory where you selected the files from.


Supported File Types:
  • AIFF - (Audio Interchange File Format)
  • ASF - (Advanced Streaming format, includes support for the audio tracks in video streams)
  • ASX - (playlist format - contains links to other audio files. To access contents, the FMOD Ex tag API is used)
  • DLS - (DownLoadable Sound format for midi playback. Can also be used as a stand alone container format in FMOD)
  • FLAC - (Lossless compression codec)
  • FSB - (FMOD sample bank format generated by FSBank and FMOD designer tool)
  • IT - (Impulse tracker sequenced mod format. FMOD Ex also fully supports resonant filters in .IT files, and the per channel or per instrument echo effect send, that can be enabled in ModPlug Tracker. This is cross platform effect support and does not require DirectX like other libraries do.)
  • M3U - (playlist format - contains links to other audio files. To access contents, the FMOD Ex tag API is used)
  • MID - MIDI using operating system or custom DLS patches.
  • MOD - (Protracker / Fasttracker and others sequenced mod format)
  • MP2 - (MPEG I/II Layer 2)
  • MP3 - (MPEG I/II Layer 3, including VBR support)
  • OGG - (Ogg Vorbis format)
  • PLS - (playlist format - contains links to other audio files. To access contents, the FMOD Ex tag API is used)
  • RAW - (Raw file format support. The user can specify the number of channels, bitdepth, format etc)
  • S3M - (ScreamTracker 3 sequenced mod format)
  • VAG - (PS2 / PSP format, playable on all platforms!)
  • WAV - (Microsoft Wave files, inlcluding compressed wavs. PCM, MP3 and IMA ADPCM compressed wav files are supported across all platforms in FMOD Ex, and other compression formats are supported via windows codecs on that platform).
  • WAX - (playlist format - contains links to other audio files. To access contents, the FMOD Ex tag API is used)
  • WMA - (Windows Media Audio format)
  • XM - (FastTracker 2 sequenced format)
  • XMA - (Xbox 360 only)[/quote]
NOTE: Some formats may not be directly supported by my dll such as formats that specify a play list.

Edited by icuurd12b42, 14 April 2014 - 08:22 AM.

  • 14

#2 Mailas

Mailas

    Send in the Mail

  • GMC Member
  • 5679 posts
  • Version:GM:Studio

Posted 15 October 2007 - 02:34 PM

WHat formats does it support?
Will it support .xm and .it?
  • 0

#3 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 15 October 2007 - 02:42 PM

WHat formats does it support?
Will it support .xm and .it?

<{POST_SNAPBACK}>


Yes and yes. (Not tested). Some formats may not be directly supported by my dll though.

Edited by icuurd12b42, 15 October 2007 - 02:44 PM.

  • 0

#4 cdm319

cdm319

    C++ Programmer

  • New Member
  • 885 posts

Posted 15 October 2007 - 06:44 PM

I prefer SXMS. Sorry. But decent wrapper of simple functions.
  • 0

#5 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 15 October 2007 - 10:55 PM

I prefer SXMS. Sorry. But decent wrapper of simple functions.

<{POST_SNAPBACK}>


I like sxms too. In fact this is kinda like it's little brother. I made this when I saw sxms was a little too hard core for the laymen gm developer (as had core as FMOD itself). That's why I called mine GMFMODSimple.

I do recommend shaltif's sxms if you have to use more in dept FMOD features. Safe for the geometry I plan to add, I will not add any more (multimedia type) features like sound recording and wav form data fetching...

Mine pretty much covers everything related to playing sounds in a game and I use the new FMOD which has a much smaller footprint and less files since I use the dll that has all the codecs and dsps compiled in it.


Cheers!
  • 0

#6 Tarik

Tarik

    GMC Member

  • GMC Member
  • 2731 posts
  • Version:GM:Studio

Posted 15 October 2007 - 11:26 PM

Hi icuurd12b42,

I was going to ask what the differences are between SXMS and your Fmod Wrapper. You somewhat awnsered it already though.

The main problems I had with SXMS was that the GM functions weren't very well documented nor supplied with decent examples. Only one example was supplied and that used the SXMSSimple scripts, which only allow playing a single sound at any one time. Using the regular scripts allowed of course any ammount of sounds, but these scripts were pretty hard to use and many of em totally overkill, most GM games don't even come close to using such an ammount of features.

That said, I haven't gone through the code much yet, but if you could tell me, how well documented are most functions? And has it been fully tested and returned a bug-free DLL?

That said, great work on the DLL. I'm very happy you've gone through all the work, I've personally been looking for a fit sound DLL for a long time now. SXMS was difficult and felt undocumented to me, and also wasn't entirely bug free (hence the beta-status). No other DLL apart from it and SuperSound offered Pitch or Frequency, so I converted all my sounds to .ogg to use with SS, then found that SS has a nasty crashing bug in GM7 when changing resolution also. (Just check the last page of its topic.)

I'm hoping your DLL will finally be the end of all my effort, I've really tried out many sound DLLs and rewritten lots of code.

I was hoping we could speak realtime sometime on MSN for example. Either way, I'll look into the DLL some more and get back to you.
  • 0

#7 DJB MASTER

DJB MASTER

    GMC Member

  • GMC Member
  • 99 posts

Posted 15 October 2007 - 11:48 PM

I was thinking about downloading this because i havent experimented with many audio DLLS. I just checked on your sales page>>>

Commercial Licence>> $6000!!!!!!!!!!!!!!!!!!!!!! OMG!

1) From what i've heard there seems to be much better DLLs around than this.
2) I dont think anyone in the right mind would pay $6000 for this!

But it does seem an ok sort of DLL, and its great that you are giving it out for free with non-commercial, but the price for commercial!

Edited by DJB MASTER, 15 October 2007 - 11:49 PM.

  • 0

#8 Tarik

Tarik

    GMC Member

  • GMC Member
  • 2731 posts
  • Version:GM:Studio

Posted 15 October 2007 - 11:56 PM

The majority of the games here would likely not require the commercial license.

Most would require the free-license, as in, free, as most games aren't sold.

Many sold ones would require the 100$ license of a shareware/hobbyist game).
  • 0

#9 Midboss

Midboss

    GMC Member

  • New Member
  • 82 posts

Posted 16 October 2007 - 12:44 AM

It also isn't icuurd's license you're talking about -- all he's written is a wrapper to use the FMOD sound system with GM. So don't complain to him about it, it's not something he decided on, or something he could change.

Edited by Midboss, 16 October 2007 - 12:44 AM.

  • 0

#10 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 16 October 2007 - 01:37 AM

Hi icuurd12b42,

I was going to ask what the differences are between SXMS and your Fmod Wrapper. You somewhat awnsered it already though.

The main problems I had with SXMS was that the GM functions weren't very well documented nor supplied with decent examples. Only one example was supplied and that used the SXMSSimple scripts, which only allow playing a single sound at any one time. Using the regular scripts allowed of course any ammount of sounds, but these scripts were pretty hard to use and many of em totally overkill, most GM games don't even come close to using such an ammount of features.

That said, I haven't gone through the code much yet, but if you could tell me, how well documented are most functions? And has it been fully tested and returned a bug-free DLL?


Yeah, too complicate that other dll was and a non game related demo... That's why I wrote this...

The demo is my test bench. the second room you can test most everything/setup your game will have. I have fully tested, using mp3,wav and mids and documented all the issues found. Read all my comments in all scripts. Any quirk I found, I documented.

The only problem of importance is freeing sounds that are in used or freeing them twice wich, like any other dll, will cause GM to tell you an error occurred (or simply crash).

I have a facts in my scripts

That said, great work on the DLL. I'm very happy you've gone through all the work, I've personally been looking for a fit sound DLL for a long time now. SXMS was difficult and felt undocumented to me, and also wasn't entirely bug free (hence the beta-status). No other DLL apart from it and SuperSound offered Pitch or Frequency, so I converted all my sounds to .ogg to use with SS, then found that SS has a nasty crashing bug in GM7 when changing resolution also. (Just check the last page of its topic.)

I'm hoping your DLL will finally be the end of all my effort, I've really tried out many sound DLLs and rewritten lots of code.

I can't guaranty you won't hit any snag. But if you read my comments, you should be fine.

I was hoping we could speak realtime sometime on MSN for example. Either way, I'll look into the DLL some more and get back to you.

<{POST_SNAPBACK}>

Just pm me here or add a reply in this thread. I am better at writing detailed explanations in a PM/post than live.




I was thinking about downloading this because i havent experimented with many audio DLLS. I just checked on your sales page>>>

Commercial Licence>> $6000!!!!!!!!!!!!!!!!!!!!!! OMG!

1) From what i've heard there seems to be much better DLLs around than this.
2) I dont think anyone in the right mind would pay $6000 for this!

But it does seem an ok sort of DLL, and its great that you are giving it out for free with non-commercial, but the price for commercial!

<{POST_SNAPBACK}>


http://www.fmod.org/index.php/sales

Let me sum it up
1) For non $$$ products. FREE!! You must add the FMOD logo to your game or add this text in the credits
FMOD Sound System, copyright © Firelight Technologies Pty, Ltd., 1994-2007.

2) Shareware (100$) per game created/distributed (not per game sold) and you must do the same thing as in 1)

3) If you are a commercial entity and selling your game outright (6000$ initial licence (per platform ,PC/XBOX/WII) + 3000 for any other platform you want to support...


MP3 USE has a separate licence (Surelly not FMOD's decision either)

http://www.fmod.org/....php/sales/mp3/

In short. Multimedia/Sound Editor/WinAmp type application need a licence
Game developers (I think it refers to a commercial entity) require a 2500$ game licence but not if the product distributes less than 5000 games (not sure if it’s limited to $$Sold$$ games). Again, I think it may not apply for free product… In any case, using MP3s have always been a dangerous legal dance between you, the MP3 patent holder and the artist label (like Sony). But don’t take my words as facts. The info on the site is not all that clear. It's not my fault people don't like to share.

In the future, read the entire license before scarring people off. And I would appreciate you edit your post and clarify your misunderstanding… I don’t want people turned away by your post since it’s so early in the thread…

The majority of the games here would likely not require the commercial license.

Most would require the free-license, as in, free, as most games aren't sold.

Many sold ones would require the 100$ license of a shareware/hobbyist game).

<{POST_SNAPBACK}>


Thanks.

It also isn't icuurd's license you're talking about -- all he's written is a wrapper to use the FMOD sound system with GM.  So don't complain to him about it, it's not something he decided on, or something he could change.

<{POST_SNAPBACK}>


He panicked... How many people here are commercial entities...

Edited by icuurd12b42, 16 October 2007 - 02:03 AM.

  • 0

#11 necrotic

necrotic

    GMC Member

  • New Member
  • 238 posts

Posted 16 October 2007 - 10:56 AM

So I could either use the default GM functions.... which do basically the same thing as this.... OR I could pay 6000 dollars for a DLL with less features than the free ones!
  • 0

#12 Tarik

Tarik

    GMC Member

  • GMC Member
  • 2731 posts
  • Version:GM:Studio

Posted 16 October 2007 - 11:26 AM

Nectrotic, are you a moron, do you have a disease that makes you ignorant?
Do you have something against icuurd12b42 or FMOD, or against random people?

Cause really, you're hating for no reason, and based on the wrong arguments. As has been said before, 99% of the people on this forum do NOT pay 6.000 dollars for their game to use this DLL...

In fact, probably closer to zero percent would. 99% could use this game for free, while the other 1 percent or less would pay for the 100dollar hobbyist license, which really isn't much compared to the sales you get with a decent game.

So remember, 6000, WRONG. Free, or 100 dollar, right. If two people just explained why it's 6000 dollars, please do not go and say 'So I could do this or pay 6000 dollars.' cause it's simply not true.

That said, the GM functions don't even come close to the full potential of Fmod. I've had lots of trouble with the GM functions, playing any non-wav file is either impossible, or has to be used with the 'use multimediaplayer' option which results in a hickup for even the smallest sounds. And if you didn't know, wav files can get huge compared to .ogg or .mp3. That said, FMOD plays 15-20 media files ATLEAST more than GM. GM also hasn't got many functions such as frequency or Doppler effects. Nor can you in GM automatically mute and unmute -groups- of sounds. That said, a sound in GM is seen as a single resource, changing the volume of it changes the volume of the sound played anywhere, with FMOD you can have one sound and play it twice each with a different volume, meaning you can have gunshots with different volumes depending on how far you are from the shooter.

Trust me, GM functions do not come close to FMODs and 99% of the games on this forum could use FMOD for free.

As for other DLLs, SuperSound only loads two filetypes and has much less functions, as well as a nasty crash bug. (Still a great DLL.)
SXMS is a wrapper for FMOD as well, same costs, though undocumented and still in Beta.
There's one other DLL with frequency only the creator warns that it might freeze your computer and that it isn't entirely bug free.
No other DLL and I've tried many, as far as I know, does even have frequency changes. (Which is a great fundamental aspect of a sound with which you can do many things, including realistic car engines and bullet-time sounds on the fly and dynamically.) No DLL comes close to FMODs functions, that's why FMOD is used by many (next-gen or very populer) commercial titles like world of warcraft, BioShock and Crysis.
  • 0

#13 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 16 October 2007 - 10:16 PM

So I could either use the default GM functions.... which do basically the same thing as this.... OR I could pay 6000 dollars for a DLL with less features than the free ones!

<{POST_SNAPBACK}>


Those free ones have the same lincencing issues.

SXMS has the exact same licencing situation since it uses FMOD too.

Any "sound" dll that uses a sound layer not written from scratch has some sort of licencing issue you must resolve with the 3rd party that made the actual sound interface. NOT the guy who wrote the GM DLL wrapper. The guy who wrote the wrapper has the responsability to inform you of these things.

MP3 falls under another category, no matter what sound system you use, even GM's, you need a licence to play them (unless the engine 3rd party paid a huge fee to include their sound system users).

As for less features... Well I guess I can match every single GM functions I overlooked thanks for noticing... That Pan function can be useful.

If you want more features like recording and have extreme control over everything, then, like I suggested, Go check out sxms.


@tarik
Thanks again

Edited by icuurd12b42, 16 October 2007 - 10:19 PM.

  • 0

#14 Halowar77

Halowar77

    GFX Programmer

  • New Member
  • 300 posts
  • Version:GM8

Posted 16 October 2007 - 10:34 PM

Just to clear it up, Icuurd is not charging anything. It is not the DLL that cost the money anyway, it is the license for FMOD. Do not post things that will turn people away without fully understanding what your talking about. GO BACK AND READ THE LICENSE INFO, and then change your posts so that people don't get the wrong idea. Please, I'm not trying to be rude, but also this DLL shouldn't lose users from faulty information in a post.
  • 0

#15 freko

freko

    The Professional

  • GMC Member
  • 504 posts
  • Version:GM8

Posted 20 October 2007 - 03:02 PM

Nice DLL but one thing I observed is its way too slow in loading up media
  • 0

#16 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 21 October 2007 - 12:48 AM

Huh? What media?

The demo actualy loads 220 individual wavs when it boots... no problem.

Did you go crazy and loaded a huge mp3 unstreamed? Well...

If you can supply me with the proper information instead of just making a shot in the dark claim, I'd be happy to look into it.

I need the media file used and the settings you used to load it.



OK. I updated the demo and added PASSWORD PROTECTION and SOUND BLOCKERS.

Uses SHA1 key system for password obfuscation so it should be relatively secure.
Combined with GM's code encryption, your password in the game should be safe and I use a proprietary encoding system. Just make sure the area in your code you set the password too will not "show" if GM has an error... You know, that GM error message displaying the code where the problem is, that can be useful information to hackers.

Interface Notes:
You run the password encryptor and you select the files to encrypt in the file dialog box.
Next you enter the password. Sorry, my dev-c++ cannot compile resource files so I had to use another file dialog for the password input box.
The original files will be left intact. The encrypted files will be in a sub directory under the folder you selected your files. To use the files, you will need to use the password option of the API.

The sound blockers will allow walls to block the sounds in the game. Such as when your player is inside a house. You can move the blockers such as for a sliding door. You can set them so they only mute the sound a little such as for a window.

Edited by icuurd12b42, 29 October 2007 - 07:55 AM.

  • 0

#17 Shaltif

Shaltif

    The Audio Master

  • Retired Staff
  • 1185 posts

Posted 21 October 2007 - 04:34 AM

Just a quick possible bug note here (and sorry, I've only skimmed over the API) but are you making sure FMOD_System_Update() is being called every step? I didn't see a relative function call for this, nor did anything in the demo showcase it. If not, make sure you have it included in some way in a future update, otherwise you'll hit critical channel issues (mainly, when fmod tries to calculate when channels are in use and allocating virtual space). I learned this lesson the hard way with all types of unexplainable bugs. =P (Yes, it's even required when using Fmod for non-3D purposes)

Glad to see someone else taking a shot at the fmod api. It's a great audio middleware that only a few seem to appreciate fully.

The Sound Blockers setup seems interesting. Do I assume correct that this is using the Geometry functions? I have yet to figure out a good way to implement them without causing massive confusion for both myself and the end user (since they are generally designed for 3D environments). Since I try to wrap as close to the original API as possible, I still am having trouble getting the Geometry functions to transfer nicely over the variable conversion gap.

My only complaint (if I had to make one) with the API is how limited it appears compared to the massive API it's using as it's core. Of course, I guess you have to draw the line somewhere. =) (sound instances instead of channels, brilliant move for ease of use for GM)

Oh, and one last thing. For those who are comparing this to SXMS (or upcoming S-FmodEx) please note that these projects have different goals in mind. Mine is to wrap the API as transparent to fmod's C API as possible, while icurrd12b42 wishes to make something a little more easier for someone without a lot of background sound knowledge / experience. So obviously his API is going to be a bit limited in scope and mine is going to be complex to use.

Anyway, good luck icurrd12b42 with this creation.

EDIT: Minor note, looking over the API:

FSB - (FMOD sample bank format generated by FSBank and FMOD designer tool)

That format is technically not supported. This is because you need to use SubSounds, which I don't see present in your API. I would recommend not trying to support it unless users demand it, mainly because it will add another layer of complication when it comes to loading sounds.

Also, before your FMOD_System_Init(), are you calling FMOD_System_SetSoftwareChannels()? I've noticed FMODinit(double maxsounds) seems to be the only function where you set the max amount of audible sounds. However, this function doesn't actually do this. The Fmod Init function only allocates the total (both software + virtual) sounds. So even if you set this to 1000, you will only have 32 software channels (and 968 virtual channels). To remedy this, you should call the SetSoftwareChannels() function. (Personally, since this is going for ease of use, I would avoid having anything going into virtual channels).

Just pointing these out to make sure this API is bug free.

~Brandon
  • 0

#18 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 21 October 2007 - 07:01 AM

Just a quick possible bug note here (and sorry, I've only skimmed over the API) but are you making sure FMOD_System_Update() is being called every step?  I didn't see a relative function call for this, nor did anything in the demo showcase it.  If not, make sure you have it included in some way in a future update, otherwise you'll hit critical channel issues (mainly, when fmod tries to calculate when channels are in use and allocating virtual space).  I learned this lesson the hard way with all types of unexplainable bugs.  =P (Yes, it's even required when using Fmod for non-3D purposes)

Yes, it's wrapped into FMODUpdate3dPositions. The sample controller calls it on end step. With FMODEx, you notice the problem right away... Your 3d sounds will not move when you change their position or the listener position. And it's only required in 2d if you have 3d playing too orherwise the system craps... Though I can't tell for sure right now. My ealy tests, I had just a few sounds playing and I added the listenner and 3d on day 2 (2 weeks ago) and hundreds of sounds on day 3. But, yeah, I experienced odd things if you omit it and have many sounds playing, like sound stopping...

Glad to see someone else taking a shot at the fmod api.  It's a great audio middleware that only a few seem to appreciate fully.

Like I mentioned in some prior posts, you were the inspiration in a way... I saw the FMOD potential from your dll and api set. In order to apriciate it (FMOD), you need to dedicate time to become an expert which only a few code wiz can do... Lets face it... It's pretty hard core. Really, not a great percentile of programmer can jump in and use it from the start.

The Sound Blockers setup seems interesting.  Do I assume correct that this is using the Geometry functions?  I have yet to figure out a good way to implement them without causing massive confusion for both myself and the end user (since they are generally designed for 3D environments).  Since I try to wrap as close to the original API as possible, I still am having trouble getting the Geometry functions to transfer nicely over the variable conversion gap.

Yes, it's geomety... Simplyfied of course. A blocker instance... A simple cube is basically all you need. Wich I wrapped arround a 9 coord system to set them up instead of the conventional 24 vectors wich can drive you bananas. I actually begged on the FMOD forum for someone to at least give me the vertices for a cube compatible with fmod... Wich I then simplified... Think outside the box is my creed. Look at AddBlocker and BlockersAddGMObjects

My only complaint (if I had to make one) with the API is how limited it appears compared to the massive API it's using as it's core.  Of course, I guess you have to draw the line somewhere.  =)  (sound instances instead of channels, brilliant move for ease of use for GM)

A channel, to me, will alway be something your stereo system has... 1 channel for mono, 2 channels for stereo, 4 for quadraphonic... I'm too much of an old dog. The naming convention actually confused me for a few days. So instance was the obvious naming for it.

Believe me, the only thing missing are the various hooking features, the sound recording and data fetching to display the wave form... Such things used for intrinsic control over micro aspects of fmod such as putting it your own 3d control, dsps, codeks and and handling FSB and FMOD Designer event and the likes... You get about 95% of FMODs features easy though hard core sound developers will spend 90% of their time in the extra 5%... Because it's their job and they have the time to hyper tweak their stuff. Yes, you dont have access to any FMOD Designer api... At that level, you must be in c++.

Oh, and one last thing.  For those who are comparing this to SXMS (or upcoming S-FmodEx) please note that these projects have different goals in mind.  Mine is to wrap the API as transparent to fmod's C API as possible, while icurrd12b42 wishes to make something a little more easier for someone without a lot of background sound knowledge / experience.  So obviously his API is going to be a bit limited in scope and mine is going to be complex to use.

You got it.

Anyway, good luck icurrd12b42 with this creation.

EDIT:  Minor note, looking over the API:

FSB - (FMOD sample bank format generated by FSBank and FMOD designer tool)

That format is technically not supported.  This is because you need to use SubSounds, which I don't see present in your API.  I would recommend not trying to support it unless users demand it, mainly because it will add another layer of complication when it comes to loading sounds.

Thanks...

I know. the FSB features are quite intense and not possible to access from GM. But at that level, you are most likelly making you game in c++ and very thightly binding your game with FMOD. Personally, I find the features a little too much for INDI game dev. and you most likelly will be able to replicate the system with GM's event driven system...

Not all file formats listed are supported, especially FSB and formats with sub sounds and file that are reference lists. Not even worth my time to try if you ask me. Most people will be happy with the standard single sound files formats

Also, before your FMOD_System_Init(), are you calling FMOD_System_SetSoftwareChannels()?  I've noticed FMODinit(double maxsounds) seems to be the only function where you set the max amount of audible sounds.  However, this function doesn't actually do this.  The Fmod Init function only allocates the total (both software + virtual) sounds.  So even if you set this to 1000, you will only have 32 software channels (and 968 virtual channels).  To remedy this, you should call the SetSoftwareChannels() function.  (Personally, since this is going for ease of use, I would avoid having anything going into virtual channels).

I don't call this function. The documentation is not obvious as per the benifit of the feature so I simply used the recommended boot sequence.

Just pointing these out to make sure this API is bug free.


I'm glad you came by... I will send you the code for your review. I find the people at the fmod forum are a little too into it to provide accurate/useful information. Most to the questions in there might as well be written in greek. They sure are answered in it... No offense, just a fact. It goes with the teritory.
  • 0

#19 freko

freko

    The Professional

  • GMC Member
  • 504 posts
  • Version:GM8

Posted 21 October 2007 - 07:28 AM

Huh? What media?

The demo actualy loads 220 individual wavs when it boots... no problem.

Did you go crazy and loaded a huge mp3 unstreamed? Well...

If you can supply me with the proper information instead of just making a shot in the dark claim, I'd be happy to look into it.

I need the media file used and the settings you used to load it.

I was just testing you dll in gm6, playing a 1.75 mb mp3 file and it takes around 6 seconds to load this single file which takes less than 2 secs on SXMS & sss 3.

Anyway I hope you don't feel sad for passing negative remarks.I do like this dll of yours, BT its the speed that does matter a bit.
  • 0

#20 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 21 October 2007 - 08:29 AM

Huh? What media?

The demo actualy loads 220 individual wavs when it boots... no problem.

Did you go crazy and loaded a huge mp3 unstreamed? Well...

If you can supply me with the proper information instead of just making a shot in the dark claim, I'd be happy to look into it.

I need the media file used and the settings you used to load it.

I was just testing you dll in gm6, playing a 1.75 mb mp3 file and it takes around 6 seconds to load this single file which takes less than 2 secs on SXMS & sss 3.

Anyway I hope you don't feel sad for passing negative remarks.I do like this dll of yours, BT its the speed that does matter a bit.

<{POST_SNAPBACK}>


No harm done. I just don't like claims with no supporting fact to replicate.

Have you tried the streamed option? SXMS is FMOD too you know? So, there has to be a difference with the stream option. Thought, with the 1.1 version there is a chance it could be slower but not by 6 seconds.

My system here loads a 3mb mp3, streamed of not with no lag at all as though it was a simple 30K wav effect file.
FMODSoundPlay(FMODSoundAdd("garbage\testsound.mp3"))
and
FMODSoundPlay(FMODSoundAdd("garbage\testsound.wma"))
or (streamed)
FMODSoundPlay(FMODSoundAdd("garbage\testsound.mp3",false,true))
and
FMODSoundPlay(FMODSoundAdd("garbage\testsound.wma",false,true))
that's for 1.1 (file,3d,streamed)... 1.0, the last 2 params are reversed (file,streamed,3d)
In fact I repeatedly pressed the play key and now have 30 of them playing... All playing (almost) at the same time (save for the time it took to press the key repeatedly) making a very eary looooong echo.

So, sorry. I think you may be an exception. Report back with the streamed option.

Edited by icuurd12b42, 21 October 2007 - 08:37 AM.

  • 0

#21 freko

freko

    The Professional

  • GMC Member
  • 504 posts
  • Version:GM8

Posted 21 October 2007 - 01:26 PM

Okay, I downloaded the updated version and thats fine.PLays well with no delay.
Thanks.
  • 0

#22 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 21 October 2007 - 09:28 PM

Yes... It's the stream option... My previous test is flawed since 1.1 is always streamed (I temporarely disabled memory sounds) untill I resolve an issue with those. When I did my tests, above, they were all streamed sounds (My bad).

I re-enabled memory sounds in my version here... and yes, I get a 1 second delay for mp3. Such time is needed to load the entire 3MB file into memory. Any application loading 3MB files into memory will have a few second delay... That's normal.

No self respecting game dev would load a 3MB sound into memory hehehe. That would only cause trouble down the road.

Edited by icuurd12b42, 21 October 2007 - 09:29 PM.

  • 0

#23 Shaltif

Shaltif

    The Audio Master

  • Retired Staff
  • 1185 posts

Posted 21 October 2007 - 11:57 PM

No self respecting game dev would load a 3MB sound into memory hehehe. That would only cause trouble down the road.

<{POST_SNAPBACK}>


Especially an mp3 (or the likes: ogg, wma, etc), which is loaded into ram uncompressed (which is the main reason for the delay) so a 3MB mp3 may actually take about 30 mb of ram (depending on quality, of course). This is why you should ALWAYS use streaming for those type of formats.

~Brandon
  • 0

#24 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 29 October 2007 - 04:06 AM

UPDATE 1.2:
Fixed the multiple instancing problem for unstreamed (memory) sounds. Hopefully this version is the final version. Enjoy.
Fixed the demo to only load 1 sound used by all car instances, demonstrating the multi-instancing capability to it's fullest.

Thanks Shaltif and the FMOD designers and a few other FMOD members.

Edited by icuurd12b42, 31 October 2007 - 11:57 AM.

  • 0

#25 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 30 October 2007 - 07:59 AM

UPDATE 1.3
Added playing music over the web... this option disables the password encryption though.

//game start
LoadFMOD();
FMODinit(100,true);

//to load and play
sound = FMODSoundAdd("http://website/sound...der",false,true)
instance = FMODSoundPlay(sound);

//game end
FMODAllStop();
FMODfree();
UnloadFMOD();

It's a good idea to provide an interface to allow pausing the streamed web music to allow the file to buffer before playing
//to pause
FMODInstanceSetPaused(instance,true);
  • 0

#26 DefuzionGames

DefuzionGames

    GMC Member

  • GMC Member
  • 1433 posts
  • Version:Unknown

Posted 30 October 2007 - 11:46 AM

so to use a mp3 track within your game...you need a licence, unless you only distribute less then 5000 copies? Thats not good.
  • 0

#27 mdkcde

mdkcde

    GMC Member

  • New Member
  • 46 posts

Posted 30 October 2007 - 02:19 PM

I guess it will be the .ogg road then.
Free, and better quality than mp3.
  • 0

#28 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 30 October 2007 - 11:04 PM

so to use a mp3 track within your game...you need a licence, unless you only distribute less then 5000 copies?  Thats not good.

<{POST_SNAPBACK}>

Well. you can blame whoever owns the mp3 patent (I think it's not FMOD at fault here but it's not clear) FMOD redirects you to a general licence issuer for MP3 licences... It's the same kindof problems we had with .gif files for a long time where no one was allowed to use .gif files without paying huge fees (and I still dont know if the issue was resolved...We may all still be breaking the law using .gif files). Anyway, I don't recommend using mp3 files or any file format not made to be used by all freely.

I guess it will be the .ogg road then.
Free, and better quality than mp3.

<{POST_SNAPBACK}>

Yep. If ogg file don't have the same licencing issues, you should.
  • 0

#29 DefuzionGames

DefuzionGames

    GMC Member

  • GMC Member
  • 1433 posts
  • Version:Unknown

Posted 31 October 2007 - 10:19 PM

lets get it clear. if i play a mp3 file or a stream in my gm made program would this require a licence...i dont see why it would!! as i am not selling the mp3 file/stream neither am i claiming ownership of it. I think it is aimed at people who use mp3 encoding/decoding within their programs such as encoders, sound applications such as wav mapping programs etc..
  • 0

#30 icuurd12b42

icuurd12b42

    Self Formed Sentient

  • Retired Staff
  • 15709 posts
  • Version:GM:Studio

Posted 31 October 2007 - 11:41 PM

lets get it clear.  if i play a mp3 file or a stream in my gm made program would this require a licence...i dont see why it would!! as i am not selling the mp3 file/stream neither am i claiming ownership of it.  I think it is aimed at people who use mp3 encoding/decoding within their programs such as encoders, sound applications such as wav mapping programs etc..

<{POST_SNAPBACK}>


Sorry. but I'm 99% sure you need a licence to play any mp3 file within your application. You are actually paying to have the right to decode mp3 files. Apart from the less than 5000 distributed game reference which was probably tailored for indi game developers like ourselves.

I would not worry about it that much. Is your application a game? Yes? Then you need only to worry if you distribute more than 5000. Again, there is no mention on if the games as to be revenu making distribution.

Man, I'm starting to think I should not have been so straigth forward warning people about this... I'm not a lawyer. You should contact the mp3 licence issuers to give you the reasoning behind all the BS. Like a said, Gif files had (possibly still has) this exact same problem.

Edited by icuurd12b42, 02 November 2007 - 02:28 AM.

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users