On Jul 4, 2012, at 3:51 AM, IOhannes m zmoelnig wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 2012-07-03 23:11, Miller Puckette wrote:
>> Hi all,
>> 
>> Pd version 0.43-3 is available on
>> http://crca.ucsd.edu/~msp/software.htm
> 
> cool.
> 
> 
>> 
>> I'm ready to start hacking on 0.44.  The most urgent thing seems to
>> be for me to go back and work on the audio system (and perhaps
>> tweak MIDI a bit more too).
> 
> i have a project lying on my hardisk for >1 year (iirc, shortly before
> the 0.32.0 release), that is related to that: separating the audio
> system(s) from Pd-core.
> 
> background:
> currently Pd supports a number of audio-backends.
> while these backends are mainly separated into several source files
> (e.g. s_audio_alsa.c for ALSA), there is a lot of theoretically
> backend-agnostic code (s_audio, s_midi, s_main) cluttered with "#ifdef
> USEAPI_ALSA" and the like.
> this makes the current code badly readable and thus maintainable, it
> also makes it hard to add new audio systems as backends (and the more
> you add, the more complicated the codebase gets).
> 
> more background:
> currently all audio backends are linked to the main "Pd" binary.
> if your version of Pd is compiled for alsa, jack, OSS and portaudio
> (the default on debian), you have quite a number of dependencies. (as
> maintainer of the "puredata" debian package i prefer to keep necessary
> dependencies at a minimum).
> 
> furthermore, Pd supports outdated/deprecated backends like OSS (both
> audio and midi).
> in practice i haven't used OSS-midi for a number of years (and i doubt
> whether it is actually still supported by the mainline kernels), and i
> used OSS-audio only seldomly in very specific setups.
> from this i follow, that the majority of people have to fight their
> way through a lot of dead options that are more confusing than
> helpful, and which should probably be removed in most cases.
> 
> suggestion:
> so what i ended up doing, was separate the audio-backends from the
> pd-core code a bit more, in a similar way to how Pd's object
> registration works.
> the means that people could write new audio-backends and load them
> on-demand, just like "externals".
> it also means that Pd's non-audiosystem codebase has only a minimum of
> "#ifdef USEAPI_ALSA" (there's only one, when it comes to loading the
> "internal" audio-system at startup).
> 
> all this also applies to MIDI.
> 
> if there's interest, i could cleanup the patches (and make them work
> again with 0.43.3) and submit them for review.
> 
> if there's confusion, i could try to try again and explain what i want.

I think this would be super valuable.  libpd already has an implementation of 
parts of this idea, but making fully separate modules would be quite nice.

Have you talked with Peter Brinkmann at all?  It would be nice to have these 
efforts synced up since they seem to have the same aim.

.hc


_______________________________________________
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev

Reply via email to