[Musickit-developer] Snd abstraction mini-whitepaper (flame attractor)
Brought to you by:
leighsmith
From: SKoT M. <sk...@to...> - 2002-04-17 20:25:14
|
Playing around with stream-from-disk and MP3 compressed experimental Snd's has sent very tiny, ill-greased cogs ticking over in my mind as to what an Snd should be. I still think that an Snd should provide an API to get at and query audio data, and manage a set of performances of such data to a lesser extent (we store the SndPerformances in their source Snd for no particular reason - maybe we should separate that out? After all, each SndPerformance has a handle on its Snd). ...but we are starting to see a range of data access methods which might be more neatly factored if we have an outer Snd object, same API as now; but internally we have a data access object responsible for providing the host Snd with buffers of samples as needed. So, for example, different data-access classes might be: * in-memory (the 'standard', based on a nice big SndAudioBuffer) * uncompressed-stream-from-disk (SndExpt) * dynamically-decompressed as needed in-memory-compressed * web-down-loadable audio data * live incoming audio (data object provides buffers copied from mic, etc) * or even a synthesizer object (heh heh heh) etc etc etc. Thoughts, flames, shouts of Shame! welcome. - SKoT |