Save-Point
Replace the AUDIO class for RMXP! - Printable Version

+- Save-Point (https://www.save-point.org)
+-- Forum: Games Development (https://www.save-point.org/forum-4.html)
+--- Forum: Code Support (https://www.save-point.org/forum-20.html)
+--- Thread: Replace the AUDIO class for RMXP! (/thread-104.html)



Replace the AUDIO class for RMXP! - DerVVulfman - 06-30-2010

Most all of us use .mp3 format, if not .wav or .midi for music (rarely .wav). Some of us would like to use the .ogg audio format for music too, but unlike other audio formats, .Ogg Vorbis music is not streaming like .MP3 format. This means the entire audio file has to be loaded before the music begins to play. This causes an unfortunate 'pause' before the music begins to play.

And while music generally loops when played, there is a script by a Japanese scripter named Cogwheel that allows .MP3 music to be looped in certain points. This means that the music can restart where you set it to restart... just like a professional RPG game. (>HERE<) is that Cogwheel MP3 script.

What I am asking for (and I am thinking public release :wink ) is a combination .dll / RMXP script that replaces the Audio class so it can loop streaming .ogg music... let alone allow you to loop the supported music files (.ogg, .mp3, etc.) just like the cogwheel system above.

Definitely a C++ coder's job. I never ask for anything small, do I?


Replace the AUDIO class for RMXP! - deValdr - 06-30-2010

Would it be possible to add some fun methods, like pause as well?


Replace the AUDIO class for RMXP! - DerVVulfman - 06-30-2010

Someone did with another Dll/RGSS dual system. The map music paused when going into scene battle. Then the music resumed from where it left off after exiting the battlesystem. It was solely dependent on both the .dll and script combination. But it didn't include .ogg format. And didn't have the cool looping system that Cogwheel created.

So, if a rewritten AUDIO class that could perform streaming .Ogg files and have a working point-to-point loop system, that would be great.


Replace the AUDIO class for RMXP! - yamina-chan - 06-30-2010

That would be really interesting, I think.
I just hope I'd be able to use it if someone could make this XD (I couldn't really get Cogwheels script... ^^')


Replace the AUDIO class for RMXP! - DerVVulfman - 07-05-2010

Le Bumpe!

And while I don't have experience at coding my own audio dll.... (If I did, I wouldn't ask Tongue sticking out ) ... someone I talked to in chat recommended that anyone interested should look into OpenAL (Open Source Audio Library).


Replace the AUDIO class for RMXP! - kyonides - 07-06-2010

Well, you could also use a wmplayer.ocx to perform those tasks, including the pause feature. Since I don't know anything about programming in C (C++) for Windows, I can't tell you more about it... but the Win32API should allow you to code it somehow...


Replace the AUDIO class for RMXP! - DerVVulfman - 07-06-2010

I have seen most of the features already available to great extent usingthe Win32API.dll, however they do not handle Ogg Vorbis files. That's why a different .dll would be needed for .Oggs.


Replace the AUDIO class for RMXP! - DerVVulfman - 10-15-2010

No longer necessary. With a change performed to cogwheel's MP3 Loop Performance system, I can have streaming and looped .ogg forbis music. No editing of the actual .ogg file needed, and it's streamed. The only problem is a minor 0.5 (or less) break in the music when it cycles back to the start of the loop.

.wma isn't that bad either, is a free format, and doesn't have that gap problem.


Replace the AUDIO class for RMXP! - yamina-chan - 10-15-2010

DerVVulfman Wrote:.wma isn't that bad either, is a free format, and doesn't have that gap problem.

Hu, really? oo
I didn't test that one so far (even though I use it quite often XD) If that's true, then said script just turned out to be better again XD If there'd be a better way to find out/adjust the exact miliseconds, then I think it'd be perfect °-^
So thank's for mentioning that I guess, I'll definately try it.