Audio-Nama
view release on metacpan or search on metacpan
lib/Audio/Nama/Regions.pm view on Meta::CPAN
# ------------ Set region for current track ----------
package Audio::Nama;
use v5.36; use Carp;
sub set_region {
my ($beg, $end) = @_;
$this_track->set(region_start => $beg);
$this_track->set(region_end => $end);
show_region();
}
sub new_region {
my ($beg, $end, $name) = @_;
$name ||= new_region_name();
add_track_alias($name, $this_track->name);
set_region($beg,$end);
}
sub new_region_name {
my $name = $this_track->name . '_region_';
my $i;
map{ my ($j) = /_(\d+)$/; $i = $j if $j > $i; }
grep{/$name/} keys %Audio::Nama::Track::by_name;
$name . ++$i
}
sub remove_region {
if (! $this_track->region_start){
throw($this_track->name, ": no region is defined. Skipping.");
return;
} elsif ($this_track->target ){
pager($this_track->name, ": looks like a region... removing.");
$this_track->remove;
} else { undefine_region() }
}
sub undefine_region {
$this_track->set(region_start => undef );
$this_track->set(region_end => undef );
pager($this_track->name, ": Region definition removed. Full track will play.\n");
}
1;
__END__
( run in 0.726 second using v1.01-cache-2.11-cpan-85f18b9d64f )