Audio-Nama

 view release on metacpan or  search on metacpan

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

		0, 					# parameter
		$new_position,		# value
	);
}

sub remove_track_cmd {
	my ($track) = @_;
	
	# avoid having ownerless SlaveTracks.  
 	Audio::Nama::ChainSetup::remove_temporary_tracks();
		$quiet or pager( "Removing track ",$track->name, ".  WAV files will be kept. Other data will be lost.");
		remove_submix_helper_tracks($track->name);
		$track->remove;
		$this_track = $tn{Main};
		1
}
sub unity {
	my ($track, $save) = @_;
	if ($save){
		$track->set(old_vol_level => $track->vol_o->params->[0]);
	}
	update_effect( 
		$track->vol, 
		0, 
		$config->{unity_level}->{$track->vol_o->type}
	);
}
sub vol_back {
	my $track = shift;
	my $old = $track->old_vol_level;
	if (defined $old){
		update_effect(
			$track->vol,	# id
			0, 					# parameter
			$old,				# value
		);
		$track->set(old_vol_level => undef);
	}
}
	
sub pan_back {
	my $track = shift;
	my $old = $track->old_pan_level;
	if (defined $old){
		update_effect(
			$track->pan,	# id
			0, 					# parameter
			$old,				# value
		);
		$track->set(old_pan_level => undef);
	}
}

sub get_sample_rate {
	pager("project $project->{name}: audio engine sample rate is ",$project->{sample_rate} );
	$project->{sample_rate}
}

sub set_sample_rate {
	my ($srate) = @_;
	my @allowable = qw{ 96000 88200 64000 48000 44100 32000 24000 22050 16000 11025 8000 };
	my %allowable = map{$_ => 1} @allowable; 
	if ( $allowable{$srate} ){
		$project->{sample_rate} = $srate;
		pager("project $project->{name}: setting audio engine sample rate to $srate Hz for future runs." );
		$srate
	}
	else {
		get_sample_rate();
		pager qq(The value "$srate" is not an allowable sample rate.);
		pager("Use one of: @allowable");
	}
}
sub list_buses {
	Audio::Nama::pager(map{ $_->list } Audio::Nama::Bus::all())

}



( run in 1.355 second using v1.01-cache-2.11-cpan-ceb78f64989 )