blob: 82a32eaf4997d3211ccff758e8899d2ad6116a53 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
@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";
}
# OBS: capture aloop, mpv --audio-device=alsa/both or aloop
pcm.both {
type plug
slave.pcm {
type route;
slave.pcm {
type multi;
slaves {
a.pcm "PrimaryPlayback"
#b.pcm "null"
b.pcm "aloop"
#c.pcm "null"
#c.pcm "bthome"
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";
}
# extraneous test of subdev syntax
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
}
# Note: dmix only works with hw pcms, not bluealsa. If dmixing is desired:
# alsaloop -C hw:Loopback,1,0 -P bthome # or 1,1
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
|