custom audio streams / multichannel audio
Posted: Wed Jun 25, 2003 2:05 am
First off, let me just say this: the latest update totally owns - in my honest opinion, it rips the heart out of any other basic compiler/editor systems, ever! :)
But I would like to once again bring up a topic that I brough up about six months ago: sound ... the sound library in PB is so extremely primitive, it's probably THE most primitive component in PB by now? ;)
So, the two features I would like:
1. Custom streams
2. Multichannel playback
The first is crucial for writing music applications - I know I'm not the only PB user who would like to write a tracker or synthesizer in PB, and because of the license restrictions, BASS or FMOD don't quite cut it ... a custom streaming system could be implemented with callbacks for filling the buffer and notifying the application of buffer underrun (CPU overload), and a couple of functions for starting/stopping custom streams, and for setting the samplerate/bitdepth/number of channels for the primary stream and custom streams...
The second is useful for game developers - currently, the previous explosion sample (for example) ends abruptly when you play the next one, since only one voice is allocated per sample ... you can work around this of course, but it's like reinventing the wheel every time - the number of voices could default to 1 for backwards compatibility, but dynamic voice allocation could be implemented simply with a setnumberofvoices command, or something similar...
...
I keep hoping that some improved sound features are one of the next items on the to-do list? :)
But I would like to once again bring up a topic that I brough up about six months ago: sound ... the sound library in PB is so extremely primitive, it's probably THE most primitive component in PB by now? ;)
So, the two features I would like:
1. Custom streams
2. Multichannel playback
The first is crucial for writing music applications - I know I'm not the only PB user who would like to write a tracker or synthesizer in PB, and because of the license restrictions, BASS or FMOD don't quite cut it ... a custom streaming system could be implemented with callbacks for filling the buffer and notifying the application of buffer underrun (CPU overload), and a couple of functions for starting/stopping custom streams, and for setting the samplerate/bitdepth/number of channels for the primary stream and custom streams...
The second is useful for game developers - currently, the previous explosion sample (for example) ends abruptly when you play the next one, since only one voice is allocated per sample ... you can work around this of course, but it's like reinventing the wheel every time - the number of voices could default to 1 for backwards compatibility, but dynamic voice allocation could be implemented simply with a setnumberofvoices command, or something similar...
...
I keep hoping that some improved sound features are one of the next items on the to-do list? :)