From 7b9458a3761d29b9350a48de3607c5ffcac8e7aa Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 12 Mar 1997 01:05:01 +0000 Subject: [PATCH] lilypond-0.0.41 --- mi2mu/midi-event.cc | 43 +++++++++++++++++------------------------ mi2mu/my-midi-parser.cc | 18 +++++++++++------ 2 files changed, 30 insertions(+), 31 deletions(-) diff --git a/mi2mu/midi-event.cc b/mi2mu/midi-event.cc index 2317fdb695..6bc15a4cf9 100644 --- a/mi2mu/midi-event.cc +++ b/mi2mu/midi-event.cc @@ -125,9 +125,7 @@ Midi_note::mom() Midi_tempo::Midi_tempo( int useconds_per_4_i ) { useconds_per_4_i_ = useconds_per_4_i; -// huh, is it not per 4? -// seconds_per_1_f_ = (Real)useconds_per_4_i_ * 4 / 1e6; - seconds_per_1_f_ = (Real)useconds_per_4_i_ * 8 / 1e6; + seconds_per_1_f_ = (Real)useconds_per_4_i_ * 4 / 1e6; } String @@ -141,6 +139,12 @@ Midi_tempo::mudela_str( bool command_mode_bo ) return str; } +int +Midi_tempo::useconds_per_4_i() +{ + return useconds_per_4_i_; +} + int Midi_tempo::get_tempo_i( Moment moment ) { @@ -171,14 +175,14 @@ Midi_time::Midi_time( int num_i, int den_i, int clocks_4_i, int count_32_i ) if ( count_32_i != 8 ) warning( String( "#32 in quarter: " ) + String( count_32_i ), 0 ); num_i_ = num_i; - den_i_ = 2 << den_i; + den_i_ = den_i; clocks_1_i_ = clocks_4_i * 4; } Moment Midi_time::bar_mom() { - return Moment( num_i_ ) * Duration_convert::dur2_mom( Duration( den_i_ ) ); + return Moment( num_i_ ) * Duration_convert::dur2_mom( Duration( 1 << den_i_ ) ); } int @@ -187,34 +191,23 @@ Midi_time::clocks_1_i() return clocks_1_i_; } -Duration -Midi_time::i2_dur( int time_i, int division_1_i ) +int +Midi_time::den_i() { - Moment mom = Duration_convert::i2_mom( time_i, division_1_i ); - mom /= sync_f_; - - dtor << "\n% (" << time_i << ", " << mom << "): " - << sync_f_ << endl; - - Duration dur = Duration_convert::mom2_dur( mom ); - if ( !dur.type_i_ ) { - vtor << "\n% resyncing(" << time_i << ", " << mom << "): " - << sync_f_ << " -> "; - mom *= sync_f_; - sync_f_ = Duration_convert::sync_f( sync_dur_, mom ); - vtor << sync_f_ << endl; - mom /= sync_f_; - dur = Duration_convert::mom2_dur( mom ); - } + return den_i_; +} - return dur; +int +Midi_time::num_i() +{ + return num_i_; } String Midi_time::mudela_str( bool command_mode_bo ) { String str = "meter { " - + String( num_i_ ) + "*" + String( den_i_ ) + + String( num_i_ ) + "*" + String( 1 << den_i_ ) + " }"; if ( !command_mode_bo ) str = String( '\\' ) + str; diff --git a/mi2mu/my-midi-parser.cc b/mi2mu/my-midi-parser.cc index e35369abfd..5e6c2ced7d 100644 --- a/mi2mu/my-midi-parser.cc +++ b/mi2mu/my-midi-parser.cc @@ -47,9 +47,9 @@ My_midi_parser::reset() midi_key_p_ = new Midi_key( 0, 0 ); // useconds per 4: 250000 === 60 4 per minute delete midi_tempo_p_; - midi_tempo_p_ = new Midi_tempo( 250000 ); + midi_tempo_p_ = new Midi_tempo( 1000000 ); delete midi_time_p_; - midi_time_p_ = new Midi_time( 4, 4, 384, 8 ); + midi_time_p_ = new Midi_time( 4, 2, 24, 8 ); now_i64_ = 0; bar_i_ = 1; @@ -90,7 +90,7 @@ My_midi_parser::forward( int i ) Moment My_midi_parser::mom() { - return Duration_convert::i2_mom( now_i64_, division_1_i_ ); + return Moment( now_i64_, Duration::division_1_i_s ); } void @@ -110,7 +110,12 @@ My_midi_parser::note_end_midi_event_p( int channel_i, int pitch_i, int dyn_i ) // running_i64_i64_a_[ channel_i ][ pitch_i ] = -1; // assert( start_i64 != -1 ); // did we start? - return new Midi_note( midi_key_p_->notename_str( pitch_i ), midi_time_p_->i2_dur( now_i64_ - start_i64, division_1_i_ ) ); + Duration dur( 0 ); + if ( Duration_convert::be_blonde_b_s ) + dur = Duration_convert::ticks2_dur( (I64)now_i64_ - start_i64 ); + else + dur = Duration_convert::ticks2standardised_dur( (I64)now_i64_ - start_i64 ); + return new Midi_note( midi_key_p_->notename_str( pitch_i ), dur ); } int @@ -133,6 +138,7 @@ void My_midi_parser::set_division_4( int division_4_i ) { division_1_i_ = division_4_i * 4; + Duration::division_1_i_s = division_1_i_; if ( division_4_i < 0 ) warning( "seconds iso metrical time" , 0 ); } @@ -145,10 +151,10 @@ My_midi_parser::set_key( int accidentals_i, int minor_i ) } void -My_midi_parser::set_tempo( int useconds_i ) +My_midi_parser::set_tempo( int useconds_per_4_i ) { delete midi_tempo_p_; - midi_tempo_p_ = new Midi_tempo( useconds_i ); + midi_tempo_p_ = new Midi_tempo( useconds_per_4_i ); } void -- 2.39.5