From eba45fdf11a98113b439db0510b55f14845db8fb Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Mon, 22 Apr 2019 00:16:50 +0800 Subject: New development cycle! Partially reintroduce High DPI handling. Pressing enter when a preset is focused now opens the preset selection dialog. Close all functionality windows before shutting down. Temporary fix for switching all channels of an external synth to mono mode unintentionally. And the most important one of them all: simple visualization! I'm ditching the 0.8.6 cycle because there was no clear goal for that release now (as the OPL3 emulation is now delayed indefinitely). In contrast, the 0.8.7 release has a pretty good-looking feature set mainly focused on improving support for external synthesizers: - Per-device initialization profile. - Instrument mapping files. - And a simple visualization ~~for showing off your external synthesizers~~. As always no ETA is set, nor will I promise the implementaion of all the features listed above. --- simple-visualization/qmpkeyboardwindow.hpp | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 simple-visualization/qmpkeyboardwindow.hpp (limited to 'simple-visualization/qmpkeyboardwindow.hpp') diff --git a/simple-visualization/qmpkeyboardwindow.hpp b/simple-visualization/qmpkeyboardwindow.hpp new file mode 100644 index 0000000..a99e62e --- /dev/null +++ b/simple-visualization/qmpkeyboardwindow.hpp @@ -0,0 +1,36 @@ +#ifndef QMPKEYBOARDWINDOW_HPP +#define QMPKEYBOARDWINDOW_HPP + +#include "../include/qmpcorepublic.hpp" +#include "qmppianowidget.hpp" + +#include + +class EventCallback:public QObject,public ICallBack +{ + Q_OBJECT + public: + void callBack(void* callerdata,void* userdata); + signals: + void keystateupdated(int ch,int key,bool state); +}; + +class qmpKeyboardWindow:public QWidget +{ + Q_OBJECT + friend class EventCallback; + private: + qmpPianoWidget *pw[16]; + qmpPluginAPI *api; + EventCallback *ec; + public: + qmpKeyboardWindow(qmpPluginAPI *_api,QWidget *parent); + ~qmpKeyboardWindow(); + void resetAll(); + protected: + void closeEvent(QCloseEvent *event); + public slots: + void onkeystatesupdate(int ch,int key,bool state); +}; + +#endif -- cgit v1.2.3