Re: Ardour as a midi timecode slave

robertlazarski <[email protected]> Thu, 29 Apr 2021 11:15:01 -1000
Newsgroups gmane.comp.audio.ardour.user
Message-ID <CABpPLBXxJttz8geWehG6ijFJZ=d8puqYJM7uzfzrVSKvn5eR6w@mail.gmail.com>
--===============2543950973774851210==
Content-Type: multipart/alternative; boundary="000000000000bdef4405c122fdde"

--000000000000bdef4405c122fdde
Content-Type: text/plain; charset="UTF-8"

On Sun, Apr 25, 2021 at 9:43 AM Ralf Mardorf <[email protected]>
wrote:

> On Sun, 25 Apr 2021 08:36:42 -1000, robertlazarski wrote:
> >it only showed midi connections in the qjackctl alsa pane, not the
> >midi pane
>
> Hi,
>
> the MIDI tab is for jack MIDI and the ALSA tab is for ALSA MIDI.
> Actually connecting to external MIDI hardware is done via ALSA MIDI.
> Depending on the used setup, you need to bridge jack and ALSA MIDI.
> Keyword "a2j_control", while it's not the one and only universal
> keyword.
>

So I made some progress connecting jack_midi_clock to Rosegarden using
'a2jmidid -e' - I think that may be the equivalent of 'a2j_control start' .
With the jack transport off in Rosegarden, it accepted midi start / stop
though as expected it didn't sync BPM.

I have two problems still:

1) I need to automate the jack "rolling feature" via command line
execution, i.e. the play button in the qjackctl UI. That will start/stop
the transport in Rosegarden via jack_midi_clock start / stop commands. I
couldn't figure out how to automate the play button. Even without qjackctl
I am not sure how to start/stop jackd rolling from the command line. Any
pointers?

2) I am trying to do everything on the command line without qjackctl. I
started jackd with my user account as "/usr/bin/jackd -dalsa -dhw:USBPre2
-r48000 -p1024 -n2 -Xseq " . Then I executed jack_mclk_dump, then
"/usr/local/bin/jack_midi_clock --bpm 42 jack_mclk_dump:mclk_in" . Then
'a2jmidid -e' , then Rosegarden.

Where I am stuck is on the right syntax for a2j_control to map
jack_midi_clock:mclk_out to "rosegarden [131] (playback): record in". I
think I need the mj2a flag? Please see my qjackctl session.xml file. I am
about to buy a m-audio Uno midi interface and I am trying to figure out how
to use a2j_control to connect jack_midi_clock to it as an ALSA device since
I expect the Uno to connect to Linux over ALSA.

<!DOCTYPE qjackctlSession>
<session name="qq">
 <client name="system">
  <port type="out" name="capture_1">
   <connect port="record in 1 L" client="rosegarden"/>
  </port>
  <port type="out" name="capture_2">
   <connect port="record in 1 R" client="rosegarden"/>
  </port>
  <port type="in" name="playback_1">
   <connect port="master out L" client="rosegarden"/>
  </port>
  <port type="in" name="playback_2">
   <connect port="master out R" client="rosegarden"/>
  </port>
  <port type="out" name="midi_capture_1"/>
  <port type="in" name="midi_playback_1"/>
  <port type="in" name="midi_playback_21"/>
  <port type="out" name="midi_capture_34"/>
  <port type="out" name="midi_capture_35"/>
 </client>
 <client name="rosegarden">
  <port type="out" name="master out L">
   <connect port="playback_1" client="system"/>
  </port>
  <port type="out" name="master out R">
   <connect port="playback_2" client="system"/>
  </port>
  <port type="out" name="record monitor out L"/>
  <port type="out" name="record monitor out R"/>
  <port type="in" name="record in 1 L">
   <connect port="capture_1" client="system"/>
  </port>
  <port type="in" name="record in 1 R">
   <connect port="capture_2" client="system"/>
  </port>
  <port type="in" name="record in 2 L"/>
  <port type="in" name="record in 2 R"/>
 </client>
 <client name="jack_mclk_dump">
  <port type="in" name="mclk_in">
   <connect port="mclk_out" client="jack_midi_clock"/>
  </port>
 </client>
 <client name="a2j">
  <port type="out" name="Midi Through [14] (capture): Midi Through Port-0"/>
  <port type="in" name="Midi Through [14] (playback): Midi Through Port-0"/>
  <port type="in" name="rosegarden [131] (playback): record in">
   <connect port="mclk_out" client="jack_midi_clock"/>
  </port>
  <port type="out" name="rosegarden [131] (capture): sync out"/>
  <port type="out" name="rosegarden [131] (capture): out 1 - General MIDI
Device"/>
 </client>
 <client name="jack_midi_clock">
  <port type="out" name="mclk_out">
   <connect port="mclk_in" client="jack_mclk_dump"/>
   <connect port="rosegarden [131] (playback): record in" client="a2j"/>
  </port>
 </client>
