On Thu, 2019-09-19 at 14:12 -0700, frederik@ofb.net wrote:
Thank you for the tips.
I don't know if my input is still needed, but I figured out from looking at some of the syntax you linked to that I can put this in ~/.asoundrc and it does the job (this is what I had had in mind when I asked about "magic with macros", it is somewhat advanced for me):
pcm.!pulse { @args [ DEV ] @args.DEV { type string default "default" } type pulse; device $DEV }
Now I can set up a filter like this:
ecasound -i alsa,pulse:mic -o alsa,pulse:monitor
Is something like this going into the alsa-plugins repo?
I'm sure something like this will be accepted if you submit a patch. I got the impression that Takashi isn't willing to write the patch himself, and nor am I, so you're in the best position to make this happen.
Note that
default "default"
doesn't do the intended thing with the current pcm_pulse.c code. With the current code the plugin will request PulseAudio to use a device named "default", which most likely won't exist and playback or recording will fail. The plugin code needs to pass NULL as the device name to pa_stream_connect_playback() and pa_stream_connect_record() when it detects that the default device is requested, so you'll need to modify pcm_pulse.c in order to make this work. Instead of "default" as the special string in the configuration, I suggested using "".