|
Canorus
0.7
|
00001 00008 #ifndef TRANSPOSE_H_ 00009 #define TRANSPOSE_H_ 00010 00011 #include <QList> 00012 #include <QSet> 00013 00014 #include "core/interval.h" 00015 #include "core/diatonickey.h" 00016 00017 class CAMusElement; 00018 class CASheet; 00019 class CAContext; 00020 00021 class CATranspose { 00022 public: 00023 CATranspose(); 00024 CATranspose( CASheet *sheet ); 00025 #ifndef SWIG 00026 CATranspose( QList<CAContext*> contexts ); 00027 #endif 00028 CATranspose( QList<CAMusElement*> selection ); 00029 ~CATranspose(); 00030 00031 void transposeBySemitones( int semitones ); 00032 void transposeByInterval( CAInterval ); 00033 void transposeByKeySig( CADiatonicKey from, CADiatonicKey to, int direction ); 00034 00035 void addSheet( CASheet *s ); 00036 void addContext( CAContext *context ); 00037 void addMusElement( CAMusElement *musElt) { _elements << musElt; } 00038 00039 private: 00040 QSet<CAMusElement*> _elements; 00041 }; 00042 00043 #endif /* TRANSPOSE_H_ */
1.8.0