IMP - Irrlicht Music Player ( Update: 31-JAN-2018 )

Announce new projects or updates of Irrlicht Engine related tools, games, and applications.
Also check the Wiki
jorgerosa
Competition winner
Posts: 117
Joined: Wed Jun 30, 2010 8:44 am
Location: Portugal
Contact:

IMP - Irrlicht Music Player ( Update: 31-JAN-2018 )

Post by jorgerosa »

Image

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆

DOWLOAD: http://sourceforge.net/projects/irrlichtmp

★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆

ABOUT:
Ok, here we go, how about develop an Media Player (Like Winamp, MusicMatch Jukebox, QCD, Foobar2000, Aimp, Xmms, etc, etc) but that consumes lots of CPU resources? And this project could be indeed the world´s media player that consumes more resources... :roll: Sounds bad, right?... Not really, its the way that we can impress our friends... and, most important, its all for our own fun !!! :D
TARGET:
• Lets try to keep this platform independent (Windows, GNU/Linux (Ubuntu), Mac)
• Everything (code) should be clean, simple and well commented as possible (So any user could use this project for his own study, including newbies... Like me!)
FEATURES:
(Some features are already done) Loads and play audio files ("wav", "aiff", "ogg", "flac", "mp3", "mod", "s3m", "it", "xm"). Will also have a jukebox mode, when it starts to play... then in the stage a character(s) (singer, singers, dancing girls, etc, etc) will dance, jump, play musical instrument(s), whatever, with lots of blinking lights and flash lights, etc... (kind of retro disco ambiance) also with random nice audience events (eg: flash lights cameras, audience clapping (when a music reaches the end), etc, etc, etc...). All these events will be random or read from an custom saved external XML file. MAYBE LATER... We could add an online mode, so a new user may join (a characther will be added in the seats, with his nickname over it) and listen our playing music (stream), and be able to chat (comment), etc... Since this isn´t been done yet in any other media player...

USED TOOLS:
• A big hammer (platform independent) :twisted:
• IRRLICHT --> http://irrlicht.sourceforge.net (platform independent)
• AUDIERE --> http://audiere.sourceforge.net (platform independent)
• Code::Blocks --> http://www.codeblocks.org (platform independent)

(Please post/send your comments, code, ideas, screenshots, etc.)
Last edited by jorgerosa on Wed Jan 31, 2018 1:50 pm, edited 521 times in total.
kazymjir
Posts: 727
Joined: Sat Feb 20, 2010 4:05 pm
Location: Munich, Bayern

Post by kazymjir »

Looks interesting!
I am very interesting in this project, also I can help develop in free time :)
jorgerosa
Competition winner
Posts: 117
Joined: Wed Jun 30, 2010 8:44 am
Location: Portugal
Contact:

Just updated and uploaded it again, with new visual features

Post by jorgerosa »

[EDIT] ALL URLS UPDATED IN THE ABOVE MAIN POST
Last edited by jorgerosa on Tue Mar 22, 2011 9:13 pm, edited 3 times in total.
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Post by greenya »

Look nice!
This would be a great screensaver (running fullscreen with camera following some random paths) :roll:
REDDemon
Developer
Posts: 1044
Joined: Tue Aug 31, 2010 8:06 pm
Location: Genova (Italy)

Post by REDDemon »

lol amazing. it remembers me the first duke nukem 3D in the first level of the city there was a stage of the disco.
Junior Irrlicht Developer.
Real value in social networks is not about "increasing" number of followers, but about getting in touch with Amazing people.
- by Me
jorgerosa
Competition winner
Posts: 117
Joined: Wed Jun 30, 2010 8:44 am
Location: Portugal
Contact:

Post by jorgerosa »

Thankyou all. Glad that you like :) Now, you can add your own music in the "music" folder. A clickable GUI button will be generated for each found music. And has a lot new features too. And please note that i still need help, to improve this. Have fun, hope that you like.
Last edited by jorgerosa on Tue Mar 22, 2011 9:14 pm, edited 2 times in total.
serengeor
Posts: 1712
Joined: Tue Jan 13, 2009 7:34 pm
Location: Lithuania

