On tis, 2004-12-07 at 13:07 +0100, Artem Baguinski wrote:
  I'm a bit puzzled with this one thing about low
latency and jack: real
 time bits can't do IO, but don't you get latency between say me
 pressing some button and sound doing click? there's no garanty the not
 realtime part of the application will run often enough to read the
 input device, no?
  
Is this a GUI button or a MIDI button?
MIDI buttons/sliders do not need to have any noticeable latency if the
MIDI-thread is run at the (near?) same priority as jack. Although the
thread has high priority, it is mostly idle and will consume next to no
CPU.
Suppose JACK consumes 90% of your CPU, you will have 10% left to do your
MIDI IO, which is plenty for processing a handful of bytes.
GUI buttons on the othe hand are expensive to repaint by nature, and the
cost depends on what kind of eye-candy your installed GUI-theme will
use.
  just recently some heavy process started when i was
fulling around
 with some soft synths [i know that shouldn't be happening, but i just
 recently switched distros and I haven't learned enough to write
 dont-bother-me script to switch all potential sources of disturbance]
 and the GUI of the soft synth became quite irresponsive, while audio
 went on without any glitches - that's I suppose because the audio part
 was running in realtime thread and decided itself when to yield cpu. 
Hmmm ...
# man nice
NAME
       nice - run a program with modified scheduling priority
SYNOPSIS
       nice [OPTION] [COMMAND [ARG]...]
DESCRIPTION
      Run  COMMAND  with  an  adjusted scheduling priority.
      With no  COMMAND, print the current scheduling priority.
      ADJUST is 10 by default.  Range goes from -20 (highest
      priority) to 19 (lowest).
...
...
So if you do:
# nice -10 audioapp [audioapp-options]
.. your audioapp should repaint itself before any less urgent process
(with normal or slightly high priority) gets a chance at the CPU. JACK
will still run at (near?) highest priority, so if your audio-processing
demands 90% CPU there will be not so much repainting going on ...
 is the only way to ensure the effects don't lag from control input to
 make sure I run as little processes as possible and hope the input
 thread will be scheduled often enough? 
Nah .. You should be able to get your audioapps running at a priority
high enough to only be disturbed by themselves.
mvh // Jens M Andreasen