From 200bfe91ca84e179040e47cca7eb15a34e59f758 Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Tue, 24 Sep 2013 21:38:37 -0700 Subject: [PATCH] Mixer: Effectively whitelist TAP plugins even though flagged as not RT safe. --- mixer/src/LADSPAInfo.C | 11 ++++++++++- mixer/src/Plugin_Module.C | 11 ++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/mixer/src/LADSPAInfo.C b/mixer/src/LADSPAInfo.C index b3f96eb..8fc611e 100644 --- a/mixer/src/LADSPAInfo.C +++ b/mixer/src/LADSPAInfo.C @@ -769,7 +769,16 @@ LADSPAInfo::CheckPlugin(const LADSPA_Descriptor *desc) "WARNING: Plugin cannot use in place processing"); test(desc->PortCount, "WARNING: Plugin has no ports"); test(desc->Name, "WARNING: Plugin has no name" ); - test(LADSPA_IS_HARD_RT_CAPABLE( desc->Properties ), "WARNING: Plugin is not RT capable" ); + + if ( strcmp( desc->Maker, "Tom Szilagyi" ) ) + { + /* The author of the TAP plugins has a very narrow + * interpretation of the HARD RT hint which differs from + * most everyone else, so we are left in the unfortunate + * position of having to ignore the hint for TAP plugins + * and consider them all RT safe */ + test(LADSPA_IS_HARD_RT_CAPABLE( desc->Properties ), "WARNING: Plugin is not RT capable" ); + } return true; } diff --git a/mixer/src/Plugin_Module.C b/mixer/src/Plugin_Module.C index 6b13b09..09126a1 100644 --- a/mixer/src/Plugin_Module.C +++ b/mixer/src/Plugin_Module.C @@ -454,11 +454,12 @@ Plugin_Module::load ( unsigned long id ) WARNING( "Cannot use this plugin because it is incapable of processing audio in-place" ); return false; } - else if ( ! LADSPA_IS_HARD_RT_CAPABLE( _idata->descriptor->Properties ) ) - { - WARNING( "Cannot use this plugin because it is incapable of hard real-time operation" ); - return false; - } + + /* else if ( ! LADSPA_IS_HARD_RT_CAPABLE( _idata->descriptor->Properties ) ) */ + /* { */ + /* WARNING( "Cannot use this plugin because it is incapable of hard real-time operation" ); */ + /* return false; */ + /* } */ MESSAGE( "Name: %s", _idata->descriptor->Name );