bmx-ng / maxmod2.mod

BlitzMax module for audio streaming - updated for NG
1 stars 3 forks source link

FreeAudioDriver for MaxMod? #1

Open GWRon opened 8 years ago

GWRon commented 8 years ago

MaxMod is utilizing "rtAudio" via an "MaxModRtAudioDriver".

So it should be possible to replace that driver with an FreeAudio-one. This then enables to set the "MaxModFreeAudioDriver" as AudioDriver (compared to the normal "FreeAudio" one).

So OGG-Files ("Music") would transparently get streamed then - instead of getting decoded "in whole" (more memory consumption).

MaxMod would provide the functionality to play FLAC/xm,.../OGG. FreeAudio would provide the connection to the sound output.

Do you think it is a idea with potential or better write an own streaming-solution?

GWRon commented 5 years ago

bump.

woollybah commented 5 years ago

Well, it's possible, but I dunno who's going to write it :-p

GWRon commented 5 years ago

Dunno if "FLAC" support is needed - but I think that the audio capabilities of BlitzMax need an extension to:

We had first tries to create a streamable playback of ogg streams with FreeAudio but still some stuff was missing. The required trick was that the streaming "data shoveling" (refilling buffers) needed to be done in a C-script (extra thread) to work in a non-threaded environment too. Now we talk about NG which is building "threaded" as default, so that means a normal audiostream module could create a thread on "load up" and handle all the requested data buffer refreshes.

What culprits do we have to expect? In my mind all we have to do to achieve streamed audio is to have a stream manager (all audio files we want to play "streamed" get managed/buffer-refilled by it) and maybe a TSound extension to somehow provide "length" information if possible. What else?