[PD-dev] [PD] [PD-announce] pd 0.43-3 released

IOhannes m zmoelnig zmoelnig at iem.at
Wed Jul 4 09:51:11 CEST 2012


-----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.


fgmasdr
IOhannes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/z9ewACgkQkX2Xpv6ydvRvMwCgv2NPmX2Hx9wZSubBHA3mKpRd
IrkAoJbWuNJF1Gu2X7Vg1T+f1NHUdBbi
=fPn6
-----END PGP SIGNATURE-----

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2320 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20120704/0a8ffb69/attachment-0001.bin>


More information about the Pd-dev mailing list