Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DLL Talk / DarkDUMB - MOD, S3M, IT, XM music plugin license free...

Author
Message
WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 10th Jan 2013 00:34 Edited at: 10th Feb 2013 02:55
DarkDUMB (Dark Dynamic Universal Music Bibliotheque)
----------------------------------------------------
Current release V1.03 (UPDATED: FFT Spectrum code fixed)

Updates:
. FFT spectrum analysis

Because it uses DUMB and OpenAL and unlike FMOD, BASS, BASSMOD and other API's, this is license free meaning you can use it for commercial software too...

How to use:

Load a piece of music which gets rendered into a sample of your own specifications. While it's getting rendered it will also perform other calculations to grab individual channel data from the music file.

Play the music and while it's playing you can read the volume levels of either the main stereo output or the individual channels from the music file.

Attached to this post is the latest release with a simple demonstration... Enjoy!

Screenshot: (ignore the FPS, my laptop was busy)


Demo code V1.0:


README: (Supplied with the download)


Screenshot showing rolling terrain using the FFT Spectrum data and VU bars of 26 individual tracks:


Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 10th Jan 2013 00:34 Edited at: 10th Jan 2013 00:38
Screenshot...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
MrValentine
AGK Backer
8
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: Playing
Posted: 10th Jan 2013 00:54
Permit me to say, A Job Well Done!

WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 10th Jan 2013 02:05 Edited at: 25th Jan 2013 01:30
EDIT: I believe this has not been working on some machines. So far I've a new installation on a PC I have at home, installed DX9.0c and copied the openAL32.dll to the exe directory and it still crashes on that one. It may be down to the MSVC distros as the plugin has been written in Visual Studio C++ 2008 Express. If I cannot rid the plugin of the need for the distros then I'll try and transfer the code over to Code::Blocks and the GCC compiler and try that instead...

I'll keep you all posted...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
Duffer
16
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 10th Jan 2013 08:45
@ WLGfx,

Excellent - I am definitely giving this a try!

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 16th Jan 2013 00:16 Edited at: 16th Jan 2013 00:16
As already mentioned in the ???CreMo thread, the 8 bit FFT spectrum is now working. I am going to try out the 10 bit version which I'm also playing about with...

All in full real time too:



Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 16th Jan 2013 23:44
New update released... V1.03 is attached to the first post which now includes the FFT Spectrum analysis code included for anyone to try out...

If anyone does use this plugin to produce some fancy stuff, please let me know. I'm addicted to the demoscene videos and it would be neat to see DBP stuff doing the same stuff...

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
MrValentine
AGK Backer
8
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: Playing
Posted: 17th Jan 2013 07:07
Well Done WLGfx!

WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 17th Jan 2013 17:23 Edited at: 17th Jan 2013 17:25
Two extra commands added that read the actual sample data. I've added it to the download in the first post and shown how it can be used to produce an oscilloscope.

I think that's it for DBP plugins now... One day...

@MrV - Thankyou so much... You're a gentleman...



Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 25th Jan 2013 01:36
Attached is a new demo showing a 'Rolling Terrain' using the FFT Spectrum data and VU bars of all the 26 individual tracks from the music file.



Source code: (minus the vubars texture)


Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Attachments

Login to view attachments
Phaelax
DBPro Master
15
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 6th Feb 2013 20:01
Will your plugin handle shoutcast streams like fmod?

"You're not going crazy. You're going sane in a crazy world!" ~Tick
WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 6th Feb 2013 21:46 Edited at: 6th Feb 2013 21:55
Shoutcast streaming would be a different API altogether. Plus, if I was to work with the shoutcast streaming I would have to request to be on their partner list to be allowed to use the C++ api. Although I like the idea of internet radio, it's not something that I think I'd ever use or put into an app of my own.

This plugin handles file formats "MOD", "IT", "S3M" and "XM" files. The files can be from 100Kb upwards. It renders the music as a complete sample so there is no overhead while playback is in progress even if the music has over 30 tracks in it. The only overhead is when you request L/R VU readings and using the FFT spectrum analysis functions.

The "OGG" format will be one I'll look into soon enough to add to this plugin, as well as updating the FFT code to be a lot more accurate.

I've just finished integrating the music api code with irrlicht and produced my first scene demo, crappy as it is, it's a start. This kind of coding I used to do all the time on the Amiga and Atari years ago so MOD files are a popular choice for me.

EDIT: http://modarchive.org/ is a good source for music files that this plugin will play.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Phaelax
DBPro Master
15
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 8th Feb 2013 05:02 Edited at: 8th Feb 2013 05:03
I was big into the mod scene back in the day.
I'm guessing you won't be adding mp3 support? Shoutcast is really just a streamed mp3. Dumb's website claims they'll beat fmod one day, but for now I'd say they're way behind.

"You're not going crazy. You're going sane in a crazy world!" ~Tick
WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 8th Feb 2013 16:31 Edited at: 8th Feb 2013 16:33
Quote: "Dumb's website claims they'll beat fmod one day, but for now I'd say they're way behind."


Their last post on the sourceforge website was back in 2005.

The thing with FMOD and MP3 is the licensing costs, not good for even Indie developers. Dumb is completely license free and if anything, you only need to say thanks to them. License for DUMB.

Back in the days of the Amiga and Atari ST I had a huge collection of Mod files. he he

I'm currently making some change to the fft code within this api and hope to have that updated, still fast, but more accurate. After that it's likely I'll be adding support for the ogg format but not for any mp3 though because of licensing.

The ogg format is very popular so I'm thinking there definitely a need to include it and Dumb provides the mechanism for it too. License for OGG.

Already I've got this music api working on Windows and Linux (I ain't got a Mac) perfectly so I'm very happy.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!
Phaelax
DBPro Master
15
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 8th Feb 2013 16:55
Don't get me wrong, it's still good work and OGG support I think would be a definite plus. And I think this plugin would be even more beneficial to AppGameKit, due to the mobile platform since MOD files tend to be very small. But either way you look at it, MP3 is still the dominate format today. I had hoped ogg vorbis would've taken over years ago, but sadly it hasn't happened.

"You're not going crazy. You're going sane in a crazy world!" ~Tick
WLGfx
11
Years of Service
User Offline
Joined: 1st Nov 2007
Location: NW United Kingdom
Posted: 10th Feb 2013 03:05
UPDATE: FFT Spectrum code fixed (It was reading the Sinewave table incorrectly giving two positive values instead of one of each) - Updated download attached to the first post.

@Phaelax - I've been looking into the OGG format over the past few days, while testing this code with Irrlicht, and I've found that the OGG format does have a better output than MP3. And, there's only a smidgen difference with the file sizes too. Now that I've fixed this I can start working on the OGG adaption to the plugin.

Also what you say about support for AppGameKit, It's definitely something that's tickled my fancy. Unfortunately I don't have AppGameKit so I wouldn't know where to start with it. The DLL wrapper for this plugin only gets it working for DBP, the rest of the code is portable, it's working on linux and windows without any changes. So I don't see why it shouldn't work with the mobile platforms. I'm assuming that mobile platforms use openGL (apart from windows phones), so they must also use openAL too (or openAL-soft). If not then surely I can wrap another audio format into it anyway. I've already had SFML-Audio working with it.

If there was a way for me to get this working for AppGameKit then I'd be up for it.

The file sizes are very small for MOD files, some being the size of a standard jpg image.

Mental arithmetic? Me? (That's for computers) I can't subtract a fart from a plate of beans!
Warning! May contain Nuts!

Login to post a reply

Server time is: 2019-03-21 16:52:45
Your offset time is: 2019-03-21 16:52:45