[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-devel] Storing channel/bus configuration, expected behaviour
From: |
Remon Sijrier |
Subject: |
[Traverso-devel] Storing channel/bus configuration, expected behaviour |
Date: |
Mon, 1 Feb 2010 16:17:58 +0100 |
User-agent: |
KMail/1.12.4 (Linux/2.6.31-17-generic; KDE/4.3.5; i686; ; ) |
Hi all,
I send this to Nicola, but I figured, you guys should have a look at the
current idea of storing the channel/bus configuration to the project file, and
how we deal with setting the actual configuration. If not clear, please let me
know :D
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>
The Bus config is now much more explicit in the right/left channel assignment.
If in the Audio IO dialog a user does not assign a channel(s) to a bus, the
next time traverso starts, the AudioIO dialog can't possibly know how many
channels the Bus had, and if only 1 channel was assigned, if it was the right
or left channel.
I admit this makes it a bit more complicated perhaps, but due the fact that we
need to support the case that a Bus can't get the channels it wants due the
Driver doesn't 'export' them.
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!
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.
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...
What do you think about that?
Greetings, Remon
- [Traverso-devel] Storing channel/bus configuration, expected behaviour,
Remon Sijrier <=