Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lyricscontext.h
Go to the documentation of this file.
1 
8 #ifndef LYRICSCONTEXT_H_
9 #define LYRICSCONTEXT_H_
10 
11 #include "core/context.h"
12 #include "core/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 );
24  void clear();
27 
28  void repositSyllables();
29 
32  QList<CAMusElement*> musElementList();
33  bool remove( CAMusElement* );
34  void removeAt( int i );
35 
36  bool addSyllable( CASyllable*, bool replace=true );
37  bool addEmptySyllable( int timeStart, int timeLength );
38  CASyllable* removeSyllableAtTimeStart( int timeStart );
39  CASyllable* syllableAt( int idx ) { return _syllableList[idx]; }
40  CASyllable* syllableAtTimeStart( int timeStart );
41  inline QList<CASyllable*> syllableList() { return _syllableList; }
42  inline int syllableCount() { return _syllableList.size(); }
43 
45  inline void setAssociatedVoice( CAVoice *v ) {
46  if (_associatedVoice)
48  if (v)
49  v->addLyricsContext(this);
50  _associatedVoice = v;
52  }
53  inline int stanzaNumber() { return _stanzaNumber; }
54  inline void setStanzaNumber( int sn ) { _stanzaNumber = sn; }
55  inline QString customStanzaName() { return _customStanzaName; }
56  inline void setCustomStanzaName( QString name ) { _customStanzaName = name; }
57 
58 private:
59  QList< CASyllable* > _syllableList;
63 };
64 
65 #endif /* LYRICSCONTEXT_H_ */
Represents a single sheet of paper in the document.
Definition: sheet.h:20
~CALyricsContext()
Definition: lyricscontext.cpp:45
CAMusElement * previous(CAMusElement *)
Definition: lyricscontext.cpp:125
void setAssociatedVoice(CAVoice *v)
Definition: lyricscontext.h:45
void addLyricsContext(CALyricsContext *lc)
Definition: voice.h:102
void setStanzaNumber(int sn)
Definition: lyricscontext.h:54
QString customStanzaName()
Definition: lyricscontext.h:55
bool removeLyricsContext(CALyricsContext *lc)
Definition: voice.h:105
Class which represents a voice in the staff.
Definition: voice.h:22
CASyllable * syllableAt(int idx)
Definition: lyricscontext.h:39
QList< CASyllable * > syllableList()
Definition: lyricscontext.h:41
CAVoice * associatedVoice()
Definition: lyricscontext.h:44
const QString name()
Definition: context.h:28
int _stanzaNumber
Definition: lyricscontext.h:61
int stanzaNumber()
Definition: lyricscontext.h:53
void repositSyllables()
Definition: lyricscontext.cpp:84
CALyricsContext * clone(CASheet *s)
Definition: lyricscontext.cpp:58
void clear()
Definition: lyricscontext.cpp:52
CASyllable * syllableAtTimeStart(int timeStart)
Definition: lyricscontext.cpp:226
An abstract class which represents every music element in the score.
Definition: muselement.h:20
CAMusElement * next(CAMusElement *)
Definition: lyricscontext.cpp:114
bool addSyllable(CASyllable *, bool replace=true)
Definition: lyricscontext.cpp:192
void removeAt(int i)
Definition: lyricscontext.cpp:155
One stanza line of lyrics.
Definition: lyricscontext.h:19
CAVoice * _associatedVoice
Definition: lyricscontext.h:60
QList< CAMusElement * > musElementList()
Definition: lyricscontext.cpp:218
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:62
bool addEmptySyllable(int timeStart, int timeLength)
Definition: lyricscontext.cpp:208
int syllableCount()
Definition: lyricscontext.h:42
CASyllable * removeSyllableAtTimeStart(int timeStart)
Definition: lyricscontext.cpp:167
void setCustomStanzaName(QString name)
Definition: lyricscontext.h:56
Line of music elements in the sheet.
Definition: context.h:16
QList< CASyllable * > _syllableList
Definition: lyricscontext.h:59
void cloneLyricsContextProperties(CALyricsContext *)
Definition: lyricscontext.cpp:72