view release on metacpan or search on metacpan
"Git::Repository" : "0",
"Graph" : "0",
"IO::Select" : "0",
"IO::Socket" : "0",
"IPC::Open3" : "0",
"IPC::System::Simple" : "0",
"JSON::XS" : "0",
"List::MoreUtils" : "0",
"List::Util" : "0",
"Log::Log4perl" : "0",
"Modern::Perl" : "0",
"Module::Load::Conditional" : "0",
"Parse::RecDescent" : "0",
"Role::Tiny" : "0",
"SUPER" : "0",
"Term::ReadLine::Gnu" : "0",
"Test2::Bundle::More" : "0",
"Text::Diff" : "0",
"Text::Format" : "0",
"Text::Template" : "0",
"Time::HiRes" : "0",
Git::Repository: '0'
Graph: '0'
IO::Select: '0'
IO::Socket: '0'
IPC::Open3: '0'
IPC::System::Simple: '0'
JSON::XS: '0'
List::MoreUtils: '0'
List::Util: '0'
Log::Log4perl: '0'
Modern::Perl: '0'
Module::Load::Conditional: '0'
Parse::RecDescent: '0'
Role::Tiny: '0'
SUPER: '0'
Term::ReadLine::Gnu: '0'
Test2::Bundle::More: '0'
Text::Diff: '0'
Text::Format: '0'
Text::Template: '0'
Time::HiRes: '0'
lib/Audio/Nama.pm view on Meta::CPAN
package Audio::Nama;
use vars qw($VERSION);
$VERSION = "1.307";
use Modern::Perl '2020';
#use Carp::Always;
no warnings qw(uninitialized syntax);
########## External dependencies ##########
use Carp qw(carp cluck confess croak);
use Cwd;
use Data::Section::Simple qw(get_data_section);
use File::Find::Rule;
use File::Path;
lib/Audio/Nama/Bunch.pm view on Meta::CPAN
# ---------------------- Bunch -----------------
#
# operate on a list of tracks
package Audio::Nama;
use Modern::Perl '2020';
sub is_bunch {
my $name = shift;
$bn{$name} or $project->{bunch}->{$name}
}
{
my %set_stat = (
(map{ $_ => 'rw' } qw(rec play mon off) ),
map{ $_ => 'rec_status' } qw(REC PLAY MON OFF )
lib/Audio/Nama/Bus.pm view on Meta::CPAN
# ------------ Bus --------------------
{
package Audio::Nama::Bus;
use Modern::Perl '2020'; use Carp;
use Audio::Nama::Log qw(logsub logpkg);
use Audio::Nama::Globals qw(:trackrw $setup);
our @ISA = qw( Audio::Nama::Object );
# share the following variables with subclasses
our $VERSION = 1.0;
our (%by_name);
use Audio::Nama::Object qw(
name
lib/Audio/Nama/CacheTrack.pm view on Meta::CPAN
# -------- CacheTrack ------
package Audio::Nama;
use Modern::Perl '2020';
use Storable 'dclone';
use Try::Tiny;
use Audio::Nama::Globals qw(:all);
# The $args hashref passed among the subroutines in this file
# has these fields:
# track
# additional_time
# processing_time
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 -
lib/Audio/Nama/Config.pm view on Meta::CPAN
# To create a new config var:
#
# add the mapping, e.g. "$mix_to_disk_format $config->{mix_to_disk_format}"
# (without quotes) to file var_config
# these subs are in the main namespace
package Audio::Nama;
use Modern::Perl '2020';
no warnings 'uninitialized';
use Audio::Nama::Globals qw(:all);
# exclusive to this module
our (
%subst, # substitutions
);
## configuration file
lib/Audio/Nama/Custom.pm view on Meta::CPAN
# ---------------- User Customization ---------------
package Audio::Nama;
use Modern::Perl '2020';
sub setup_user_customization {
my $filename = $file->user_customization();
# effect aliases from .namarc
for( keys %{$config->{alias}->{effect}} )
{ my $longform = $config->{alias}->{effect}->{$_};
if(effect_index($longform))
{
$fx_cache->{partial_label_to_full}->{$_} =
lib/Audio/Nama/EcasoundCleanup.pm view on Meta::CPAN
# ----------- Ecasound cleanup (post-recording) -----------
package Audio::Nama::EcasoundCleanup;
use Role::Tiny;
use Modern::Perl '2020';
our $VERSION = 1.0;
sub cleanup {
my $self = shift;
Audio::Nama::rec_cleanup();
}
package Audio::Nama;
use Modern::Perl '2020';
use Cwd;
use File::Spec::Functions qw(splitpath);
use Audio::Nama::Globals qw(:all);
sub rec_cleanup {
logsub((caller(0))[3]);
logpkg(__FILE__,__LINE__,'debug',"transport still running, can't cleanup"), return if $this_engine->running;
if( my (@files) = new_files_were_recorded() )
{
if( my @rec_tracks = Audio::Nama::ChainSetup::engine_wav_out_tracks() )
lib/Audio/Nama/EcasoundRun.pm view on Meta::CPAN
package Audio::Nama::EcasoundRun;
use Role::Tiny;
use Modern::Perl '2020';
our $VERSION = 1.0;
use Audio::Nama::Globals qw(:all);
use Audio::Nama::Log qw(logpkg logsub);
sub start {
package Audio::Nama;
my $self = shift;
$self->valid_setup
or throw("\nAudio engine is not configured. Cannot start.\n"),return;
lib/Audio/Nama/EffectChain.pm view on Meta::CPAN
# ------------- Effect-Chain and -Profile routines --------
# Effect Chains
#
# we have two type of effect chains
# + global effect chains - usually user defined, available to all projects
# + system generated effect chains, per project
{
package Audio::Nama::EffectChain;
use Modern::Perl '2020';
use Data::Dumper::Concise;
use Carp;
use Exporter qw(import);
use Storable qw(dclone);
use Audio::Nama::Effect qw(fxn append_effect);
use Audio::Nama::Log qw(logpkg logsub);
use Audio::Nama::Assign qw(json_out);
use Audio::Nama::Globals qw($fx_cache %tn $fx);
lib/Audio/Nama/EffectNickname.pm view on Meta::CPAN
package Audio::Nama::EffectNickname;
use Modern::Perl '2020';
our $VERSION = 1.0;
use Role::Tiny;
sub effect_nickname_count {
my ($track, $nick) = @_;
my $count = 0;
for my $FX ($track->user_ops_o){ $count++ if $FX->name =~ /^$nick\d*$/ }
$count
}
sub unique_surname {
lib/Audio/Nama/EffectsRegistry.pm view on Meta::CPAN
## -------------- Effects registry ---------------
package Audio::Nama;
use Modern::Perl '2020';
use Audio::Nama::Util qw(round);
no warnings 'uninitialized';
## register data about LADSPA plugins, and Ecasound effects and
# presets (names, ids, parameters, hints)
sub prepare_static_effects_data{
my $source = shift;
logsub((caller(0))[3]);
lib/Audio/Nama/Engine.pm view on Meta::CPAN
{
package Audio::Nama::Engine;
our $VERSION = 1.0;
use Modern::Perl '2020';
use Carp;
our @ISA;
our %by_name;
our @ports = (57000..57050);
our %port = (
fof => 57201,
bus => 57202,
);
use Audio::Nama::Globals qw(:all);
use Role::Tiny::With;
lib/Audio/Nama/Fade.pm view on Meta::CPAN
# ----------- Fade ------------
package Audio::Nama::Fade;
use Modern::Perl '2020';
use List::Util qw(min);
our $VERSION = 1.0;
use Carp;
use warnings;
no warnings qw(uninitialized);
our @ISA;
our($n, %by_index);
use Audio::Nama::Globals qw(:singletons %tn @fade_data);
use Audio::Nama::Log qw(logsub logpkg);
use Audio::Nama::Effect qw(remove_effect add_effect update_effect);
lib/Audio/Nama/Git.pm view on Meta::CPAN
# ---------- Git Support ----------
package Audio::Nama;
use Modern::Perl '2020';
sub git {
return if is_test_script();
$config->{use_git} or warn("@_: git command, but git is not enabled.
You may want to set use_git: 1 in .namarc"), return;
logpkg(__FILE__,__LINE__,'debug',"VCS command: git @_");
$project->{repo}->run(@_)
}
sub repo_git_dir { join_path(project_dir(),'.git') }
sub init_repo_obj { $project->{repo} = Git::Repository->new( work_tree => project_dir() ) }
sub create_repo { Git::Repository->run( init => project_dir() )}
lib/Audio/Nama/Globals.pm view on Meta::CPAN
package Audio::Nama::Globals;
use Modern::Perl '2020';
our $VERSION = 1.0;
# set aliases for common indices
*bn = \%Audio::Nama::Bus::by_name;
*tn = \%Audio::Nama::Track::by_name;
*ti = \%Audio::Nama::Track::by_index;
*mn = \%Audio::Nama::Mark::by_name;
*en = \%Audio::Nama::Engine::by_name;
*fi = \%Audio::Nama::Effect::by_id;
lib/Audio/Nama/Grammar.pm view on Meta::CPAN
# --------------------- Command Grammar ----------------------
package Audio::Nama;
use Audio::Nama::Effect qw(:all);
use Modern::Perl '2020';
sub setup_grammar {
### COMMAND LINE PARSER
logsub((caller(0))[3]);
$text->{commands_yml} = get_data_section("commands_yml");
$text->{commands_yml} = quote_yaml_scalars($text->{commands_yml});
$text->{commands} = yaml_in( $text->{commands_yml}) ;
lib/Audio/Nama/Graph.pm view on Meta::CPAN
package Audio::Nama::Graph;
use Modern::Perl '2020';
our $VERSION = 1.0;
use Carp;
use Graph;
use Audio::Nama::Util qw(input_node output_node);
use Audio::Nama::Log qw(logsub logpkg);
use Audio::Nama::Globals qw(:trackrw);
our(%reserved);
# this dispatch table also identifies labels reserved
# for signal sources and sinks.
*reserved = \%Audio::Nama::IO::io_class;
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
# ------------ Graphical User Interface ------------
package Audio::Nama::Graphical; ## gui routines
use Modern::Perl '2020'; use Carp;
our $VERSION = 1.071;
use Audio::Nama::Globals qw($term $prompt);
use Module::Load::Conditional qw(can_load);
use Audio::Nama::Assign qw(:all);
use Audio::Nama::Util qw(colonize);
no warnings 'uninitialized';
our @ISA = 'Audio::Nama'; ## default to root namespace, e.g. Refresh_subs, Graphical_subs
# actually this doesn't seem like a
lib/Audio/Nama/Help.pm view on Meta::CPAN
# -------------------- Help ----------------------
package Audio::Nama;
use Modern::Perl '2020';
{
no warnings 'uninitialized';
sub helpline {
my $cmd = shift;
my $out = "Command: $cmd\n";
$out .= "Shortcuts: $text->{commands}->{$cmd}->{short}\n"
if $text->{commands}->{$cmd}->{short};
$out .= "Category: $text->{commands}->{$cmd}->{type}\n";
my $what = munge_help($text->{commands}->{$cmd}->{what});
lib/Audio/Nama/IO.pm view on Meta::CPAN
# + override by graph node (higher priority)
# + override by graph edge (highest priority)
# 2. (sub)class methods called as $object->method_name
# + defined as _method_name (access via AUTOLOAD, overrideable by constructor)
# + defined as method_name (not overrideable)
# 3. AUTOLOAD
# + any other method calls are passed to the the associated track
# + illegal track method call generate an exception
package Audio::Nama::IO;
use Modern::Perl '2020';
use Carp;
use Data::Dumper::Concise;
our $VERSION = 1.0;
# provide following vars to all packages
our ($config, $jack, %tn);
our (%by_name); # index for $by_name{trackname}->{input} = $object
use Audio::Nama::Globals qw($config $jack %tn $setup :trackrw);
use Try::Tiny;
view all matches for this distributionview release on metacpan - search on metacpan