diff options
author | Chris Xiong <chirs241097@gmail.com> | 2020-04-29 11:25:58 +0800 |
---|---|---|
committer | Chris Xiong <chirs241097@gmail.com> | 2020-04-29 11:25:58 +0800 |
commit | 65a8bde4e4beca860a13491e94631dc16b5e71af (patch) | |
tree | d92df4a6538af18c4231dca015a6f504d8c65cd2 /qmidiplayer-desktop/qmpmainwindow.hpp | |
parent | 73020aae5bf0b7dd49c78880e2768deb19181b81 (diff) | |
download | QMidiPlayer-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.hpp | 7 |
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; |