Hi Takashi,
I'm very sorry for my late reply.
You are correct about the available input and outputs, but I'm not sure
that I understand your routing scheme very well.
* The currently active digital input can be selected with "Digital
Input Capture Route", like this:
o AES/EBU: amixer -c 0 cset numid=3,iface=MIXER,name='Digital
Input Capture Route' 0
o S/PDIF RCA: amixer -c 0 cset numid=3,iface=MIXER,name='Digital
Input Capture Route' 1
o S/PDIF toslink: amixer -c 0 cset
numid=3,iface=MIXER,name='Digital Input Capture Route' 2
When playing sound from stream input, it doesn't make any
difference which one the above is currently selected.
* The clock can be selected independently from the current input with
AV/C [1].
* The 2-channel output can be routed to all the digital and analog
outputs simultaneously (but analog outputs are only available if the
DAC is connected).
One can choose which outputs are active or not with the "Output
Playback Switch":
o AES/EBU on: amixer -c 0 cset numid=6,iface=MIXER,name='XLR::XLR
Output Playback Switch' 1
AES/EBU off: amixer -c 0 cset numid=6,iface=MIXER,name='XLR::XLR
Output Playback Switch' 0
o S/PDIF RCA on: amixer -c 0 cset
numid=7,iface=MIXER,name='RCA::RCA Output Playback Switch' 1
S/PDIF RCA off: amixer -c 0 cset
numid=7,iface=MIXER,name='RCA::RCA Output Playback Switch' 0
o DAC on: amixer -c 0 cset numid=10,iface=MIXER,name='DAC::DAC
Output Playback Switch' 1
DAC off: amixer -c 0 cset numid=10,iface=MIXER,name='DAC::DAC
Output Playback Switch' 0
* There is no hardware mixer capability, i.e. the inputs cannot be
routed directly to the outputs.
Our preamp mode works like this:
1. A digital input source is selected with AV/C (Toslink, or RCA, or
XLR), i.e. with "Digital Input Capture Route"
2. Clock input source is set to the same as audio input source with
AV/C [1]
3. DICE clock rate is set to external clock rate [2]
4. A simple 2-channel ALSA loopback with digital volume control is
created between input and output
I hope this answers your questions, otherwise please let me know.
Kind regards,
Michele Perrone
[1] https://github.com/weiss-engineering/snd-dice/blob/avc/dice-avc.c#L474
[2] https://github.com/weiss-engineering/snd-dice/blob/avc/dice-avc.c#L549
On 21/01/24 15:07, Takashi Sakamoto wrote:
Hi Michele Perrone, Michele Perrone,
I restart my work to support Weiss models[1] as I have enough time after
some tasks. After implementing control elements for your MAN301, I have
some questions about internal routing. Would I ask your advices about
them?
I think the model has below inputs/outputs.
* inputs
* spdif-opt-input-1/2
* spdif-coax-input-1/2
* aesebu-xlr-input-1/2
* stream-input-1/2
* outputs:
* stream-output-1/2
* spdif-coax-output-1/2
* aesebu-xlr-output-1/2
* analog-xlr-output-1/2
* analog-coax-output-1/2
And at present I guess its internal routing is like[2]:
```
spdif-opt-input-1/2 ---+
spdif-coax-input-1/2 --(or)--> digital-input-1/2 -----------------> stream-output-1/2
aesebu-xlr-input-1/2 ---+ |
v
stream-input-1/2 --------------------(or)--+----------------------> spdif-coax-output-1/2
+----------------------> aesebu-xlr-output-1/2
+--analog-output-1/2 --> analog-xlr-output-1/2
+-----------> analog-coax-output-1/2
```
Then I have some questions.
1. The signal source designated for stream-output-1/2
I think it is any type of digital input designated by control element
"Digital Input Capture Route", or source ID block which generates
silence.
2. The signal sources designated for the outputs
According to the manual of MAN301, the sources are selectable somehow.
There are two ways at least for pre-amp and player modes. I guess that
any interface is defined to configure internal router for the purpose.
[1]https://github.com/alsa-project/snd-firewire-ctl-services/tree/topic/weiss-support
[2]https://github.com/alsa-project/snd-firewire-ctl-services/blob/topic/weiss-support/protocols/dice/src/weiss/avc.rs#L12
Thanks
Takashi Sakamoto