Sxms V3.0.6.1 (beta) - Audio Dll, The Fmod / WinAmp wrapper for Game Maker |
![]() ![]() |
Sxms V3.0.6.1 (beta) - Audio Dll, The Fmod / WinAmp wrapper for Game Maker |
Oct 25 2005, 05:21 AM
Post
#1
|
|
|
The Audio Master ![]() Group: Retired Staff Posts: 1219 Joined: 6-October 03 From: Pennsylvania Member No.: 150 |
(LAST UPDATE - November 24th, 2006)
Updated SXMS to version 3.0.6.1b, check the linked post for more information. Shaltif's Xtreme Music and Sound The Fmod / WinAmp Wrapper for GAME MAKER Brandon Rohrer -- Version 3.0.6.1 Beta ======================================== (Link to post when version 3.0.6.1 Beta was released -> here) (Changes can be found -> here) Audio Formats: Fmod - mod, s3m, xm, it, midi, wav, ogg, mp3, wma, cda, flac WinAmp - nsf, spc, gym, psf, usf, (and many others, depending on in_ plugins) Features: -Able to play a large (and ever expanding) amount of audio formats. -Easier to use with new sxeasy_ scripts. -More direct to Fmod Ex's API, even includes Fmod's full help documentation for advanced users. -All Fmod's formats can be played with the exact same API (no MC, ST, SA, etc functions anymore) -Can stream audio right from the hard drive (or even over a network/internet) -Includes Hardware, Software and Virtual channel support. -Full visualization analysis for any of Fmod's formats. -Record from any of Windows' input devices with ease. (mic, line-in, stereo mix, etc) -Able to setup multiple system objects for multi-instancing Fmod. -Fmod DSP support using Pre-Included DSP units -Mono, Stereo, Quad, Surround, 5.1, 7.1 and Prologic output support. -Ability to set and get the panning, frequency, volume, position and priority of any playing sound. -Channel grouping support, to have groups of channels which can all be effected (like a Parent > Child setup) -All new constant flags for easier using of scripts. -WinAmp compatable. Able to play using most in_ and out_ plugins avaliable. -Full FSB support, allowing multiple audio files to be packed in a single file. And of course, it has audio playback (Coming in a future release) -Geometry support (For full 3D capabilites) -External DSP plugin support (so users can make there own DSP plugins for Fmod) Introduction: ...and here we are again with another installment of the ever so popular SXMS wrapper for Fmod Ex / WinAmp. The long awaited SXMS, an advanced/altnerative audio system for Game Maker, is now avaliable to the public for beta testing. Beta: As of this writing, SXMS is still in the beta testing stage. Cause of this, not everything is fully implimented yet. Also, it may still be buggy (as there is a lot of scripts to test), so if you notice any problems, please inform me so that it may be corrected. Script Types: This version of the SXMS API contains three (3) main script types. sxfmod, sxwamp and sxeasy. sxfmod - These scripts control the Fmod Ex side of SXMS. sxwamp - These scripts control the WinAmp side of SXMS. sxeasy - A set of "wrapper" scripts for the Fmod Ex side which are "easier" to use for a new user. Documentation: There is currently no external documentation as of this version. However, every script has detailed infomration on it's arguments, returns and what it's used for. So feel free to open a script up in question and read away. *The sxeasy_ scripts have yet to include such documentation, as they have yet to be finalized. The Fmod Ex documentation has been included to aid those using SXMS and/or to show users what Fmod Ex can really do. Feel free to reference to this as it probably contains more/better information than I could possibly place inside a single script. Examples: The package contains two (2) examples (one using sxeasy, another using sxwamp). I HIGHLY recommend you check these examples out, to see how things are done. Even experienced SXMS users should at least look over them, as function calls are completely different time time around. To run the example: 1. Run the program, making sure everything is unzipped and together in the same folder. 2. It will ask you which example to view (1 is sxeasy, 2 is sxwamp). 3. Follow the on-screen instructions. Note: The sxwamp example is "still" a bit thrown together, so here is a bit of an explination about what is going on. When you choose the 2nd example (sxwamp), a dialog will appear asking for an output plugin (out_) file. Go to the sxwamp plugins folder and select out_ds.dll (or any of the others). Then it will ask for an input plugin (in_) file. Again, go to the sxwamp plugins folder and select the perfered input plugin. then follow the on-screen instructions. MAKE SURE TO READ THE README! I have the readme in two (2) spots. In a text file called readme.txt and as the script sxms_readMe(); So make sure to READ IT. It explains how to install the scripts into your project, along with other important information. Please report any bugs, comments or suggestions in this topic. I will update this post whenever a new version is avaliable. And the download is...where? If you view my signature, you will see a link called "SXMS v3.0.0.3 Beta - Audio DLL Download". Just click there and away you go. Do NOT go to my website, since the files there are outdated. Additional Information: As of yet, there is no official documentation on the flags/contant types. For a list of the avaliable ones, open up sxms_internal() and just scroll down. They are all listed at the top (in CAP like fashion). Any function that "requires" a flag will tell you the type it's looking for (like FMOD_DSP_TYPE_). If you need exact meanings for any, you can either ask me or consult the Fmod Ex help documentation. Since no example of the sxfmod_ functions has been made, here is a basic setup of how it's done. CODE //Before anything, you need to create SXMS sxms_create(working_directory+"\SXMS-3.dll",1); //Create a sxfmod system object sxfmod_system_create(); //Set the output to WINMM (DSound currently doesn't work with GM 6.x) sxfmod_system_setOutput(sxms.FMOD_OUTPUTTYPE_WINMM); //Initialize the system object sxfmod_system_init(32,sxms.FMOD_INIT_NORMAL,0); //Then from here, create a sound (we are assigning the index as 0) sxfmod_system_createSound("c:\mysong.mp3",sxms.FMOD_SOFTWARE|sxms.FMOD_CREATESTREAM|sxm s.FMOD_2D,0); //Then to play sxfmod_system_playSound(0,0); Thank you everyone! From the developers of recent to the users way back on EzBoard supporting VMod Player. It's cause of you that I continue to develop this project. I also want to thank everyone for being so patient with my development schedule. Thank you all, once again. Enjoy the ride, ~Brandon |
|
|
|
Oct 25 2005, 07:05 AM
Post
#2
|
|
|
Press F8 to enter BIOS Group: GMC Member Posts: 839 Joined: 7-July 05 From: Australia Member No.: 30913 |
YAY! FIRST POST!
On topic: Thanks. You just docked 5 megs off my shooting game replacing mp3's with ogg files and WAVs with WMAs. Edit: My opinion. This DLL allows you to play many different types of music/SFX and lowers your file size significantly. Very good & useful. It's very very very confusing for a first-time user. However, it was worth learning it. Rating: 9/10 Edit 2: I found no bugs yet. This post has been edited by PLAY: More: Oct 25 2005, 07:10 AM |
|
|
|
Oct 25 2005, 12:53 PM
Post
#3
|
|
|
GMC Member Group: GMC Member Posts: 1224 Joined: 16-August 04 From: Portugal Member No.: 12971 |
Great job!!!
As always Keep it up! Can we expect a sxms player4?? |
|
|
|
Oct 25 2005, 04:48 PM
Post
#4
|
|
|
GMC Member Group: GMC Member Posts: 446 Joined: 25-June 05 Member No.: 30151 |
Very good job, I'm impressed.
|
|
|
|
Oct 25 2005, 04:52 PM
Post
#5
|
|
|
The Audio Master ![]() Group: Retired Staff Posts: 1219 Joined: 6-October 03 From: Pennsylvania Member No.: 150 |
QUOTE It's very very very confusing for a first-time user. However, it was worth learning it. Ya, as of it's current state, it is quite a task for a new comer to get started with it. The comments in the scripts (if you know which ones to look for) help now, but a full Help Document is in the planning with full examples. Glad to hear you found no bugs and that it appears to be working smoothly! Keep me informed if anything comes up. QUOTE Can we expect a sxms player4?? Not anytime soon, but eventually I plan to upgrade my media player with this version of SXMS and SCC 3.0. One major improvement, is that MOD files now display a time/length in ms, rather than having to use the old "orders" deal. So I can't wait to have that in my media player. Downside though is that DirectSound no longer works with Game Maker (I think Game Maker is doing something to DirectSound to hinder Fmod from using it, as all my C/C++ tests with Fmod's DirectSound work perfectly). EDIT: QUOTE Very good job, I'm impressed. Thanks for your comments Btw, I'm not sure if you guys caught this, but the example 1 (using sxeasy) has 3 built-in visuals you may check out while playing a song. Just load up your song, play and then press 1,2 or 3. Each one uses a different method of visual processing, and the first one shows the new "Stereo" support for visual return. ~Brandon This post has been edited by Shaltif: Oct 25 2005, 04:55 PM |
|
|
|
Oct 25 2005, 05:43 PM
Post
#6
|
|
|
GMC Member Group: GMC Member Posts: 707 Joined: 17-July 05 Member No.: 31607 |
Too bad that FMOD is 1,000$ per licence...
A waste of potential for commercial games. Making better possibilities for audio settings for games with this, is better. This post has been edited by Shinnoki: Oct 25 2005, 05:45 PM |
|
|
|
Oct 25 2005, 05:45 PM
Post
#7
|
|
|
GMC Member Group: GMC Member Posts: 212 Joined: 16-March 05 From: Czech Republic Member No.: 23995 |
Well, you put pretty much work into it, but still, there is possible to perform a critics.
Its a pity, I want nothing more than dll able to play mp3 and midi FROM RESOURCE DIRECTORY, other things "can be stolen" of me. (I have wav one already) Is it possible? Such trivial requirement... I have no idea why to complicate my life by playing sounds included in GM file by anything else than GM file. It even can't play two songs together, to make a rota (canon). No, its not apparent, how to play a sound from the directory. I have tried several dll's, some didn't worked, some worked weirdly, but finally I used one by roachofdeath (this one at least worked weirdly). I deleted useless scripts with frequency and panning features and changed 0 to 1 somewhere, to make it suddenly work. And that was all, what I had to do. DirectX, FmodEx, those are just another english words to read, for me. Yes, it would be good, if it can PAUSE midi and mp3 songs, for example, you are in main base room, there is -naturally- groovy music, and when you exit it and enter again, you don't have to listen it from beginning. It was one of success reasons of HOMAM 3. I like the visualisations... maybe someone could use it in game, as visualisation of sound output. But only, if it is able to visualizate all audio output, a mix of music, shooting and explosions. Edited: I even can't delete the directory where it was placed. This post has been edited by Kaleta: Oct 25 2005, 05:56 PM |
|
|
|
Oct 25 2005, 06:19 PM
Post
#8
|
|
|
The Audio Master ![]() Group: Retired Staff Posts: 1219 Joined: 6-October 03 From: Pennsylvania Member No.: 150 |
I'm not sure I follow Kaleta.
SXMS-3 can play up to 1024 songs at once, if you wanted. You can start a song from any position (ex: Play then Seek). You can pause any/all sounds at anytime (you can even start the song paused). You can't play from resources stored within the GM game itself cause that type of information can't be pulled from the compiled EXE. All audio formats are treated the same, so pausing/seeking a midi works just like an mp3. After reading your post, I don't think you gave this much of a chance (or at least experiemented with it). Almost everything you said it "couldn't do" it can do just fine. It uses FmodEx, which is used in many commerical ventures (World of Warcraft uses FMOD) and is cross platform (there are xbox 360, GameCube, PS2, PSP, Linux, Mac versions...although this build is around Win32). So it isn't just a simple "play music" DLL, nor was it designed to be. As I always say to everyone "It's a completely alternate audio system for Game Maker". As for the edit, make sure you're not currently running it. ~Brandon |
|
|
|
Oct 25 2005, 06:24 PM
Post
#9
|
|
|
Happy business Group: GMC Member Posts: 314 Joined: 11-October 04 From: The Netherlands Member No.: 15409 |
Really nice! Can't wait to see an SXMS Player 4. (you're breaking news by the way
|
|
|
|
Oct 25 2005, 08:52 PM
Post
#10
|
|
|
GMC Member Group: GMC Member Posts: 356 Joined: 6-December 03 From: USA Member No.: 3117 |
Finally! Dude this is awesome shaltif...
10/10 ~Derek~ |
|
|
|
Oct 26 2005, 01:24 AM
Post
#11
|
|
|
Eric Burgess ![]() Group: Retired Staff Posts: 929 Joined: 6-November 03 From: University of Iowa Member No.: 1658 |
|
|
|
|
Oct 30 2005, 02:03 PM
Post
#12
|
|
|
Lord of the Ferrets Group: GMC Member Posts: 609 Joined: 12-October 03 From: themusiclib.com Member No.: 290 |
Congratulations, Shaltif! You've really pulled this off well.
I'm glad to see you've solved my compatibility issue. Below is a comparison with my current sound system, Super Sound: Functionality: I only need to play OGGs in my game. Super Sound: Plays mono OGGs, but murders stereo OGGs. SXMS 3 Beta: Plays mono OGGs, but murders stereo OGGs. Pet peeves for functionality: Super Sound: Fine, I can live without stereo OGGs. But crashing when I try to loop when you're not in focus? SXMS: Oh c'mon, I had SOME hope that you could play stereo OGGs better than Super Sound. (And I know that stereo OGGs work. Irfanview plays the OGG perfectly) Basically a tie, as I have a workaround for the looping problem. Size: Super Sound: 154kb SXMS (for my purposes): 53.5kb+232kb Super Sound wins. Now, while both have their pros and cons, Super Sound comes out on top for my purposes. However, if you're using files OTHER than OGG, SXMS is the best way to go. ~~Flashback |
|
|
|
Oct 30 2005, 04:16 PM
Post
#13
|
|
|
The Audio Master ![]() Group: Retired Staff Posts: 1219 Joined: 6-October 03 From: Pennsylvania Member No.: 150 |
QUOTE (Flashback @ Oct 30 2005, 10:03 AM) I fully tested my SXMS-3.dll with the OGG format (in Mono, Stereo, Multi-Channel, Internet, etc) and had no problems at all playing anything. The same thing happening in both DLL's makes me believe something else is the cause of your OGG stereo issue. Just curious, could you possibly link me to the OGG in question (or a OGG having issues) so I can do further testing. Cause all OGGs I've tested (a few hundred) all worked flawlessly, and I can't really point to any cause for your issue unless it's a badly encoded OGG file. Also, could you make a recording of how it sounds on your end? So I can do compare and contrast. I'm glad to hear the compatability issue has worked out, I spent a lot of time trying to wrap this without it causing errors like my previous issue and of course, it using Fmod Ex probably helped as well ~Brandon |
|
|
|
Oct 31 2005, 09:35 AM
Post
#14
|
|
|
GMC Member Group: GMC Member Posts: 286 Joined: 2-December 04 From: Norway Member No.: 17222 |
There is simply NO dll like Shaltif's superb SXMS. This is THE dll to use for the great games concerning music and sound. Supporting a variety if formats and expandable thru Winamp plugins, this is mostly what you need.
10/10 |
|
|
|
Oct 31 2005, 10:32 AM
Post
#15
|
|
|
Digital-X Group: GMC Member Posts: 520 Joined: 7-April 04 From: _________ Team:Digital-X Member No.: 8004 |
finally version 3 !! awesome stuff !
|
|
|
|
Oct 31 2005, 10:35 AM
Post
#16
|
|
|
GMC Member Group: GMC Member Posts: 34 Joined: 17-April 04 Member No.: 8436 |
hey this is cool...but i have a question:
You can load songs into the program that's cool, but can you also play songs which are in the Exe or some songs in the same folder which are loading automatically ? I mean the usual musicway of Gamemaker...i tried it but i don't get the great visualisations =( ? why ? |
|
|
|
Oct 31 2005, 04:05 PM
Post
#17
|
|
|
The Audio Master ![]() Group: Retired Staff Posts: 1219 Joined: 6-October 03 From: Pennsylvania Member No.: 150 |
QUOTE (blaster-gamer @ Oct 31 2005, 06:35 AM) hey this is cool...but i have a question: You can load songs into the program that's cool, but can you also play songs which are in the Exe or some songs in the same folder which are loading automatically ? I mean the usual musicway of Gamemaker...i tried it but i don't get the great visualisations =( ? why ? A DLL cannot gain access to the internal resources inside the .EXE, so loading music which is in your .gm6/.exe is impossible. Likewise, the visualization support only works with audio which plays through SXMS. ~Brandon |
|
|
|
Nov 2 2005, 03:39 PM
Post
#18
|
|
|
GMC Member Group: GMC Member Posts: 3 Joined: 21-October 05 From: DWN Member No.: 37422 |
Do you have any idea when we can expect some tutorials or examples?
This post has been edited by Notorious: Nov 2 2005, 03:40 PM |
|
|
|
Nov 2 2005, 07:59 PM
Post
#19
|
|
|
Indeedy! Group: GMC Member Posts: 76 Joined: 4-October 03 From: West Milford, NJ Member No.: 76 |
Not really an error, but you have a typo in sxfmod_sound_setLoopCount:
QUOTE /*Shaltif's Xtreme Music and Sound --The Fmod / WinAmp Wrapper for Game Maker --Brandon Rohrer © 2003-2005 ============================================ argument0 = REAL - A sound index. argument0 = REAL - The number of times the sound should loop. === return = REAL - Whether successful (1) or failed (0) === //Com: You can set how many times a sound should loop before stopping by using this function. This is the number of times it should loop. So a 1 would make it loop once, while a setting of 0 would make it play and stop at end. If you pass a -1, the sound will loop indefinately. (-1 is the default setting). */ You have 2 argument0's. Otherwise, this is very good, not to mention the file size is actually SMALLER than SXMS2. |
|
|
|
Nov 3 2005, 07:04 AM
Post
#20
|
|
|
The Audio Master ![]() Group: Retired Staff Posts: 1219 Joined: 6-October 03 From: Pennsylvania Member No.: 150 |
Thank's Yoshi 15, I'll get right on fixing that
Notorious, it does come with 1 example currently, which I plan to later on expand when I have time (to show off other aspects). As for a tutorial, I think the example covers that enough. For a time schedule, I have no idea when I'll get around to it. It's enough trying to get time to work on the actual SXMS-3.dll, let alone the examples/documentation. ~Brandon |
|
|
|
![]() ![]() |
|
Lo-Fi Version | Time is now: 9th February 2010 - 03:43 PM |