-u commandline option
[a2jmidid.git] / README
blobea773ccb20cf1d760fe0a3aaf9b3d4f03f5e4011
1 = Overview =
2 Main goal of this project main is to ease usage of legacy, not
3 JACK-ified apps, in a JACK MIDI enabled system.
5 There are two ways to use legacy ALSA sequencer applications in JACK
6 MIDI system.
8 The first approach is to use automatic bridging. For every ALSA
9 sequencer port you get one JACK MIDI port. If ALSA sequencer port is
10 both input and output one, you get two JACK MIDI ports, one input and
11 output.
13 The second approach is to static bridges. You start application that
14 creates one ALSA sequencer port and one JACK MIDI port. Such bridge is
15 unidirectional.
17 First approach works almost always except when legacy ALSA sequencer
18 application does not create ports and/or wants existing port to exist
19 so it can capture from or playback to it. Such programs are using the
20 feature of ALSA sequencer framework that allows sending and receiving
21 MIDI events to/from port, without creating connection to it.
23 = a2jmidid =
24 a2jmidid is daemon that implements automatic bridging. For every ALSA
25 sequencer port you get one jack midi port. If ALSA sequencer port is
26 both input and output one, you get two JACK MIDI ports, one input and
27 output.
29 a2jmidid has two modes of operation, running bridge manually and
30 background D-Bus service.
32 To start a2jmidid in manual mode, just run it (and don't supply the
33 special "undocumented" dbus parameter). a2jmidid will start bridging,
34 and you will get output on stdout and stderr. You can stop the bridge
35 using ctrl-c.
37 Usually you want to bridge software ports and not bridge hardware
38 ports (they are handled by JACK itself). In case you want to force
39 a2jmidid to bridge hardware ports, you can use the export-hw option:
41 a2jmidid -e
45 a2jmidid --export-hw
47 In D-Bus service mode, a2jmidid works in background. When service
48 access is requested by some application (like a2j_control), dbus
49 session bus daemon activates the object by executing the service
50 executable. The object has methods for starting and stopping the
51 bridging. You can use a2j_control to do this:
53 a2j_control start
54 a2j_control stop
56 You can deactivate (that may cause later reactivation) the service
57 like this:
59 a2j_control exit
61 You can query the bridge status using this command:
63 a2j_control status
65 There also methods (and corresponding a2j_control commands) that can
66 be used to query mapping information.
68 a2jmidid implementation is based on jack-alsamidi-0.5 that is [almost]
69 same as jackd ALSA "seq" MIDI backend), both created by Dmitry
70 Baikov.
72 = a2jmidi_bridge =
73 a2jmidi_bridge is static bridge that creates one ALSA sequencer
74 playback port and one JACK MIDI capture port. MIDI events sent to ALSA
75 sequencer playback port can be read from the JACK MIDI capture port.
77 a2jmidi_bridge has optional argument that allows overriding name used
78 for JACK and ALSA client:
80 a2jmidi_bridge "my precious bridge"
82 a2jmidi_bridge implementation is based on alsaseq2jackmidi by Sean
83 Bolton.
85 = j2amidi_bridge =
86 j2amidi_bridge is static bridge that creates one JACK MIDI playback
87 port and one ALSA sequencer capture port. MIDI events sent to JACK
88 MIDI playback port can be read from the ALSA sequencer capture port.
90 j2amidi_bridge has optional argument that allows overriding name used
91 for JACK and ALSA client:
93 j2amidi_bridge "my precious bridge"
95 j2amidi_bridge implementation is based on jackmidi2alsaseq by Lars
96 Luthman.
98 = Contact info =
99 If someone wants to contribute please, contact me (Nedko Arnaudov), or
100 send patches, or request inclusion (Gna! a2jmidid project).
102 Packagers are more than welcome too.