darkhog wrote:Yeah, it's loop. Very long, but still loop. Because all loops are looping and this one is looping. Doesn't contain fadeout/in and it loops.
So yes, I call it loop. ;)
I just thought of this...
Break up your BG music in to 3rd's or 8 bar phrases or 32 bar phrases - or what ever - the critical part will timing those 'phrases' - in leiu of 'looping' you just use some small routing to manage that and it could loop infinitely.
32 or 48 bar phrases should load/decode pretty fast (but over all hdd space used will make the ogg compression less relevant)
perhaps load 2 mins of music chunks at a time??
perhaps play around with if timing like that is even possible like that with the FBSound mp3stream() funcs. (??)
I know I hear in games screw up in loops in games I just spent $$$$ on, and I hear it on TV all the time too - how they edit songs to get/repeat to the songs 'hook'....
seems you are concerned the most on this... but it *is* a challenge..lol
perhaps you need to re-invent the new wheel with built in magetic suspension and anti-slip disc brakes.... :)
Maybe you need to make use of a more "streamable" audio format. ??
Or maybe look for a C lib for audio streaming (transmission & reception)
Because I think the problem you are facing is the same basic thing - time to (down)Load before the user gets bored/frustrated and leaves/stalks you. FBSound wasn't really geared toward a strong 'streaming' paradigm.
while I am not really familiar with ogg, I think MP3 uses a scheme that makes 'samples' relative to its previous 'sample' - which equates to a sort of limit or 'working conditions' when trying to start experiencing media that is large in data bandwidth before the typical human looses interest.
I think there are 'frames' that are like 'resets' in case a 'relative sample' gets lost or error corrected. I think in the case of MP 3, those frames would be of great curiosity for using as 'splice' points to break a song up into smaller 'chunks' that load and begin playback sooner.