aboutsummaryrefslogtreecommitdiff
path: root/qmidiplayer-desktop/qmpmainwindow.hpp
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2020-04-29 11:25:58 +0800
committerGravatar Chris Xiong <chirs241097@gmail.com> 2020-04-29 11:25:58 +0800
commit65a8bde4e4beca860a13491e94631dc16b5e71af (patch)
treed92df4a6538af18c4231dca015a6f504d8c65cd2 /qmidiplayer-desktop/qmpmainwindow.hpp
parent73020aae5bf0b7dd49c78880e2768deb19181b81 (diff)
downloadQMidiPlayer-65a8bde4e4beca860a13491e94631dc16b5e71af.tar.xz
Decouple CMidiPlayer and qmpMidiOutFluid.
Visualization renderer should no longer depend on the fluidsynth library. Reworked the "wait voice" option: now it only takes effect if an automatic track switch happens. Actually process events while waiting for async operation to finish.
Diffstat (limited to 'qmidiplayer-desktop/qmpmainwindow.hpp')
-rw-r--r--qmidiplayer-desktop/qmpmainwindow.hpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/qmidiplayer-desktop/qmpmainwindow.hpp b/qmidiplayer-desktop/qmpmainwindow.hpp
index 700b501..d98029d 100644
--- a/qmidiplayer-desktop/qmpmainwindow.hpp
+++ b/qmidiplayer-desktop/qmpmainwindow.hpp
@@ -20,7 +20,8 @@
#include <future>
#include <map>
#include <unordered_map>
-#include "../core/qmpmidiplay.hpp"
+#include "qmpmidioutfluid.hpp"
+#include "qmpmidiplay.hpp"
#include "qmpplugin.hpp"
#include "qmpplistwindow.hpp"
#include "qmpchannelswindow.hpp"
@@ -141,11 +142,12 @@ class qmpMainWindow:public QMainWindow
void dragEnterEvent(QDragEnterEvent *event);
~qmpMainWindow();
CMidiPlayer* getPlayer(){return player;}
+ qmpMidiOutFluid* getFluid(){return internalfluid;}
qmpSettings* getSettings(){return settings.get();}
QTimer* getTimer(){return timer;}
bool isFinalizing(){return fin;}
QString getFileName();
- void switchTrack(QString s);
+ void switchTrack(QString s,bool interrupt=true);
std::string getTitle();
std::wstring getWTitle();
uint32_t getPlaybackPercentage();
@@ -193,6 +195,7 @@ class qmpMainWindow:public QMainWindow
std::chrono::steady_clock::time_point st;
double offset;
CMidiPlayer *player;
+ qmpMidiOutFluid *internalfluid;
qmpFileRendererFluid *fluidrenderer;
qmpPluginManager *pmgr;
QPointer<qmpPlistWindow> plistw;