Post by serengeor »

4) [Audiere] Get audio file length in HH:MM:SS format.
what format do you get it in right now?
Working on game: Marrbles (Currently stopped).
jorgerosa
Competition winner
Posts: 117
Joined: Wed Jun 30, 2010 8:44 am
Location: Portugal
Contact:

Post by jorgerosa »

Please note that, I´m using AUDIERE -> http://audiere.sourceforge.net/
After seaching a lot, seems the way to get real time length (milliseconds), should be something like:

Code: Select all

audiere::SampleSource * blah = OpenSampleSource("myMusic.mp3");
 
// Calculate length in seconds here ....
int milliseconds = ??????;
 
// The code (formulas) that I´ll use for a HH:MM:SS time format:
int hours = milliseconds/(1000*60*60);
int minutes = (milliseconds%(1000*60*60))/(1000*60);
int seconds = ((milliseconds%(1000*60*60))%(1000*60))/1000;
 
sound = OpenSound(audiereDevice, blah);
sound->play(); 
 
1) I have all that i need. Only need to get time in milliseconds from an "mp3" file. (Using: sound->getLength(); Only retrieves frames count).
[EDIT] 2) Lyrics added: Will display, if available. They are in the "music" folder. Code is not fully done yet, but will give you the main idea...
[EDIT] Forget this post: The correct solution for these issues, working with AUDIERE library, are in my next post.
Last edited by jorgerosa on Thu Jan 16, 2014 4:55 pm, edited 7 times in total.
jorgerosa
Competition winner
Posts: 117
Joined: Wed Jun 30, 2010 8:44 am
Location: Portugal
Contact:

Lyrics are now 100% working [RESOLVED]

Post by jorgerosa »

[RESOLVED] Lyrics are now synchronized! Ok, since i had no help for this, i´ve been digging around on this issue, for the last few days, to get lyrics done. Even in the AUDIERE forums lots of people is asking how to get music length (track duration) converted from frames to seconds or milliseconds, needed to develop a decent music player, but with no valid answers :( So, if you will work with AUDIERE forget my above post code (i´ll keep it there as the wrong way to do this, still it works with many other audio libraries). Here goes the "how-to" to everyone that might have the same problem, and is looking for a solution too:

Using AUDIERE - First you will need this, after the music is loaded:

Code: Select all

/// Frame rate, ex: 44100
sound->getFormat(channels, rate, format);
Using AUDIERE - Then, add these formulas:

Code: Select all

/// Converting from frames, to seconds:
int factor1 = sound->getLength()/rate;    // Retrieves number in seconds, ex: 175678555
int factor2 = sound->getPosition()/rate;  // Retrieves number in seconds, ex: 13428
int mil1 = factor1-(factor1-factor2);     // Current music position
int mil2 = factor1;                       // Total music length
 
int seconds1 = mil1 %60;
int minutes1 = mil1 /60;
int hours1   = mil1 /(60*60);
int days1    = mil1 /(60*60*24);
 
int seconds2 = mil2 %60;
int minutes2 = mil2 /60;
int hours2   = mil2 /(60*60);
int days2    = mil2 /(60*60*24);
 
Thats all! For the complete info (the complete formulas set), download and unzip the project, and look for them in the "main.cpp" file code.
The rate var is the main key (one of) to get all the lengths into seconds.
--> Now you will be able to display in your IRRLICHT app, the music position and length in HH:MM:SS format! :D
--> Now you can create your own lyrics, they will be synchronized correctly with the music. :D
(Now, its time to improve the graphics and other stuff... Time to mooooooooooooove forward....)
EDIT: UPDATED! A new version is now available! (All this related stuff was updated in the first post, too!)
Last edited by jorgerosa on Thu Jan 16, 2014 5:02 pm, edited 6 times in total.
mongoose7
Posts: 1227
Joined: Wed Apr 06, 2011 12:13 pm

Re: IMP - Irrlicht Media Player ••• [UPDATE: 04 APRIL 2011]

Post by mongoose7 »

I like your player. :D

The zip file contains some source, so I thought I would try to compile it. But it won't compile for various reasons. (Arrays declared with a dimension of zero or a dimension which is a local variable, compiler refusing to accept constructors because the types don't match, 'include <dirent.h>' in a Windows build, etc.)

