From dad0a8468d4657288acba5fca177dc6a3b952994 Mon Sep 17 00:00:00 2001 From: Nicolas Mailloux Date: Mon, 24 Jul 2023 15:15:56 -0400 Subject: [PATCH] Audio support W.-I.-P.; compiles; not tested yet --- .gitmodules | 3 + inkbox.pro | 14 + libs/libsndfile | 1 + libs/prebuilt/libsndfile.so | 1 + libs/prebuilt/libsndfile.so.1 | 1 + libs/prebuilt/libsndfile.so.1.0.35 | Bin 0 -> 603980 bytes src/audio/audiothread.cpp | 137 ++++++ src/audio/audiothread.h | 27 ++ src/eink.qrc | 8 + src/functions.h | 50 ++- src/homeWidget/mainwindow.cpp | 28 ++ src/homeWidget/mainwindow.h | 1 + src/homeWidget/mainwindow.ui | 172 +++---- src/main.cpp | 15 + src/resources/clean.png | Bin 0 -> 6731 bytes src/resources/music-library.png | Bin 0 -> 4867 bytes src/resources/music-note.png | Bin 0 -> 3982 bytes src/resources/music-queue.png | Bin 0 -> 3452 bytes src/resources/next.png | Bin 0 -> 5414 bytes src/resources/pause.png | Bin 0 -> 10821 bytes src/resources/play.png | Bin 0 -> 12007 bytes src/resources/previous.png | Bin 0 -> 5421 bytes src/widgets/dialogs/audio/audiodialog.cpp | 450 +++++++++++++++++++ src/widgets/dialogs/audio/audiodialog.h | 57 +++ src/widgets/dialogs/audio/audiodialog.ui | 384 ++++++++++++++++ src/widgets/dialogs/audio/audiofile.cpp | 57 +++ src/widgets/dialogs/audio/audiofile.h | 38 ++ src/widgets/dialogs/audio/audiofile.ui | 114 +++++ src/widgets/dialogs/audio/audiofilequeue.cpp | 84 ++++ src/widgets/dialogs/audio/audiofilequeue.h | 38 ++ src/widgets/dialogs/audio/audiofilequeue.ui | 134 ++++++ src/widgets/dialogs/generaldialog.cpp | 13 +- 32 files changed, 1748 insertions(+), 79 deletions(-) create mode 100644 .gitmodules create mode 160000 libs/libsndfile create mode 120000 libs/prebuilt/libsndfile.so create mode 120000 libs/prebuilt/libsndfile.so.1 create mode 100644 libs/prebuilt/libsndfile.so.1.0.35 create mode 100644 src/audio/audiothread.cpp create mode 100644 src/audio/audiothread.h create mode 100644 src/resources/clean.png create mode 100644 src/resources/music-library.png create mode 100644 src/resources/music-note.png create mode 100644 src/resources/music-queue.png create mode 100644 src/resources/next.png create mode 100644 src/resources/pause.png create mode 100644 src/resources/play.png create mode 100644 src/resources/previous.png create mode 100644 src/widgets/dialogs/audio/audiodialog.cpp create mode 100644 src/widgets/dialogs/audio/audiodialog.h create mode 100644 src/widgets/dialogs/audio/audiodialog.ui create mode 100644 src/widgets/dialogs/audio/audiofile.cpp create mode 100644 src/widgets/dialogs/audio/audiofile.h create mode 100644 src/widgets/dialogs/audio/audiofile.ui create mode 100644 src/widgets/dialogs/audio/audiofilequeue.cpp create mode 100644 src/widgets/dialogs/audio/audiofilequeue.h create mode 100644 src/widgets/dialogs/audio/audiofilequeue.ui diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..fa7c91e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "libs/libsndfile"] + path = libs/libsndfile + url = https://github.com/libsndfile/libsndfile diff --git a/inkbox.pro b/inkbox.pro index 61cfd4e..154b229 100644 --- a/inkbox.pro +++ b/inkbox.pro @@ -25,8 +25,12 @@ DEFINES += GIT_COMMIT=\\\"$$GIT_COMMIT\\\" SOURCES += \ src/apps/todo.cpp \ + src/audio/audiothread.cpp \ src/splash/alert.cpp \ src/apps/apps.cpp \ + src/widgets/dialogs/audio/audiodialog.cpp \ + src/widgets/dialogs/audio/audiofile.cpp \ + src/widgets/dialogs/audio/audiofilequeue.cpp \ src/widgets/dialogs/library/bookinfodialog.cpp \ src/widgets/dialogs/library/bookoptionsdialog.cpp \ src/widgets/dialogs/brightnessdialog.cpp \ @@ -69,9 +73,13 @@ SOURCES += \ src/settings/powerdaemonsettings.cpp HEADERS += \ + src/audio/audiothread.h \ src/apps/todo.h \ src/splash/alert.h \ src/apps/apps.h \ + src/widgets/dialogs/audio/audiodialog.h \ + src/widgets/dialogs/audio/audiofile.h \ + src/widgets/dialogs/audio/audiofilequeue.h \ src/widgets/dialogs/library/bookinfodialog.h \ src/widgets/dialogs/library/bookoptionsdialog.h \ src/widgets/dialogs/brightnessdialog.h \ @@ -117,6 +125,9 @@ FORMS += \ src/apps/todo.ui \ src/splash/alert.ui \ src/apps/apps.ui \ + src/widgets/dialogs/audio/audiodialog.ui \ + src/widgets/dialogs/audio/audiofile.ui \ + src/widgets/dialogs/audio/audiofilequeue.ui \ src/widgets/dialogs/library/bookinfodialog.ui \ src/widgets/dialogs/library/bookoptionsdialog.ui \ src/widgets/dialogs/brightnessdialog.ui \ @@ -163,3 +174,6 @@ RESOURCES += \ src/eink.qrc INCLUDEPATH += $$system(find ./ -type d -print -path ./.git -prune | grep -v "./.git") +INCLUDEPATH += $$PWD/libs/libsndfile/include/ +DEPENDPATH += $$PWD/libs/libsndfile/include/ +LIBS += -L$$PWD/libs/prebuilt -lsndfile diff --git a/libs/libsndfile b/libs/libsndfile new file mode 160000 index 0000000..59067eb --- /dev/null +++ b/libs/libsndfile @@ -0,0 +1 @@ +Subproject commit 59067eb60518fa63c8629372538075a54828328b diff --git a/libs/prebuilt/libsndfile.so b/libs/prebuilt/libsndfile.so new file mode 120000 index 0000000..948fb66 --- /dev/null +++ b/libs/prebuilt/libsndfile.so @@ -0,0 +1 @@ +libsndfile.so.1.0.35 \ No newline at end of file diff --git a/libs/prebuilt/libsndfile.so.1 b/libs/prebuilt/libsndfile.so.1 new file mode 120000 index 0000000..948fb66 --- /dev/null +++ b/libs/prebuilt/libsndfile.so.1 @@ -0,0 +1 @@ +libsndfile.so.1.0.35 \ No newline at end of file diff --git a/libs/prebuilt/libsndfile.so.1.0.35 b/libs/prebuilt/libsndfile.so.1.0.35 new file mode 100644 index 0000000000000000000000000000000000000000..fb9322b4c38bc8c34d8f20ddf6e0ba4831a6566e GIT binary patch literal 603980 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�K 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�dy(7ZLvaokV7;{yvq_F;<`tD(2 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

