[Alsaplayer-devel][PATCH] specify jack connections on cmd-line
Mark Gibson
mark@markg.co.uk
Fri, 8 Feb 2002 19:06:58 +0000 (GMT)
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.
---1463811583-185768009-1013195218=:25646
Content-Type: TEXT/PLAIN; charset=US-ASCII
Hi, i've been playing arround with AlsaPlayer and Jack.
I needed to be able to specify the connections that
AlsaPlayer makes to Jack instead of the default:
alsa_pcm:out_1&2
so i've made some small changes to Main.cpp and AlsaNode.cpp:
when you start alsaplayer with "-o jack", you can now
specify the connections using:
-d port1[,port2]
eg: alsaplayer -o jack -d alsa_pcm:out_3,alsa_pcm:out_4
if the port2 is not given, then it is set to port1 -
essentially producing a mono mix.
ie: alsaplayer -o jack -d alsa_pcm:out_2
is the same as:
alsaplayer -o jack -d alsa_pcm:out_2,alsa_pcm:out_2
if -d is not given then:
alsa_pcm:out_1,alsa_pcm:out_2 is assumed.
The patch is a bit of a hack, the port names are passed
to AlsaNode in the "name" arg as:
"jack <port1> <port2>"
and i'm not sure whether port names have a limited length.
(my C/C++ skills are a bit rusty, too much Java!)
I hope this may be of use to someone, it is to me :)
The patches for the two files are attached.
- Mark.
---1463811583-185768009-1013195218=:25646
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ap_alsanode.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.40.0202081906580.25646@bod.spanky.net>
Content-Description: AlsaNode.cpp patch
Content-Disposition: attachment; filename="ap_alsanode.patch"
KioqIEFsc2FOb2RlLmNwcC5+MS45Ln4JRnJpIEZlYiAgOCAxNDowNTo0OSAy
MDAyDQotLS0gQWxzYU5vZGUuY3BwCUZyaSBGZWIgIDggMTg6MjI6MDYgMjAw
Mg0KKioqKioqKioqKioqKioqDQoqKiogNTQsNjEgKioqKg0KICAJdXNlX3Bj
bSA9IG5hbWU7DQogICNpZmRlZiBVU0VfSkFDSwkNCiAgCWNoYXIgY2xpZW50
X25hbWVbMzJdOw0KICAJdXNlX2phY2sgPSAwOw0KISAjZW5kaWYJDQogIAly
ZWFsdGltZV9zY2hlZCA9IHJlYWx0aW1lOw0KICAJc2FtcGxlX2ZyZXEgPSBP
VVRQVVRfUkFURTsNCiAgDQotLS0gNTQsNjIgLS0tLQ0KICAJdXNlX3BjbSA9
IG5hbWU7DQogICNpZmRlZiBVU0VfSkFDSwkNCiAgCWNoYXIgY2xpZW50X25h
bWVbMzJdOw0KKyAJY2hhciBkZXN0X3BvcnQxWzMyXSwgZGVzdF9wb3J0Mlsz
Ml07DQogIAl1c2VfamFjayA9IDA7DQohICNlbmRpZg0KICAJcmVhbHRpbWVf
c2NoZWQgPSByZWFsdGltZTsNCiAgCXNhbXBsZV9mcmVxID0gT1VUUFVUX1JB
VEU7DQogIA0KKioqKioqKioqKioqKioqDQoqKiogNjUsNzEgKioqKg0KICAj
aWZkZWYgVVNFX0pBQ0sNCiAgCXNwcmludGYoY2xpZW50X25hbWUsICJhbHNh
cGxheWVyLSVkIiwgZ2V0cGlkKCkpOw0KICANCiEgCWlmIChzdHJjbXAobmFt
ZSwgImphY2siKSA9PSAwKSB7IC8vIFVzZSBKQUNLDQogIAkJaWYgKChjbGll
bnQgPSBqYWNrX2NsaWVudF9uZXcoY2xpZW50X25hbWUpKSA9PSAwKSB7DQog
IAkJCWFsc2FwbGF5ZXJfZXJyb3IoImphY2sgc2VydmVyIG5vdCBydW5uaW5n
PyIpOw0KICAJCQlyZXR1cm47DQotLS0gNjYsNzIgLS0tLQ0KICAjaWZkZWYg
VVNFX0pBQ0sNCiAgCXNwcmludGYoY2xpZW50X25hbWUsICJhbHNhcGxheWVy
LSVkIiwgZ2V0cGlkKCkpOw0KICANCiEgCWlmIChzdHJuY21wKG5hbWUsICJq
YWNrIiwgNCkgPT0gMCkgeyAvLyBVc2UgSkFDSw0KICAJCWlmICgoY2xpZW50
ID0gamFja19jbGllbnRfbmV3KGNsaWVudF9uYW1lKSkgPT0gMCkgew0KICAJ
CQlhbHNhcGxheWVyX2Vycm9yKCJqYWNrIHNlcnZlciBub3QgcnVubmluZz8i
KTsNCiAgCQkJcmV0dXJuOw0KKioqKioqKioqKioqKioqDQoqKiogODgsOTkg
KioqKg0KICAJCX0JDQogIAkJcHJpbnRmKCJjbGllbnQgYWN0aXZhdGVkXG4i
KTsNCiAgCQ0KICAJCWlmIChqYWNrX2Nvbm5lY3QgKGNsaWVudCwgamFja19w
b3J0X25hbWUobXlfb3V0cHV0X3BvcnQxKSwNCiEgCQkJCSJhbHNhX3BjbTpv
dXRfMSIpKSB7DQogIAkJCQlhbHNhcGxheWVyX2Vycm9yKCJjYW5ub3QgY29u
bmVjdCBvdXRwdXQgcG9ydCAxIik7DQogIAkJfQkJDQogIAkJaWYgKGphY2tf
Y29ubmVjdCAoY2xpZW50LCBqYWNrX3BvcnRfbmFtZShteV9vdXRwdXRfcG9y
dDIpLA0KISAJCQkJImFsc2FfcGNtOm91dF8yIikpIHsNCiAgCQkJCWFsc2Fw
bGF5ZXJfZXJyb3IoImNhbm5vdCBjb25uZWN0IG91dHB1dCBwb3J0IDIiKTsN
CiAgCQl9CQkNCiAgCQ0KLS0tIDg5LDEwOCAtLS0tDQogIAkJfQkNCiAgCQlw
cmludGYoImNsaWVudCBhY3RpdmF0ZWRcbiIpOw0KICAJDQorIAkJc3RyY3B5
KGRlc3RfcG9ydDEsICJhbHNhX3BjbTpvdXRfMSIpOw0KKyAJCXN0cmNweShk
ZXN0X3BvcnQyLCAiYWxzYV9wY206b3V0XzIiKTsNCisgCQlpZiAoc3NjYW5m
KG5hbWUsICJqYWNrICUzMXMgJTMxcyIsIGRlc3RfcG9ydDEsIGRlc3RfcG9y
dDIpID09IDEpIHsNCisgCQkgIHN0cmNweShkZXN0X3BvcnQyLCBkZXN0X3Bv
cnQxKTsNCisgCQl9DQorIA0KKyAJCXByaW50ZigiY29ubmVjdGluZyB0byBq
YWNrIHBvcnRzOiAlcyAmICVzXG4iLCBkZXN0X3BvcnQxLCBkZXN0X3BvcnQy
KTsNCisgDQogIAkJaWYgKGphY2tfY29ubmVjdCAoY2xpZW50LCBqYWNrX3Bv
cnRfbmFtZShteV9vdXRwdXRfcG9ydDEpLA0KISAJCQkJZGVzdF9wb3J0MSkp
IHsNCiAgCQkJCWFsc2FwbGF5ZXJfZXJyb3IoImNhbm5vdCBjb25uZWN0IG91
dHB1dCBwb3J0IDEiKTsNCiAgCQl9CQkNCiAgCQlpZiAoamFja19jb25uZWN0
IChjbGllbnQsIGphY2tfcG9ydF9uYW1lKG15X291dHB1dF9wb3J0MiksDQoh
IAkJCQlkZXN0X3BvcnQyKSkgew0KICAJCQkJYWxzYXBsYXllcl9lcnJvcigi
Y2Fubm90IGNvbm5lY3Qgb3V0cHV0IHBvcnQgMiIpOw0KICAJCX0JCQ0KICAJ
DQo=
---1463811583-185768009-1013195218=:25646
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="ap_main.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.40.0202081906581.25646@bod.spanky.net>
Content-Description: Main.cpp patch
Content-Disposition: attachment; filename="ap_main.patch"
KioqIE1haW4uY3BwLn4xLjE2Ln4JU2F0IERlYyAgMSAxNDozMToyNyAyMDAx
DQotLS0gTWFpbi5jcHAJRnJpIEZlYiAgOCAxNzozNToxOCAyMDAyDQoqKioq
KioqKioqKioqKioNCioqKiA0NDIsNDQ4ICoqKioNCiAgCS8vIENoZWNrIGlm
IHdlIHdhbnQgamFjaw0KICAJaWYgKHN0cmNtcChhcmd2WzBdLCAiamFja3Bs
YXllciIpID09IDAgfHwNCiAgCQkJc3RyY21wKHVzZV9vdXRwdXQsICJqYWNr
IikgPT0gMCkgew0KISAJCW5vZGUgPSBuZXcgQWxzYU5vZGUoImphY2siLCB1
c2VfcmVhbHRpbWUpOw0KICAJfSBlbHNlIHsgLy8gRWxzZSBkbyB0aGUgdXN1
YWwgcGx1Z2luIGJhc2VkIHRoaW5nDQogIAkJbm9kZSA9IG5ldyBBbHNhTm9k
ZSh1c2VfcGNtLCB1c2VfcmVhbHRpbWUpOw0KICAJCWlmICh1c2VfdXNlcikg
ew0KLS0tIDQ0Miw0NTcgLS0tLQ0KICAJLy8gQ2hlY2sgaWYgd2Ugd2FudCBq
YWNrDQogIAlpZiAoc3RyY21wKGFyZ3ZbMF0sICJqYWNrcGxheWVyIikgPT0g
MCB8fA0KICAJCQlzdHJjbXAodXNlX291dHB1dCwgImphY2siKSA9PSAwKSB7
DQohIA0KISAJICBpZiAodXNlX3BjbSAhPSBkZWZhdWx0X3BjbV9kZXZpY2Up
IHsNCiEgCQljaGFyICpjb21tYTsNCiEgCQlzbnByaW50Zih1c2Vfb3V0cHV0
LCAyNTUsICJqYWNrICVzIiwgdXNlX3BjbSk7DQohIAkJaWYgKGNvbW1hID0g
c3RyY2hyKHVzZV9vdXRwdXQsICcsJykpIHsNCiEgCQkgICpjb21tYSA9ICcg
JzsNCiEgCQl9DQohIAkgIH0NCiEgDQohIAkJbm9kZSA9IG5ldyBBbHNhTm9k
ZSh1c2Vfb3V0cHV0LCB1c2VfcmVhbHRpbWUpOw0KICAJfSBlbHNlIHsgLy8g
RWxzZSBkbyB0aGUgdXN1YWwgcGx1Z2luIGJhc2VkIHRoaW5nDQogIAkJbm9k
ZSA9IG5ldyBBbHNhTm9kZSh1c2VfcGNtLCB1c2VfcmVhbHRpbWUpOw0KICAJ
CWlmICh1c2VfdXNlcikgew0K
---1463811583-185768009-1013195218=:25646--