I think I figured out what was causing the recent odd-behavior in
qtractor (which has otherwise been stable enough to use as my main
DAW).
The problem was operator error and not qtractor. I had recently
enabled the high-res timer and had accidentally set
"View->Options->MIDI->Playback->Queue timer (resolution)" to
"PCM
Playback 1-0-0. (slave)" instead of ""PCM Playback 2-0-0. (slave)"...
this caused the MIDI to go all wonky, and caused various freezes when
making changes to the MIDI configuration. The problem is that jack is
not talking to "playback 1-0-0" it is running on "playback 2-0-0" ...
I finally figured this one out because qtractor would occassionally
start rolling (as if play got clicked) simply by starting up the
program. That's when I started investigating the value of the midi
queue timer and found the erroneous setting.
Previously, in thread "Is ALSA using hrtimer?" I asked about these
settings... I guess I found out the hard way what happens when you set
to the wrong value!
For those that have an HRtimer, should the queue timer be set to "HR
timer (1000000000 hz)"? "(default)" or slaved to the specific
soundcard that jack is managing?
http://linuxaudio.org/mailarchive/lau/2010/5/31/169505
..................
BTW, now that I've enabled hr timer, I notice that qtractor 's
View->Options->MIDI->Playback has an entry for
"Queue timer (resolution):
[ (default), system timer (1000 Hz), HR timer (1000000000 hz), PCM
Playback 0-0-0. (slave), PCM Playback 0-0-1 (slave), ... ]"
What happens if I use "HR timer" instead of "(default)" or a specific
PCM slave, when recording/playing back audio clips ?
Does "PCM playback (slave)" mean the audio sample-clock is sync'd to
the midi clock, or vice-versa? And if snd-hrtimer is available,
wouldn't both audio and midi be using the same clock? (per Grant's
comment ''CONFIG_SND_HRTIMER says: "ALSA uses the hrtimer as a precise
timing source. The ALSA sequencer code also can use this timing
source."'' )
W/r/t qtractor, does (default) "do the right thing" or should I be
choosing a specific option based on use?
I guess I'll find out...
...................
-- Niels
http://nielsmayer.com
PS: to prevent this error in the future, would it be possible to
suppress incorrect values from the choices presented for "queue timer
(resolution)" ... for example don't allow user to select "PCM Playback
0-0-0 (slave) if that is not the device being managed by Jack.