20 #ifndef BASE_MUSIC_SCORE_H    21 #define BASE_MUSIC_SCORE_H    58 template<
template<
typename> 
class MeasureType = 
Measure, 
typename MeasureElementType = 
MeasureElement>
    93     const MeasureType<MeasureElementType>* 
GetMeasure(
size_t n) 
const;
   139     csArray<MeasureType<MeasureElementType>> measures;
   163 template<
template<
typename> 
class MeasureType, 
typename MeasureElementType>
   183     bool Advance(
bool ignoreEndOfMeasure);
   191     MeasureElementType* GetCurrentElement();
   196     const MeasureElementType* GetCurrentElement() 
const;
   204     MeasureType<MeasureElementType>* GetCurrentMeasure();
   209     const MeasureType<MeasureElementType>* GetCurrentMeasure() 
const;
   221     bool HasNext(
bool ignoreEndOfMeasure) 
const;
   232     void InsertElementAfter(
const MeasureElementType &element);
   242     void InsertElementBefore(
const MeasureElementType &element);
   252     void InsertMeasureAfter(
const MeasureType<MeasureElementType> &measure);
   261     void InsertMeasureBefore(
const MeasureType<MeasureElementType> &measure);
   268     bool IsEndOfMeasure() 
const;
   277     bool IsEndOfScore() 
const;
   285     bool IsValid() 
const;
   296     bool RemoveCurrentElement();
   308     bool RemoveCurrentMeasure();
   323     size_t currElementIdx; 
   324     size_t currMeasureIdx; 
   341            typename BaseMusicalScore<MeasureType, MeasureElementType>::ScoreMode mode);
   349     bool CheckRepeat() 
const;
   360     bool HasNextWritten(
bool ignoreEndOfMeasure) 
const;
   368 #include "basemusicscore.hpp"   370 #endif // BASE_MUSIC_SCORE_H A measure containing measure elements. 
 
Cursor * SetEditMode()
Set the mode to edit. 
 
BaseMusicalScore()
Create an empty score in edit mode. 
 
bool AdvanceCursor(bool ignoreEndOfMeasure)
Move the cursor to the next element. 
 
This is used to keep track of everything needed to play a score and provide some utility functions fo...
 
Implements a musical score. 
 
const MeasureType< MeasureElementType > * GetMeasure(size_t n) const 
Return the n-th measure in the score. 
 
const Cursor * SetPlayMode()
Set the mode to play. 
 
This is part of the BaseMusicalScore API. 
 
const Cursor * GetPlayCursor() const 
Return the cursor if the score is in play mode. 
 
size_t GetNMeasures() const 
Return the number of measures in the score. 
 
An element of a measure with a given duration. 
 
Cursor * GetEditCursor()
Return the cursor if the score is in edit mode. 
 
~BaseMusicalScore()
Destructor.