kTkTnMEV9{HWOpzY*=#Hl`+wm7 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�}{_oEtRPr~JFXNH>TMU8=&q_RA-900iAuAo;2 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 literal 0 HcmV?d00001 diff --git a/src/audio/audiothread.cpp b/src/audio/audiothread.cpp new file mode 100644 index 0000000..3164b09 --- /dev/null +++ b/src/audio/audiothread.cpp @@ -0,0 +1,137 @@ +#include "audiothread.h" +#include "functions.h" + +#include +// Socket things +#include +#include +#include +#include + +#include + +audiothread::audiothread() {} + +void audiothread::start() { + log("Audio thread monitor available", className); + + // QTimer doesn't work in such loops + int count = 0; + int delayMs = 100; + int secondsToCount = 1000 / delayMs; + int previousVolume = -1; + while(true) { + global::audio::audioMutex.lock(); + if(count == secondsToCount) { + count = 0; + if(monitorProgress == true) { + audioProgress(); + } + } + foreach(global::audio::Action action, global::audio::currentAction) { + // Order is important + if(action == global::audio::Action::Stop) { + // No need to call this before 'Play' + log("Stop action received", className); + sendInfo("pause:"); // Yea, only that + global::audio::paused = true; + global::audio::isSomethingCurrentlyPlaying = false; + global::audio::progressSeconds = -5; + monitorProgress = false; + } + if(action == global::audio::Action::Play) { + log("'Play' action received", className); + QString message = "play:\""; + QString betterPath = global::audio::queue[global::audio::itemCurrentlyPlaying].path; + betterPath.remove(0, 21); // Remove /mnt/onboard/onboard/ + log("The name of the song is: '" + global::audio::queue[global::audio::itemCurrentlyPlaying].name + "'", className); + log("The path to be sent is: '" + betterPath + "'", className); + + message.append(betterPath); + message.append('"'); + sendInfo(message); + global::audio::paused = false; + global::audio::isSomethingCurrentlyPlaying = true; + global::audio::progressSeconds = -5; + monitorProgress = true; + } + if(action == global::audio::Action::Pause) { + log("'Pause' action received", className); + QString message = "pause:"; + sendInfo(message); + global::audio::paused = true; + monitorProgress = false; + } + if(action == global::audio::Action::Continue) { + log("'Continue' action received", className); + QString message = "continue:"; + sendInfo(message); + global::audio::paused = false; + monitorProgress = true; + } + } + global::audio::currentAction.clear(); + if(global::audio::volumeLevel != previousVolume) { + previousVolume = global::audio::volumeLevel; + log("'Set volume' action detected", className); + QString message = "set_volume:" + QString::number(global::audio::volumeLevel); + sendInfo(message); + } + global::audio::audioMutex.unlock(); + count = count + 1; + QThread::msleep(delayMs); + } +} + +// I have no explanation as to why this needs to connect/disconnect every time. +// while (recv(client_sockfd, buffer_tmp, 1, 0) > 0) { +// ^ This line makes InkBox freeze +void audiothread::sendInfo(QString message) { + log("Sending message: *" + message + "*", className); + // Send + sockfd = socket(AF_UNIX, SOCK_STREAM, 0); + if (sockfd < 0) { + log("Error creating socket", className); + } + + // Connect to the socket + addr.sun_family = AF_UNIX; + strcpy(addr.sun_path, "/dev/iaudio.socket"); + res = ::connect(sockfd, (struct sockaddr *)&addr, sizeof(addr)); + if (res < 0) { + log("Error connecting to socket", className); + } + + log("Sending message: " + message, className); + res = send(sockfd, message.toStdString().c_str(), strlen(message.toStdString().c_str()), 0); + if (res < 0) { + log("Error sending message to socket", className); + } + + log("Message sent, exiting", className); + close(sockfd); +} + +// Mutex managed outside of the function +void audiothread::audioProgress() { + global::audio::progressSeconds = global::audio::progressSeconds + 1; + // log("Progress, +1 sec: " + QString::number(global::audio::progressSeconds), className); + if(global::audio::progressSeconds >= global::audio::queue[global::audio::itemCurrentlyPlaying].lengths) { + if(global::audio::itemCurrentlyPlaying >= global::audio::queue.length() - 1) { + // It's the last item + log("Last item: stopping playback", className); + global::audio::isSomethingCurrentlyPlaying = false; + global::audio::paused = true; + monitorProgress = false; + global::audio::progressSeconds = -5; + global::audio::currentAction.append(global::audio::Action::Stop); + } + else { + // It's not the last item, continuing + log("Audio file changed", className); + global::audio::itemCurrentlyPlaying = global::audio::itemCurrentlyPlaying + 1; + global::audio::currentAction.append(global::audio::Action::Play); + global::audio::songChanged = true; + } + } +} diff --git a/src/audio/audiothread.h b/src/audio/audiothread.h new file mode 100644 index 0000000..e8547e9 --- /dev/null +++ b/src/audio/audiothread.h @@ -0,0 +1,27 @@ +#ifndef AUDIOTHREAD_H +#define AUDIOTHREAD_H + +#include +#include +#include + +class audiothread : public QObject +{ + Q_OBJECT + +public: + QString className = this->metaObject()->className(); + audiothread(); + void sendInfo(QString message); + int sockfd; + struct sockaddr_un addr; + int res; + bool monitorProgress = false; +public slots: + void start(); + void audioProgress(); + +private: +}; + +#endif // AUDIOTHREAD_H diff --git a/src/eink.qrc b/src/eink.qrc index 59b6c97..24db7e4 100644 --- a/src/eink.qrc +++ b/src/eink.qrc @@ -111,5 +111,13 @@ resources/checkbox-indeterminate.png resources/egg/0.jpg resources/egg/1.jpg + resources/music-note.png + resources/music-library.png + resources/next.png + resources/music-queue.png + resources/play.png + resources/previous.png + resources/pause.png + resources/clean.png diff --git a/src/functions.h b/src/functions.h index 3a4a605..8a72e48 100644 --- a/src/functions.h +++ b/src/functions.h @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -87,6 +88,7 @@ namespace global { namespace text { inline bool textBrowserDialog; inline QString textBrowserContents; + inline QString textBrowserTitle = ""; // At default: empty; "Information" will be displayed } namespace keyboard { inline bool keyboardDialog; @@ -196,6 +198,37 @@ namespace global { int signal; }; } + namespace audio { + inline bool enabled = false; + struct musicFile { + QString path; + QString name; // Cut path for easier use in names + int lengths; // length Seconds + QString length; // In minutes:seconds + int id; + }; + // 'None' is when 'currentAction' is empty + enum class Action { // Function will be called with this enum + Play, + Next, + Previous, + Pause, + Continue, + Stop, // Sets 'paused' to false, 'isSomethingCurrentlyPlaying' to false, and 'itemCurrentlyPlaying' to -1; also stops playing + SetVolume, + }; + inline QVector currentAction; + inline QVector queue; + inline QVector fileList; + inline int itemCurrentlyPlaying = -1; // Also indicates in the queue menu which a grey color which is playing + inline QMutex audioMutex; // These variables will be shared between threads, so here, it's to protect it + inline int progressSeconds = -5; // -5 at default to avoid cutting song too early... yea + inline bool paused = false; + inline bool isSomethingCurrentlyPlaying = false; // Pause and continue + inline bool firstScan = true; + inline int volumeLevel = 40; // Default save value + inline bool songChanged = false; + } inline QString systemInfoText; inline bool forbidOpenSearchDialog; inline bool isN705 = false; @@ -261,9 +294,8 @@ namespace { config.open(QIODevice::ReadOnly); QTextStream in (&config); const QString content = in.readAll(); - std::string contentstr = content.toStdString(); config.close(); - if(contentstr.find("true") != std::string::npos) { + if(content.contains("true")) { return true; } else { @@ -271,6 +303,7 @@ namespace { } } else { + QString function = __func__; log(function + ": Warning: File '" + file + "' doesn't exist, returning false", "functions"); return false; } return 0; @@ -1143,6 +1176,19 @@ namespace { // This can cause problems if someone names their directory with HTML tags, so stop here. Anki, which is a big project, also doesn't care about this return text.remove(QRegExp("<[^>]*>")); } + void bool_writeconfig(QString file, bool option) { + QString str; + if(option == true) { + str = "true"; + } + else { + str = "false"; + } + std::ofstream fhandler; + fhandler.open(file.toStdString()); + fhandler << str.toStdString(); + fhandler.close(); + } } #endif // FUNCTIONS_H diff --git a/src/homeWidget/mainwindow.cpp b/src/homeWidget/mainwindow.cpp index bf44345..e85ec58 100644 --- a/src/homeWidget/mainwindow.cpp +++ b/src/homeWidget/mainwindow.cpp @@ -5,6 +5,8 @@ #include "apps.h" #include "ui_apps.h" #include "functions.h" +#include "audiodialog.h" + #include #include #include @@ -28,6 +30,13 @@ MainWindow::MainWindow(QWidget *parent) , ui(new Ui::MainWindow) { ui->setupUi(this); + + // Needed, the screen is shifted? + // ~Szybet + if(global::deviceID == "n306\n") { + ui->centralwidget->layout()->setContentsMargins(4, 5, 8, 8); + } + ui->inkboxLabel->setFont(QFont("u001")); ui->settingsBtn->setProperty("type", "borderless"); @@ -39,6 +48,7 @@ MainWindow::MainWindow(QWidget *parent) ui->brightnessBtn->setProperty("type", "borderless"); ui->homeBtn->setProperty("type", "borderless"); ui->wifiBtn->setProperty("type", "borderless"); + ui->audioBtn->setProperty("type", "borderless"); ui->settingsBtn->setText(""); ui->appsBtn->setText(""); @@ -50,6 +60,7 @@ MainWindow::MainWindow(QWidget *parent) ui->homeBtn->setText(""); ui->quoteLabel->setText(""); ui->wifiBtn->setText(""); + ui->audioBtn->setText(""); ui->quotePictureLabel->setText(""); @@ -132,6 +143,17 @@ MainWindow::MainWindow(QWidget *parent) ui->brightnessBtn->setIcon(QIcon(":/resources/frontlight.png")); ui->brightnessBtn->setIconSize(QSize(brightnessIconWidth, brightnessIconHeight)); + if(global::audio::enabled == false) { + ui->audioBtn->hide(); + ui->audioLine->hide(); + } + else { + ui->audioBtn->setIcon(QIcon(":/resources/music-note.png")); + ui->audioBtn->setIconSize(QSize(wifiIconWidth, wifiIconHeight)); + ui->labelLine_1->hide(); + ui->labelLine_2->hide(); + } + updateWifiAble(); if(global::device::isWifiAble == true) { // Start Wi-Fi icon updater @@ -1055,3 +1077,9 @@ void MainWindow::setupHomePageWidget() { ui->homeStackedWidget->setCurrentIndex(2); global::mainwindow::tabSwitcher::homePageWidgetCreated = true; } + +void MainWindow::on_audioBtn_clicked() +{ + QDialog* newAudioDialog = new audioDialog(this); + newAudioDialog->exec(); +} diff --git a/src/homeWidget/mainwindow.h b/src/homeWidget/mainwindow.h index 3bc787a..4409298 100644 --- a/src/homeWidget/mainwindow.h +++ b/src/homeWidget/mainwindow.h @@ -102,6 +102,7 @@ private slots: void setupLocalLibraryWidget(); void setupHomePageWidget(); void launchOnlineLibrary(); + void on_audioBtn_clicked(); private: Ui::MainWindow * ui; diff --git a/src/homeWidget/mainwindow.ui b/src/homeWidget/mainwindow.ui index 1840d71..d5b5f50 100644 --- a/src/homeWidget/mainwindow.ui +++ b/src/homeWidget/mainwindow.ui @@ -6,7 +6,7 @@ 0 0 - 706 + 749 601 @@ -17,6 +17,37 @@ + + + + QFrame::Plain + + + Qt::Vertical + + + + + + + ― + + + + + + + batteryIcon + + + + + + + Home + + + @@ -30,23 +61,15 @@ - - - - - Inter - 11 - false - true - - + + - batt + Brightness - - + + QFrame::Plain @@ -55,10 +78,13 @@ - - - - batteryIcon + + + + QFrame::Plain + + + Qt::Vertical @@ -75,14 +101,60 @@ - - + + + + + Inter + 11 + false + true + + + + time + + + Qt::AlignCenter + + + + + + + QFrame::Plain + + + Qt::Vertical + + + + + ― - + + + + + Inter + 11 + false + true + + + + time + + + Qt::AlignCenter + + + + Wi-Fi @@ -107,62 +179,10 @@ - - + + - ― - - - - - - - Home - - - - - - - - Inter - 11 - false - true - - - - time - - - Qt::AlignCenter - - - - - - - Brightness - - - - - - - QFrame::Plain - - - Qt::Vertical - - - - - - - QFrame::Plain - - - Qt::Vertical + Audio diff --git a/src/main.cpp b/src/main.cpp index 6d4e3d6..7329ba6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -23,6 +23,7 @@ #include "encryptionmanager.h" #include "sleepthread.h" #include "sleepdialog.h" +#include "audiothread.h" #include #include @@ -103,6 +104,20 @@ int main(int argc, char *argv[]) QObject::connect(sleepThreadWindow, &sleepThread::stopDialog, sleepDialogWindow, &sleepDialog::hideSleepDialog); IPDThread->start(); + // Audio stuff + if(checkconfig(".config/e-2-audio/enabled") == true) { + log("Audio is enabled", "main"); + global::audio::enabled = true; + QThread * audioThread = new QThread(); + audiothread * audioObject = new audiothread(); + audioObject->moveToThread(audioThread); + QObject::connect(audioThread, &QThread::started, audioObject, &audiothread::start); + audioThread->start(); + } + else { + log("Audio is disabled", "main"); + } + if(checkconfig(".config/18-encrypted_storage/status") == true and checkconfig("/external_root/run/encfs_mounted") == false) { // Open Encryption Manager to unlock encrypted storage encryptionManager w; diff --git a/src/resources/clean.png b/src/resources/clean.png new file mode 100644 index 0000000000000000000000000000000000000000..0711ab6a668db12024cdea57ce865ea618098adc GIT binary patch literal 6731 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 literal 0 HcmV?d00001 diff --git a/src/resources/music-library.png b/src/resources/music-library.png new file mode 100644 index 0000000000000000000000000000000000000000..a327f6e5fd5efa6789cc7def22181269fabddb5e GIT binary patch literal 4867 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 TY-(nk(zg2!FBkqc#^HYhDu*y; literal 0 HcmV?d00001 diff --git a/src/resources/music-note.png b/src/resources/music-note.png new file mode 100644 index 0000000000000000000000000000000000000000..5a5bdb0838c68b5a7a9a748ddd0b08c128cf38f2 GIT binary patch literal 3982 zcmc&#X;hQf7QG2Wq7@kgWEPZC*DTvGvltDqk8b6syDhd(=M5Ypkyc>9H^+(^(_Q&hDR@S+>_ndw9K6f}*9PF&b zHY#ic0Ek&1wQvLg4Tore6@_Lt@-+_t)OV-M%^j@G%~eCsgq%DT6aawcjhGv_qfg9~ zTD;vKsL32LmJWOBkp1!A5v9{IR~@#$-dJpu;lUHJRY;TGYSmQ1;k5Z8O)YM&7}rA* z%OH##<`{89iho=Bo94*Sfota$RL)I-*z$I#at&1BodADF>+QF_W#UV*YVkgswrlI2 z$lcPi&!nvz7ad)nG_5ri9-E4KK=_)eA)%2$!Z#~6>t&{Qp3gOS-kx?i+Ro(EOOY$v zs$``~EOTN%)w-7( z;NI`Nlx8-S6dao@)Z}>=VN6W<^^>we9FcQu{Fl?Vg!!AZmR3nBsDyrI3)$-C0;NM) z_49q3%kPe&?yUMsMw;e@vmS436Lh`0q=9(47J?*OQpR(f>sM)%{ma|8DO0A+5_I)Yj+^8Z=ppCTt9^2dw#FG;_*=D(?c1hD**#r&)I{{K O}1cI=%U%Iz^+$E8A`2 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 literal 0 HcmV?d00001 diff --git a/src/resources/next.png b/src/resources/next.png new file mode 100644 index 0000000000000000000000000000000000000000..5c123d5276aae78c37f4b7f1c667a44f317c940b GIT binary patch literal 5414 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 literal 0 HcmV?d00001 diff --git a/src/resources/pause.png b/src/resources/pause.png new file mode 100644 index 0000000000000000000000000000000000000000..091a1235cebe09ab592859bdab28e0d4d1230124 GIT binary patch literal 10821 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�M4VTepk$&hV56IK9#Y%^>#> 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 X>1R4Ut**)PaV9+6y!KV?4ZHYXy)iKS literal 0 HcmV?d00001 diff --git a/src/widgets/dialogs/audio/audiodialog.cpp b/src/widgets/dialogs/audio/audiodialog.cpp new file mode 100644 index 0000000..a617758 --- /dev/null +++ b/src/widgets/dialogs/audio/audiodialog.cpp @@ -0,0 +1,450 @@ +#include "audiodialog.h" +#include "ui_audiodialog.h" +#include "functions.h" +#include "audiofile.h" +#include "audiofilequeue.h" + +#include +#include +#include + +#include + +audioDialog::audioDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::audioDialog) +{ + ui->setupUi(this); + audioDialog::setFont(QFont("u001")); + + progress = new QTimer(this); + + // Size + QRect screenGeometry = QGuiApplication::screens()[0]->geometry(); + this->setFixedWidth(screenGeometry.width() / 1.1); + + int halfOfHalfHeight = ((screenGeometry.height() / 2) / 2) / 2; + int finalHeight = screenGeometry.height() - halfOfHalfHeight; + + this->setFixedHeight(finalHeight); + + // Centering dialog + int x = (screenGeometry.width() - this->width()) / 2; + int y = (screenGeometry.height() - this->height()) / 2; + this->move(x, y); + + ui->minusBtn->setProperty("type", "borderless"); + ui->plusBtn->setProperty("type", "borderless"); + ui->exitBtn->setProperty("type", "borderless"); + ui->nextBtn->setProperty("type", "borderless"); + ui->previousBtn->setProperty("type", "borderless"); + ui->playBtn->setProperty("type", "borderless"); + ui->libraryBtn->setProperty("type", "borderless"); + ui->queueBtn->setProperty("type", "borderless"); + ui->refreshBtn->setProperty("type", "borderless"); + + int topButtonsSize = 55; + int menuButtonsSize = 80; + int playButtonsSize = 50; + + ui->minusBtn->setIconSize(QSize{topButtonsSize,topButtonsSize}); + ui->plusBtn->setIconSize(QSize{topButtonsSize,topButtonsSize}); + ui->exitBtn->setIconSize(QSize{topButtonsSize,topButtonsSize}); + ui->refreshBtn->setIconSize(QSize{topButtonsSize,topButtonsSize}); + + ui->nextBtn->setIconSize(QSize{playButtonsSize,playButtonsSize}); + ui->previousBtn->setIconSize(QSize{playButtonsSize,playButtonsSize}); + ui->playBtn->setIconSize(QSize{playButtonsSize,playButtonsSize}); + + ui->libraryBtn->setIconSize(QSize{menuButtonsSize,menuButtonsSize}); + ui->queueBtn->setIconSize(QSize{menuButtonsSize,menuButtonsSize}); + + ui->fileNameLabel->setWordWrap(true); + + // Default "page" + ui->libraryBtn->setStyleSheet("background: grey;"); + ui->refreshBtn->setIcon(QIcon(":/resources/refresh-small.png")); + ui->refreshBtn->hide(); + ui->lineRefresh->hide(); + + if(global::audio::firstScan == true) { + global::audio::firstScan = false; + refreshFileList(); + log("Gathered files list", className); + } + + refreshAudioFileWidgets(); + + progressFuncManage(); + ui->progressSlider->setDisabled(true); + + int autoRepeatDelay = 400; + int autoRepeatInterval = 20; + + ui->plusBtn->setAutoRepeat(true); + ui->plusBtn->setAutoRepeatDelay(autoRepeatDelay); + ui->plusBtn->setAutoRepeatInterval(autoRepeatInterval); + + ui->minusBtn->setAutoRepeat(true); + ui->minusBtn->setAutoRepeatDelay(autoRepeatDelay); + ui->minusBtn->setAutoRepeatInterval(autoRepeatInterval); + + global::audio::audioMutex.lock(); + ui->soundLevelSlider->setValue(global::audio::volumeLevel); + + if(global::audio::isSomethingCurrentlyPlaying == true) { + ui->playBtn->setIcon(QIcon(":/resources/pause.png")); + } + global::audio::audioMutex.unlock(); + + finishedStartingUp = true; +} + +audioDialog::~audioDialog() +{ + delete ui; +} + +void audioDialog::changeMenu() { + log("Menu change requested", className); + if(currentMenu != Queue) { + currentMenu = Queue; + emit deleteItself(); + ui->refreshBtn->show(); + ui->lineRefresh->show(); + ui->refreshBtn->setIcon(QIcon(":/resources/clean.png")); + ui->libraryBtn->setStyleSheet("background: white;"); + ui->queueBtn->setStyleSheet("background: grey;"); + refreshAudioFileWidgetsQueue(); + } + else if(currentMenu != Library){ + currentMenu = Library; + emit deleteItself(); + ui->refreshBtn->hide(); + ui->lineRefresh->hide(); + ui->libraryBtn->setStyleSheet("background: grey;"); + ui->queueBtn->setStyleSheet("background: white;"); + refreshAudioFileWidgets(); + } + ui->scrollArea->verticalScrollBar()->setValue(ui->scrollArea->verticalScrollBar()->minimum()); +} + +void audioDialog::on_libraryBtn_clicked() +{ + if(currentMenu != Library) { + changeMenu(); + } +} + +void audioDialog::on_queueBtn_clicked() +{ + if(currentMenu != Queue) { + changeMenu(); + } +} + +// Only on launching dialog +void audioDialog::refreshFileList() { + log("Refreshing file list", className); + if(QFile(".config/e-2-audio/path").exists() == false) { + writeFile(".config/e-2-audio/path", "/mnt/onboard/onboard/music/"); + log("Music config file doesn't exist, creating it", className); + } + // For example in this path: /mnt/onboard/onboard/music/ ( with / at the end ) + QString path = readFile(".config/e-2-audio/path").replace("\n", ""); + log("Path for audio files: " + path, className); + QDir dir{path}; + // Other file formats could be added, by building more libraries + // https://github.com/arnavyc/sndfile-alsa-example/blob/main/src/sndfile-alsa.c + // https://github.com/libsndfile/libsndfile + // Is it easy to do? Yes. Does it take more space? Yes. Do I care? No, i have this fancy command: + // for i in *; do ffmpeg -i "$i" "${i%.*}.wav"; done + // (Szybet) + dir.setNameFilters(QStringList("*.wav")); + dir.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks); + + QStringList fileList = dir.entryList(); + log("Files count: " + QString::number(fileList.count()), className); + global::audio::audioMutex.lock(); + for (int i = 0; i < fileList.count(); i++) + { + log("Audio file: " + fileList[i], className); + global::audio::musicFile newMusicFile; + newMusicFile.path = path + fileList[i]; + log("File name path: " + newMusicFile.path, className); + QString tempName = fileList[i]; + tempName.chop(4); // File extension + newMusicFile.name = tempName; + log("File name length: " + QString::number(fileList[i].length()), className); + log("File name: " + tempName, className); + + // http://libsndfile.github.io/libsndfile/api#open_fd + /* + sf_count_t frames ; + int samplerate ; + int channels ; + int format ; + int sections ; + int seekable ; + */ + SF_INFO sfinfo; + SNDFILE *wavFile = ::sf_open(newMusicFile.path.toStdString().c_str(), SFM_READ, &sfinfo); + // http://soundfile.sapp.org/doc/WaveFormat/ + // https://stackoverflow.com/questions/53338925/get-the-audio-duration-using-libsndfile + int bareSeconds = static_cast(sfinfo.frames) / (sfinfo.samplerate); + sf_close(wavFile); + newMusicFile.lengths = bareSeconds; + int countMin = 0; + while(bareSeconds >= 60) { + countMin = countMin + 1; + bareSeconds = bareSeconds - 60; + } + QString min = QString::number(countMin); + if(min.length() < 2) { + min = '0' + min; + } + QString sec = QString::number(bareSeconds); + if(sec.length() < 2) { + sec = '0' + sec; + } + newMusicFile.length = min + ":" + sec; + // To avoid shifting the line + while(newMusicFile.length.length() < 4) { + newMusicFile.length = newMusicFile.length + " "; + } + log("File length: " + newMusicFile.length, className); + newMusicFile.id = i; + global::audio::fileList.append(newMusicFile); + } + global::audio::audioMutex.unlock(); + this->adjustSize(); +} + +void audioDialog::refreshAudioFileWidgets() { + global::audio::audioMutex.lock(); + emit deleteItself(); + // Doesn't work, freezes the app... + // QCoreApplication::processEvents(); + for(int i = 0; i < global::audio::fileList.size(); i++) { + log("Adding new item number: " + QString::number(i), className); + audiofile* newAudioFile = new audiofile(this); + newAudioFile->provideData(global::audio::fileList[i]); + QObject::connect(this, &audioDialog::deleteItself, newAudioFile, &audiofile::die); + QObject::connect(newAudioFile, &audiofile::playFileChild, this, &audioDialog::playFile); + ui->verticalLayout->addWidget(newAudioFile, Qt::AlignTop); + } + global::audio::audioMutex.unlock(); + this->adjustSize(); +} + +void audioDialog::refreshAudioFileWidgetsQueue() { + global::audio::audioMutex.lock(); + emit deleteItself(); + // Doesn't work, freezes the app... + // QCoreApplication::processEvents(); + log("global::audio::itemCurrentlyPlaying: " + QString::number(global::audio::itemCurrentlyPlaying), className); + log("global::audio::isSomethingCurrentlyPlaying: " + QString::number(global::audio::isSomethingCurrentlyPlaying), className); + + for(int i = 0; i < global::audio::queue.size(); i++) { + log("Adding new item: " + QString::number(i), className); + audiofilequeue* newAudioFileQueue = new audiofilequeue(this); + bool grey = false; + if(global::audio::isSomethingCurrentlyPlaying == true && global::audio::itemCurrentlyPlaying == i) { + grey = true; + } + global::audio::queue[i].id = i; // Give them invidual ID once more, because files can repeat + newAudioFileQueue->provideData(global::audio::queue[i], grey); + QObject::connect(this, &audioDialog::deleteItself, newAudioFileQueue, &audiofilequeue::die); + QObject::connect(newAudioFileQueue, &audiofilequeue::playFileChild, this, &audioDialog::playFile); + ui->verticalLayout->addWidget(newAudioFileQueue, Qt::AlignTop); + } + global::audio::audioMutex.unlock(); +} + +void audioDialog::on_refreshBtn_clicked() +{ + global::audio::audioMutex.lock(); + global::audio::currentAction.append(global::audio::Action::Stop); + global::audio::isSomethingCurrentlyPlaying = false; + global::audio::queue.clear(); + global::audio::audioMutex.unlock(); + refreshAudioFileWidgetsQueue(); +} + +void audioDialog::playFile(int itemInQueue) { + log("Called playFile", className); + + log("Calling stop to current actions to play a new file", className); + global::audio::audioMutex.lock(); + // All those variables will be changed in audio thread too - but too late for progressFuncManage + global::audio::itemCurrentlyPlaying = itemInQueue; + global::audio::isSomethingCurrentlyPlaying = true; + global::audio::paused = false; + global::audio::songChanged = true; + global::audio::currentAction.append(global::audio::Action::Play); + global::audio::audioMutex.unlock(); + + progress->stop(); + progressFuncManage(); + + ui->playBtn->setIcon(QIcon(":/resources/pause.png")); + + if(currentMenu == Queue) { + refreshAudioFileWidgetsQueue(); + } +} + +void audioDialog::progressFuncManage() { + global::audio::audioMutex.lock(); + // log("Called progress watcher", className); + + bool requestWatcher = false; + bool requestQueueRefresh = false; + + if(global::audio::isSomethingCurrentlyPlaying == true) { + if(ui->progressSlider->maximum() != global::audio::queue[global::audio::itemCurrentlyPlaying].lengths) { + ui->progressSlider->setMaximum(global::audio::queue[global::audio::itemCurrentlyPlaying].lengths); + } + // log("Changing slider position: " + QString::number(global::audio::progressSeconds), className); + ui->progressSlider->setSliderPosition(global::audio::progressSeconds); + if(global::audio::songChanged == true || finishedStartingUp == false) { + log("global::audio::queue.size(): " + QString::number(global::audio::queue.size()), className); + log("global::audio::itemCurrentlyPlaying: " + QString::number(global::audio::itemCurrentlyPlaying), className); + log("Setting song name...", className); + + QString currentName = global::audio::queue[global::audio::itemCurrentlyPlaying].name; + // log("New name: " + currentName, className); + ui->fileNameLabel->setText(currentName); + if(currentMenu == Queue) { + requestQueueRefresh = true; + } + global::audio::songChanged = false; + } + if(global::audio::paused == false) { + requestWatcher = true; + } + } + else { + ui->progressSlider->setSliderPosition(0); + ui->playBtn->setIcon(QIcon(":/resources/play.png")); + ui->fileNameLabel->setText("..."); + if(currentMenu == Queue) { + requestQueueRefresh = true; + } + // log("Exiting progress watcher", className); + } + global::audio::audioMutex.unlock(); + + if(requestQueueRefresh == true) { + refreshAudioFileWidgetsQueue(); + } + + if(requestWatcher == true) { + // log("Launching another watcher...", className); + progress->singleShot(450, this, SLOT(progressFuncManage())); // For better accuracy, set 50 + } +} + +void audioDialog::on_progressSlider_sliderPressed() +{ + ui->progressSlider->releaseMouse(); +} + +void audioDialog::on_soundLevelSlider_valueChanged(int value) +{ + log("Setting volume level: " + QString::number(value), className); + // It detects if volume changes + if(finishedStartingUp == true) { + global::audio::audioMutex.lock(); + global::audio::volumeLevel = value; + global::audio::audioMutex.unlock(); + } +} + +void audioDialog::on_plusBtn_clicked() +{ + ui->soundLevelSlider->setValue(ui->soundLevelSlider->value() + 1); +} + +void audioDialog::on_minusBtn_clicked() +{ + ui->soundLevelSlider->setValue(ui->soundLevelSlider->value() - 1); +} + +void audioDialog::on_playBtn_clicked() +{ + global::audio::audioMutex.lock(); + if(global::audio::isSomethingCurrentlyPlaying == true) { + if(global::audio::paused == false) { + global::audio::paused = true; + global::audio::currentAction.append(global::audio::Action::Pause); + ui->playBtn->setIcon(QIcon(":/resources/play.png")); + } + else { + global::audio::paused = false; + global::audio::currentAction.append(global::audio::Action::Continue); + ui->playBtn->setIcon(QIcon(":/resources/pause.png")); + global::audio::audioMutex.unlock(); + progressFuncManage(); + return void(); + } + } + else if(global::audio::queue.size() - 1 >= global::audio::itemCurrentlyPlaying && global::audio::itemCurrentlyPlaying > 0) { + int tmpInt = global::audio::itemCurrentlyPlaying; + global::audio::audioMutex.unlock(); + playFile(tmpInt); + ui->playBtn->setIcon(QIcon(":/resources/pause.png")); + return void(); + } + else { + ui->playBtn->setIcon(QIcon(":/resources/stop.png")); + } + global::audio::audioMutex.unlock(); +} + +void audioDialog::on_previousBtn_clicked() +{ + global::audio::audioMutex.lock(); + int item = global::audio::itemCurrentlyPlaying; + item = item - 1; + if(item >= 0 && global::audio::queue.size() >= 1) { + global::audio::audioMutex.unlock(); + playFile(item); + ui->previousBtn->setIcon(QIcon(":/resources/previous.png")); + ui->nextBtn->setIcon(QIcon(":/resources/next.png")); + return void(); + } else { + ui->previousBtn->setIcon(QIcon(":/resources/stop.png")); + } + global::audio::audioMutex.unlock(); +} + +void audioDialog::on_nextBtn_clicked() +{ + global::audio::audioMutex.lock(); + int item = global::audio::itemCurrentlyPlaying; + item = item + 1; + if(item >= 0 && item < global::audio::queue.size()) { + global::audio::audioMutex.unlock(); + playFile(item); + ui->previousBtn->setIcon(QIcon(":/resources/previous.png")); + ui->nextBtn->setIcon(QIcon(":/resources/next.png")); + return void(); + } else { + ui->nextBtn->setIcon(QIcon(":/resources/stop.png")); + } + global::audio::audioMutex.unlock(); +} + +void audioDialog::on_exitBtn_clicked() +{ + progress->stop(); + progress->deleteLater(); + + // Make sure the mutex is unlocked + global::audio::audioMutex.tryLock(); + global::audio::audioMutex.unlock(); + + this->deleteLater(); + this->close(); +} diff --git a/src/widgets/dialogs/audio/audiodialog.h b/src/widgets/dialogs/audio/audiodialog.h new file mode 100644 index 0000000..ff07a40 --- /dev/null +++ b/src/widgets/dialogs/audio/audiodialog.h @@ -0,0 +1,57 @@ +#ifndef AUDIODIALOG_H +#define AUDIODIALOG_H + +#include +#include + +namespace Ui { +class audioDialog; +} + +class audioDialog : public QDialog +{ + Q_OBJECT + +public: + explicit audioDialog(QWidget *parent = nullptr); + ~audioDialog(); + QString className = this->metaObject()->className(); + + enum audioMenu { + Library, + Queue, + }; + + bool currentMenu = Library; + void changeMenu(); + void refreshFileList(); + void refreshAudioFileWidgets(); + void refreshAudioFileWidgetsQueue(); + QTimer* progress; // Needs to be stopped at exit + bool finishedStartingUp = false; + +public slots: + void playFile(int itemInQueue); // Can be called from children + void progressFuncManage(); + +private slots: + void on_libraryBtn_clicked(); + void on_queueBtn_clicked(); + void on_refreshBtn_clicked(); + void on_progressSlider_sliderPressed(); + void on_soundLevelSlider_valueChanged(int value); + void on_plusBtn_clicked(); + void on_minusBtn_clicked(); + void on_playBtn_clicked(); + void on_previousBtn_clicked(); + void on_nextBtn_clicked(); + void on_exitBtn_clicked(); + +signals: + void deleteItself(); + +private: + Ui::audioDialog *ui; +}; + +#endif // AUDIODIALOG_H diff --git a/src/widgets/dialogs/audio/audiodialog.ui b/src/widgets/dialogs/audio/audiodialog.ui new file mode 100644 index 0000000..ecc5882 --- /dev/null +++ b/src/widgets/dialogs/audio/audiodialog.ui @@ -0,0 +1,384 @@ + + + audioDialog + + + + 0 + 0 + 603 + 489 + + + + Dialog + + + + + + QFrame::Box + + + 2 + + + + + + + + + + + + :/resources/previous.png:/resources/previous.png + + + + + + + + + + + :/resources/stop.png:/resources/stop.png + + + + + + + + + + + :/resources/next.png:/resources/next.png + + + + + + + + + ... + + + Qt::AlignCenter + + + + + + + Qt::NoFocus + + + 100 + + + 1 + + + Qt::Horizontal + + + + + + + + + + + + + 0 + 0 + + + + + + + + :/resources/music-library.png:/resources/music-library.png + + + + + + + QFrame::Plain + + + Qt::Vertical + + + + + + + + 0 + 0 + + + + + + + + :/resources/music-queue.png:/resources/music-queue.png + + + + + + + + + QFrame::NoFrame + + + QFrame::Plain + + + 0 + + + Qt::ScrollBarAlwaysOff + + + true + + + + + 0 + 0 + 585 + 301 + + + + + 0 + + + + + + + + Qt::Vertical + + + QSizePolicy::MinimumExpanding + + + + 20 + 40 + + + + + + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + QLayout::SetMinimumSize + + + + + + 0 + 0 + + + + + + + + :/resources/minus.png:/resources/minus.png + + + + + + + 100 + + + 10 + + + 100 + + + Qt::Horizontal + + + + + + + + 0 + 0 + + + + + + + + :/resources/plus.png:/resources/plus.png + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + QFrame::Plain + + + Qt::Vertical + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + + 0 + 0 + + + + + + + + :/resources/refresh-small.png:/resources/refresh-small.png + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + QFrame::Plain + + + Qt::Vertical + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 5 + 20 + + + + + + + + + 0 + 0 + + + + + + + + :/resources/close.png:/resources/close.png + + + + + + + + + + + + diff --git a/src/widgets/dialogs/audio/audiofile.cpp b/src/widgets/dialogs/audio/audiofile.cpp new file mode 100644 index 0000000..98c6b0c --- /dev/null +++ b/src/widgets/dialogs/audio/audiofile.cpp @@ -0,0 +1,57 @@ +#include "audiofile.h" +#include "ui_audiofile.h" +#include "functions.h" + +audiofile::audiofile(QWidget *parent) : + QWidget(parent), + ui(new Ui::audiofile) +{ + ui->setupUi(this); + audiofile::setFont(QFont("u001")); + + ui->nameLabel->setWordWrap(true); +} + +audiofile::~audiofile() +{ + delete ui; +} + +void audiofile::provideData(global::audio::musicFile fileProvided) { + file = fileProvided; + ui->nameLabel->setText(file.name); + ui->timeLabel->setText(file.length); +} + +void audiofile::die() { + this->deleteLater(); + this->close(); +} + +void audiofile::on_addBtn_clicked() +{ + ui->addBtn->setDisabled(true); + ui->addBtn->setStyleSheet("background: black;"); + + log("Adding item (audio file) to queue", className); + global::audio::audioMutex.lock(); + global::audio::queue.append(file); + if(global::audio::isSomethingCurrentlyPlaying == false) { + log("Starting playback because nothing else is currently playing", className); + global::audio::isSomethingCurrentlyPlaying = true; + int tmpInt = global::audio::queue.length() - 1; + global::audio::audioMutex.unlock(); + QTimer::singleShot(700, this, SLOT(enableButton())); + emit playFileChild(tmpInt); + return void(); + } + global::audio::audioMutex.unlock(); + QTimer::singleShot(700, this, SLOT(enableButton())); +} + +void audiofile::enableButton() { + log("Enabling 'Back' button", className); + ui->addBtn->setEnabled(true); + ui->addBtn->setStyleSheet("background: white;"); + ui->addBtn->repaint(); +} diff --git a/src/widgets/dialogs/audio/audiofile.h b/src/widgets/dialogs/audio/audiofile.h new file mode 100644 index 0000000..c993d1c --- /dev/null +++ b/src/widgets/dialogs/audio/audiofile.h @@ -0,0 +1,38 @@ +#ifndef AUDIOFILE_H +#define AUDIOFILE_H + +#include "functions.h" + +#include + +namespace Ui { +class audiofile; +} + +class audiofile : public QWidget +{ + Q_OBJECT + +public: + explicit audiofile(QWidget *parent = nullptr); + ~audiofile(); + QString className = this->metaObject()->className(); + void provideData(global::audio::musicFile fileProvided); + global::audio::musicFile file; + +public slots: + void die(); + void enableButton(); + +private slots: + + void on_addBtn_clicked(); + +signals: + void playFileChild(int itemInQueue); + +private: + Ui::audiofile *ui; +}; + +#endif // AUDIOFILE_H diff --git a/src/widgets/dialogs/audio/audiofile.ui b/src/widgets/dialogs/audio/audiofile.ui new file mode 100644 index 0000000..e0265dd --- /dev/null +++ b/src/widgets/dialogs/audio/audiofile.ui @@ -0,0 +1,114 @@ + + + audiofile + + + + 0 + 0 + 316 + 53 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + 0 + 0 + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + :/resources/plus.png:/resources/plus.png + + + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + + + + diff --git a/src/widgets/dialogs/audio/audiofilequeue.cpp b/src/widgets/dialogs/audio/audiofilequeue.cpp new file mode 100644 index 0000000..1fc089a --- /dev/null +++ b/src/widgets/dialogs/audio/audiofilequeue.cpp @@ -0,0 +1,84 @@ +#include "audiofilequeue.h" +#include "ui_audiofilequeue.h" + +audiofilequeue::audiofilequeue(QWidget *parent) : + QWidget(parent), + ui(new Ui::audiofilequeue) +{ + ui->setupUi(this); + audiofilequeue::setFont(QFont("u001")); + + ui->nameLabel->setWordWrap(true); +} + +audiofilequeue::~audiofilequeue() +{ + delete ui; +} + +void audiofilequeue::provideData(global::audio::musicFile fileProvided, bool grey) { + file = fileProvided; + ui->nameLabel->setText(file.name); + ui->timeLabel->setText(file.length); + if(grey == true) { + log("Setting background grey", className); + ui->deleteBtn->setStyleSheet("background: grey;"); + ui->playButton->setStyleSheet("background: grey;"); + isPlaying = true; + } +} + +void audiofilequeue::die() { + this->deleteLater(); + this->close(); +} + +void audiofilequeue::on_deleteBtn_clicked() +{ + int id = -1; + log("global::audio::queue.size(): " + QString::number(global::audio::queue.size()), className); + global::audio::audioMutex.lock(); + for(int i = 0; i < global::audio::queue.size(); i++) { + if(file.id == global::audio::queue[i].id) { + log("Found ID", className); + id = i; + } + } + + log("File ID is: " + QString::number(id), className); + global::audio::queue.remove(id); + // TODO: Don't change song if the removed item is not playing + // I will do it the moment I get annoyed about it + log("After removing global::audio::queue.size(): " + QString::number(global::audio::queue.size()), className); + if(id - 2 >= 0) { + global::audio::audioMutex.unlock(); + emit playFileChild(id - 2); + return void(); + } + else if(id < global::audio::queue.size()) { + global::audio::audioMutex.unlock(); + emit playFileChild(id); + return void(); + } + else { + global::audio::currentAction.append(global::audio::Action::Stop); + global::audio::audioMutex.unlock(); + return void(); + } + log("Something went wrong in deleting item that was in the query", className); + global::audio::audioMutex.unlock(); +} + +void audiofilequeue::on_playButton_clicked() +{ + global::audio::audioMutex.lock(); + for(int i = 0; i < global::audio::queue.size(); i++) { + if(global::audio::queue[i].id == file.id) { + global::audio::audioMutex.unlock(); + emit playFileChild(i); + return void(); + } + } + global::audio::audioMutex.unlock(); + log("Something went really wrong", className); +} diff --git a/src/widgets/dialogs/audio/audiofilequeue.h b/src/widgets/dialogs/audio/audiofilequeue.h new file mode 100644 index 0000000..d101cd5 --- /dev/null +++ b/src/widgets/dialogs/audio/audiofilequeue.h @@ -0,0 +1,38 @@ +#ifndef AUDIOFILEQUEUE_H +#define AUDIOFILEQUEUE_H + +#include +#include "functions.h" + +namespace Ui { +class audiofilequeue; +} + +class audiofilequeue : public QWidget +{ + Q_OBJECT + +public: + explicit audiofilequeue(QWidget *parent = nullptr); + ~audiofilequeue(); + QString className = this->metaObject()->className(); + bool isPlaying = false; + + void provideData(global::audio::musicFile fileProvided, bool grey); + global::audio::musicFile file; + +public slots: + void die(); + +private: + Ui::audiofilequeue *ui; + +signals: + void playFileChild(int itemInQueue); + +private slots: + void on_deleteBtn_clicked(); + void on_playButton_clicked(); +}; + +#endif // AUDIOFILEQUEUE_H diff --git a/src/widgets/dialogs/audio/audiofilequeue.ui b/src/widgets/dialogs/audio/audiofilequeue.ui new file mode 100644 index 0000000..40344a2 --- /dev/null +++ b/src/widgets/dialogs/audio/audiofilequeue.ui @@ -0,0 +1,134 @@ + + + audiofilequeue + + + + 0 + 0 + 284 + 53 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + 0 + 0 + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Preferred + + + + 40 + 20 + + + + + + + + + 0 + 0 + + + + + + + + + + + + 0 + 0 + + + + + + + + :/resources/close.png:/resources/close.png + + + + + + + + 0 + 0 + + + + + + + + :/resources/chevron-right.png:/resources/chevron-right.png + + + + + + + + + QFrame::Plain + + + 2 + + + Qt::Horizontal + + + + + + + + + + diff --git a/src/widgets/dialogs/generaldialog.cpp b/src/widgets/dialogs/generaldialog.cpp index 47b7fc4..7d76043 100644 --- a/src/widgets/dialogs/generaldialog.cpp +++ b/src/widgets/dialogs/generaldialog.cpp @@ -142,7 +142,16 @@ generalDialog::generalDialog(QWidget *parent) : else if(global::text::textBrowserDialog == true) { textBrowserDialog = true; textwidgetWindow = new textwidget(); - ui->headerLabel->setText("Information"); + + if(global::text::textBrowserTitle.isEmpty() == true) { + ui->headerLabel->setText("Information"); + } + else { + ui->headerLabel->setText(global::text::textBrowserTitle); + } + // Important + ui->bodyLabel->setText(global::text::textBrowserContents); + ui->stackedWidget->setCurrentIndex(1); ui->mainStackedWidget->insertWidget(1, textwidgetWindow); ui->mainStackedWidget->setCurrentIndex(1); @@ -584,11 +593,13 @@ void generalDialog::on_acceptBtn_clicked() } if(textBrowserDialog == true) { global::text::textBrowserContents = ""; + global::text::textBrowserTitle = ""; global::text::textBrowserDialog = false; } if(appInfoDialog == true) { global::text::textBrowserContents = ""; + global::text::textBrowserTitle = ""; global::userApps::appInfoDialog = false; }