So, I guess the included source is not the source used to build the executable. Is this correct?
jorgerosa
Competition winner
Posts: 117
Joined: Wed Jun 30, 2010 8:44 am
Location: Portugal
Contact:

Re: IMP - Irrlicht Media Player • [UPDATE: 04 APRIL 2011] •

Post by jorgerosa »

Hi mongoose7, thanks! :)
EDIT: UPDATED! A new version is now available! (All this related stuff was updated in the first post, too!)
Last edited by jorgerosa on Thu Jan 16, 2014 4:51 pm, edited 7 times in total.
mongoose7
Posts: 1227
Joined: Wed Apr 06, 2011 12:13 pm

Re: IMP - Irrlicht Media Player ••• [UPDATE: 28 JULY 2011]•

Post by mongoose7 »

OK, thanks. I think the only change was to add a couple of headers.

I don't know if you are interested, but, Line 74,

Code: Select all

bool my_filter(char c){ return c==' '; c==';'; c=='-'; c=='\n'; }
should be

Code: Select all

bool my_filter(char c){ return c==' ' || c==';' || c=='-' || c=='\n'; }
(I guess). Also, Line 1092, VC++ doesn't like

Code: Select all

ppEffectName[0]={"Monitor"};
preferring

Code: Select all

ppEffectName[0]="Monitor";
Also, I don't know how you get away with using 'opendir()' in Windows, but I guess you have your ways.
jorgerosa
Competition winner
Posts: 117
Joined: Wed Jun 30, 2010 8:44 am
Location: Portugal
Contact:

Re: IMP - Irrlicht Media Player • [UPDATE: 28 JULY 2011] •

Post by jorgerosa »

mongoose7 wrote:I don't know if you are interested, but...
Sure I am interested! The main ideia is to improve this project, still I don´t have all the needed time, to do it all, by myself. Thankyou mongoose7, for the tips! :D
EDIT: UPDATED! A new version is now available! (All this related stuff was updated in the first post, too!)
Last edited by jorgerosa on Thu Jan 16, 2014 4:51 pm, edited 3 times in total.
jorgerosa
Competition winner
Posts: 117
Joined: Wed Jun 30, 2010 8:44 am
Location: Portugal
Contact:

Re: IMP - Irrlicht Media Player • [UPDATED: 28 AUG 2011] •

Post by jorgerosa »

A new IMP version is done (has many improvements), and........
A BIG THANKYOU TO ANDARILHOS TO GIVE US 3 COMMERCIAL TRACKS FROM THEIR NEW MUSIC ALBUM,
EXCLUSIVELY FOR THIS IRRLICHT PROJECT !!! THEY ARE INCLUDED IN THE DOWNLOAD FILE !!!
EDIT: UPDATED! A new version is now available! (All this related stuff was updated in the first post, too!)
Last edited by jorgerosa on Thu Jan 16, 2014 4:55 pm, edited 2 times in total.
jorgerosa
Competition winner
Posts: 117
Joined: Wed Jun 30, 2010 8:44 am
Location: Portugal
Contact:

Re: IMP - Irrlicht Media Player •• [UPDATED: 11 SEPT 2011]

Post by jorgerosa »

WALLPAPER DOWNLOAD: http://img716.imageshack.us/img716/740/ ... rlicht.jpg
MERRY XMAS and HAPPY NEW YEAR !
Last edited by jorgerosa on Thu Nov 13, 2014 9:23 am, edited 7 times in total.
Post Reply