[nama] Re: Bypass and ecasound crash.

  • From: Joel Roth <joelz@xxxxxxxxx>
  • To: nama@xxxxxxxxxxxxx
  • Date: Fri, 6 Apr 2012 10:26:19 -1000

On Fri, Apr 06, 2012 at 02:36:37PM -0400, S. Massy wrote:
> Hello,
> 
> I just spent about 20 minutes or so moving an iam_eval("stop") statement
> around in replace_effect, and found out that the call to remove_effect is what
> causes the crash, though there must be a specific reason for it, since
> remove_effect doesn't otherwise cause ecasound to crash. For now, I stop
> the engine before remove_effect and restart it at the end of the
> subroutine, which gives me bypass with a hickup, but no crash. 

Great that you've been able to track this down...
at least partway.

I've wrapped the code for replace_effect() with
jack_stop_do_start(), so both bypass and restore get
that, with a 0.03s delay for good luck.

When all is good, we may want to 
use fades to avoid the hiccups.

Also, I found one bit of unnecessary code to remove:

-       # delete controllers
-
-       map { remove_effect($_) } @{ owns($op)||[] }; 

since remove_effect($op) already handles controllers.

> BTW, mute/solo seem to be behaving stably so far.

Good news. Nama should be considerate, as Ecasound, like some
poor women (and men), doesn't seem to recognize when it is
being abused.

One day when I get logging set up properly, we should be
able to get the iam commands with time stamps for
troubleshooting.

For now, just getting bypass to work is excellent.
A simple idea that has turned out to be quite a big feature.

Best,

> Cheers,
> S.M.
> -- 
> 

-- 
Joel Roth

Other related posts: