traverso-devel
[Top][All Lists]
Advanced

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

Re: [Traverso-devel] Storing channel/bus configuration, expected behavio


From: Nicola Döbelin
Subject: Re: [Traverso-devel] Storing channel/bus configuration, expected behaviour
Date: Mon, 1 Feb 2010 21:12:58 +0100
User-agent: KMail/1.12.2 (Linux/2.6.31.6-desktop586-1mnb; KDE/4.3.2; i686; ; )

Hi Remon,

Am Montag, 1. Februar 2010 16.17:58 schrieb Remon Sijrier:
> So far it looks like:
> 
> <AudioIO>
>   <SystemConfig driver="ALSA" device="HDA ATI HDMI">
>     <Channels>
>       <Channel direction="input" name="capture_1"/>
>       <Channel direction="input" name="capture_2"/>
>       <Channel direction="output" name="playback_1"/>
>       <Channel direction="output" name="playback_2"/>
>     </Channels>
>     <Buses>
>       <Bus channelleft="playback_1" channelright="playback_2"
>  channelcenter="" direction="output" type="STEREO" name="Playback 1"/>
>       <Bus channelleft="capture_1" channelright="capture_2"
>  channelcenter="" direction="intput" type="STEREO" name="Capture 1"/>
>     </Buses>
>   </SystemConfig>
> </AudioIO>

Makes sense so far.

> So right now this is what I have in mind:
> 
> 1) A Bus Configuration is created by the user, and can't be altered by
> anything else. AudioDevice creates real AudioBus objects and simply tries
>  it best to assign real AudioChannel objects, but if they aren't available,
>  _do_not_alter_ bus configuration of the user!

Yes, the bus setup should never change unless the user does it. Connections to 
channels may get lost, but the busses (name, mono/stereo, order) should 
persist.

> 2) Before setting the bus configuration, the channel configuration must be
>  set in AudioDevice, which only makes sense for the jack driver, but to a
>  degree only. Say, the hardware was busy, and Traverso falls back to the
>  Null Driver. When the hardware comes available again, and the alsa driver
>  is loaded, AudioDevice tries again to populate the then available
>  (hardware) channels to the Bus configuration.

If the null driver was loaded, it is quite obvious that something went wrong 
when attempting to load a real driver, so your solution should work. But what 
if the user switches between ALSA and jack? For example using jack to record 
virtual instruments, but for mixdown only a stereo output is needed and the 
user is too lazy to set up jack connections. Would it be possible to save one 
configuration per driver, and automatically load it when the driver is changed? 
Since the bus configuration is persistent, the Sheet wouldn't notice anything.

> 3) when no Channel/Bus configuration is set in AudioDevice, it does it's
> default mapping as we did before, and when we try to 'get' the channel/bus
> config, it returns the config, but without storing it internally, to keep
>  the current behaviour of Traverso...

Sorry, I don't understand what you mean here. 

Greetings
Nicola




reply via email to

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