Audio-Nama

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

         "version" : "1"
      },
      "Audio::Nama::PreFaderInsert" : {
         "file" : "lib/Audio/Nama/Insert.pm",
         "version" : "1"
      },
      "Audio::Nama::Project" : {
         "file" : "lib/Audio/Nama/Project.pm",
         "version" : "1"
      },
      "Audio::Nama::SendBusCooked" : {
         "file" : "lib/Audio/Nama/Bus.pm",
         "version" : "1"
      },
      "Audio::Nama::SendBusRaw" : {
         "file" : "lib/Audio/Nama/Bus.pm",
         "version" : "1"
      },
      "Audio::Nama::Sequence" : {
         "file" : "lib/Audio/Nama/Sequence.pm",
         "version" : "1"

META.yml  view on Meta::CPAN

    version: '1.05'
  Audio::Nama::PostFaderInsert:
    file: lib/Audio/Nama/Insert.pm
    version: '1'
  Audio::Nama::PreFaderInsert:
    file: lib/Audio/Nama/Insert.pm
    version: '1'
  Audio::Nama::Project:
    file: lib/Audio/Nama/Project.pm
    version: '1'
  Audio::Nama::SendBusCooked:
    file: lib/Audio/Nama/Bus.pm
    version: '1'
  Audio::Nama::SendBusRaw:
    file: lib/Audio/Nama/Bus.pm
    version: '1'
  Audio::Nama::Sequence:
    file: lib/Audio/Nama/Sequence.pm
    version: '1'
  Audio::Nama::SimpleTrack:
    file: lib/Audio/Nama/Track.pm

lib/Audio/Nama/Bus.pm  view on Meta::CPAN

	my $bus = shift;

	# delete all tracks
	map{$_->remove } $bus->track_o;

	# remove bus
	delete $by_name{$bus->name};
}
}
{
package Audio::Nama::SendBusCooked;
use Audio::Nama::Log qw(logsub logpkg);
use v5.36; use Carp; our @ISA = 'Audio::Nama::SendBusRaw';
our $VERSION = 1.0;

# graphic routing: target -> slave -> bus_send_type

sub apply {
	my $bus = shift;
	my $g = shift;
	map{ my @edge = ($_->name, Audio::Nama::output_node($bus->send_type));

lib/Audio/Nama/Bus.pm  view on Meta::CPAN

	}
	if ($bn{$name}){
		Audio::Nama::pager_newline( qq(monitor bus "$name" already exists.  Updating with new tracks.) );
	} else {
	my @args = (
		name => $name, 
		send_type => $dest_type,
		send_id	 => $dest_id,
	);

	my $class = $bus_type eq 'cooked' ? 'Audio::Nama::SendBusCooked' : 'Audio::Nama::SendBusRaw';
	my $bus = $class->new( @args );

	$bus or carp("can't create bus!\n"), return;

	}
	map{ Audio::Nama::EarTrack->new(	name => "$name\_$_", # BusName_TrackName
							rw => MON,
							target => $_,
							group  => $name,
							width => 2,

lib/Audio/Nama/Bus.pm  view on Meta::CPAN

		my $to_remove = join '_', $sm->name, $name;
		#say "to_remove: $to_remove";
		local $quiet;
		$quiet++;
		for my $name ($sm->tracks) { 
			$tn{$name}->remove, last if $name eq $to_remove
		}
	}

}
sub submixes { grep { (ref $_) =~ /SendBusCooked/ } values %Audio::Nama::Bus::by_name }

}
}
1;
__END__

lib/Audio/Nama/Project.pm  view on Meta::CPAN

}

sub create_system_buses {
	logsub((caller(0))[3]);

	my $buses = q(
		Main 		Audio::Nama::SubBus send_type track send_id Main	# master fader track
		Mixdown		Audio::Nama::Bus									# mixdown track
		Mastering	Audio::Nama::Bus									# mastering network
		Insert		Audio::Nama::Bus									# auxiliary tracks for inserts
		Cooked		Audio::Nama::Bus									# for track caching
		Temp		Audio::Nama::Bus									# temp tracks while generating setup
        Null		Audio::Nama::Bus 									# unrouted for Main
		Midi		Audio::Nama::MidiBus	send_type null send_id null # all MIDI tracks
		Aux			Audio::Nama::SubBus	send_type null 				# routed only from track source_* and send_* fields
	);
	($buses) = strip_comments($buses); 	# need initial parentheses
	$buses =~ s/\A\s+//; 		   	   	# remove initial newline and whitespace
	$buses =~ s/\s+\z//; 		   		# remove terminating newline and whitespace
	my @buses = split "\n", $buses;
	for my $bus (@buses)



( run in 1.392 second using v1.01-cache-2.11-cpan-e9199f4ba4c )