summaryrefslogtreecommitdiff
path: root/muse2/muse/master/lmaster.h
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/master/lmaster.h')
-rw-r--r--muse2/muse/master/lmaster.h30
1 files changed, 27 insertions, 3 deletions
diff --git a/muse2/muse/master/lmaster.h b/muse2/muse/master/lmaster.h
index cd687e45..23c86c82 100644
--- a/muse2/muse/master/lmaster.h
+++ b/muse2/muse/master/lmaster.h
@@ -12,6 +12,7 @@
#include "noteinfo.h"
#include "cobject.h"
#include "tempo.h"
+#include "keyevent.h"
///#include "sig.h"
//#include "al/sig.h"
@@ -30,13 +31,16 @@ using Awl::PosEdit;
using Awl::SigEdit;
class QLineEdit;
+class QComboBox;
enum LMASTER_LVTYPE
{
LMASTER_TEMPO = 0,
- LMASTER_SIGEVENT
+ LMASTER_SIGEVENT,
+ LMASTER_KEYEVENT
};
+
//---------------------------------------------------------
// LMasterLViewItem
//! QListViewItem base class for LMasterTempoItem and LMasterSigEventItem
@@ -71,6 +75,22 @@ class LMasterTempoItem : public LMasterLViewItem {
};
//---------------------------------------------------------
+// LMasterKeyItem
+//! QListViewItem which holds data for a KetEvent
+//---------------------------------------------------------
+class LMasterKeyEventItem : public LMasterLViewItem {
+
+ private:
+ KeyEvent keyEvent;
+
+ public:
+ LMasterKeyEventItem(QTreeWidget* parent, const KeyEvent& t);
+ virtual LMASTER_LVTYPE getType() { return LMASTER_KEYEVENT; }
+ const KeyEvent& getEvent() { return keyEvent; }
+ virtual unsigned tick() { return keyEvent.tick; }
+ key_enum key() { return keyEvent.key; }
+ };
+//---------------------------------------------------------
// LMasterTempoItem
//! QListViewItem which holds data for a SigEvent
//---------------------------------------------------------
@@ -98,24 +118,26 @@ class LMaster : public MidiEditor {
QToolBar* tools;
QMenu* menuEdit;
- enum { CMD_DELETE, CMD_INSERT_SIG, CMD_INSERT_TEMPO, CMD_EDIT_BEAT, CMD_EDIT_VALUE };
+ enum { CMD_DELETE, CMD_INSERT_SIG, CMD_INSERT_TEMPO, CMD_EDIT_BEAT, CMD_EDIT_VALUE, CMD_INSERT_KEY };
Q_OBJECT
virtual void closeEvent(QCloseEvent*);
void updateList();
void insertTempo(const TEvent*);
void insertSig(const SigEvent*);
+ void insertKey(const KeyEvent&);
LMasterLViewItem* getItemAtPos(unsigned tick, LMASTER_LVTYPE t);
void initShortcuts();
QLineEdit* editor;
PosEdit* pos_editor;
+ QComboBox* key_editor;
// State-like members:
LMasterLViewItem* editedItem;
SigEdit* sig_editor;
int editorColumn;
bool editingNewItem;
- QAction *tempoAction, *signAction, *posAction, *valAction, *delAction;
+ QAction *tempoAction, *signAction, *posAction, *valAction, *delAction, *keyAction;
private slots:
void select(QTreeWidgetItem*, QTreeWidgetItem*);
@@ -124,6 +146,7 @@ class LMaster : public MidiEditor {
void itemPressed(QTreeWidgetItem* i, int column);
void tempoButtonClicked();
void timeSigButtonClicked();
+ void insertKey();
void cmd(int cmd);
public slots:
@@ -132,6 +155,7 @@ class LMaster : public MidiEditor {
signals:
void deleted(unsigned long);
+ void seekTo(int tick);
public:
LMaster();