[nama] Re: Using dummy I/O (rtnull) for debugging

  • From: Joel Roth <joelz@xxxxxxxxx>
  • To: nama@xxxxxxxxxxxxx
  • Date: Sun, 1 Apr 2012 19:50:20 -1000

Hi Massy,

On Mon, Mar 26, 2012 at 12:54:28PM -0400, S. Massy wrote:
> Hello,
> 
> Would there be a reasonably easy/simple way to replace every live object
> (i.e -[io]:jack,.*) with rtnull for debugging purposes? 

In IO.pm, I find there a mapping from routing graph
source/sink types to ::IO::* classes (see below). Objects in
these classes generate the Ecasound chain inputs and
outputs.

If we replace this mapping so that all JACK I/O types and
soundcard I/O types map to ::IO::from_rtnull and
::IO::to_rtnull, I think we will be close to what you want.

The command could be named 'arm_rtnull' and would
be used like 'arm' for a one-time change. Does that
sound like it would meet your needs?

FYI, this the current mapping:

-------------------------------------------------------
    our %io_class = qw(
        null_in                                 ::IO::from_null
        null_out                                ::IO::to_null
        soundcard_in                    ::IO::from_soundcard
        soundcard_out                   ::IO::to_soundcard
        soundcard_device_in     ::IO::from_soundcard_device
        soundcard_device_out    ::IO::to_soundcard_device
        wav_in                                  ::IO::from_wav
        wav_out                                 ::IO::to_wav
        loop_source                             ::IO::from_loop
        loop_sink                               ::IO::to_loop
        jack_manual_in                  ::IO::from_jack_port
        jack_manual_out                 ::IO::to_jack_port
        jack_ports_list_in              ::IO::from_jack_port
        jack_ports_list_out             ::IO::to_jack_port
        jack_multi_in                   ::IO::from_jack_multi
        jack_multi_out                  ::IO::to_jack_multi
        jack_client_in                  ::IO::from_jack_client
        jack_client_out                 ::IO::to_jack_client
    );
-------------------------------------------------------

> What is the
> --fake-jack option supposed to achieved? I haven't looked at the code
> yet, but couldn't figure it out from behaviour.

--fake-jack is really only for testing. Nama assumes JACK is running,
and uses an internal list of fake JACK clients to check 
that correct routing takes place.

In other words, you don't need it, and it probably won't help you. :-)

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

-- 
Joel Roth

Other related posts: