Re: [ecasound] muting individual jack ports on completion

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Fri Jun 26 2009 - 00:59:37 EEST


On Thu, 25 Jun 2009, Jeremy Hughes wrote:

> I've discovered that when playing signals of different length, the jack port
> corresponding to the shorter signal is not muted on completion, but keeps
> playing from the buffer (in my case this translates to a repeated loop of the
> If I understand the code correctly, this happens because in
> audioio_jack_manager.cpp, muting is done on a jack-wide basis. If this condition
> I've poked around a bit, but can't figure out how to do this on a per port
> basis. I'd like to contribute a patch (time constraints permitting),
> but I need a few clues as to where to start.

hmm, that could indeed happen -- IOW a good catch! At least one way to fix
this is to modify

void AUDIO_IO_JACK_MANAGER::write_samples()

.. so that full 'buffersize_rep' of samples is copied every time
to '(*p)->cb_buffer'. In current code, 'samples' could be zero, in which
case old data could remain in the buffer.

Ecasound-list mailing list
Received on Fri Jun 26 04:15:02 2009

This archive was generated by hypermail 2.1.8 : Fri Jun 26 2009 - 04:15:02 EEST