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? :)
custom audio streams / multichannel audio
-
mp303
Oh yes, one other important thing, for custom streams - it would of course be necessary to have latency (buffersize / number of buffers) and driver settings customizable by commands, and output devices enumerable and selectable. You could already start to write music applications without these things being customizable, but they would need to be added eventually, since obtaining the lowest possible latency in a sound program that uses MIDI input during playback is always a must.
Oh well, a man can dream, can't he? :)
Oh well, a man can dream, can't he? :)
-
mp303
- Joakim Christiansen
- Addict

- Posts: 2452
- Joined: Wed Dec 22, 2004 4:12 pm
- Location: Norway
- Contact:
Regarding Audio streaming via dynamical refilling buffers: Do search in here for Avifil32_ext Userlibrary Thread in there I also posted the sourcecode in C.
Also you can use Directshow for streaming any format if the dshow audio codec is installed ...
http://msdn.microsoft.com/library/defau ... lecode.asp
Also you can use Directshow for streaming any format if the dshow audio codec is installed ...
http://msdn.microsoft.com/library/defau ... lecode.asp
-
mp303

