[LAU] Heads Up! ZynAddSubFX

Folderol folderol at ukfsn.org
Sun Jul 26 17:33:32 EDT 2009


On Mon, 20 Jul 2009 23:03:36 +0000 (GMT)
Frank Kober <goemusic at yahoo.fr> wrote:

> 
> Playing a bit more with it I see that I traded in the disconnections/xruns for crackling when the CPU load goes up a bit, so there was much wishful thinking when I last posted, I also thought it was part of the bug fixes announced... On my system, which is an old mono-proc 2.6 GHz this is actually not so painful, however on a friend's system (bi-proc 1.6 GHz) the crackling already appeared with low-demanding sounds, and in that case it wouldn't useful for doing recordings.
> So let's hope the team finds a solution to this...indeed not much improvement to the most serious problem until now. 
> Regards
> Frank
> 
> --- En date de : Dim 19.7.09, Atte Andre Jensen <atte.jensen at gmail.com> a écrit :
> 
> > De: Atte Andre Jensen <atte.jensen at gmail.com>
> > Objet: Re: [LAU] Heads Up! ZynAddSubFX
> > À: 
> > Cc: linux-audio-user at lists.linuxaudio.org
> > Date: Dimanche 19 Juillet 2009, 16h27
> > Folderol wrote:
> > 
> > > Paun N has just made a pre-release version 2.4.0
> > available.
> > > Now would be a good time to try it and stress test
> > it!
> > 
> > As far as I can see Paul N hasnt't developed anything, just
> > wrapped the 
> > new teams changes in a release. Can anyone confirm this?
> > 
> > At least there is no mention of the impelmentation of the 
> > realtime-safeness we're all waiting for. So it seems
> > performance should 
> > be no better/worse than 1 month ago (that is if you've been
> > tracking cvs)...
> > 
> > -- 
> > Atte

This is being very intensively worked on. There is a temporary fix,
which cures the defect completely, but partially returns to the RT
unsafe situation. I found it worth doing, for the sake of all the other
benefits.


In src/Output/JACKaudiooutput.cpp change the folowing lines:
===================================================================
if (!pthread_mutex_trylock(&jackmaster->mutex)) {
    JACKhandlemidi(nframes);

jackmaster->GetAudioOutSamples(nframes,jack_get_sample_rate(jackclient),outl,outr);
    pthread_mutex_unlock(&jackmaster->mutex);
} else {
    memset(outl, 0, sizeof(jack_default_audio_sample_t) * nframes);
    memset(outr, 0, sizeof(jack_default_audio_sample_t) * nframes);
}
===================================================================
to
=================================================================
pthread_mutex_trylock(&jackmaster->mutex);
jackmaster->GetAudioOutSamples(nframes,jack_get_sample_rate(jackclient),outl,outr);
pthread_mutex_unlock(&jackmaster->mutex);
=================================================================

Also, an annoying little detail is that all the controllers are enabled
by default except main volume (controller 7) which is, of course, the
one I *always* want!

The change below cures that, and I believe will be rolled into the next
mantenance release.

In src/Params/Controller.cpp

Change:
    "volume.receive=0;"
To:
    "volume.receive=1;"


-- 
Will J Godfrey
http://www.musically.me.uk



More information about the Linux-audio-user mailing list