sub send_to_shell { my ($widget,$file) = @_; my $string; my $opus = MIDI::Opus->new({ 'from_file' => $file, 'exclusive_event_callback' => sub{ my $temp = $_[2]; chomp $temp; if($_[0] eq 'text_event'){ if($_[1] == 0){ }else{ $string = $string . $_[2]; push @arr_lyr, $_[2]; } }elsif($_[0] eq 'track_name'){ $marker = $_[2]; } }, 'include' => \@MIDI::Event::All_events, 'exclude' => \@MIDI::Event::MIDI_events, }); @line_lyrics = split(/\/|\\/,$string); shift @line_lyrics; print "Marker: $marker\n"; print "_____START_____\n"; $start = 0; # start song my $cmd = "timidity '$file'"; print $wfh "$cmd\n"; }