diff options
Diffstat (limited to '.config/alsa/asoundrc')
-rw-r--r-- | .config/alsa/asoundrc | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/.config/alsa/asoundrc b/.config/alsa/asoundrc new file mode 100644 index 0000000..cf9ab5b --- /dev/null +++ b/.config/alsa/asoundrc @@ -0,0 +1,104 @@ +@hooks [{ + func load; files [{ + @func concat; strings [ + { @func getenv; vars [ XDG_CONFIG_HOME ]; default "~/.config"; } + "/alsa/asoundrc-" + { @func getenv; vars [ HOSTNAME ]; default "default"; } + ] + }] + errors true; +}] + +pcm.unified { + type asym; + capture.pcm "PrimaryCapture"; + playback.pcm "PrimaryPlayback"; + #playback.pcm "plug:both"; +} + +pcm.both { + type plug + slave.pcm { + type route; + slave.pcm { + type multi; + slaves { + a.pcm "PrimaryPlayback" + #b.pcm "null" + b.pcm "plug:dmix:Loopback" + #b.pcm "plug:aloop" + #c.pcm "null" + a.channels 2 + b.channels 2 + #c.channels 2 + } + bindings { + 0 { slave a; channel 0 } + 1 { slave a; channel 1 } + 2 { slave b; channel 0 } + 3 { slave b; channel 1 } + #4 { slave c; channel 0 } + #5 { slave c; channel 1 } + } + } + ttable { + 0 { + 0 1; + 2 1; + #4 1; + } + 1 { + 1 1; + 3 1; + #5 1; + } + } + } +} + +pcm.aloop { + type asym; + capture.pcm { +# i don't know why i can't just plug:dsnoop:Loopback,1 here + type plug; + slave.pcm "dsnoop:Loopback,1"; + } + playback.pcm "plug:dmix:Loopback"; +} + +pcm.dsnoopaloop { + type dsnoop + ipc_key 98 + slave { + pcm "hw:Loopback,1,0"; + rate 48000; + period_size 1024; + } +} + +pcm.dmixaloop { + type dmix + ipc_key 99 + slave { + pcm "hw:Loopback,0,0"; + rate 48000; + period_size 1024; + } +} + +pcm.btcar { + profile a2dp + #type bluetooth # old 1.0 + type bluealsa # new 1.1 + device 00:00:00:66:6F:73 # killed by voltage regulator +} + +pcm.bthome { + profile a2dp + #type bluetooth # old 1.0 + type bluealsa # new 1.1 + device C8:84:47:03:B4:54 +} + +defaults.bluealsa.profile a2dp +#defaults.bluealsa.delay 10000 |