Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
diatonickey.h
Go to the documentation of this file.
1 
8 #ifndef DIATONICKEY_H_
9 #define DIATONICKEY_H_
10 
11 #include "core/diatonicpitch.h"
12 #include <QString>
13 #include <QList>
14 
16 public:
17  enum CAGender {
20  };
21 
22  enum CAShape {
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 
62 private:
63  CADiatonicPitch _diatonicPitch; // pitch of the key
64  CAGender _gender; // major, minor
65  CAShape _shape; // natural, harmonic, melodic
66 };
67 #endif /* DIATONICKEY_H_ */
Definition: diatonickey.h:24
int numberOfAccs()
Definition: diatonickey.cpp:79
Definition: diatonickey.h:18
Definition: diatonickey.h:25
Music interval expressed with diatonical quality and quantity.
Definition: interval.h:15
Definition: diatonickey.h:23
CADiatonicKey()
Definition: diatonickey.cpp:27
CAShape _shape
Definition: diatonickey.h:65
void setDiatonicPitch(const CADiatonicPitch p)
Definition: diatonickey.h:46
bool operator!=(CADiatonicKey p)
Definition: diatonickey.h:35
CADiatonicPitch _diatonicPitch
Definition: diatonickey.h:63
Definition: diatonickey.h:19
CADiatonicPitch diatonicPitch()
Definition: diatonickey.h:42
CADiatonicKey operator+(CAInterval)
Definition: diatonickey.cpp:111
Musical note pitch.
Definition: diatonicpitch.h:14
static CAShape shapeFromString(const QString)
Definition: diatonickey.cpp:144
bool operator==(CADiatonicKey)
Definition: diatonickey.cpp:91
static CADiatonicKey diatonicKeyFromString(const QString)
Definition: diatonickey.cpp:202
static const QString shapeToString(CAShape)
Definition: diatonickey.cpp:135
void setGender(const CAGender g)
Definition: diatonickey.h:47
void setShape(const CAShape s)
Definition: diatonickey.h:48
static CAGender genderFromString(const QString)
Definition: diatonickey.cpp:129
CAShape
Definition: diatonickey.h:22
Musical key.
Definition: diatonickey.h:15
const CAShape shape()
Definition: diatonickey.h:44
QList< int > accsMatrix()
Definition: diatonickey.cpp:209
static const QString genderToString(CAGender)
Definition: diatonickey.cpp:121
static const QString diatonicKeyToString(CADiatonicKey k)
Definition: diatonickey.cpp:156
void operator=(const QString &key)
Definition: diatonickey.cpp:98
int noteAccs(int noteName)
Definition: diatonickey.cpp:227
const CAGender gender()
Definition: diatonickey.h:43
CAGender
Definition: diatonickey.h:17
CAGender _gender
Definition: diatonickey.h:64