From 63224bf7ac365b428e5115fc6ef6339a0b40c9fa Mon Sep 17 00:00:00 2001
From: Chris Xiong <chirs241097@gmail.com>
Date: Thu, 16 Jan 2020 23:46:05 +0800
Subject: Seeking while paused no longer breaks playback completely.

"main.seek" callbacks are now invoked after the player has done seeking,
fixing incorrect channel info in simple visualization after seeking.
Use QT_STRINGIFY.
---
 qmidiplayer-desktop/qmphelpwindow.cpp | 3 +--
 qmidiplayer-desktop/qmpmainwindow.cpp | 2 +-
 qmidiplayer-desktop/qmpplugin.cpp     | 4 +---
 3 files changed, 3 insertions(+), 6 deletions(-)

(limited to 'qmidiplayer-desktop')

diff --git a/qmidiplayer-desktop/qmphelpwindow.cpp b/qmidiplayer-desktop/qmphelpwindow.cpp
index 325fc57..4579e2c 100644
--- a/qmidiplayer-desktop/qmphelpwindow.cpp
+++ b/qmidiplayer-desktop/qmphelpwindow.cpp
@@ -1,7 +1,6 @@
 #include <fluidsynth.h>
 #include "qmphelpwindow.hpp"
 #include "ui_qmphelpwindow.h"
-#define strify(s) #s
 
 static const char *months="JanFebMarAprMayJunJulAugSepOctNovDec";
 std::string parseDate(const char *date)
@@ -39,7 +38,7 @@ void qmpHelpWindow::on_textBrowser_sourceChanged(const QUrl &src)
 		s.replace("RT_FLUIDSYNTH_VERSION",fluid_version_str());
 		s.replace("APP_VERSION",APP_VERSION);
 		s.replace("BUILD_DATE",parseDate(__DATE__).c_str());
-		s.replace("BUILD_MACHINE",strify(BUILD_MACHINE));
+		s.replace("BUILD_MACHINE",QT_STRINGIFY(BUILD_MACHINE));
 		ui->textBrowser->setHtml(s);
 	}
 }
diff --git a/qmidiplayer-desktop/qmpmainwindow.cpp b/qmidiplayer-desktop/qmpmainwindow.cpp
index 1df2d8e..94185c7 100644
--- a/qmidiplayer-desktop/qmpmainwindow.cpp
+++ b/qmidiplayer-desktop/qmpmainwindow.cpp
@@ -413,7 +413,6 @@ void qmpMainWindow::on_hsTimer_sliderPressed()
 void qmpMainWindow::on_hsTimer_sliderReleased()
 {
 	dragging=false;
-	invokeCallback("main.seek",nullptr);
 	if(playing)
 	{
 		if(ui->hsTimer->value()==100){on_pbNext_clicked();return;}
@@ -431,6 +430,7 @@ void qmpMainWindow::on_hsTimer_sliderReleased()
 		sprintf(ts,"%02d:%02d",(int)(offset)/60,(int)(offset)%60);
 		ui->lbCurTime->setText(ts);
 	}
+	invokeCallback("main.seek",nullptr);
 }
 
 uint32_t qmpMainWindow::getPlaybackPercentage(){return ui->hsTimer->value();}
diff --git a/qmidiplayer-desktop/qmpplugin.cpp b/qmidiplayer-desktop/qmpplugin.cpp
index 19d14b5..08959cb 100644
--- a/qmidiplayer-desktop/qmpplugin.cpp
+++ b/qmidiplayer-desktop/qmpplugin.cpp
@@ -56,9 +56,7 @@ void qmpPluginManager::scanPlugins(const std::vector<std::string> &pp)
 	QDirIterator *dir;
 	std::vector<std::string> cpluginpaths(pp);
 #ifdef NON_PORTABLE
-#define strify(s) #s
-	QString pdir=QString(strify(INSTALL_PREFIX))+"/lib/qmidiplayer/";
-#undef strify
+	QString pdir=QString(QT_STRINGIFY(INSTALL_PREFIX))+"/lib/qmidiplayer/";
 	dir=new QDirIterator(pdir);
 	while(dir->hasNext())
 	{
-- 
cgit v1.2.3