////--------------------------------------------------------------------------------------- DiatonicPitch FPitch::to_diatonic_pitch() { return DiatonicPitch(step(), octave()); }
//--------------------------------------------------------------------------------------- DiatonicPitch get_diatonic_pitch_for_first_line(EClef nClef) { // Returns the diatonic pitch for first line, when using received clef. switch(nClef) { case k_clef_G2: return DiatonicPitch(k_step_E, k_octave_4); case k_clef_F4: return DiatonicPitch(k_step_G, k_octave_2); case k_clef_F3: return DiatonicPitch(k_step_B, k_octave_2); case k_clef_C1: return DiatonicPitch(k_step_C, k_octave_4); case k_clef_C2: return DiatonicPitch(k_step_A, k_octave_3); case k_clef_C3: return DiatonicPitch(k_step_F, k_octave_3); case k_clef_C4: return DiatonicPitch(k_step_D, k_octave_3); case k_clef_C5: return DiatonicPitch(k_step_B, k_octave_2); case k_clef_F5: return DiatonicPitch(k_step_E, k_octave_2); case k_clef_G1: return DiatonicPitch(k_step_G, k_octave_4); case k_clef_8_G2: return DiatonicPitch(k_step_E, k_octave_5); //8 above case k_clef_G2_8: return DiatonicPitch(k_step_E, k_octave_3); //8 below case k_clef_8_F4: return DiatonicPitch(k_step_G, k_octave_3); //8 above case k_clef_F4_8: return DiatonicPitch(k_step_G, k_octave_1); //8 below case k_clef_15_G2: return DiatonicPitch(k_step_E, k_octave_6); //15 above case k_clef_G2_15: return DiatonicPitch(k_step_E, k_octave_2); //15 below case k_clef_15_F4: return DiatonicPitch(k_step_G, k_octave_4); //15 above case k_clef_F4_15: return DiatonicPitch(k_step_G, k_octave_0); //15 below case k_clef_undefined: case k_clef_percussion: return NO_DPITCH; default: { string msg = str( boost::format( "[get_diatonic_pitch_for_first_line] Invalid clef %d") % nClef ); LOMSE_LOG_ERROR(msg); throw runtime_error(msg); } } return NO_DPITCH; }