X-Git-Url: https://git.donarmstrong.com/lilypond.git?a=blobdiff_plain;f=lily%2Finclude%2Fcommand-request.hh;h=87139bd42788ccd51e81c8d7e89509502c3e70da;hb=3f374e66968308461daa390a7aeed0b013bfe33d;hp=488728d2d9143f3df50045a7126dfdffed267086;hpb=04cf544172e512b5799bc42c2109e34616f67b1c;p=lilypond.git diff --git a/lily/include/command-request.hh b/lily/include/command-request.hh index 488728d2d9..87139bd427 100644 --- a/lily/include/command-request.hh +++ b/lily/include/command-request.hh @@ -15,9 +15,13 @@ /** Request which are assumed to be "happening" before the musical requests. */ -struct Command_req : virtual Request { +class Command_req : public virtual Request { +public: REQUESTMETHODS(Command_req, command); - + virtual Terminate_voice_req *terminate() {return 0;} + virtual Group_change_req * groupchange() { return 0;} + virtual Group_feature_req * groupfeature() { return 0; } + virtual Measure_grouping_req * measuregrouping() { return 0; } virtual Clef_change_req * clefchange() { return 0; } virtual Key_change_req * keychange() { return 0; } @@ -31,12 +35,14 @@ struct Command_req : virtual Request { /** Baseclass for meter/partial req. It has to be handled by Staff_{walker,column} baseclass. */ -struct Timing_req : Command_req { +class Timing_req : public Command_req { +public: REQUESTMETHODS(Timing_req, timing); }; -struct Partial_measure_req : Timing_req { +class Partial_measure_req : public Timing_req { +public: Moment duration_; Partial_measure_req(Moment); @@ -46,7 +52,8 @@ struct Partial_measure_req : Timing_req { /** todo: allow C meter */ -struct Meter_change_req : Timing_req { +class Meter_change_req : public Timing_req { +public: int beats_i_, one_beat_i_; int compare(Meter_change_req const&); @@ -56,7 +63,8 @@ struct Meter_change_req : Timing_req { }; /// toggle Cadenza mode -struct Cadenza_req : Timing_req { +class Cadenza_req : public Timing_req { +public: /// turn on? bool on_b_; Cadenza_req(bool); @@ -64,36 +72,42 @@ struct Cadenza_req : Timing_req { }; /// check if we're at start of a measure. -struct Barcheck_req : Timing_req { +class Barcheck_req : public Timing_req { +public: REQUESTMETHODS(Barcheck_req,barcheck); }; -struct Measure_grouping_req: Timing_req { +class Measure_grouping_req : public Timing_req { +public: Array beat_i_arr_; Array elt_length_arr_; REQUESTMETHODS(Measure_grouping_req, measuregrouping); }; -struct Group_change_req : Command_req { +class Group_change_req : public Command_req { +public: String newgroup_str_; REQUESTMETHODS(Group_change_req, groupchange); }; /** draw a (repeat)-bar. This something different than #Barcheck_req#, the latter should only happen at the start of a measure. */ -struct Bar_req : Command_req { +class Bar_req : public Command_req { +public: String type_str_; Bar_req(String); int compare(const Bar_req&)const; REQUESTMETHODS(Bar_req,bar); }; -struct Terminate_voice_req : Command_req { +class Terminate_voice_req : public Command_req { +public: REQUESTMETHODS(Terminate_voice_req,terminate); }; -struct Group_feature_req : Command_req { +class Group_feature_req : public Command_req { +public: int stemdir_i_; Group_feature_req(); REQUESTMETHODS(Group_feature_req, groupfeature); @@ -105,7 +119,8 @@ struct Group_feature_req : Command_req { Routines for sharps and flats are separated, so that caller may identify non-conventional keys. */ -struct Key_change_req : Command_req { +class Key_change_req : public Command_req { +public: Array melodic_p_arr_; bool minor_b_; @@ -125,7 +140,8 @@ struct Key_change_req : Command_req { int minor_b(); }; -struct Clef_change_req : Command_req { +class Clef_change_req : public Command_req { +public: String clef_str_; Clef_change_req(String); REQUESTMETHODS(Clef_change_req, clefchange);