Re: [ecasound] ai-index-select, ai-remove and ao-index-select, ao-remove not working properly

From: rocco <rocco556@email-addr-hidden>
Date: Mon Apr 08 2013 - 12:38:23 EEST

> On Tue, 2 Apr 2013, rocco wrote:
>> It seems that when there are multiple input objects of the same name or
>> multiple output objects of the same name, 'ai-index-select', 'ai-remove'
>> and 'ao-index-select', 'ao-remove' removes the wrong object.

On 04/06/2013 11:50 AM, Kai Vehmanen wrote:
> yes indeed, this is a bug - ai-remove and ao-remove may remove the wrong
> objet in this case.

> I fixed this in git and uploaded a snapshot tarball with the fix at:
>
> http://ecasound.seul.org/download/snapshots/ecasound-2.9.0+dev-20130406.tar.gz

Something's still going on with this.

Here's my session...

### START ECS ###
# general
-b:512 -r:50 -z:nointbuf -z:nodb -n:"Main" -X -z:noxruns -z:nopsr
-z:mixmode,sum

# audio inputs
-a:1 -f:24,1,96000 -i:1.wav
-a:2 -f:24,1,96000 -i:2.wav
-a:3 -f:24,1,96000 -i:3.wav

# audio outputs
-a:1 -f:24,2,96000 -o:jack,system
-a:2 -f:24,2,96000 -o:jack,system
-a:3 -f:24,2,96000 -o:jack,system

# chain operators and controllers
-a:1 -chcopy:1,2 -epp:13 -ea:155
-a:2 -chcopy:1,2 -epp:85 -ea:143
-a:3 -chcopy:1,2 -epp:50 -ea:24
### END ECS ###

ecasound> ai-status

### Audio input/output status (chainsetup 'Main') ###
Input (1): "1.wav," - [DB => RIFF wave file]
  -> connected to chains "1": position (0.000/0.000) seconds.
  -> closed, audio format not available until object is opened.
Input (2): "2.wav," - [DB => RIFF wave file]
  -> connected to chains "2": position (0.000/0.000) seconds.
  -> closed, audio format not available until object is opened.
Input (3): "3.wav," - [DB => RIFF wave file]
  -> connected to chains "3": position (0.000/0.000) seconds.
  -> closed, audio format not available until object is opened.
Output (1): "jack,system," - [JACK interface]
  -> connected to chains "1": realtime-device; position 0, delay 0.
  -> closed, s24_le/2ch/96000Hz, buffer 512.
Output (2): "jack,system," - [JACK interface]
  -> connected to chains "2": realtime-device; position 0, delay 0.
  -> closed, s24_le/2ch/96000Hz, buffer 512.
Output (3): "jack,system," - [JACK interface]
  -> connected to chains "3": realtime-device; position 0, delay 0.
  -> closed, s24_le/2ch/96000Hz, buffer 512.

ecasound> ai-index-select 2

ecasound> ai-remove

(eca-control-objects) Removing selected audio input "2.wav" from
selected chains.

ecasound> ai-status

### Audio input/output status (chainsetup 'Main') ###
Input (1): "1.wav," - [DB => RIFF wave file]
  -> connected to chains "1": position (0.000/0.000) seconds.
  -> closed, audio format not available until object is opened.
Input (2): "3.wav," - [DB => RIFF wave file]
  -> connected to chains "3": position (0.000/0.000) seconds.
  -> closed, audio format not available until object is opened.
Output (1): "jack,system," - [JACK interface]
  -> connected to chains "1": realtime-device; position 0, delay 0.
  -> closed, s24_le/2ch/96000Hz, buffer 512.
Output (2): "jack,system," - [JACK interface]
  -> connected to chains "2": realtime-device; position 0, delay 0.
  -> closed, s24_le/2ch/96000Hz, buffer 512.
Output (3): "jack,system," - [JACK interface]
  -> connected to chains "3": realtime-device; position 0, delay 0.
  -> closed, s24_le/2ch/96000Hz, buffer 512.

ecasound> ao-index-select 2

ecasound> ao-remove

(eca-control-objects) Removing selected audio output "jack" from
selected chains.

