It appears I figured it out (Jaunty with 0.41.4 extended). Namely, in the s_audio_jack.c on the line 156 it states:
if( strcmp( "alsa_pcm", tmp_client_name ) == 0 && num_clients >
0 ) { char* tmp; /* alsa_pcm goes in spot 0 */ tmp = jack_client_names[ num_clients ]; jack_client_names[ num_clients ] = jack_client_names[0]; jack_client_names[0] = tmp; strcpy( jack_client_names[0], tmp_client_name); } else { /* put the new client at the end of the client list */ strcpy( jack_client_names[ num_clients ], tmp_client_name ); } num_clients++;
This code snippet apparently puts alsa_pcm in the first spot for jack to connect to. However on Jaunty jackd (v.0.116.1) the default i/o names are "system" rather than "alsa_pcm" (or is this qjackctl's thing?). Apparently "alsa_pcm" name is used for MIDI connections instead, so the error I get on my machine is:
cannot connect input ports alsa_pcm:Midi-Through/midi_capture_1 -> pure_data_0:input0 cannot connect output ports pure_data_0:output0 -> alsa_pcm:Midi-Through/midi_playback_1
So, it seems to me jack tries to connect to alsa_pcm and fails because those are MIDI devices. Everything starts ok, and jack audio ports are created but there are no autoconnections even if I enter -inchannels and -outchannels flags.
Once I changed line 156 to:
if( strcmp( "system", tmp_client_name ) == 0 && num_clients > 0
) //change alsa_pcm to system
Everything works fine (as it used to) and Pd autoconnects. No midi devices are created however on the MIDI tab of the qjackctl, but obviously if I specify -alsamidi option, then I do get them on the ALSA Midi tab.
So my questions are as follows:
change in jackd, or is this one of the Jaunty peculiarities? 2) what is this MIDI tab vs. ALSA Midi tab on the qjackctl? Is this MIDI synced to jackd? If so, how does one create MIDI ports in Pd inside this domain and what other apps can do this at this point in time?
Any insight in these questions is most appreciated!
Best wishes,
Ico
On Thu, May 28, 2009 at 8:19 AM, Ivica Ico Bukvic ico.bukvic@gmail.comwrote:
Hi, all works well here (0.41.4-ex..rc3 on ubuntu Jaunty), you just need to specify the channels properly:
pd -jack (not connect anything) pd -jack -channels 2 (work fine and autoconnect all) -- Lazzaro
Many thanks all for your help! I'll try suggested solutions and report back here.
Best wishes,
Ico