Audio-Nama
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Audio/Nama/ChainSetup.pm view on Meta::CPAN
# ---------- ChainSetup-----------
package Audio::Nama::ChainSetup;
use Audio::Nama::Globals qw($file $config $jack $setup %tn %bn %en $mode :trackrw $this_engine);
use Audio::Nama::Log qw(logsub logpkg);
use Modern::Perl '2020';
our $VERSION = 1.0;
use Data::Dumper::Concise;
use Storable qw(dclone);
use Audio::Nama::Util qw(signal_format input_node output_node);
use Audio::Nama::Assign qw(json_out);
no warnings 'uninitialized';
our (
$g, # routing graph object -
# based on project data
# the routing graph is generated,
# then traversed over, and integrated
# with track data to generate
# Audio::Nama::IO objects. Audio::Nama::IO objects are iterated
# over to generate
# the Ecasound chain setup text (c.f. chains command)
@io, # IO objects corresponding to chain setup
%is_ecasound_chain, # chains in final chain seutp
# for sorting final result
%inputs,
%outputs,
%post_input,
%pre_output,
# for final result
@input_chains, # list of input chain segments
@output_chains, # list of output chain segments
@post_input, # post-input chain operators
@pre_output, # pre-output chain operators
$chain_setup, # final result as string
);
sub remove_temporary_tracks {
logsub((caller(0))[3]);
map { logpkg(__FILE__,__LINE__,'debug',"removing temporary track ",$_->group.'/'.$_->name); $_->remove }
grep{ $_->group eq 'Temp' } Audio::Nama::audio_tracks();
}
sub initialize {
remove_temporary_tracks(); # we will generate them again
$setup->{audio_length} = 0;
@io = (); # IO object list
Audio::Nama::IO::initialize();
$g = Graph->new();
%inputs = %outputs = %post_input = %pre_output = ();
%is_ecasound_chain = ();
@input_chains = @output_chains = @post_input = @pre_output = ();
undef $chain_setup;
Audio::Nama::disable_length_timer();
reset_aux_chain_counter();
unlink $file->chain_setup;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.552 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )