alsa-project / alsa-ucm-conf

ALSA Use Case Manager configuration
BSD 3-Clause "New" or "Revised" License
76 stars 218 forks source link

Possible wrong priority in the Behringer UMC configs #372

Open Zelaf opened 10 months ago

Zelaf commented 10 months ago

I noticed that whenever I plug my UMC404HD in that the default output always sets to Line B and that Input 4 always get selected as the Input.

I looked at the UMC404HD config and noticed that the priority gets increased by 100 with Line B having a priority of 100 and Line A having a priority of 200.

The inputs have from Input 4 to Input 1 have a priority of 100, 200, 300 and 400 respectively.

I'm thinking, wouldn't the correct priority be reversed? I think my PipeWire/WirePlumber configuration reads the priority with the lower taking higher priority and I'm unsure if that's the correct way to read the config according to ALSA standards or if my configuration is the odd one.

I'll happily make a PR to fix this if that's the case.

Zelaf commented 10 months ago

So after some more research on setting default devices it seems like it might be more complex then I would like. Is there a way to set the default playback and record of devices for a card in the UCM config? Currently I've changed the config to be like:

SectionDevice."Mic4" {
    Comment "Input 4"

    Value {
        CapturePriority 400
        CaptureMixer "default:${CardId}"
        CaptureMixerElem "Input 4"
    }
    Macro.pcm_split.SplitPCMDevice {
        Name "umc404hd_mono_in"
        Direction Capture
        HWChannels 4
        Channels 1
        Channel0 3
        ChannelPos0 MONO
    }
}

But this won't change the actual priority of the default set. For some reason, maybe because I'm running a Fedora Kinoite spin which is containerized, it seems like any defaults I set is not saved. I'm gonna try and mess with .asoundrc and see if I can get anywhere there but if it would be possible to set it in the UCM config that would be great. I'm wondering if CaptureMixer "default:${CardId}" has anything to do with it or if there's a config option I can't find anywhere.

Any help would be welcome!

perexg commented 10 months ago

Higher priority means first for the selection. It seems that the current UCM code in pipewire does not honor this.