Canorus  0.0
playable.h
Go to the documentation of this file.
1 
8 #ifndef PLAYABLE_H_
9 #define PLAYABLE_H_
10 
11 #include "score/muselement.h"
12 #include "score/staff.h"
13 #include "score/playablelength.h"
14 #include "score/tuplet.h"
15 
16 class CAVoice;
17 
18 class CAPlayable : public CAMusElement {
19 public:
21  virtual ~CAPlayable();
22 
25  virtual CAPlayable* clone(CAContext* context) { CAPlayable* pl = clone(); pl->setContext(context); return pl; }
26  virtual CAPlayable* clone(CAVoice* voice=0)=0;
27 
28  CATuplet *tuplet() { return _tuplet; }
29  void setTuplet( CATuplet *t ) { _tuplet = t; }
30 
31  inline CAVoice *voice() { return _voice; }
32  void setVoice(CAVoice *v);
33  inline CAStaff* staff() { return static_cast<CAStaff*>(_context); }
34 
35  inline bool isFirstInTuplet() { return ( _tuplet && _tuplet->firstNote()==this); }
36  inline bool isLastInTuplet() { return ( _tuplet && _tuplet->lastNote()==this); }
37 
38  void resetTime();
39  void calculateTimeLength();
40 
41 protected:
45 };
46 #endif /* PLAYABLE_H_ */
CATuplet::lastNote
CAPlayable * lastNote()
Definition: tuplet.cpp:315
CAPlayable::setVoice
void setVoice(CAVoice *v)
Definition: playable.cpp:58
CAMusElement::context
CAContext * context()
Definition: muselement.h:48
CAPlayable::staff
CAStaff * staff()
Definition: playable.h:33
CATuplet::firstNote
CAPlayable * firstNote()
Definition: tuplet.cpp:301
CAPlayable::isLastInTuplet
bool isLastInTuplet()
Definition: playable.h:36
CAVoice::remove
bool remove(CAMusElement *elt, bool updateSignsTimes=true)
Definition: voice.cpp:307
playable.h
CAVoice
Class which represents a voice in the staff.
Definition: voice.h:23
CAPlayable::clone
virtual CAPlayable * clone(CAVoice *voice=0)=0
CAMusElement::_context
CAContext * _context
Definition: muselement.h:90
CAPlayable::setTuplet
void setTuplet(CATuplet *t)
Definition: playable.h:29
CAPlayable
Playable instances of music elements.
Definition: playable.h:18
CAMusElement::setTimeLength
void setTimeLength(int length)
Definition: muselement.h:54
CAPlayable::CAPlayable
CAPlayable(CAPlayableLength length, CAVoice *voice, int timeStart, int timeLength=-1)
Definition: playable.cpp:32
CATuplet::removeNote
void removeNote(CAPlayable *p)
Definition: tuplet.h:36
CAPlayable::setPlayableLength
void setPlayableLength(CAPlayableLength &l)
Definition: playable.h:24
CAMusElement::setContext
void setContext(CAContext *context)
Definition: muselement.h:49
CAPlayable::_tuplet
CATuplet * _tuplet
Definition: playable.h:44
CAPlayable::tuplet
CATuplet * tuplet()
Definition: playable.h:28
CAMusElement::timeLength
virtual int timeLength() const
Definition: muselement.h:53
CAPlayable::~CAPlayable
virtual ~CAPlayable()
Definition: playable.cpp:50
CAPlayable::resetTime
void resetTime()
Definition: playable.cpp:83
CATuplet
Class used for tuplets (triplets, duols etc.)
Definition: tuplet.h:17
CAPlayable::isFirstInTuplet
bool isFirstInTuplet()
Definition: playable.h:35
CAStaff
Represents a staff in the sheet.
Definition: staff.h:25
CAMusElement
An abstract class which represents every music element in the score.
Definition: muselement.h:21
CAPlayable::_voice
CAVoice * _voice
Definition: playable.h:43
CAMusElement::setTimeStart
void setTimeStart(int time)
Definition: muselement.h:52
CAPlayableLength
Musical length of notes and rests.
Definition: playablelength.h:16
CAPlayableLength::playableLengthToTimeLength
static const int playableLengthToTimeLength(CAPlayableLength length)
Definition: playablelength.cpp:107
playablelength.h
CAMusElement::timeEnd
int timeEnd()
Definition: muselement.h:55
CAMusElement::timeStart
virtual int timeStart() const
Definition: muselement.h:51
CAVoice::staff
CAStaff * staff()
Definition: voice.h:29
muselement.h
CAContext
Line of music elements in the sheet.
Definition: context.h:16
CAPlayable::_playableLength
CAPlayableLength _playableLength
Definition: playable.h:42
tuplet.h
voice.h
CAPlayable::calculateTimeLength
void calculateTimeLength()
Definition: playable.cpp:69
staff.h
CAPlayable::clone
virtual CAPlayable * clone(CAContext *context)
Definition: playable.h:25
CAPlayable::voice
CAVoice * voice()
Definition: playable.h:31
CAPlayable::playableLength
CAPlayableLength & playableLength()
Definition: playable.h:23