Audio-Nama

 view release on metacpan or  search on metacpan

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

387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
                                                        target => $_,
                                                        group  => $name,
                                                        width => 2,
                                                        hide    => 1,
                                                )
   } $bn{Main}->tracks;
                 
}
 
         
sub update_submix {
        my $name = shift;
                add_submix( $name,
                                                 $bn{$name}->send_id),
                                                 "dummy",
}
sub remove_submix_helper_tracks {
        my $name = shift;
        #say "got name: $name";
        my @submixes = submixes();
        #say "got submixes:", Dumper \@submixes;

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

207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
        my $name = $args->{track}->name;
        my @files = grep{/$name/} new_files_were_recorded();
        if (@files ){
                 
                update_cache_map($args);       
                caching_cleanup($args);
 
        } else { throw("track cache operation failed!") }
        undef $setup->{cache_track_args};
}
sub update_cache_map {
        logsub((caller(0))[3]);
        my $args = shift;
        logpkg(__FILE__,__LINE__,'debug', "updating track cache_map");
        logpkg(__FILE__,__LINE__,'debug', "current track cache entries:",
                sub {
                        join "\n","cache map",
                        map{($_->dump)} Audio::Nama::EffectChain::find(track_cache => 1)
                });
 
        my $track = $args->{track};

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

149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
        schedule_wraparound()
                if $mode->{loop_enable}
                and defined $start
                and defined $end
                and ! Audio::Nama::ChainSetup::really_recording();
 
        update_clock_display();
 
}
 
sub update_clock_display {
        $ui->clock_config(-text => current_position());
}
sub schedule_wraparound {
 
        return unless $mode->{loop_enable};
        my $here   = $this_engine->ecasound_iam("getpos");
        my $start  = Audio::Nama::Mark::loop_start();
        my $end    = Audio::Nama::Mark::loop_end();
        my $diff = $end - $here;
        logpkg(__FILE__,__LINE__,'debug', "here: $here, start: $start, end: $end, diff: $diff");

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

916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
                 
                while( fxn($fx->{id_counter})){ $fx->{id_counter}++};
                $fx->{id_counter}
}
 
 
 
## synchronize Ecasound chain operator parameters
#  with Nama effect parameter
 
sub update_ecasound_effect {
        local $config->{category} = 'ECI_FX';
 
        # update the parameters of the Ecasound chain operator
        # referred to by a Nama operator_id
         
        #logsub((caller(0))[3]);
 
        return unless $this_engine->valid_setup;
        #my $es = ecasound_iam("engine-status");
        #logpkg(__FILE__,__LINE__,'debug', "engine is $es");

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

963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
                logpkg(__FILE__,__LINE__,'debug', "operator $id: track $chain, index: $i, offset: "$FX->offset . " param $param, value $val");
                $this_engine->current_chain_operator($i);
                $this_engine->current_chain_operator_parameter($param);
                $this_engine->ecasound_iam("copp-set $val");
        }
}
 
# set both Nama effect and Ecasound chain operator
# parameters
 
sub update_effect {
        my ($id, $param, $val) = @_;
        return if ! defined fxn($id);
        fxn($id)->params->[$param] = $val;
        update_ecasound_effect( @_ );
}
 
sub sync_effect_parameters {
        logsub((caller(0))[3]);
        local $config->{category} = 'ECI_FX';

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

870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
                        }],
                );
 
        $ui->track_gui( $tn{Main}->n, @rw_items );
 
        $ui->track_gui( $tn{Mixdown}->n);
 
        #$ui->group_gui('Main');
}
 
sub update_version_button {
        my $ui = shift;
        my ($n, $v) = @_;
        carp ("no version provided \n") if ! $v;
        my $w = $gui->{tracks}->{$n}->{version};
                                        $w->radiobutton(
                                                -label => $v,
                                                -value => $v,
                                                -command =>
                sub { $gui->{tracks}->{$n}->{version}->configure(-text=>$v)
                                unless $ti{$n}->rec }

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

1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
sub destroy_marker {
        my $ui = shift;
        my $pos = shift;
        $gui->{marks}->{$pos}->destroy;
}
 
sub setup_playback_indicator {
        my $ui = shift;
        $project->{events}->{update_playback_position_display} = AE::timer(0, 0.1, \&update_indicator);
}      
sub update_indicator {
        $gui->{wwcanvas}->delete('playback-indicator');
        my $pos = Audio::Nama::ecasound_iam("getpos");
        my $xpos = int( $pos * $config->{waveform_pixels_per_second} );
        $gui->{wwcanvas}->createLine(
                        $xpos,0,
                        $xpos,$config->{waveform_canvas_y},
                        -fill => 'red',
                        -width => 1,
                        -tags => 'playback-indicator'
        );

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# ------- Jack port connect routines -------
package Audio::Nama;
use Modern::Perl '2020';
no warnings 'uninitialized';
 
# general functions
 
sub update_jack_client_list {
        state $warn_count;
        #logsub((caller(0))[3]);
        # cache current JACK status
         
        # skip if Ecasound is busy
        return if $this_engine->started();
 
        if( $jack->{jackd_running} = process_is_running('jackd') ){
                # reset our clients data
                $jack->{clients} = {};

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

37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
sub transport_gui {}
sub group_gui {}
sub track_gui {}
sub preview_button {}
sub create_master_and_mix_tracks {}
sub time_gui {}
sub refresh {}
sub refresh_group {}
sub refresh_track {}
sub flash_ready {}
sub update_master_version_button {}
sub update_version_button {}
sub paint_button {}
sub project_label_configure{}
sub length_display{}
sub clock_display {}
sub clock_config {}
sub manifest {}
sub global_version_buttons {}
sub destroy_widgets {}
sub destroy_marker {}
sub restore_time_marks {}



( run in 1.271 second using v1.01-cache-2.11-cpan-49f99fa48dc )