22 #include <QGraphicsScene>
23 #include <QScopedPointer>
52 const QColor& keyPressedColor = QColor(),
56 QSize sizeHint()
const;
69 bool showColorScale()
const;
70 void setShowColorScale(
const bool show);
72 QColor getKeyPressedColor()
const;
73 void setKeyPressedColor(
const QColor& color);
74 void resetKeyPressedColor();
76 int getMinNote()
const;
77 void setMinNote(
const int note);
78 int getMaxNote()
const;
79 void setMaxNote(
const int note);
80 int getTranspose()
const;
81 void setTranspose(
const int transpose);
92 bool isKeyboardEnabled()
const;
93 void setKeyboardEnabled(
const bool enable );
94 bool isMouseEnabled()
const;
95 void setMouseEnabled(
const bool enable );
96 bool isTouchEnabled()
const;
97 void setTouchEnabled(
const bool enable );
98 bool velocityTint()
const;
99 void setVelocityTint(
const bool enable );
100 bool isOctaveStart(
const int note );
102 void showNoteOn(
const int note, QColor color,
int vel = -1 );
103 void showNoteOn(
const int note,
int vel = -1 );
104 void showNoteOff(
const int note,
int vel = -1 );
105 int baseOctave()
const;
106 void setBaseOctave(
const int base );
108 int startKey()
const;
110 void keyOn(
const int note );
111 void keyOff(
const int note );
112 bool getRawKeyboardMode()
const;
113 void setRawKeyboardMode(
const bool b);
114 void useCustomNoteNames(
const QStringList& names);
115 void useStandardNoteNames();
116 QStringList customNoteNames()
const;
117 QStringList standardNoteNames()
const;
119 void setVelocity(
const int velocity);
120 int getChannel()
const;
121 void setChannel(
const int channel);
123 void refreshLabels();
124 void hideOrShowKeys();
127 void setKeyPicture(
const bool natural,
const QPixmap& pix);
128 QPixmap getKeyPicture(
const bool natural);
130 void setUseKeyPictures(
const bool enable);
131 bool getUseKeyPictures()
const;
133 void saveData(QByteArray& ba);
134 void loadData(QByteArray& ba);
161 void showKeyOn( PianoKey *key, QColor color,
int vel );
162 void showKeyOn( PianoKey *key,
int vel );
163 void showKeyOff( PianoKey *key,
int vel );
164 void displayKeyOn(PianoKey *key);
165 void keyOn( PianoKey *key );
166 void keyOff( PianoKey *key );
167 void keyOn( PianoKey *key, qreal pressure );
168 void keyOff( PianoKey *key, qreal pressure );
169 PianoKey *getKeyForPos(
const QPointF &p )
const;
170 PianoKey *getPianoKey(
const int key )
const;
171 QString noteName( PianoKey *key );
172 void mouseMoveEvent ( QGraphicsSceneMouseEvent *mouseEvent )
override;
173 void mousePressEvent ( QGraphicsSceneMouseEvent *mouseEvent )
override;
174 void mouseReleaseEvent ( QGraphicsSceneMouseEvent *mouseEvent )
override;
175 void keyPressEvent ( QKeyEvent *keyEvent )
override;
176 void keyReleaseEvent ( QKeyEvent *keyEvent )
override;
177 bool event(
QEvent *event)
override;
179 void triggerNoteOn(
const int note,
const int vel );
180 void triggerNoteOff(
const int note,
const int vel );
181 int getNoteFromKey(
const int key )
const;
182 void setHighlightColorFromPolicy(PianoKey *key,
const int vel);
185 class PianoScenePrivate;
186 QScopedPointer<PianoScenePrivate> d;
The QEvent class is the base class of all event classes.
The QGraphicsScene class provides a surface for managing a large number of 2D graphical items.
The QObject class is the base class of all Qt objects.
Declaration of the KeyLabel class.
Declaration of the PianoKey class.
Piano Palette declarations.