X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=blobdiff_plain;f=lily%2Fmidi-item.cc;h=999a45d0c660040b29fef938b006423290cb7deb;hb=1a66290a98e7de8d6d41485b5b71a9f7e1fe35c7;hp=53248be2631e13b350f8175c82bbdc08911cdd00;hpb=6cea332dd176e75dd6c2ab2d92505cadfdfcd99f;p=lilypond.git diff --git a/lily/midi-item.cc b/lily/midi-item.cc index 53248be263..999a45d0c6 100644 --- a/lily/midi-item.cc +++ b/lily/midi-item.cc @@ -32,18 +32,18 @@ IMPLEMENT_IS_TYPE_B1(Midi_text, Midi_item); IMPLEMENT_IS_TYPE_B1(Midi_track, Midi_chunk); Midi_chunk::Midi_chunk() - : Midi_item( 0 ) + : Midi_item (0) { } void -Midi_chunk::add( String str ) +Midi_chunk::add (String str) { data_str_ += str; } void -Midi_chunk::set( String header_str, String data_str, String footer_str ) +Midi_chunk::set (String header_str, String data_str, String footer_str) { data_str_ = data_str; footer_str_ = footer_str; @@ -54,16 +54,16 @@ String Midi_chunk::str() const { String str = header_str_; - String length_str = String_convert::i2hex_str( data_str_.length_i() + footer_str_.length_i(), 8, '0' ); - length_str = String_convert::hex2bin_str( length_str ); + String length_str = String_convert::i2hex_str (data_str_.length_i() + footer_str_.length_i (), 8, '0'); + length_str = String_convert::hex2bin_str (length_str); str += length_str; str += data_str_; str += footer_str_; return str; } -Midi_duration::Midi_duration( Real seconds_f ) - : Midi_item( 0 ) +Midi_duration::Midi_duration (Real seconds_f) + : Midi_item (0) { seconds_f_ = seconds_f; } @@ -71,24 +71,24 @@ Midi_duration::Midi_duration( Real seconds_f ) String Midi_duration::str() const { - return String( ""; + return String (""; } -Midi_header::Midi_header( int format_i, int tracks_i, int clocks_per_4_i ) +Midi_header::Midi_header (int format_i, int tracks_i, int clocks_per_4_i) : Midi_chunk() { String str; - String format_str = String_convert::i2hex_str( format_i, 4, '0' ); - str += String_convert::hex2bin_str( format_str ); + String format_str = String_convert::i2hex_str (format_i, 4, '0'); + str += String_convert::hex2bin_str (format_str); - String tracks_str = String_convert::i2hex_str( tracks_i, 4, '0' ); - str += String_convert::hex2bin_str( tracks_str ); + String tracks_str = String_convert::i2hex_str (tracks_i, 4, '0'); + str += String_convert::hex2bin_str (tracks_str); - String tempo_str = String_convert::i2hex_str( clocks_per_4_i, 4, '0' ); - str += String_convert::hex2bin_str( tempo_str ); + String tempo_str = String_convert::i2hex_str (clocks_per_4_i, 4, '0'); + str += String_convert::hex2bin_str (tempo_str); - set( "MThd", str, "" ); + set ("MThd", str, ""); } char const* const instrument_name_sz_a_[ ] = { @@ -127,19 +127,19 @@ char const* const instrument_name_sz_a_[ ] = { /* 24 */ "tango accordian", /* (25-32 guitar) */ - /* 25 */ "acoustic guitar(nylon)", - /* 26 */ "acoustic guitar(steel)", - /* 27 */ "electric guitar(jazz)", - /* 28 */ "electric guitar(clean)", - /* 29 */ "electric guitar(muted)", + /* 25 */ "acoustic guitar (nylon)", + /* 26 */ "acoustic guitar (steel)", + /* 27 */ "electric guitar (jazz)", + /* 28 */ "electric guitar (clean)", + /* 29 */ "electric guitar (muted)", /* 30 */ "overdriven guitar", /* 31 */ "distortion guitar", /* 32 */ "guitar harmonics", /* (33-40 bass) */ /* 33 */ "acoustic bass", - /* 34 */ "electric bass(finger)", - /* 35 */ "electric bass(pick)", + /* 34 */ "electric bass (finger)", + /* 35 */ "electric bass (pick)", /* 36 */ "fretless bass", /* 37 */ "slap bass 1", /* 38 */ "slap bass 2", @@ -258,8 +258,8 @@ char const* const instrument_name_sz_a_[ ] = { 0 }; -Midi_instrument::Midi_instrument( int channel_i, String instrument_str ) - : Midi_item( 0 ) +Midi_instrument::Midi_instrument (int channel_i, String instrument_str) + : Midi_item (0) { instrument_str_ = instrument_str; instrument_str_.to_lower(); @@ -270,46 +270,46 @@ String Midi_instrument::str() const { Byte program_byte = 0; - for ( int i = 0; instrument_name_sz_a_[i]; i++ ) - if ( instrument_str_ == String(instrument_name_sz_a_[ i ] )) { + for ( int i = 0; instrument_name_sz_a_[i]; i++) + if ( instrument_str_ == String (instrument_name_sz_a_[ i ])) { program_byte = (Byte)i; break; } - if ( !program_byte ) - return String( "" ); + if ( !program_byte) + return String (""); - String str = String( (char)( 0xc0 + channel_i_ ) ); - str += String( (char)program_byte ); + String str = String ((char)( 0xc0 + channel_i_) ); + str += String ((char)program_byte); return str; } -Midi_item::Midi_item( Audio_item* audio_item_l ) +Midi_item::Midi_item (Audio_item* audio_item_l) { audio_item_l_ = audio_item_l; channel_i_ = 0; } void -Midi_item::output( Midi_stream* midi_stream_l ) const +Midi_item::output (Midi_stream* midi_stream_l) const { *midi_stream_l << str(); } String -Midi_item::i2varint_str( int i ) +Midi_item::i2varint_str (int i) { int buffer_i = i & 0x7f; - while ( (i >>= 7) > 0 ) { + while ( (i >>= 7) > 0) { buffer_i <<= 8; buffer_i |= 0x80; buffer_i += (i & 0x7f); } String str; - while ( 1 ) { + while ( 1) { str += (char)buffer_i; - if ( buffer_i & 0x80 ) + if ( buffer_i & 0x80) buffer_i >>= 8; else break; @@ -317,32 +317,32 @@ Midi_item::i2varint_str( int i ) return str; } -Midi_key::Midi_key( Audio_item* audio_item_l ) - : Midi_item( audio_item_l ) +Midi_key::Midi_key (Audio_item* audio_item_l) + : Midi_item (audio_item_l) { } String Midi_key::str() const { - Key_change_req* k = audio_item_l_->req_l_->command()->keychange(); + Key_change_req* k = audio_item_l_->req_l_->command()->keychange (); int sharps_i = k->sharps_i(); int flats_i = k->flats_i(); // midi cannot handle non-conventional keys - if ( flats_i && sharps_i ) + if ( flats_i && sharps_i) return ""; int accidentals_i = sharps_i - flats_i; String str = "ff5902"; - str += String_convert::i2hex_str( accidentals_i, 2, '0' ); + str += String_convert::i2hex_str (accidentals_i, 2, '0'); int minor_i = k->minor_b(); - str += String_convert::i2hex_str( minor_i, 2, '0' ); - return String_convert::hex2bin_str( str ); + str += String_convert::i2hex_str (minor_i, 2, '0'); + return String_convert::hex2bin_str (str); } -Midi_meter::Midi_meter( Audio_item* audio_item_l ) - : Midi_item( audio_item_l ) +Midi_meter::Midi_meter (Audio_item* audio_item_l) + : Midi_item (audio_item_l) { clocks_per_1_i_ = 18; } @@ -350,20 +350,20 @@ Midi_meter::Midi_meter( Audio_item* audio_item_l ) String Midi_meter::str() const { - Meter_change_req* m = audio_item_l_->req_l_->command()->meterchange(); + Meter_change_req* m = audio_item_l_->req_l_->command()->meterchange (); int num_i = m->beats_i_; int den_i = m->one_beat_i_; String str = "ff5804"; - str += String_convert::i2hex_str( num_i, 2, '0' ); - str += String_convert::i2hex_str( intlog2( den_i ) , 2, '0' ); - str += String_convert::i2hex_str( clocks_per_1_i_, 2, '0' ); - str += String_convert::i2hex_str( 8, 2, '0' ); - return String_convert::hex2bin_str( str ); + str += String_convert::i2hex_str (num_i, 2, '0'); + str += String_convert::i2hex_str (intlog2( den_i) , 2, '0' ); + str += String_convert::i2hex_str (clocks_per_1_i_, 2, '0'); + str += String_convert::i2hex_str (8, 2, '0'); + return String_convert::hex2bin_str (str); } -Midi_note::Midi_note( Audio_item* audio_item_l ) - : Midi_item( audio_item_l ) +Midi_note::Midi_note (Audio_item* audio_item_l) + : Midi_item (audio_item_l) { dynamic_byte_ = 0x7f; } @@ -371,34 +371,34 @@ Midi_note::Midi_note( Audio_item* audio_item_l ) Moment Midi_note::duration() const { - return audio_item_l_->req_l_->musical()->rhythmic()->duration(); + return audio_item_l_->req_l_->musical()->rhythmic ()->duration (); } int Midi_note::pitch_i() const { - return audio_item_l_->req_l_->musical()->melodic()->pitch(); + return audio_item_l_->req_l_->musical()->melodic ()->pitch (); } String Midi_note::str() const { - if ( pitch_i() == INT_MAX ) - return String( "" ); + if ( pitch_i() == INT_MAX) + return String (""); - Byte status_byte = (char)( 0x90 + channel_i_ ); + Byte status_byte = (char)( 0x90 + channel_i_); - String str = String( (char)status_byte ); - str += (char)( pitch_i() + c0_pitch_i_c_ ); + String str = String ((char)status_byte); + str += (char)( pitch_i() + c0_pitch_i_c_); // poor man's staff dynamics: - str += (char)( dynamic_byte_ - 0x10 * channel_i_ ); + str += (char)( dynamic_byte_ - 0x10 * channel_i_); return str; } -Midi_note_off::Midi_note_off( Midi_note* midi_note_l ) - : Midi_item( midi_note_l->audio_item_l_ ) +Midi_note_off::Midi_note_off (Midi_note* midi_note_l) + : Midi_item (midi_note_l->audio_item_l_) { // 0x64 is supposed to be neutral, but let's try aftertouch_byte_ = 0x64; @@ -408,31 +408,31 @@ Midi_note_off::Midi_note_off( Midi_note* midi_note_l ) int Midi_note_off::pitch_i() const { - return audio_item_l_->req_l_->musical()->melodic()->pitch(); + return audio_item_l_->req_l_->musical()->melodic ()->pitch (); } String Midi_note_off::str() const { - if ( pitch_i() == INT_MAX ) - return String( "" ); + if ( pitch_i() == INT_MAX) + return String (""); - Byte status_byte = (char)( 0x80 + channel_i_ ); + Byte status_byte = (char)( 0x80 + channel_i_); - String str = String( (char)status_byte ); - str += (char)( pitch_i() + Midi_note::c0_pitch_i_c_ ); + String str = String ((char)status_byte); + str += (char)( pitch_i() + Midi_note::c0_pitch_i_c_); str += (char)aftertouch_byte_; return str; } -Midi_tempo::Midi_tempo( Audio_item* audio_item_l ) - : Midi_item( audio_item_l ) +Midi_tempo::Midi_tempo (Audio_item* audio_item_l) + : Midi_item (audio_item_l) { - per_minute_4_i_ = ( (Audio_tempo*)audio_item_l_ )->per_minute_4_i_; + per_minute_4_i_ = ( (Audio_tempo*)audio_item_l_)->per_minute_4_i_; } -Midi_tempo::Midi_tempo( int per_minute_4_i ) - : Midi_item( 0 ) +Midi_tempo::Midi_tempo (int per_minute_4_i) + : Midi_item (0) { per_minute_4_i_ = per_minute_4_i; } @@ -442,19 +442,19 @@ Midi_tempo::str() const { int useconds_per_4_i = 60 * (int)1e6 / per_minute_4_i_; String str = "ff5103"; - str += String_convert::i2hex_str( useconds_per_4_i, 6, '0' ); - return String_convert::hex2bin_str( str ); + str += String_convert::i2hex_str (useconds_per_4_i, 6, '0'); + return String_convert::hex2bin_str (str); } -Midi_text::Midi_text( Audio_item* audio_item_l ) - : Midi_item( audio_item_l ) +Midi_text::Midi_text (Audio_item* audio_item_l) + : Midi_item (audio_item_l) { - text_str_ = ( (Audio_text*)audio_item_l_ )->text_str_; - type_ = (Type)( (Audio_text*)audio_item_l_ )->type_; + text_str_ = ( (Audio_text*)audio_item_l_)->text_str_; + type_ = (Type)( (Audio_text*)audio_item_l_)->type_; } -Midi_text::Midi_text( Midi_text::Type type, String text_str ) - : Midi_item( 0 ) +Midi_text::Midi_text (Midi_text::Type type, String text_str) + : Midi_item (0) { text_str_ = text_str; type_ = type; @@ -463,9 +463,9 @@ Midi_text::Midi_text( Midi_text::Type type, String text_str ) String Midi_text::str() const { - String str = "ff" + String_convert::i2hex_str( type_, 2, '0' ); - str = String_convert::hex2bin_str( str ); - str += i2varint_str( text_str_.length_i() ); + String str = "ff" + String_convert::i2hex_str (type_, 2, '0'); + str = String_convert::hex2bin_str (str); + str += i2varint_str (text_str_.length_i()); str += text_str_; return str; } @@ -501,33 +501,32 @@ Midi_track::Midi_track() String data_str; // only for format 0 (currently using format 1)? - data_str += String_convert::hex2bin_str( data_ch_C ); + data_str += String_convert::hex2bin_str (data_ch_C); char const* footer_ch_C = "00" "ff2f" "00"; - String footer_str = String_convert::hex2bin_str( footer_ch_C ); + String footer_str = String_convert::hex2bin_str (footer_ch_C); - set( "MTrk", data_str, footer_str ); + set ("MTrk", data_str, footer_str); } void -Midi_track::add( int delta_time_i, String event_str ) +Midi_track::add (int delta_time_i, String event_str) { - if ( delta_time_i < 0 ) { - cout << String_convert::bin2hex_str( i2varint_str( delta_time_i ) ) << endl; - cout << String_convert::bin2hex_str( event_str ) << endl; + if ( delta_time_i < 0) { + cout << String_convert::bin2hex_str (i2varint_str (delta_time_i) ) << endl; + cout << String_convert::bin2hex_str (event_str) << endl; } - assert(delta_time_i >= 0); - assert(event_str.length_i()); - Midi_chunk::add( i2varint_str( delta_time_i ) + event_str ); + assert (delta_time_i >= 0); + Midi_chunk::add (i2varint_str (delta_time_i) + event_str ); } void -Midi_track::add( Moment delta_time_moment, Midi_item* mitem_l ) +Midi_track::add (Moment delta_time_moment, Midi_item* mitem_l) { // use convention of 384 clocks per 4 // use Duration_convert - int delta_time_i = delta_time_moment * Moment( 384 ) / Moment( 1, 4 ); + int delta_time_i = delta_time_moment * Moment (384) / Moment (1, 4 ); // ? int ( delta_time_moment * 4 * 384) - add( delta_time_i, mitem_l->str() ); + add (delta_time_i, mitem_l->str()); }