aboutsummaryrefslogtreecommitdiff
path: root/simple-visualization
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2019-05-25 22:40:15 +0800
committerGravatar Chris Xiong <chirs241097@gmail.com> 2019-05-25 22:40:15 +0800
commit3f72121ac41741d53e4916f1275cbd4f93259c4d (patch)
tree15bba079c86de0e241812cd657ad190eb0c2c41a /simple-visualization
parenteba45fdf11a98113b439db0510b55f14845db8fb (diff)
downloadQMidiPlayer-3f72121ac41741d53e4916f1275cbd4f93259c4d.tar.xz
Massive code refactor en cours!
Less complain from compilers: - use nullptr instead of NULL - use types for event fields - explicit type casting added Stop saving parameters of meta events in p1/p2 fields of SEvent. callback_t now uses std::function, deprecating ICallback. Not recommended for daily usage, or even testing: the code refactor is still a work in progress.
Diffstat (limited to 'simple-visualization')
-rw-r--r--simple-visualization/qmpkeyboardwindow.cpp6
-rw-r--r--simple-visualization/qmpkeyboardwindow.hpp2
-rw-r--r--simple-visualization/simplevisualization.cpp10
-rw-r--r--simple-visualization/simplevisualization.hpp2
4 files changed, 6 insertions, 14 deletions
diff --git a/simple-visualization/qmpkeyboardwindow.cpp b/simple-visualization/qmpkeyboardwindow.cpp
index a42a2e0..f2cc8b7 100644
--- a/simple-visualization/qmpkeyboardwindow.cpp
+++ b/simple-visualization/qmpkeyboardwindow.cpp
@@ -25,10 +25,10 @@ void qmpKeyboardWindow::onkeystatesupdate(int ch,int key,bool state)
void qmpKeyboardWindow::resetAll()
{for(int ch=0;ch<16;++ch)pw[ch]->reset();}
-void EventCallback::callBack(void* callerdata,void* userdata)
+void EventCallback::callBack(const void *callerdata,void* userdata)
{
- qmpKeyboardWindow *w=(qmpKeyboardWindow*)userdata;
- SEventCallBackData *cbd=(SEventCallBackData*)callerdata;
+ const qmpKeyboardWindow *w=(const qmpKeyboardWindow*)userdata;
+ const SEvent *cbd=(const SEvent*)callerdata;
if((cbd->type&0xF0)==0x80)
emit keystateupdated(cbd->type&0xF,cbd->p1,false);
if((cbd->type&0xF0)==0x90)
diff --git a/simple-visualization/qmpkeyboardwindow.hpp b/simple-visualization/qmpkeyboardwindow.hpp
index a99e62e..2b618fa 100644
--- a/simple-visualization/qmpkeyboardwindow.hpp
+++ b/simple-visualization/qmpkeyboardwindow.hpp
@@ -10,7 +10,7 @@ class EventCallback:public QObject,public ICallBack
{
Q_OBJECT
public:
- void callBack(void* callerdata,void* userdata);
+ void callBack(const void *callerdata,void *userdata);
signals:
void keystateupdated(int ch,int key,bool state);
};
diff --git a/simple-visualization/simplevisualization.cpp b/simple-visualization/simplevisualization.cpp
index 0a1de02..e4c0c83 100644
--- a/simple-visualization/simplevisualization.cpp
+++ b/simple-visualization/simplevisualization.cpp
@@ -7,8 +7,8 @@ void qmpSimpleVisualization::close(){p->close();}
void qmpSimpleVisualization::init()
{
api->registerFunctionality(this,"Keyboard","Keyboard",api->isDarkTheme()?":/img/visualization_i.svg":":/img/visualization.svg",0,true);
- p=new qmpKeyboardWindow(api,NULL);
- uihs=api->registerUIHook("main.stop",qmpSimpleVisualization::cbstop,(void*)this);
+ p=new qmpKeyboardWindow(api,(QWidget*)api->getMainWindow());
+ uihs=api->registerUIHook("main.stop",[this](const void*,void*){this->p->resetAll();},nullptr);
}
void qmpSimpleVisualization::deinit()
{
@@ -21,9 +21,3 @@ const char* qmpSimpleVisualization::pluginGetName()
{return "QMidiPlayer Simple Visualization Plugin";}
const char* qmpSimpleVisualization::pluginGetVersion()
{return "0.8.6";}
-
-void qmpSimpleVisualization::cbstop(void*,void* usrd)
-{
- qmpSimpleVisualization *v=(qmpSimpleVisualization*)usrd;
- v->p->resetAll();
-}
diff --git a/simple-visualization/simplevisualization.hpp b/simple-visualization/simplevisualization.hpp
index b3edeee..d79eef0 100644
--- a/simple-visualization/simplevisualization.hpp
+++ b/simple-visualization/simplevisualization.hpp
@@ -18,8 +18,6 @@ class qmpSimpleVisualization:public qmpPluginIntf,public qmpFuncBaseIntf
void deinit();
const char* pluginGetName();
const char* pluginGetVersion();
-
- static void cbstop(void* cbd,void* usrd);
};
extern "C"{