</session>

--000000000000bdef4405c122fdde
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Sun, Apr 25, 2021 at 9:43 AM Ralf =
Mardorf &lt;<a href=3D"mailto:[email protected]">ralf.mardorf@alic=
e-dsl.net</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">On Sun, 25 Apr 2021 08:36:42 -1000, robertlazarski wrote:<br>
&gt;it only showed midi connections in the qjackctl alsa pane, not the<br>
&gt;midi pane<br>
<br>
Hi,<br>
<br>
the MIDI tab is for jack MIDI and the ALSA tab is for ALSA MIDI.<br>
Actually connecting to external MIDI hardware is done via ALSA MIDI.<br>
Depending on the used setup, you need to bridge jack and ALSA MIDI.<br>
Keyword &quot;a2j_control&quot;, while it&#39;s not the one and only univer=
sal<br>
keyword. <br></blockquote><div><br></div><div>So I made some progress conne=
cting jack_midi_clock to Rosegarden using &#39;a2jmidid -e&#39; - I think t=
hat may be the equivalent of &#39;a2j_control start&#39; . With the jack tr=
ansport off in Rosegarden, it accepted midi start / stop though as expected=
 it didn&#39;t sync BPM.=C2=A0 <br></div><div><br></div><div>I have two pro=
blems still: <br></div><div><br></div><div>1) I need to automate the jack &=
quot;rolling feature&quot; via command line execution, i.e. the play button=
 in the qjackctl UI. That will start/stop the transport in Rosegarden via j=
ack_midi_clock start / stop commands. I couldn&#39;t figure out how to auto=
mate the play button. Even without qjackctl I am not sure how to start/stop=
 jackd rolling from the command line. Any pointers? <br></div><div><br></di=
v><div>2) I am trying to do everything on the command line without qjackctl=
. I started jackd with my user account as &quot;/usr/bin/jackd -dalsa -dhw:=
USBPre2 -r48000 -p1024 -n2 -Xseq &quot; . Then I executed jack_mclk_dump, t=
hen &quot;/usr/local/bin/jack_midi_clock --bpm 42 jack_mclk_dump:mclk_in&qu=
ot; . Then &#39;a2jmidid -e&#39; , then Rosegarden. =C2=A0 </div><div><br><=
/div><div>Where I am stuck is on the right syntax for a2j_control to map ja=
ck_midi_clock:mclk_out to &quot;rosegarden [131] (playback): record in&quot=
;. I think I need the mj2a flag? Please see my qjackctl session.xml file. I=
 am about to buy a m-audio Uno midi interface and I am trying to figure out=
 how to use a2j_control to connect jack_midi_clock to it as an ALSA device =
since I expect the Uno to connect to Linux over ALSA.=C2=A0 </div><div><br>=
</div><div>&lt;!DOCTYPE qjackctlSession&gt;<br>&lt;session name=3D&quot;qq&=
quot;&gt;<br>=C2=A0&lt;client name=3D&quot;system&quot;&gt;<br>=C2=A0 &lt;p=
ort type=3D&quot;out&quot; name=3D&quot;capture_1&quot;&gt;<br>=C2=A0 =C2=
=A0&lt;connect port=3D&quot;record in 1 L&quot; client=3D&quot;rosegarden&q=
uot;/&gt;<br>=C2=A0 &lt;/port&gt;<br>=C2=A0 &lt;port type=3D&quot;out&quot;=
 name=3D&quot;capture_2&quot;&gt;<br>=C2=A0 =C2=A0&lt;connect port=3D&quot;=
record in 1 R&quot; client=3D&quot;rosegarden&quot;/&gt;<br>=C2=A0 &lt;/por=
t&gt;<br>=C2=A0 &lt;port type=3D&quot;in&quot; name=3D&quot;playback_1&quot=
;&gt;<br>=C2=A0 =C2=A0&lt;connect port=3D&quot;master out L&quot; client=3D=
&quot;rosegarden&quot;/&gt;<br>=C2=A0 &lt;/port&gt;<br>=C2=A0 &lt;port type=
=3D&quot;in&quot; name=3D&quot;playback_2&quot;&gt;<br>=C2=A0 =C2=A0&lt;con=
nect port=3D&quot;master out R&quot; client=3D&quot;rosegarden&quot;/&gt;<b=
r>=C2=A0 &lt;/port&gt;<br>=C2=A0 &lt;port type=3D&quot;out&quot; name=3D&qu=
ot;midi_capture_1&quot;/&gt;<br>=C2=A0 &lt;port type=3D&quot;in&quot; name=
=3D&quot;midi_playback_1&quot;/&gt;<br>=C2=A0 &lt;port type=3D&quot;in&quot=
; name=3D&quot;midi_playback_21&quot;/&gt;<br>=C2=A0 &lt;port type=3D&quot;=
out&quot; name=3D&quot;midi_capture_34&quot;/&gt;<br>=C2=A0 &lt;port type=
=3D&quot;out&quot; name=3D&quot;midi_capture_35&quot;/&gt;<br>=C2=A0&lt;/cl=
ient&gt;<br>=C2=A0&lt;client name=3D&quot;rosegarden&quot;&gt;<br>=C2=A0 &l=
t;port type=3D&quot;out&quot; name=3D&quot;master out L&quot;&gt;<br>=C2=A0=
 =C2=A0&lt;connect port=3D&quot;playback_1&quot; client=3D&quot;system&quot=