ecasound> ai-status

### Audio input/output status (chainsetup 'Main') ###
Input (1): "1.wav," - [DB => RIFF wave file]
  -> connected to chains "1": position (0.000/0.000) seconds.
  -> closed, audio format not available until object is opened.
Input (2): "3.wav," - [DB => RIFF wave file]
  -> connected to chains "3": position (0.000/0.000) seconds.
  -> closed, audio format not available until object is opened.
Output (1): "jack,system," - [JACK interface]
  -> connected to chains "1": realtime-device; position 0, delay 0.
  -> closed, s24_le/2ch/96000Hz, buffer 512.
Output (2): "jack,system," - [JACK interface]
  -> connected to chains "3": realtime-device; position 0, delay 0.
  -> closed, s24_le/2ch/96000Hz, buffer 512.

ecasound> c-select 2

ecasound> c-remove

(eca-control-objects) (eca-controlled) Removed selected chains.

ecasound> cs-save-as 1.ecs

### START ECS ###
# general
-b:512 -r:50 -z:nointbuf -z:nodb -n:"Main" -X -z:noxruns -z:nopsr
-z:mixmode,sum

# audio inputs
-a:1 -f:s24_le,1,96000 -i:1.wav,
-a:3 -f:s24_le,1,96000 -i:3.wav,

# audio outputs
-a:1 -f:s24_le,2,96000 -o:jack,system,
-a:3 -f:s24_le,2,96000 -o:jack,system,

# chain operators and controllers
-a:1 -chcopy:1.00,2.00 -epp:13.00 -ea:155.00
-a:3 -chcopy:1.00,2.00 -epp:50.00 -ea:24.00
### END ECS ###

ecasound> t

(eca-chainsetup) WARNING: Input "3.wav" is not connected to any chain.
(3.1-DISCON-INPUT)
(eca-chainsetup) WARNING: Output "jack" is not connected to any chain.
(3.2-DISCON-OUTPUT)
(eca-control) NOTE: No chainsetup connected. Trying to connect currently
selected chainsetup "Main"
(eca-chainsetup) "rtlowlatency" buffering mode selected.
(eca-chainsetup) Opened input "1.wav", mode "read". Format: s24_le,
channels 1, srate 96000, interleaved (locked params).
(eca-chainsetup) Opened input "3.wav", mode "read". Format: s24_le,
channels 1, srate 96000, interleaved (locked params).
(eca-chainsetup) NOTE: using existing audio parameters -f:f32_le,2,96000
for object 'jack' (tried to open with -f:s24_le,2,96000).
(eca-chainsetup) Opened output "jack", mode "write". Format: f32_le,
channels 2, srate 96000, noninterleaved (locked params).
(eca-chainsetup) NOTE: using existing audio parameters -f:f32_le,2,96000
for object 'jack' (tried to open with -f:s24_le,2,96000).
(eca-chainsetup) Opened output "jack", mode "write". Format: f32_le,
channels 2, srate 96000, noninterleaved (locked params).
- [ Connected chainsetup: "Main" ] ---------------------------------------
- [ Controller/Processing started ] --------------------------------------
- [ Engine - Driver start ] ----------------------------------------------
(audioio_jack_manager) JACK transport: both sending and reacting to
transport events (mode: sendrecv)
(audioio_jack_manager) JACK transport: at ecasound start JACK state is
STOPPED (position 0.000sec)
ecasound ('h' for help)> (audioio_jack_manager) JACK transport: sending
out initial locate to 0.000sec
s
- [ Controller/Processing stopped ] --------------------------------------

There's a very loud buzz. And only the audio from '1.wav' can be heard.

I've also tried disconnecting the chain first, then the objects, but it
still failed.

Thanks,
Rocco

------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire
the most talented Cisco Certified professionals. Visit the
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Ecasound-list mailing list
Ecasound-list@email-addr-hidden
https://lists.sourceforge.net/lists/listinfo/ecasound-list
Received on Mon Apr 8 16:15:04 2013

This archive was generated by hypermail 2.1.8 : Mon Apr 08 2013 - 16:15:04 EEST