Canorus  0.0
lyricscontext.h
Go to the documentation of this file.
1 
8 #ifndef LYRICSCONTEXT_H_
9 #define LYRICSCONTEXT_H_
10 
11 #include "score/context.h"
12 #include "score/voice.h"
13 
14 #include <QList>
15 #include <QHash>
16 
17 class CASyllable;
18 
19 class CALyricsContext : public CAContext {
20 public:
21  CALyricsContext( const QString name, int stanzaNumber, CAVoice *v );
22  CALyricsContext( const QString name, int stanzaNumber, CASheet *s );
26 
27  void repositSyllables();
28 
31  bool remove( CAMusElement* );
32  void clear();
33 
34  inline const QList<CASyllable*>& syllableList() { return _syllableList; }
35  bool addSyllable( CASyllable*, bool replace=true );
36  bool addEmptySyllable( int timeStart, int timeLength );
37 // void removeSyllable( CASyllable* s ) { _syllableList.removeAll(s); }
38  CASyllable* removeSyllableAtTimeStart( int timeStart );
39  CASyllable* syllableAtTimeStart( int timeStart );
40 
42  void setAssociatedVoice( CAVoice *v );
43  inline int stanzaNumber() { return _stanzaNumber; }
44  inline void setStanzaNumber( int sn ) { _stanzaNumber = sn; }
45  inline QString customStanzaName() { return _customStanzaName; }
46  inline void setCustomStanzaName( QString name ) { _customStanzaName = name; }
47 
48 private:
49  QList< CASyllable* > _syllableList;
53 };
54 
55 #endif /* LYRICSCONTEXT_H_ */
Represents a single sheet of paper in the document.
Definition: sheet.h:22
~CALyricsContext()
Definition: lyricscontext.cpp:45
CAMusElement * previous(CAMusElement *)
Definition: lyricscontext.cpp:127
const QList< CASyllable * > & syllableList()
Definition: lyricscontext.h:34
void setAssociatedVoice(CAVoice *v)
Definition: lyricscontext.cpp:230
void setStanzaNumber(int sn)
Definition: lyricscontext.h:44
QString customStanzaName()
Definition: lyricscontext.h:45
Class which represents a voice in the staff.
Definition: voice.h:23
CAVoice * associatedVoice()
Definition: lyricscontext.h:41
const QString name()
Definition: context.h:29
int _stanzaNumber
Definition: lyricscontext.h:51
int stanzaNumber()
Definition: lyricscontext.h:43
bool remove(CAMusElement *)
Definition: lyricscontext.cpp:141
void repositSyllables()
Definition: lyricscontext.cpp:83
CALyricsContext * clone(CASheet *s)
Definition: lyricscontext.cpp:57
void clear()
Definition: lyricscontext.cpp:52
CASyllable * syllableAtTimeStart(int timeStart)
Definition: lyricscontext.cpp:218
An abstract class which represents every music element in the score.
Definition: muselement.h:21
CAMusElement * next(CAMusElement *)
Definition: lyricscontext.cpp:116
bool addSyllable(CASyllable *, bool replace=true)
Definition: lyricscontext.cpp:185
One stanza line of lyrics.
Definition: lyricscontext.h:19
CAVoice * _associatedVoice
Definition: lyricscontext.h:50
CALyricsContext(const QString name, int stanzaNumber, CAVoice *v)
Definition: lyricscontext.cpp:27
Lyrics under the note.
Definition: syllable.h:19
QString _customStanzaName
Definition: lyricscontext.h:52
bool addEmptySyllable(int timeStart, int timeLength)
Definition: lyricscontext.cpp:204
CASyllable * removeSyllableAtTimeStart(int timeStart)
Definition: lyricscontext.cpp:160
void setCustomStanzaName(QString name)
Definition: lyricscontext.h:46
Line of music elements in the sheet.
Definition: context.h:16
QList< CASyllable * > _syllableList
Definition: lyricscontext.h:49
void cloneLyricsContextProperties(CALyricsContext *)
Definition: lyricscontext.cpp:71