1 #ifndef MusicSheetWidget_h
2 #define MusicSheetWidget_h
99 void UpdateWhilePlaying();
102 int GetStemDirectionForNoteIndex(uint32 noteIdx)
const {
return (noteIdx<=
CHOIR_NOTE_B4)?STEM_DIRECTION_DOWN:STEM_DIRECTION_UP;}
103 int GetStemDirectionForChord(uint64 chordVal)
const;
105 int GetYForNote(uint32 noteIdx)
const;
106 uint32 GetNoteForY(
int y)
const;
108 int GetXForChordIndex(uint32 chordIdx,
bool useLoopingLogic)
const;
109 uint32 GetChordIndexForX(
int x)
const;
111 int GetXForMicrosecondsOffset(int64 microsecondsOffset)
const;
113 int DrawChord(QPainter & p, uint32 chordIdx, uint64 chordVal,
bool chooseNoteColor,
int stemDirection, qreal optForceOpacity = -1.0)
const;
114 int DrawNote(QPainter & p, uint32 chordIdx, uint32 noteIdx,
bool chooseNoteColor,
int stemDirection, qreal optForceOpacity = -1.0)
const;
115 void DrawNoteLine(QPainter & p, uint32 chordIdx, uint32 noteIdx, qreal optForceOpacity = -1.0)
const;
116 void DrawNoteLines(QPainter & p, uint32 chordIdx, uint32 firstNoteIdx, uint32 afterLastNoteIdx, qreal optForceOpacity = -1.0)
const;
117 int GetSeekPointX()
const;
118 void EnsureXIsVisible(
int x);
120 const QPixmap & GetPixmapForNote(uint32 noteIdx,
int stemDirection,
bool chooseColor, qreal & retOpacity)
const;
122 const INetworkTimeProvider * _networkTimeProvider;
124 ConstMusicSheetRef _musicSheet;
127 QTimer _animationTimer;
130 STEM_DIRECTION_UP = 0,
136 NOTE_TYPE_REGULAR = 0,
142 QPixmap _notePixmaps[NUM_NOTE_TYPES][NUM_STEM_DIRECTIONS];
144 uint32 _ghostChordIndex;
145 uint32 _ghostNoteIndex;
149 bool _isFullyAttached;
152 uint64 _allAssignedNotes;
154 uint32 _seekDraggingIndex;
156 uint64 _notesBelowStaff;
157 uint64 _notesAboveStaff;
This is an abstract interface for an object that can provide us with network-clock-time values...
This object holds the state of how the currently-in-memory Music sheet should be performed over time...
The choir namespace contains the code specific to the ZGChoir demonstration application.