X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mi2mu%2Fmudela-score.cc;h=bf025d7ca0795a5b236db8b0c574aa34041141b4;hb=refs%2Ftags%2Frelease%2F0.1.30;hp=75205c2ddd93b785b9c745ef7f29b0734ba11871;hpb=4219effd5e8bf754338492df44a6a9f34b6a164e;p=lilypond.git diff --git a/mi2mu/mudela-score.cc b/mi2mu/mudela-score.cc index 75205c2ddd..bf025d7ca0 100644 --- a/mi2mu/mudela-score.cc +++ b/mi2mu/mudela-score.cc @@ -25,7 +25,7 @@ Mudela_score::Mudela_score (int format_i, int tracks_i, int tempo_i) tracks_i_ = tracks_i; tempo_i_ = tempo_i; column_l_array_.push (new Mudela_column (this, Moment (0))); -// mudela_key_l_ = &key_c; + // mudela_key_l_ = &key_c; mudela_key_l_ = 0; mudela_meter_l_ = &meter_4; mudela_tempo_l_ = &tempo_60; @@ -35,7 +35,7 @@ Mudela_score::~Mudela_score() { } -void +void Mudela_score::add_item (Mudela_item* mudela_item_p) { mudela_staff_p_list_.bottom()->add_item (mudela_item_p); @@ -54,13 +54,13 @@ Mudela_score::find_column_l (Moment mom) // should do binary search for (int i = 0; i < column_l_array_.size (); i++ ) if ( column_l_array_[i]->at_mom () == mom ) - return column_l_array_[i]; + return column_l_array_[i]; return 0; #else int upper_i = max (0, column_l_array_.size () - 1); int lower_i = 0; int i = 0; //upper_i; - while (1) + while (1) { Moment i_mom = column_l_array_ [i]->at_mom (); if (i_mom == mom) @@ -69,7 +69,7 @@ Mudela_score::find_column_l (Moment mom) upper_i = i; else lower_i = i; - if ((upper_i == lower_i) || (i == column_l_array_.size () - 1)) + if ((upper_i == lower_i) || (i == column_l_array_.size () - 1)) { // we don't do inserts assert (0); @@ -89,7 +89,7 @@ Mudela_score::get_column_l (Moment mom) { if ( column_l_array_ [column_l_array_.size() - 1]->at_mom () > mom ) { - error ("ugh"); + error (_("ugh")); exit (1); } if ( column_l_array_[column_l_array_.size() - 1]->at_mom () < mom ) @@ -101,42 +101,42 @@ Mudela_score::get_column_l (Moment mom) void Mudela_score::output (String filename_str) { - LOGOUT(NORMAL_ver) << "Lily output to " << filename_str << " ..." << endl; - + LOGOUT(NORMAL_ver) << _("Lily output to ") << filename_str << " ..." << endl; + // ugh, ugly midi type 1 fix if ( (mudela_staff_p_list_.size() == 1) && !mudela_staff_p_list_.top()->number_i_) - mudela_staff_p_list_.top()->number_i_ = 1; + mudela_staff_p_list_.top()->number_i_ = 1; int track_i = 0; Mudela_stream mudela_stream (filename_str); - for (PCursor i (mudela_staff_p_list_); i.ok(); i++) + for (PCursor i (mudela_staff_p_list_); i.ok(); i++) { - LOGOUT(NORMAL_ver) << "track " << track_i++ << ": " << flush; - i->output (mudela_stream); - mudela_stream << "\n"; - LOGOUT(NORMAL_ver) << endl; + LOGOUT(NORMAL_ver) << _("track ") << track_i++ << ": " << flush; + i->output (mudela_stream); + mudela_stream << "\n"; + LOGOUT(NORMAL_ver) << endl; } mudela_stream << "\\score{\n"; if (mudela_staff_p_list_.size() > 1) - mudela_stream << "<\n\\multi 3;\n"; - for (PCursor i (mudela_staff_p_list_); i.ok(); i++) + mudela_stream << "\\multi 3 < \\type Staff\n"; + for (PCursor i (mudela_staff_p_list_); i.ok(); i++) { - if ( (mudela_staff_p_list_.size() != 1) + if ( (mudela_staff_p_list_.size() != 1) && (i == mudela_staff_p_list_.top())) - continue; - mudela_stream << "\\melodic{ "; - mudela_stream << "\\$" << i->id_str(); - mudela_stream << " }\n"; + continue; + mudela_stream << "< \\melodic{ "; + mudela_stream << "\\$" << i->id_str(); + mudela_stream << " } >\n"; } if (mudela_staff_p_list_.size() > 1) - mudela_stream << ">\n"; + mudela_stream << ">\n"; mudela_stream << "\\paper{}\n"; mudela_stream << "\\midi{\n"; - // let's not use silly 0 track - mudela_staff_p_list_.bottom()->mudela_tempo_p_->output (mudela_stream); + // let's not use silly 0 track + mudela_staff_p_list_.bottom()->mudela_tempo_l_->output (mudela_stream); mudela_stream << "}\n"; mudela_stream << "}\n"; @@ -145,44 +145,44 @@ Mudela_score::output (String filename_str) void Mudela_score::process() { - LOGOUT(NORMAL_ver) << "\nProcessing..." << endl; - + LOGOUT(NORMAL_ver) << _("\nProcessing...") << endl; + LOGOUT(DEBUG_ver) << "columns\n"; -// for (PCursor i (mudela_column_p_list_); i.ok(); i++) -// LOGOUT(DEBUG_ver) << "At: " << i->at_mom() << "\n"; + // for (PCursor i (mudela_column_p_list_); i.ok(); i++) + // LOGOUT(DEBUG_ver) << "At: " << i->at_mom() << "\n"; settle_columns(); filter_tempo(); quantify_columns(); quantify_durations(); - LOGOUT(NORMAL_ver) << "\nCreating voices..." << endl; + LOGOUT(NORMAL_ver) << _("\nCreating voices...") << endl; int track_i = 0; - for (PCursor i (mudela_staff_p_list_); i.ok(); i++) + for (PCursor i (mudela_staff_p_list_); i.ok(); i++) { - LOGOUT(NORMAL_ver) << "track " << track_i++ << ": " << flush; - i->process(); - LOGOUT(NORMAL_ver) << endl; + LOGOUT(NORMAL_ver) << _("track ") << track_i++ << ": " << flush; + i->process(); + LOGOUT(NORMAL_ver) << endl; } } void Mudela_score::filter_tempo() { - LOGOUT(NORMAL_ver) << "\nNOT Filtering tempo..." << endl; + LOGOUT(NORMAL_ver) << _("\nNOT Filtering tempo...") << endl; } void Mudela_score::quantify_columns() { // ugh - if (Duration_convert::no_quantify_b_s) + if (Duration_convert::no_quantify_b_s) { - LOGOUT(NORMAL_ver) << "\nNOT Quantifying columns..." << endl; - return; + LOGOUT(NORMAL_ver) << _("\nNOT Quantifying columns...") << endl; + return; } - LOGOUT(NORMAL_ver) << "\nQuantifying columns..." << endl; + LOGOUT(NORMAL_ver) << _("\nQuantifying columns...") << endl; int current_bar_i = 0; Moment bar_mom = mudela_meter_l_->bar_mom(); @@ -191,15 +191,15 @@ Mudela_score::quantify_columns() n = Duration_convert::type2_i (n); Moment s = Moment (1, n); Moment sh = Moment (1, 2 * n); - for (int i = 0; i < column_l_array_.size(); i++) + for (int i = 0; i < column_l_array_.size(); i++) { column_l_array_ [i]->at_mom_ = - s * (int) ( (column_l_array_ [i]->at_mom()) / s); + s * Moment( (int) ( (column_l_array_ [i]->at_mom()) / s)); int bar_i = (int) (column_l_array_ [i]->at_mom () / bar_mom) + 1; - if (bar_i > current_bar_i) + if (bar_i > current_bar_i) { - LOGOUT (NORMAL_ver) << '[' << bar_i << ']' << flush; + LOGOUT (NORMAL_ver) << '[' << bar_i << ']' << flush; current_bar_i = bar_i; } } @@ -209,23 +209,23 @@ Mudela_score::quantify_columns() void Mudela_score::quantify_durations() { -// LOGOUT(NORMAL_ver) << "\nQuantifying durations..." << endl; + // LOGOUT(NORMAL_ver) << "\nQuantifying durations..." << endl; } void Mudela_score::settle_columns() { -// LOGOUT(NORMAL_ver) << "\nNOT Settling columns..." << endl; -// return; - LOGOUT(NORMAL_ver) << "\nSettling columns..." << endl; + // LOGOUT(NORMAL_ver) << "\nNOT Settling columns..." << endl; + // return; + LOGOUT(NORMAL_ver) << _("\nSettling columns...") << endl; #if 0 assert (!column_l_array_.size()); int n = mudela_column_p_list_.size(); -// huh? -// column_l_array_.set_size (n); + // huh? + // column_l_array_.set_size (n); for (PCursor i (mudela_column_p_list_); i.ok(); i++) - column_l_array_.push (*i); + column_l_array_.push (*i); #endif int n = column_l_array_.size(); @@ -236,26 +236,25 @@ Mudela_score::settle_columns() Duration smallest_dur; smallest_dur.durlog_i_ = 6; Moment const noise_mom = Duration_convert::dur2_mom (smallest_dur) - / Moment (2); - for (int i = 0; i < n; i++) + / Moment (2); + for (int i = 0; i < n; i++) { - if (!start_i) - { - start_i = end_i = i; - start_mom = column_l_array_ [i]->at_mom(); - continue; - } - - // find all columns within noise's distance - while ( (i < n) - && (column_l_array_ [i]->at_mom() - start_mom < noise_mom)) - end_i = ++i; - - // bluntly set all to time of first in group - for (int j = start_i; j < end_i; j++) - column_l_array_ [j]->at_mom_ = start_mom; - - start_i = end_i = 0; + if (!start_i) + { + start_i = end_i = i; + start_mom = column_l_array_ [i]->at_mom(); + continue; + } + + // find all columns within noise's distance + while ( (i < n) + && (column_l_array_ [i]->at_mom() - start_mom < noise_mom)) + end_i = ++i; + + // bluntly set all to time of first in group + for (int j = start_i; j < end_i; j++) + column_l_array_ [j]->at_mom_ = start_mom; + + start_i = end_i = 0; } } -