traverso-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Traverso-devel] Audio I/O dialog, and internals


From: Remon Sijrier
Subject: Re: [Traverso-devel] Audio I/O dialog, and internals
Date: Mon, 18 Jan 2010 10:42:16 +0100
User-agent: KMail/1.12.4 (Linux/2.6.31-17-generic; KDE/4.3.4; i686; ; )

Hi Nicola,

> Wow, great explanation, thanks! In case someone hasn't seen what it is all
> about: I'm trying to implement a flexible audio I/O routing, which is

Ah, you saved the day, should have mentioned that of course!

> Remon, back to your comments:
> > If you have to change the configuration of the AudioBuses and/or Channels
> >  you have to either:
> >
> > * Stop the audio device thread from running, wait till it stopped, then
> > (re)configure the AudioBuses/Channels and start the audiodevice thread.
> >
> > or
> >
> > * Create the new configuration, move this as an 'event' to the
> > audiodevice thread, so moving the execution of the event (some function)
> > from the GUI thread to the audio thread.
> > This is probably what you want, so you can change the 'routing' of e.g. a
> > playback channel on the fly, without any sound brakes.
> 
> In terms of thread safety I don't think we have to make it more complex
>  than necessary. There is no need to provide gapless switching of
>  AudioChannels. We could force transport to stop, or disable the
>  AudioIODialog if transport is active. AudioIO configuration is rather
>  low-level, like loading or configuring the driver.

Yes, maybe. It probably depends on how sophisticated it'll be implemented. But 
right now 'shutting down' the AudioDevice (which will stop the audio thread 
from running, or disconnect from jack server) ehm, well, disconnects thus from 
the jack server. So if you add an AudioChannel (== jack port) all your 
existing traverso jack port connections vanish, and you've to reconnect them, 
unless we use auto_connect or something.
Anyways, we'll discover quickly enough what is the most convenient solution :)


> So we would save driver-dependent configurations in the project file?
>  Sounds very cool, indeed! Could we do the same for specific hardware
>  configurations, even if the same driver is used? E.g. if the firewire
>  device is plugged in and we have 6 hardware channels, we would create
>  config A. Next day the FW device is not plugged in and we only have the 2
>  onboard channels, we create config B. Next day the FW device is plugged
>  in, and config A will load automatically.

That indeed could be a possibility, didn't even think of that myself. Good 
idea!

> All in all I think if we get this working reliably, it will be a quantum
>  leap in the history of Traverso.

ROFL ...

Quantum leap, no less! :)
But yeah, I understand that for jack users this is very important!


Remon




reply via email to

[Prev in Thread] Current Thread [Next in Thread]