Re: [LAD] jack_midi in jackd and jackdmp

From: Fons Adriaensen <fons@email-addr-hidden>
Date: Fri Apr 03 2009 - 21:15:48 EEST

On Fri, Apr 03, 2009 at 12:49:29PM -0500, Gabriel M. Beddingfield wrote:

> 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?
>
> ...
>
> > Isn't it common open 2 Clients ?
>
> I don't think so.

I can make sense to do that, but not for the purpose you
explained.

Your process callback is called by a thread created by
the client side of the jack library. You could in theory
change its priority but I don't think you're supposed to
do that. And it would not help - in each jack cycle *all*
process callbacks have to run and to finish in time, if
they don't jack will throw out your client.

In other words you can't delay execution of a callback.

So if you want to delay processing MIDI, the only option
is to copy the MIDI data (via a ringbuffer or a similar
system) to a lower priority thread that you create yourself.
If you do that, you can as well do it in the same client that
handles the audio.

Ciao,

-- 
FA
Io lo dico sempre: l'Italia è troppo stretta e lunga.
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
Received on Sat Apr 4 00:15:02 2009

This archive was generated by hypermail 2.1.8 : Sat Apr 04 2009 - 00:15:02 EEST