zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit 4bfef06e003980c94ef03ee507e8d4182c89aa36
parent 37a6c99a15b468d315d9cebc9d20695b02dbc2a5
Author: paulnasca <paulnasca>
Date:   Mon, 30 Oct 2006 16:32:19 +0000

*** empty log message ***

Diffstat:
MChangeLog | 1+
Msrc/Output/JACKaudiooutput.C | 11++++++++---
2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -805,5 +805,6 @@ 16 Apr 2006 - Corectata o eroare care facea ca sa nu se foloseasca insertion effect la master 20 Aug 2006 - Adaugat 88200 ca rata de esantionare 14 Sep 2006 - Se afiseaza spectrul la nota cu frecventa de 440 Hz la Oscil si pentru parametru Adaptive Harmonics +30 Oct 2006 - Adaugat un patch "standalone zombie fix stripped from Lars" diff --git a/src/Output/JACKaudiooutput.C b/src/Output/JACKaudiooutput.C @@ -77,9 +77,14 @@ int jackprocess(jack_nframes_t nframes,void *arg){ jack_default_audio_sample_t *outl=(jack_default_audio_sample_t *) jack_port_get_buffer (outport_left, nframes); jack_default_audio_sample_t *outr=(jack_default_audio_sample_t *) jack_port_get_buffer (outport_right, nframes); - pthread_mutex_lock(&jackmaster->mutex); - jackmaster->GetAudioOutSamples(nframes,jack_get_sample_rate(jackclient),outl,outr); - pthread_mutex_unlock(&jackmaster->mutex); + if (!pthread_mutex_trylock(&jackmaster->mutex)) { + 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); + } return(0); };