~s-cecilio/lomse/master

« back to all changes in this revision

Viewing changes to include/lomse_internal_model.h

  • Committer: GitHub
  • Author(s): Cecilio Salmeron
  • Date: 2016-09-15 14:46:58 UTC
  • mfrom: (202.1.10)
  • Revision ID: git-v1:5fa3dc2c55edae65a670f6ee4bd2c5dad932371e
Merge pull request #61 from cecilios/fixes

Improved support for tuplets and some fixes

Show diffs side-by-side

added added

removed removed

Lines of Context:
127
127
class ImoTieDto;
128
128
class ImoTimeModificationDto;
129
129
class ImoTimeSignature;
130
 
class ImoTupletData;
131
130
class ImoTupletDto;
132
131
class ImoTuplet;
133
132
class ImoWrapperBox;
451
450
 
452
451
                // ImoRelDataObj (A)
453
452
                k_imo_reldataobj,
454
 
                    k_imo_beam_data, k_imo_slur_data,
455
 
                    k_imo_tie_data, k_imo_tuplet_data,
 
453
                    k_imo_beam_data,
 
454
                    k_imo_slur_data,
 
455
                    k_imo_tie_data,
456
456
                k_imo_reldataobj_last,
457
457
 
458
458
                //ImoCollection(A)
887
887
    inline bool is_time_modification_dto() { return m_objtype == k_imo_time_modification_dto; }
888
888
    inline bool is_tuplet() { return m_objtype == k_imo_tuplet; }
889
889
    inline bool is_tuplet_dto() { return m_objtype == k_imo_tuplet_dto; }
890
 
    inline bool is_tuplet_data() { return m_objtype == k_imo_tuplet_data; }
891
890
 
892
891
    //special checkers
893
892
    inline bool is_mouse_over_generator() {
4395
4394
{
4396
4395
protected:
4397
4396
    int m_tupletType;
 
4397
    int m_tupletNum;
4398
4398
    int m_nActualNum;
4399
4399
    int m_nNormalNum;
4400
4400
    int m_nShowBracket;
4401
4401
    int m_nPlacement;
4402
4402
    int m_nShowNumber;
 
4403
    int m_lineNum;
4403
4404
    bool m_fOnlyGraphical;
4404
 
    LdpElement* m_pTupletElm;
4405
4405
    ImoNoteRest* m_pNR;
4406
4406
 
4407
4407
public:
4408
4408
    ImoTupletDto();
4409
 
    ImoTupletDto(LdpElement* pBeamElm);
4410
4409
    virtual ~ImoTupletDto() {}
4411
4410
 
4412
4411
    enum { k_unknown = 0, k_start, k_continue, k_stop, };
4413
4412
 
4414
4413
    //getters
4415
 
    inline LdpElement* get_tuplet_element() { return m_pTupletElm; }
4416
4414
    inline ImoNoteRest* get_note_rest() { return m_pNR; }
4417
4415
    inline bool is_start_of_tuplet() { return m_tupletType == ImoTupletDto::k_start; }
4418
4416
    inline bool is_end_of_tuplet() { return m_tupletType == ImoTupletDto::k_stop;; }
4421
4419
    inline int get_show_bracket() { return m_nShowBracket; }
4422
4420
    inline int get_show_number() { return m_nShowNumber; }
4423
4421
    inline int get_placement() { return m_nPlacement; }
4424
 
    int get_line_number();
 
4422
    int get_line_number() { return m_lineNum; };
4425
4423
    inline bool is_only_graphical() { return m_fOnlyGraphical; }
4426
4424
 
4427
4425
    //setters
4428
4426
    inline void set_note_rest(ImoNoteRest* pNR) { m_pNR = pNR; }
4429
 
    inline void set_tuplet_element(LdpElement* pElm) { m_pTupletElm = pElm; }
4430
4427
    inline void set_tuplet_type(int value) { m_tupletType = value; }
 
4428
    inline void set_tuplet_number(int value) { m_tupletNum = value; }
4431
4429
    inline void set_actual_number(int value) { m_nActualNum = value; }
4432
4430
    inline void set_normal_number(int value) { m_nNormalNum = value; }
4433
4431
    inline void set_show_bracket(int value) { m_nShowBracket = value; }
4434
4432
    inline void set_show_number(int value) { m_nShowNumber = value; }
4435
4433
    inline void set_placement(int value) { m_nPlacement = value; }
4436
4434
    inline void set_only_graphical(bool value) { m_fOnlyGraphical = value; }
 
4435
    inline void set_line_number(int value) { m_lineNum = value; }
4437
4436
 
4438
4437
    //required by RelationBuilder
4439
 
    int get_item_number() { return 0; }
 
4438
    int get_item_number() { return m_tupletNum; }
4440
4439
    bool is_start_of_relation() { return is_start_of_tuplet(); }
4441
4440
    bool is_end_of_relation() { return is_end_of_tuplet(); }
4442
4441
};
4443
4442
 
4444
4443
//---------------------------------------------------------------------------------------
4445
 
// Tuplet info for a note/rest
4446
 
class ImoTupletData : public ImoRelDataObj
4447
 
{
4448
 
protected:
4449
 
        friend class ImFactory;
4450
 
    ImoTupletData(ImoTupletDto* pDto);
4451
 
 
4452
 
public:
4453
 
    virtual ~ImoTupletData() {}
4454
 
};
4455
 
 
4456
 
//---------------------------------------------------------------------------------------
4457
4444
class ImoTuplet : public ImoRelObj
4458
4445
{
4459
4446
protected:
4649
4636
//typedef Visitor<ImoStyle> ImVisitor;
4650
4637
//typedef Visitor<ImoTieData> ImVisitor;
4651
4638
//typedef Visitor<ImoTieDto> ImVisitor;
4652
 
//typedef Visitor<ImoTupletData> ImVisitor;
4653
4639
//typedef Visitor<ImoTupletDto> ImVisitor;
4654
4640
//typedef Visitor<ImoTuplet> ImVisitor;
4655
4641
//typedef Visitor<ImoWrapperBox> ImVisitor;