diff --git a/Music-Player.pro b/Music-Player.pro index da9db19..b3871eb 100644 --- a/Music-Player.pro +++ b/Music-Player.pro @@ -9,6 +9,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets # ---------------------------------------------------- # Sources # ---------------------------------------------------- + SOURCES += \ src/components/albumTile/albumtile.cpp \ src/components/spinningAlbumArt/spinningalbumart.cpp \ @@ -16,13 +17,12 @@ SOURCES += \ src/main.cpp \ src/windows/musicSelector/musicSelector.cpp \ src/windows/playerWindow/playerWindow.cpp \ - src/components/albumButton/albumButton.cpp \ - src/components/mediaButton/mediaButton.cpp \ src/layout/flowLayout/flowLayout.cpp # ---------------------------------------------------- # Headers # ---------------------------------------------------- + HEADERS += \ src/components/albumTile/albumtile.h \ src/components/spinningAlbumArt/spinningalbumart.h \ @@ -30,20 +30,20 @@ HEADERS += \ src/data/cleanerScripts.h \ src/windows/musicSelector/musicSelector.h \ src/windows/playerWindow/playerWindow.h \ - src/components/albumButton/albumButton.h \ - src/components/mediaButton/mediaButton.h \ src/data/albumInformation.h \ src/layout/flowLayout/flowLayout.h # ---------------------------------------------------- # UI Forms # ---------------------------------------------------- + FORMS += \ src/windows/musicSelector/musicSelector.ui # ---------------------------------------------------- # Deployment # ---------------------------------------------------- + qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target @@ -51,6 +51,7 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin # ---------------------------------------------------- # Files NOT to distribute # ---------------------------------------------------- + DISTFILES += \ # Keep Qt Creator's local config OUT of the repo # (Only include this if you want to *explicitly* ship it) diff --git a/build/Desktop-Debug/Makefile b/build/Desktop-Debug/Makefile index 5225ad1..ae90e3a 100644 --- a/build/Desktop-Debug/Makefile +++ b/build/Desktop-Debug/Makefile @@ -58,33 +58,25 @@ SOURCES = ../../src/components/albumTile/albumtile.cpp \ ../../src/main.cpp \ ../../src/windows/musicSelector/musicSelector.cpp \ ../../src/windows/playerWindow/playerWindow.cpp \ - ../../src/components/albumButton/albumButton.cpp \ - ../../src/components/mediaButton/mediaButton.cpp \ ../../src/layout/flowLayout/flowLayout.cpp qrc_qmake_qmake_qm_files.cpp \ moc_albumtile.cpp \ moc_spinningalbumart.cpp \ moc_tracklistwidget.cpp \ moc_musicSelector.cpp \ - moc_playerWindow.cpp \ - moc_albumButton.cpp \ - moc_mediaButton.cpp + moc_playerWindow.cpp OBJECTS = albumtile.o \ spinningalbumart.o \ tracklistwidget.o \ main.o \ musicSelector.o \ playerWindow.o \ - albumButton.o \ - mediaButton.o \ flowLayout.o \ qrc_qmake_qmake_qm_files.o \ moc_albumtile.o \ moc_spinningalbumart.o \ moc_tracklistwidget.o \ moc_musicSelector.o \ - moc_playerWindow.o \ - moc_albumButton.o \ - moc_mediaButton.o + moc_playerWindow.o DIST = /opt/homebrew/share/qt/mkspecs/features/spec_pre.prf \ /opt/homebrew/share/qt/mkspecs/features/device_config.prf \ /opt/homebrew/share/qt/mkspecs/common/unix.conf \ @@ -463,8 +455,6 @@ DIST = /opt/homebrew/share/qt/mkspecs/features/spec_pre.prf \ ../../src/data/cleanerScripts.h \ ../../src/windows/musicSelector/musicSelector.h \ ../../src/windows/playerWindow/playerWindow.h \ - ../../src/components/albumButton/albumButton.h \ - ../../src/components/mediaButton/mediaButton.h \ ../../src/data/albumInformation.h \ ../../src/layout/flowLayout/flowLayout.h ../../src/components/albumTile/albumtile.cpp \ ../../src/components/spinningAlbumArt/spinningalbumart.cpp \ @@ -472,8 +462,6 @@ DIST = /opt/homebrew/share/qt/mkspecs/features/spec_pre.prf \ ../../src/main.cpp \ ../../src/windows/musicSelector/musicSelector.cpp \ ../../src/windows/playerWindow/playerWindow.cpp \ - ../../src/components/albumButton/albumButton.cpp \ - ../../src/components/mediaButton/mediaButton.cpp \ ../../src/layout/flowLayout/flowLayout.cpp QMAKE_TARGET = Music-Player DESTDIR = @@ -1284,8 +1272,8 @@ distdir: FORCE $(COPY_FILE) --parents $(DIST) $(DISTDIR)/ $(COPY_FILE) --parents qmake_qmake_qm_files.qrc $(DISTDIR)/ $(COPY_FILE) --parents /opt/homebrew/share/qt/mkspecs/features/data/dummy.cpp $(DISTDIR)/ - $(COPY_FILE) --parents ../../src/components/albumTile/albumtile.h ../../src/components/spinningAlbumArt/spinningalbumart.h ../../src/components/tracklistWidget/tracklistwidget.h ../../src/data/cleanerScripts.h ../../src/windows/musicSelector/musicSelector.h ../../src/windows/playerWindow/playerWindow.h ../../src/components/albumButton/albumButton.h ../../src/components/mediaButton/mediaButton.h ../../src/data/albumInformation.h ../../src/layout/flowLayout/flowLayout.h $(DISTDIR)/ - $(COPY_FILE) --parents ../../src/components/albumTile/albumtile.cpp ../../src/components/spinningAlbumArt/spinningalbumart.cpp ../../src/components/tracklistWidget/tracklistwidget.cpp ../../src/main.cpp ../../src/windows/musicSelector/musicSelector.cpp ../../src/windows/playerWindow/playerWindow.cpp ../../src/components/albumButton/albumButton.cpp ../../src/components/mediaButton/mediaButton.cpp ../../src/layout/flowLayout/flowLayout.cpp $(DISTDIR)/ + $(COPY_FILE) --parents ../../src/components/albumTile/albumtile.h ../../src/components/spinningAlbumArt/spinningalbumart.h ../../src/components/tracklistWidget/tracklistwidget.h ../../src/data/cleanerScripts.h ../../src/windows/musicSelector/musicSelector.h ../../src/windows/playerWindow/playerWindow.h ../../src/data/albumInformation.h ../../src/layout/flowLayout/flowLayout.h $(DISTDIR)/ + $(COPY_FILE) --parents ../../src/components/albumTile/albumtile.cpp ../../src/components/spinningAlbumArt/spinningalbumart.cpp ../../src/components/tracklistWidget/tracklistwidget.cpp ../../src/main.cpp ../../src/windows/musicSelector/musicSelector.cpp ../../src/windows/playerWindow/playerWindow.cpp ../../src/layout/flowLayout/flowLayout.cpp $(DISTDIR)/ $(COPY_FILE) --parents ../../src/windows/musicSelector/musicSelector.ui $(DISTDIR)/ @@ -1328,9 +1316,9 @@ compiler_moc_predefs_clean: moc_predefs.h: /opt/homebrew/share/qt/mkspecs/features/data/dummy.cpp /Library/Developer/CommandLineTools/usr/bin/clang++ -pipe -stdlib=libc++ -g -std=gnu++1z $(EXPORT_ARCH_ARGS) -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=14.0 -Wall -Wextra -dM -E -o moc_predefs.h /opt/homebrew/share/qt/mkspecs/features/data/dummy.cpp -compiler_moc_header_make_all: moc_albumtile.cpp moc_spinningalbumart.cpp moc_tracklistwidget.cpp moc_musicSelector.cpp moc_playerWindow.cpp moc_albumButton.cpp moc_mediaButton.cpp +compiler_moc_header_make_all: moc_albumtile.cpp moc_spinningalbumart.cpp moc_tracklistwidget.cpp moc_musicSelector.cpp moc_playerWindow.cpp compiler_moc_header_clean: - -$(DEL_FILE) moc_albumtile.cpp moc_spinningalbumart.cpp moc_tracklistwidget.cpp moc_musicSelector.cpp moc_playerWindow.cpp moc_albumButton.cpp moc_mediaButton.cpp + -$(DEL_FILE) moc_albumtile.cpp moc_spinningalbumart.cpp moc_tracklistwidget.cpp moc_musicSelector.cpp moc_playerWindow.cpp moc_albumtile.cpp: ../../src/components/albumTile/albumtile.h \ /opt/homebrew/lib/QtWidgets.framework/Headers/QWidget \ /opt/homebrew/lib/QtWidgets.framework/Headers/qwidget.h \ @@ -1411,30 +1399,6 @@ moc_playerWindow.cpp: ../../src/windows/playerWindow/playerWindow.h \ /opt/homebrew/share/qt/libexec/moc /opt/homebrew/share/qt/libexec/moc $(DEFINES) --include /Users/lucas/Developer/Qt-Music-Player/build/Desktop-Debug/moc_predefs.h -I/opt/homebrew/share/qt/mkspecs/macx-clang -I/Users/lucas/Developer/Qt-Music-Player -I/opt/homebrew/lib/QtWidgets.framework/Headers -I/opt/homebrew/lib/QtMultimedia.framework/Headers -I/opt/homebrew/lib/QtGui.framework/Headers -I/opt/homebrew/lib/QtNetwork.framework/Headers -I/opt/homebrew/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1 -I/Library/Developer/CommandLineTools/usr/lib/clang/17/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/Library/Developer/CommandLineTools/usr/include -F/opt/homebrew/lib ../../src/windows/playerWindow/playerWindow.h -o moc_playerWindow.cpp -moc_albumButton.cpp: ../../src/components/albumButton/albumButton.h \ - /opt/homebrew/lib/QtWidgets.framework/Headers/QPushButton \ - /opt/homebrew/lib/QtWidgets.framework/Headers/qpushbutton.h \ - ../../src/data/albumInformation.h \ - /opt/homebrew/lib/QtCore.framework/Headers/QString \ - /opt/homebrew/lib/QtCore.framework/Headers/qstring.h \ - /opt/homebrew/lib/QtCore.framework/Headers/QStringList \ - /opt/homebrew/lib/QtCore.framework/Headers/qstringlist.h \ - moc_predefs.h \ - /opt/homebrew/share/qt/libexec/moc - /opt/homebrew/share/qt/libexec/moc $(DEFINES) --include /Users/lucas/Developer/Qt-Music-Player/build/Desktop-Debug/moc_predefs.h -I/opt/homebrew/share/qt/mkspecs/macx-clang -I/Users/lucas/Developer/Qt-Music-Player -I/opt/homebrew/lib/QtWidgets.framework/Headers -I/opt/homebrew/lib/QtMultimedia.framework/Headers -I/opt/homebrew/lib/QtGui.framework/Headers -I/opt/homebrew/lib/QtNetwork.framework/Headers -I/opt/homebrew/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1 -I/Library/Developer/CommandLineTools/usr/lib/clang/17/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/Library/Developer/CommandLineTools/usr/include -F/opt/homebrew/lib ../../src/components/albumButton/albumButton.h -o moc_albumButton.cpp - -moc_mediaButton.cpp: ../../src/components/mediaButton/mediaButton.h \ - /opt/homebrew/lib/QtWidgets.framework/Headers/QPushButton \ - /opt/homebrew/lib/QtWidgets.framework/Headers/qpushbutton.h \ - ../../src/data/albumInformation.h \ - /opt/homebrew/lib/QtCore.framework/Headers/QString \ - /opt/homebrew/lib/QtCore.framework/Headers/qstring.h \ - /opt/homebrew/lib/QtCore.framework/Headers/QStringList \ - /opt/homebrew/lib/QtCore.framework/Headers/qstringlist.h \ - moc_predefs.h \ - /opt/homebrew/share/qt/libexec/moc - /opt/homebrew/share/qt/libexec/moc $(DEFINES) --include /Users/lucas/Developer/Qt-Music-Player/build/Desktop-Debug/moc_predefs.h -I/opt/homebrew/share/qt/mkspecs/macx-clang -I/Users/lucas/Developer/Qt-Music-Player -I/opt/homebrew/lib/QtWidgets.framework/Headers -I/opt/homebrew/lib/QtMultimedia.framework/Headers -I/opt/homebrew/lib/QtGui.framework/Headers -I/opt/homebrew/lib/QtNetwork.framework/Headers -I/opt/homebrew/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/v1 -I/Library/Developer/CommandLineTools/usr/lib/clang/17/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include -I/Library/Developer/CommandLineTools/usr/include -F/opt/homebrew/lib ../../src/components/mediaButton/mediaButton.h -o moc_mediaButton.cpp - compiler_moc_objc_header_make_all: compiler_moc_objc_header_clean: compiler_moc_source_make_all: @@ -1499,7 +1463,12 @@ tracklistwidget.o: ../../src/components/tracklistWidget/tracklistwidget.cpp ../. /opt/homebrew/lib/QtCore.framework/Headers/QFileInfo \ /opt/homebrew/lib/QtCore.framework/Headers/qfileinfo.h \ /opt/homebrew/lib/QtWidgets.framework/Headers/QVBoxLayout \ - /opt/homebrew/lib/QtWidgets.framework/Headers/qboxlayout.h + /opt/homebrew/lib/QtWidgets.framework/Headers/qboxlayout.h \ + ../../src/data/cleanerScripts.h \ + /opt/homebrew/lib/QtCore.framework/Headers/QString \ + /opt/homebrew/lib/QtCore.framework/Headers/qstring.h \ + /opt/homebrew/lib/QtCore.framework/Headers/QRegularExpression \ + /opt/homebrew/lib/QtCore.framework/Headers/qregularexpression.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o tracklistwidget.o ../../src/components/tracklistWidget/tracklistwidget.cpp main.o: ../../src/main.cpp ../../src/windows/musicSelector/musicSelector.h \ @@ -1598,34 +1567,6 @@ playerWindow.o: ../../src/windows/playerWindow/playerWindow.cpp ../../src/window /opt/homebrew/lib/QtCore.framework/Headers/qregularexpression.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o playerWindow.o ../../src/windows/playerWindow/playerWindow.cpp -albumButton.o: ../../src/components/albumButton/albumButton.cpp ../../src/components/albumButton/albumButton.h \ - /opt/homebrew/lib/QtWidgets.framework/Headers/QPushButton \ - /opt/homebrew/lib/QtWidgets.framework/Headers/qpushbutton.h \ - ../../src/data/albumInformation.h \ - /opt/homebrew/lib/QtCore.framework/Headers/QString \ - /opt/homebrew/lib/QtCore.framework/Headers/qstring.h \ - /opt/homebrew/lib/QtCore.framework/Headers/QStringList \ - /opt/homebrew/lib/QtCore.framework/Headers/qstringlist.h \ - /opt/homebrew/lib/QtGui.framework/Headers/QPixmap \ - /opt/homebrew/lib/QtGui.framework/Headers/qpixmap.h \ - /opt/homebrew/lib/QtGui.framework/Headers/QIcon \ - /opt/homebrew/lib/QtGui.framework/Headers/qicon.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o albumButton.o ../../src/components/albumButton/albumButton.cpp - -mediaButton.o: ../../src/components/mediaButton/mediaButton.cpp ../../src/components/mediaButton/mediaButton.h \ - /opt/homebrew/lib/QtWidgets.framework/Headers/QPushButton \ - /opt/homebrew/lib/QtWidgets.framework/Headers/qpushbutton.h \ - ../../src/data/albumInformation.h \ - /opt/homebrew/lib/QtCore.framework/Headers/QString \ - /opt/homebrew/lib/QtCore.framework/Headers/qstring.h \ - /opt/homebrew/lib/QtCore.framework/Headers/QStringList \ - /opt/homebrew/lib/QtCore.framework/Headers/qstringlist.h \ - /opt/homebrew/lib/QtGui.framework/Headers/QPixmap \ - /opt/homebrew/lib/QtGui.framework/Headers/qpixmap.h \ - /opt/homebrew/lib/QtGui.framework/Headers/QIcon \ - /opt/homebrew/lib/QtGui.framework/Headers/qicon.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mediaButton.o ../../src/components/mediaButton/mediaButton.cpp - flowLayout.o: ../../src/layout/flowLayout/flowLayout.cpp ../../src/layout/flowLayout/flowLayout.h \ /opt/homebrew/lib/QtWidgets.framework/Headers/QLayout \ /opt/homebrew/lib/QtWidgets.framework/Headers/qlayout.h \ @@ -1774,12 +1715,6 @@ moc_musicSelector.o: moc_musicSelector.cpp moc_playerWindow.o: moc_playerWindow.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_playerWindow.o moc_playerWindow.cpp -moc_albumButton.o: moc_albumButton.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_albumButton.o moc_albumButton.cpp - -moc_mediaButton.o: moc_mediaButton.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_mediaButton.o moc_mediaButton.cpp - ####### Install install_target: first FORCE diff --git a/build/Desktop-Debug/Music-Player.app/Contents/MacOS/Music-Player b/build/Desktop-Debug/Music-Player.app/Contents/MacOS/Music-Player index 73ea17d..da32677 100755 Binary files a/build/Desktop-Debug/Music-Player.app/Contents/MacOS/Music-Player and b/build/Desktop-Debug/Music-Player.app/Contents/MacOS/Music-Player differ diff --git a/build/Desktop-Debug/main.o b/build/Desktop-Debug/main.o index 1eb9266..cc064b7 100644 Binary files a/build/Desktop-Debug/main.o and b/build/Desktop-Debug/main.o differ diff --git a/build/Desktop-Debug/musicSelector.o b/build/Desktop-Debug/musicSelector.o index a18fbc3..5d20895 100644 Binary files a/build/Desktop-Debug/musicSelector.o and b/build/Desktop-Debug/musicSelector.o differ diff --git a/src/components/albumButton/albumButton.cpp b/src/components/albumButton/albumButton.cpp deleted file mode 100644 index d2edfa9..0000000 --- a/src/components/albumButton/albumButton.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "albumButton.h" -#include -#include - -AlbumButton::AlbumButton(const AlbumData& item, QWidget* parent) - : QPushButton(parent), item_(item) -{ - QPixmap pix(item.imagePath); - QPixmap scaled = pix.scaled(200, 200, Qt::KeepAspectRatio, Qt::SmoothTransformation); - - setIcon(QIcon(scaled)); - setIconSize(QSize(200, 200)); - setFixedSize(210, 210); - setStyleSheet("border: none;"); - - connect(this, &QPushButton::clicked, this, [this]() { - emit activated(item_); - }); -} diff --git a/src/components/albumButton/albumButton.h b/src/components/albumButton/albumButton.h deleted file mode 100644 index 87c5c32..0000000 --- a/src/components/albumButton/albumButton.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once -#include -#include "src/data/albumInformation.h" - -class AlbumButton : public QPushButton -{ - Q_OBJECT -public: - explicit AlbumButton(const AlbumData& item, QWidget* parent = nullptr); - -signals: - void activated(const AlbumData& item); - -private: - AlbumData item_; -}; diff --git a/src/components/mediaButton/mediaButton.cpp b/src/components/mediaButton/mediaButton.cpp deleted file mode 100644 index 828bc6e..0000000 --- a/src/components/mediaButton/mediaButton.cpp +++ /dev/null @@ -1,20 +0,0 @@ -#include "mediaButton.h" -#include -#include - -MediaButton::MediaButton(const AlbumData& item, QWidget* parent) - : QPushButton(parent), item_(item) -{ - QPixmap pix(item.imagePath); - if (!pix.isNull()) { - QPixmap scaled = pix.scaled(200, 200, Qt::KeepAspectRatio, Qt::SmoothTransformation); - this->setIcon(QIcon(scaled)); - this->setIconSize(QSize(200, 200)); - this->setFixedSize(210, 210); - this->setStyleSheet("border: none;"); - } - - connect(this, &QPushButton::clicked, this, [this]() { - emit activated(item_); - }); -} diff --git a/src/components/mediaButton/mediaButton.h b/src/components/mediaButton/mediaButton.h deleted file mode 100644 index a9b6d00..0000000 --- a/src/components/mediaButton/mediaButton.h +++ /dev/null @@ -1,15 +0,0 @@ -#pragma once -#include -#include "src/data/albumInformation.h" - -class MediaButton : public QPushButton { - Q_OBJECT -public: - explicit MediaButton(const AlbumData& item, QWidget* parent = nullptr); - - signals: - void activated(const AlbumData& item); - -private: - AlbumData item_; -}; diff --git a/src/main.cpp b/src/main.cpp index 8fdf790..7b31bbb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,18 +6,18 @@ int main(int argc, char *argv[]) { - QApplication a(argc, argv); + QApplication app(argc, argv); QTranslator translator; const QStringList uiLanguages = QLocale::system().uiLanguages(); for (const QString &locale : uiLanguages) { const QString baseName = "Music-Player_" + QLocale(locale).name(); if (translator.load(":/i18n/" + baseName)) { - a.installTranslator(&translator); + app.installTranslator(&translator); break; } } - MusicSelector w; - w.show(); - return a.exec(); + MusicSelector window; + window.show(); + return app.exec(); } diff --git a/src/windows/musicSelector/musicSelector.cpp b/src/windows/musicSelector/musicSelector.cpp index 4885cef..be4acde 100644 --- a/src/windows/musicSelector/musicSelector.cpp +++ b/src/windows/musicSelector/musicSelector.cpp @@ -18,8 +18,7 @@ MusicSelector::MusicSelector(QWidget* parent) setLayout(flow); // Set Media Folder - QString projectRoot = QDir(QCoreApplication::applicationDirPath()) - .absoluteFilePath("../../../../.."); // Escape the .app bundle + QString projectRoot = QDir(QCoreApplication::applicationDirPath()).absoluteFilePath("../../../../.."); // Escape the .app bundle // Now manually append your real resources dir: QString mediaFolder = projectRoot + "/resources/media"; @@ -76,7 +75,7 @@ QList MusicSelector::scanFolder(const QString& root) audioFiles.append(f.absoluteFilePath()); } - // 🔍 DEBUG GOES HERE, where artistInfo, albumInfo, image, audioFiles exist + // DEBUG HERE, where artistInfo, albumInfo, image, audioFiles exist qDebug() << "Artist:" << artistInfo.fileName(); qDebug() << "Album:" << albumInfo.fileName(); qDebug() << "Image found:" << image; diff --git a/src/windows/musicSelector/musicSelector.h b/src/windows/musicSelector/musicSelector.h index fdb13ca..468f33b 100644 --- a/src/windows/musicSelector/musicSelector.h +++ b/src/windows/musicSelector/musicSelector.h @@ -10,7 +10,7 @@ public: explicit MusicSelector(QWidget *parent = nullptr); private: - QList scanFolder(const QString& root); // <-- RIGHT HERE + QList scanFolder(const QString& root); QGridLayout* grid; };