;/&gt;<br>=C2=A0 &lt;/port&gt;<br>=C2=A0 &lt;port type=3D&quot;out&quot; na=
me=3D&quot;master out R&quot;&gt;<br>=C2=A0 =C2=A0&lt;connect port=3D&quot;=
playback_2&quot; client=3D&quot;system&quot;/&gt;<br>=C2=A0 &lt;/port&gt;<b=
r>=C2=A0 &lt;port type=3D&quot;out&quot; name=3D&quot;record monitor out L&=
quot;/&gt;<br>=C2=A0 &lt;port type=3D&quot;out&quot; name=3D&quot;record mo=
nitor out R&quot;/&gt;<br>=C2=A0 &lt;port type=3D&quot;in&quot; name=3D&quo=
t;record in 1 L&quot;&gt;<br>=C2=A0 =C2=A0&lt;connect port=3D&quot;capture_=
1&quot; client=3D&quot;system&quot;/&gt;<br>=C2=A0 &lt;/port&gt;<br>=C2=A0 =
&lt;port type=3D&quot;in&quot; name=3D&quot;record in 1 R&quot;&gt;<br>=C2=
=A0 =C2=A0&lt;connect port=3D&quot;capture_2&quot; client=3D&quot;system&qu=
ot;/&gt;<br>=C2=A0 &lt;/port&gt;<br>=C2=A0 &lt;port type=3D&quot;in&quot; n=
ame=3D&quot;record in 2 L&quot;/&gt;<br>=C2=A0 &lt;port type=3D&quot;in&quo=
t; name=3D&quot;record in 2 R&quot;/&gt;<br>=C2=A0&lt;/client&gt;<br>=C2=A0=
&lt;client name=3D&quot;jack_mclk_dump&quot;&gt;<br>=C2=A0 &lt;port type=3D=
&quot;in&quot; name=3D&quot;mclk_in&quot;&gt;<br>=C2=A0 =C2=A0&lt;connect p=
ort=3D&quot;mclk_out&quot; client=3D&quot;jack_midi_clock&quot;/&gt;<br>=C2=
=A0 &lt;/port&gt;<br>=C2=A0&lt;/client&gt;<br>=C2=A0&lt;client name=3D&quot=
;a2j&quot;&gt;<br>=C2=A0 &lt;port type=3D&quot;out&quot; name=3D&quot;Midi =
Through [14] (capture): Midi Through Port-0&quot;/&gt;<br>=C2=A0 &lt;port t=
ype=3D&quot;in&quot; name=3D&quot;Midi Through [14] (playback): Midi Throug=
h Port-0&quot;/&gt;<br>=C2=A0 &lt;port type=3D&quot;in&quot; name=3D&quot;r=
osegarden [131] (playback): record in&quot;&gt;<br>=C2=A0 =C2=A0&lt;connect=
 port=3D&quot;mclk_out&quot; client=3D&quot;jack_midi_clock&quot;/&gt;<br>=
=C2=A0 &lt;/port&gt;<br>=C2=A0 &lt;port type=3D&quot;out&quot; name=3D&quot=
;rosegarden [131] (capture): sync out&quot;/&gt;<br>=C2=A0 &lt;port type=3D=
&quot;out&quot; name=3D&quot;rosegarden [131] (capture): out 1 - General MI=
DI Device&quot;/&gt;<br>=C2=A0&lt;/client&gt;<br>=C2=A0&lt;client name=3D&q=
uot;jack_midi_clock&quot;&gt;<br>=C2=A0 &lt;port type=3D&quot;out&quot; nam=
e=3D&quot;mclk_out&quot;&gt;<br>=C2=A0 =C2=A0&lt;connect port=3D&quot;mclk_=
in&quot; client=3D&quot;jack_mclk_dump&quot;/&gt;<br>=C2=A0 =C2=A0&lt;conne=
ct port=3D&quot;rosegarden [131] (playback): record in&quot; client=3D&quot=
;a2j&quot;/&gt;<br>=C2=A0 &lt;/port&gt;<br>=C2=A0&lt;/client&gt;<br>&lt;/se=
ssion&gt;<br></div></div></div>

--000000000000bdef4405c122fdde--

--===============2543950973774851210==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Ardour-Users mailing list
[email protected]
To unsubscribe  or change your mailing preferences please visit:
http://lists.ardour.org/listinfo.cgi/ardour-users-ardour.org

--===============2543950973774851210==--