Canorus  0.0
diatonickey.h
Go to the documentation of this file.
1 
8 #ifndef DIATONICKEY_H_
9 #define DIATONICKEY_H_
10 
11 #include "score/diatonicpitch.h"
12 #include <QString>
13 #include <QList>
14 
16 public:
17  enum CAGender {
19  Minor
20  };
21 
22  enum CAShape {
25  Melodic
26  };
27 
28  CADiatonicKey();
29  CADiatonicKey( const QString& key );
30  CADiatonicKey( const int& numberOfAccs, const CAGender& gender );
31  CADiatonicKey( const CADiatonicPitch& pitch, const CAGender& gender );
32  CADiatonicKey( const CADiatonicPitch& pitch, const CAGender& gender, const CAShape& shape );
33 
35  inline bool operator!=(CADiatonicKey p) { return !operator==(p); }
36 #ifndef SWIG
37  void operator=(const QString& key);
38 #endif
39 
41 
43  inline const CAGender gender() { return _gender; }
44  inline const CAShape shape() { return _shape; }
45 
46  inline void setDiatonicPitch( const CADiatonicPitch p ) { _diatonicPitch = p; }
47  inline void setGender( const CAGender g ) { _gender = g; }
48  inline void setShape( const CAShape s ) { _shape = s; }
49 
50  static const QString shapeToString( CAShape );
51  static CAShape shapeFromString( const QString );
52  static const QString genderToString( CAGender );
53  static CAGender genderFromString( const QString );
54 
55  static const QString diatonicKeyToString( CADiatonicKey k );
56  static CADiatonicKey diatonicKeyFromString( const QString );
57 
58  int numberOfAccs();
59  QList<int> accsMatrix();
60  int noteAccs( int noteName );
61  bool containsPitch( const CADiatonicPitch& p );
62 
63 private:
64  CADiatonicPitch _diatonicPitch; // pitch of the key
65  CAGender _gender; // major, minor
66  CAShape _shape; // natural, harmonic, melodic
67 };
68 #endif /* DIATONICKEY_H_ */
CADiatonicKey::genderFromString
static CAGender genderFromString(const QString)
Definition: diatonickey.cpp:129
CADiatonicKey::shape
const CAShape shape()
Definition: diatonickey.h:44
CADiatonicKey::containsPitch
bool containsPitch(const CADiatonicPitch &p)
Definition: diatonickey.cpp:237
CADiatonicKey::diatonicKeyToString
static const QString diatonicKeyToString(CADiatonicKey k)
Definition: diatonickey.cpp:156
CADiatonicKey::diatonicKeyFromString
static CADiatonicKey diatonicKeyFromString(const QString)
Definition: diatonickey.cpp:202
diatonicpitch.h
CADiatonicKey::shapeToString
static const QString shapeToString(CAShape)
Definition: diatonickey.cpp:135
CADiatonicKey::Harmonic
@ Harmonic
Definition: diatonickey.h:24
CADiatonicKey::setGender
void setGender(const CAGender g)
Definition: diatonickey.h:47
CADiatonicKey
Musical key.
Definition: diatonickey.h:15
CAInterval
Music interval expressed with diatonical quality and quantity.
Definition: interval.h:15
CADiatonicKey::CADiatonicKey
CADiatonicKey()
Definition: diatonickey.cpp:27
CADiatonicKey::_shape
CAShape _shape
Definition: diatonickey.h:66
CADiatonicKey::CAGender
CAGender
Definition: diatonickey.h:17
CADiatonicKey::operator+
CADiatonicKey operator+(CAInterval)
Definition: diatonickey.cpp:111
CADiatonicPitch::setNoteName
void setNoteName(const int noteName)
Definition: diatonicpitch.h:53
CADiatonicKey::Natural
@ Natural
Definition: diatonickey.h:23
CADiatonicKey::numberOfAccs
int numberOfAccs()
Definition: diatonickey.cpp:79
CADiatonicPitch::noteName
const int noteName() const
Definition: diatonicpitch.h:50
CADiatonicPitch
Musical note pitch.
Definition: diatonicpitch.h:16
CADiatonicKey::Minor
@ Minor
Definition: diatonickey.h:19
diatonickey.h
CADiatonicKey::_diatonicPitch
CADiatonicPitch _diatonicPitch
Definition: diatonickey.h:64
CADiatonicKey::shapeFromString
static CAShape shapeFromString(const QString)
Definition: diatonickey.cpp:144
CADiatonicKey::gender
const CAGender gender()
Definition: diatonickey.h:43
CADiatonicPitch::accs
const int accs() const
Definition: diatonicpitch.h:51
CADiatonicKey::diatonicPitch
CADiatonicPitch diatonicPitch()
Definition: diatonickey.h:42
CADiatonicKey::accsMatrix
QList< int > accsMatrix()
Definition: diatonickey.cpp:209
CADiatonicKey::CAShape
CAShape
Definition: diatonickey.h:22
CADiatonicKey::setDiatonicPitch
void setDiatonicPitch(const CADiatonicPitch p)
Definition: diatonickey.h:46
CADiatonicKey::setShape
void setShape(const CAShape s)
Definition: diatonickey.h:48
CADiatonicKey::_gender
CAGender _gender
Definition: diatonickey.h:65
CADiatonicKey::operator=
void operator=(const QString &key)
Definition: diatonickey.cpp:98
CADiatonicKey::Melodic
@ Melodic
Definition: diatonickey.h:25
CADiatonicKey::Major
@ Major
Definition: diatonickey.h:18
CADiatonicKey::noteAccs
int noteAccs(int noteName)
Definition: diatonickey.cpp:227
CADiatonicKey::genderToString
static const QString genderToString(CAGender)
Definition: diatonickey.cpp:121
CADiatonicKey::operator!=
bool operator!=(CADiatonicKey p)
Definition: diatonickey.h:35
CADiatonicKey::operator==
bool operator==(CADiatonicKey)
Definition: diatonickey.cpp:91