diff --git a/src/interface.cpp b/src/interface.cpp index 2c8c170c5829b39f78ab125eddd580274781bf8b..99868c9f273aa347fb86f316c8b4283a588c0308 100644 --- a/src/interface.cpp +++ b/src/interface.cpp @@ -18,7 +18,7 @@ #include <QTextStream> #include <QInputDialog> #include <QTimer> -#include <QMediaPlayer> +#include <QElapsedTimer> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) @@ -637,11 +637,14 @@ void MainWindow::play_bad_apple() static QJsonArray bad_apple_frame_list; static QTimer bad_apple_timer; static bool bad_apple_connected; - static QMediaPlayer bad_apple_player; + static QElapsedTimer bad_apple_elapsed; - QFile f("bad_apple.json"); + QFile f("extras/bad_apple.json"); if (!f.open(QFile::ReadOnly | QFile::Text)) - throw ModelLoadingException("Impossible de lire le fichier"); + { + QMessageBox::warning(this, "", "Can't find 'extras/bad_apple.json'\n"); + return; + } QTextStream in(&f); QJsonParseError parseError; @@ -655,10 +658,8 @@ void MainWindow::play_bad_apple() { bad_apple_timer.callOnTimeout([this] { - if (bad_apple_player.mediaStatus() == QMediaPlayer::EndOfMedia) - return; - unsigned frame_idx = bad_apple_player.position()/(1000.f/30); + unsigned frame_idx = bad_apple_elapsed.elapsed()/(1000.f/30); if ((int)frame_idx >= bad_apple_frame_list.size()) { bad_apple_timer.stop(); @@ -686,9 +687,10 @@ void MainWindow::play_bad_apple() }); } - bad_apple_player.setMedia(QUrl::fromLocalFile("bad-apple.mp3")); - bad_apple_player.play(); + //bad_apple_player.setMedia(QUrl::fromLocalFile("bad-apple.mp3")); + //bad_apple_player.play(); ; + bad_apple_elapsed.start(); bad_apple_timer.start(24); statusBar()->showMessage("Original : \"Bad Apple!!\" feat. Nomico by Alstroemeria Records", 60000); } diff --git a/src/src.pro b/src/src.pro index 213d27d3f0d81d01a7112d8ff256647205bb168c..d80df8915344ea2bac3db56846a38d50f1a62193 100644 --- a/src/src.pro +++ b/src/src.pro @@ -1,4 +1,4 @@ -QT += core gui multimedia +QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets