Ok, i’ve pulled out enough of my hair on this one and i’am really really stuck, so here goes.
My player supports a single play mode as well as a playlist. Now when I am playing a song or what not and I want to add another song into my playlist I want to be able to read some data on the module or stream such as its lenght, name, ect.
Problem is i can only init 1 fmod instance at a time, and i really do not want to end the currently playing track. I do not want to use any additional 3rd party software to collect the information, and I do not want to wait till the track plays to collect the information on it.
Perhaps this could be added to 3.6, s way to collect play information on a mod or stream, even if something else is playing? Maybe i'am going about this all the wrong way, anyhow if anyone could suggest a soluation i'd be most greatful
Thanks in advance.
Hehe poor Cire. You should see the spaghetti of code and logic in my DJ app – I use 4 “carts” 36 “sfx” buttons and 2 playlists (all of them of course indexed for no duped code, I’m not that newb =)). Each of the carts and sfx has its own reserved fmod channel (40 visible in all), and the cart status is updated every 25ms by an API timer callback, for VU, rollback time, pos, etc.
Each cart has a “load” button which is where I ready the separate channels and read the song info – all 4 carts and theoretically all 36 visible fx buttons can be playing at once (tho I dont recommend that, hehe).
Anyway, point is you’re not limited to 1 fmod channel in your app. You can read the info in one separate to the one thats playing. For a simple player, 2 channels would do nicely for crossfading type features, and perhaps 3 if you have crossfading AND are preloading file info from entries in the playlist. You could always use vars to store what you read in from the playlist, to make display updates easier when it comes time to actually play that song on the channel the user will hear.
I’ll stop babbling now as you’ve probably figured out a way that works great… lol
Well is that so try collecting song information on a module by just loading the song, can u say uhh uhnh, no way no sir. Try getting BPM, speed ect of a module just by loading it
However u seem to be able to play it, collect what info you need and stop it without it starting a beat
Hey, you did say streams :smile:. I’m not interested in module formats at this time as my focus is more of an internet radio DJ app and not a general music player, so its all about mp3 and wav, maybe CD.
Eventually I hope to find a way to use the Fmod recording or sampling such that you could completely bypass Winamp and Shoutcast plugins, stream directly to DNAS. Fun! =)
hmm, now u tell me, lol
/me wanders off to read the instructions.
on the flip side i’am just over half way finished my player have a peek at http://www.gamingbattleleague.com/beta/gplayer.zip and let me know what u think, yes its written in VB so needs the vb 6 runtime as well as the comdlg32.ocx/dll file. This will be the source code and resources that I submit to Fmod to replace the aging VB sample.
A good beta but if you want a more smoother spectrum, i recommand you to use Multithreading (CreateThread), i do so and it work greats ! Better than a timer.
I am impatient to look at the sourcecode 😉
Note : for vb6 users, i found that we must compile in Pcode. VB5 is “kinda” thread compatible.
Well when u start messing around with multiple threads within VB I find that you are asking for trouble. Perhaps I don’t do it right but every time I have messed with multiple threads the results are usually very bad in stability.
If you have some decent thread handling code that does not compromise stability I would love to intergrate it into the player, and please email it to me at email@example.com
As always thanks in advance.
Please login first to submit.