Audio-Nama
view release on metacpan or search on metacpan
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
# $oid_frame = $gui->{mw}->Frame->pack(-side => 'bottom', -fill => 'both');
$gui->{clock_frame} = $gui->{mw}->Frame->pack(-side => 'bottom', -fill => 'both');
#$gui->{group_frame} = $gui->{mw}->Frame->pack(-side => 'bottom', -fill => 'both');
$gui->{track_canvas}= $gui->{mw}->Scrolled('Canvas')->pack(-side => 'bottom', -fill => 'both');
configure_track_canvas();
$gui->{track_frame} = $gui->{track_canvas}->Frame; # ->pack(-fill => 'both');
#$gui->{track_frame} = $gui->{mw}->Frame;
my $id2 = $gui->{track_canvas}->createWindow(0,0,
-window => $gui->{track_frame},
-anchor => 'nw');
#$gui->{group_label} = $gui->{group_frame}->Menubutton(-text => "GROUP",
# -tearoff => 0,
# -width => 13)->pack(-side => 'left');
$gui->{add_frame} = $gui->{mw}->Frame->pack(-side => 'bottom', -fill => 'both');
$gui->{perl_frame} = $gui->{mw}->Frame->pack(-side => 'bottom', -fill => 'both');
$gui->{iam_frame} = $gui->{mw}->Frame->pack(-side => 'bottom', -fill => 'both');
$gui->{load_frame} = $gui->{mw}->Frame->pack(-side => 'bottom', -fill => 'both');
# my $blank = $gui->{mw}->Label->pack(-side => 'left');
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
$gui->{load_project} = $gui->{load_frame}->Button->pack(-side => 'left');;
$gui->{new_project} = $gui->{load_frame}->Button->pack(-side => 'left');;
$gui->{quit} = $gui->{load_frame}->Button->pack(-side => 'left');
$gui->{save_project} = $gui->{load_frame}->Button->pack(-side => 'left');
$gui->{savefile_entry} = $gui->{load_frame}->Entry(
-textvariable => \$gui->{_save_id},
-width => 15
)->pack(-side => 'left');
$gui->{load_savefile} = $gui->{load_frame}->Button->pack(-side => 'left');
$gui->{palette} = $gui->{load_frame}->Menubutton(-tearoff => 0)
->pack( -side => 'left');
$gui->{nama_palette} = $gui->{load_frame}->Menubutton(-tearoff => 0)
->pack( -side => 'left');
$gui->{add_track}->{label} = $gui->{add_frame}->Label(
-text => "New track name: ")->pack(-side => 'left');
$gui->{add_track}->{text_entry} = $gui->{add_frame}->Entry(
-textvariable => \$gui->{_track_name},
-width => 12
)->pack(-side => 'left');
$gui->{add_track}->{rec_label} = $gui->{add_frame}->Label(
-text => "Input channel or client:"
)->pack(-side => 'left');
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
sub group_gui {
my $ui = shift;
my $group = $bn{Main};
my $dummy = $gui->{track_frame}->Label(-text => ' ');
$gui->{group_label} = $gui->{track_frame}->Label(
-text => "G R O U P",
-foreground => $gui->{_nama_palette}->{GroupForeground},
-background => $gui->{_nama_palette}->{GroupBackground},
);
$gui->{group_version} = $gui->{track_frame}->Menubutton(
-text => q( ),
-tearoff => 0,
-foreground => $gui->{_nama_palette}->{GroupForeground},
-background => $gui->{_nama_palette}->{GroupBackground},
);
$gui->{group_rw} = $gui->{track_frame}->Menubutton(
-text => $group->rw,
-tearoff => 0,
-foreground => $gui->{_nama_palette}->{GroupForeground},
-background => $gui->{_nama_palette}->{GroupBackground},
);
$gui->{group_rw}->AddItems([
'command' => MON,
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
}],
);
my ($number, $name, $version, $rw, $ch_r, $ch_m, $vol, $mute, $solo, $unity, $pan, $center);
$number = $gui->{track_frame}->Label(-text => $n,
-justify => 'left');
my $stub = " ";
$stub .= $ti{$n}->version;
$name = $gui->{track_frame}->Label(
-text => $ti{$n}->name,
-justify => 'left');
$version = $gui->{track_frame}->Menubutton(
-text => $stub,
# -relief => 'sunken',
-tearoff => 0);
my @versions = '';
#push @versions, @{$ti{$n}->versions} if @{$ti{$n}->versions};
my $ref = ref $ti{$n}->versions ;
$ref =~ /ARRAY/ and
push (@versions, @{$ti{$n}->versions}) or
croak "chain $n, found unexpectedly $ref\n";;
my $indicator;
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
-command =>
sub {
$ti{$n}->set( version => $v );
return if $ti{$n}->rec;
$version->configure( -text=> $ti{$n}->current_version );
Audio::Nama::reconfigure_engine();
}
);
}
$ch_r = $gui->{track_frame}->Menubutton(
# -relief => 'groove',
-tearoff => 0,
);
my @range;
push @range, 1..$config->{soundcard_channels} if $n > 2; # exclude Main/Mixdown
for my $v (@range) {
$ch_r->radiobutton(
-label => $v,
-value => $v,
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
# $ti{$n}->set(rw => REC);
$ti{$n}->source($v);
$ui->refresh_track($n) }
)
}
@range = ();
push @range, "off" if $n > 2;
push @range, 1..$config->{soundcard_channels} if $n != 2; # exclude Mixdown
$ch_m = $gui->{track_frame}->Menubutton(
-tearoff => 0,
# -relief => 'groove',
);
for my $v (@range) {
$ch_m->radiobutton(
-label => $v,
-value => $v,
-command => sub {
return if $this_engine->started();
local $this_track = $ti{$n};
if( $v eq 'off' )
{ nama_cmd('nosend') }
else { $this_track->set_send($v) }
$ui->refresh_track($n);
Audio::Nama::reconfigure_engine();
}
)
}
$rw = $gui->{track_frame}->Menubutton(
-text => $ti{$n}->rw,
-tearoff => 0,
# -relief => 'groove',
);
map{$rw->AddItems($_)} @rw_items;
my $p_num = 0; # needed when using parameter controllers
# Volume
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
$gui->{fx}->{$id} = $frame;
# we need a separate frame so title can be long
# here add menu items for Add Controller, and Remove
my $parentage = $fx_cache->{registry}->[
$fx_cache->{full_label_to_index}->{$FX->type}
]->{name};
$parentage and $parentage .= " - ";
logpkg(__FILE__,__LINE__,'debug', "parentage: $parentage");
my $eff = $frame->Menubutton(
-text => $parentage. $fx_cache->{registry}->[$i]->{name}, -tearoff => 0,);
$eff->AddItems([
'command' => "Remove",
-command => sub { remove_effect($id) }
]);
$eff->grid();
my @labels;
my @sliders;
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
push @items,
[ 'command' => $fx_cache->{registry}->[$j]->{name},
-command => sub { add_effect({
parent => $id,
chain => $n,
params => [ $p + 1 ],
type => $fx_cache->{registry}->[$j]->{code} }) }
];
}
push @labels, $frame->Menubutton(
-text => $fx_cache->{registry}->[$i]->{params}->[$p]->{name},
-menuitems => [@items],
-tearoff => 0,
);
logpkg(__FILE__,__LINE__,'debug', "parameter name: ",
$fx_cache->{registry}->[$i]->{params}->[$p]->{name});
my $v = # for argument vector
{ parent => \$frame,
id => $id,
p_num => $p,
lib/Audio/Nama/Graphical.pm view on Meta::CPAN
for my $j (@indices) {
push @items,
[ 'command' => "$fx_cache->{registry}->[$j]->{count} $fx_cache->{registry}->[$j]->{name}" ,
-command => sub {
add_effect( {chain => $n, type => $fx_cache->{registry}->[$j]->{code} } );
$gui->{ew}->deiconify; # display effects window
}
];
}
$widget = $gui->{track_frame}->Menubutton(
-text => $label,
-tearoff =>0,
# -relief => 'raised',
-menuitems => [@items],
);
$widget;
}
sub make_scale {
( run in 0.695 second using v1.01-cache-2.11-cpan-49f99fa48dc )