writting opus to file.
[email protected] (Ribamar Santarosa de Sousa) Mon, 8 Nov 2004 14:52:10 -0200
| Newsgroups | perl.midi |
|---|---|
| Message-ID | <[email protected]> |
Hello,
i just starded using midi perl, and i am new to perl too; i am
having an error when calling opus->write_to_file function:
Bad index while coercing array into hash at MIDI/Opus.pm line 409.
Bellow is my code listing. I'm using perl midi 0.8 and perl v5.8.3. Any help?
Thanks in advance,
-Riba
for my $f ( 0 .. $#musics){
my $midi_track = MIDI::Track->new; # preparing to save the generated data.
my $midi_file = MIDI::Opus->new; # to write tracks to file.
my $midi_instrument = MIDI_INSTRUMENT; # instrument to be played.
my $dt = my $dton = my $dtoff = 0; # delta (delay) time.
my $chan = 1; # channel to play.
my $von = 96, my $voff=0; # on and off note velocities.
my @aevents; # vector of events.
@music = @{$musics[$f]};
@melody = @{$music[0]};
$dtoff = my $donote = MIDI_DONOTE;
push @aevents, ['text_event', $dt, "generated music $f."];
push @aevents, ['patch_change', $dt, $chan , $midi_instrument ];
for my $g ( 0 .. $#melody ){
push @aevents, ['note_on', $dton, $chan, $melody[$g], $von];
push @aevents, ['note_off', $dtoff, $chan, $melody[$g], $voff];
}
$midi_track->events(@aevents);
#everything is tested and fine 'till here.
$midi_file->format(MIDI_FORMAT);
$midi_file->ticks(MIDI_NOT);
$midi_file->tracks([$midi_track]);
$midi_file->write_to_file("tinga.mid"); #if i supress this line, there is no error (but no file too!).
}