[LAD] jack_midi in jackd and jackdmp

Gabriel M. Beddingfield gabriel at teuton.org
Fri Apr 3 17:49:29 UTC 2009


On Fri, April 3, 2009 10:38 am, hermann meyer wrote:
> I open 2 clients because I wont 2 treads and give one (the midi tread) a
> lower prio with pthread_setschedprio. I first try to open the treads
> from one client, but I cant figure out how to do, with 2 clients that
> work fine with jackd.
> I give the midi tread a lower prio, because at least it is a audio app,
> so midi is "just a gast". On low level CPU's this protect the DSP for
> xrun's when the CPU limit is reached.

Have you run in to problems with a single-client scheme?  Was it giving
you xruns?  IMHO, this is premature optimization.  Doing two clients and
synchronizing threads is hard, error-prone work -- why not let JACK do
that work for you?

Besides, if your goal is to ignore MIDI input when the CPU load gets too
high, why not do something like:

    process(){
        if( ! too_busy_for_midi() ) {
            // process MIDI
        }

        // process AUDIO
    }

BTW, I see that your midi_process() is reading from a ringbuffer -- who is
*writing* to it?

> Isn't it common open 2 Clients ?

I don't think so.

-- 
               G a b r i e l   M   B e d d i n g f i e l d




More information about the Linux-audio-dev mailing list