Page 1 of 1

Winamp clone in CEGUI

Posted: Mon Oct 16, 2006 23:20
by Trentin
Image

I had to learn FMOD and CEGUI, so I decided to make Winamp!

It started out small, but it was so fun I decided to add more and more features. I ended up with an almost complete Winamp clone, driven completely by the falagard system and Lua script.

I love CEGUI and Lua, you can make just about anything with it.

Here's a list of features:
- play, stop, pause, next, prev buttons
- play bar slider for seeking
- volume slider
- real-time spectrum graph
- OS independant file open dialog
- playlist

What I used:
- CEGUI
- Lua
- custom tolua++ bindings
- Ogre3d
- FMOD Ex
- LuaFileSystem

Posted: Tue Oct 17, 2006 07:56
by Sjizo
Nice work you did there. Is it going to be available to the public at some time cause I would love to try this thing out ;)

Posted: Tue Oct 17, 2006 08:04
by scriptkid
Wow! Looks impressive :-)

Did you make a custom widget for the graph (the green/red bars)?

Well done!

Posted: Tue Oct 17, 2006 08:43
by CrazyEddie
That looks great :) Very nice work indeed.

CE.

Posted: Tue Oct 17, 2006 15:33
by Trentin
scriptkid wrote:Wow! Looks impressive :-)

Did you make a custom widget for the graph (the green/red bars)?

Well done!


The graph is a static image widget which uses an Ogre dynamic texture. I render the graph every frame based off the spectrum data FMOD returns.


Sjizo wrote:Nice work you did there. Is it going to be available to the public at some time cause I would love to try this thing out :wink:


I'll see what I can do :)


Thanks everyone, I'm not sure how practical having a built-in Winamp is, but it's still pretty cool.

Posted: Fri Jan 05, 2007 21:39
by Trentin
Ok, so I decided to clean it up a little and release a little demo of MonkeyAmp for those who'd like to play around with it.

Download:
http://game.visualization.ca/Setup%20MonkeyAmp%20Demo%20v0.5.1.exe


Most of the basic Winamp functionality is in, so it should be easy to figure out. To delete a song from the playlist, click the item in the list and then hit the delete key. Everything else is pretty self explanatory.

If your a developer and you're interested in how I made it, it's all in lua scripts with some custom tolua++ bindings and layout.xml files. You can find all those files in the interface directory if you'd like a peek.


I wish some games had something like this built in. It's not very hard to set up and it would prevent Alt-Tabbing while playing. It would be perfect for MMORPGS :)