[nama] Re: Bypass and ecasound crash.

  • From: Joel Roth <joelz@xxxxxxxxx>
  • To: nama@xxxxxxxxxxxxx
  • Date: Sat, 7 Apr 2012 11:00:32 -1000

On Sat, Apr 07, 2012 at 03:48:55PM -0400, S. Massy wrote:
> On Fri, Apr 06, 2012 at 05:00:12PM -1000, Joel Roth wrote:
> > Perhaps we should allow for two delays,
> > before and after. Let me know what delays work for you.
> >
> I had the same thought. I tried $delay/2 before and after, which mostly
> worked, but would still sometimes crash; so I now have 2/3 of $delay
> before and 1/3 after, which seems to be a winning combination so far. I
> guess I could have tried just moving the sleeper before execution of
> $coderef->(), but I feared it might cause problems with seeking. So far,
> though, the 2/3 1/3 compromise seems to be a win/win. I also increased
> fading resolution to 50 steps/second without immediately obvious
> deleterious side-effects. Time will tell...
 
> I don't think anybody envisioned such a complex use-case at the
> time the ECI was designed. The use-cases were mostly simple batch
> processing or live DSP, I don't think anyone imagined a mad-scientist
> would come and make a DAW out of ecasound! :)

I guess I wasn't around then (mad, yes, scientist ??)
 
> > Until we get some logging, we are stuck with this
> > sort of trial-and-error testing, which is a PITA.
> The more these ecasound issues come up, the more I become convinced of
> that. It gets difficult to determine which IAM commands interract to
> cause crashes.

> > I'd  be interested to know if sending commands
> > via socket is an atomic action. If not, perhaps we
> > need to a create a queue or use a semaphore 
> > to avoid conflicts.

> In the end, that probably would be the easiest solution: feed ecasound
> piecemeal.
 
Thinking some more, we would certainly see errors if ECI commands got 
garbled somehow.

I'm not sure what you mean by 'piecemeal', already only 
one command goes at a time, and I'm sure Ecasound
buffers them. Perhaps we could experiment with 
some small delays after every command.

We do have one other--perhaps minor--way to help
troubleshoot. While I believe both Audio::Ecasound and
Net-ECI both are fundamentally the same under the hood,
it can be worth switching between them to 
see if the same error patterns appear (-l and -n flags).

Best,

> Cheers,
> S.M.
> 

-- 
Joel Roth

Other related posts: