On Don, 2012-12-27 at 15:31 -0500, Hans-Christoph Steiner wrote:
> On Dec 27, 2012, at 3:29 PM, Hans-Christoph Steiner wrote:
> 
> > 
> > On Dec 27, 2012, at 2:14 PM, Roman Haefeli wrote:
> > 
> >> On Die, 2012-12-25 at 13:00 -0800, Miller Puckette wrote:
> >>> Hi all -
> >>> I'm afraid to 'fix' this riht now, but will look at it at least.  
> >>> Alternatively
> >>> I could add a message to pd to restort DSP without stopping/starting the
> >>> audio I/O, which I'm hoping will at least reduce the need to start/stop
> >>> SDP all the time.
> >>> 
> >>> The change that caused this problem is that I fixed Pd not to have the 
> >>> audio
> >>> system open whern DSP isn't running so that, on APIs in which audio is 
> >>> exclusive
> >>> (e.g., ALSA) you can turn DSP off in Pd and go off and use another device
> >>> with Pd remining open.
> >> 
> >> The problem arises when there is one message trying to control many
> >> different tasks:
> >> * switch DSP computing on/off (save CPU time)
> >> * free/occupy the audio back-end (save soundcard time)
> >> * mute/unmute Pd (save ears)
> >> * force recompilation of the DSP graph
> >> 
> >>> An alternative would be to have Pd automatically close audio devices on 
> >>> ALSA,
> >>> OSS, and MMIO but always keep it open when using jack.  But then what 
> >>> about
> >>> portaudio?  I somply don't know the correct way to deal with this.
> >> 
> >> I'd say it's preferable if Pd's behavior is independent from the
> >> back-end currently in use. Rather, I suggest to use different messages
> >> for different tasks. IMHO, 'dsp 0' really should only turn computation
> >> of tilde-objects off as this is what it means and what one expects. What
> >> about a new message to pd 'card 0|1' to free devices which would work
> >> completely independently from 'dsp 0|1'? This would allow to record a
> >> signal to a soundfile without occupying the soundcard, for instance.
> > 
> > I think that having a pulseaudio backend for Pd as the default on GNU/Linux 
> > would be the best way to solve this problem.  Pulse will then handle the 
> > multiple apps playing at the same time.  Then for people who want to skip 
> > Pulse, then can use the ALSA blocking implementation.
> > 
> > An Audio API can be quite different than another, so I don't think it makes 
> > sense to treat them all the same in terms of things like whether DSP 
> > disconnects the audio API.  For example Mac OS X CoreAudio, even through 
> > PortAudio, always has handled multiple apps playing back.  And the "audio 
> > stuck" workaround actually only causes problems with CoreAudio.
> 
> 
> Here's a pulseaudio implementation for libpd, I'm sure Patrick would be fine 
> for that code to be included in Pd.
> 
> http://www.workinprogress.ca/libpd/


Pd 0.44 with -pa already supports pulseaudio. -pa is even the default,
so it's only a matter of making <pulse> the default for -pa to get your
desired behavior.

Roman



_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to