diff options
author | Uwe Klotz <uklotz@mixxx.org> | 2020-06-12 00:03:34 +0200 |
---|---|---|
committer | Uwe Klotz <uklotz@mixxx.org> | 2020-06-12 00:03:34 +0200 |
commit | 28fabbde43269ba3cfa7651450b22ab8ffe3b627 (patch) | |
tree | 6c30eba7b06deda6e3358c1802f1722a41fc3122 | |
parent | 099bca141efc72e8ded5245b47ed38e202e3f4e9 (diff) | |
parent | 2ea349ee8db0e77e7056c74b3b38d7e02a23ab1e (diff) |
Merge branch 'master' into coverart_color_and_digest
# Conflicts:
# src/library/tracksettablemodel.cpp
55 files changed, 1343 insertions, 1334 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 7cec7d5342..1b91a9df5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -508,10 +508,8 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/library/baseexternallibraryfeature.cpp src/library/baseexternalplaylistmodel.cpp src/library/baseexternaltrackmodel.cpp - src/library/baseplaylistfeature.cpp src/library/basesqltablemodel.cpp src/library/basetrackcache.cpp - src/library/basetracksetfeature.cpp src/library/basetracktablemodel.cpp src/library/bpmdelegate.cpp src/library/browse/browsefeature.cpp @@ -524,10 +522,6 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/library/coverartcache.cpp src/library/coverartdelegate.cpp src/library/coverartutils.cpp - src/library/crate/cratefeature.cpp - src/library/crate/cratefeaturehelper.cpp - src/library/crate/cratestorage.cpp - src/library/crate/cratetablemodel.cpp src/library/dao/analysisdao.cpp src/library/dao/autodjcratesdao.cpp src/library/dao/cuedao.cpp @@ -567,7 +561,6 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/library/parsercsv.cpp src/library/parserm3u.cpp src/library/parserpls.cpp - src/library/playlistfeature.cpp src/library/playlisttablemodel.cpp src/library/previewbuttondelegate.cpp src/library/proxytrackmodel.cpp @@ -587,7 +580,16 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/library/searchqueryparser.cpp src/library/serato/seratofeature.cpp src/library/serato/seratoplaylistmodel.cpp - src/library/setlogfeature.cpp + src/library/trackset/baseplaylistfeature.cpp + src/library/trackset/basetracksetfeature.cpp + src/library/trackset/crate/cratefeature.cpp + src/library/trackset/crate/cratefeaturehelper.cpp + src/library/trackset/crate/cratestorage.cpp + src/library/trackset/crate/cratetablemodel.cpp + src/library/trackset/playlistfeature.cpp + src/library/trackset/setlogfeature.cpp + src/library/trackset/tracksettablemodel.cpp + src/library/traktor/traktorfeature.cpp src/library/sidebarmodel.cpp src/library/songdownloader.cpp src/library/stardelegate.cpp @@ -597,8 +599,6 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL src/library/trackcollection.cpp src/library/trackcollectionmanager.cpp src/library/trackloader.cpp - src/library/tracksettablemodel.cpp - src/library/traktor/traktorfeature.cpp src/library/treeitem.cpp src/library/treeitemmodel.cpp src/mixer/auxiliary.cpp diff --git a/build/depends.py b/build/depends.py index 1756fc8a4f..b995c2edc3 100644 --- a/build/depends.py +++ b/build/depends.py @@ -1047,23 +1047,23 @@ class MixxxCore(Feature): "src/library/coverartcache.cpp", "src/library/coverartutils.cpp", - "src/library/crate/cratestorage.cpp", - "src/library/crate/cratefeature.cpp", - "src/library/crate/cratefeaturehelper.cpp", - "src/library/crate/cratetablemodel.cpp", + "src/library/trackset/basetracksetfeature.cpp", + "src/library/trackset/baseplaylistfeature.cpp", + "src/library/trackset/playlistfeature.cpp", + "src/library/trackset/setlogfeature.cpp", + "src/library/trackset/tracksettablemodel.cpp", + "src/library/trackset/crate/cratestorage.cpp", + "src/library/trackset/crate/cratefeature.cpp", + "src/library/trackset/crate/cratefeaturehelper.cpp", + "src/library/trackset/crate/cratetablemodel.cpp", "src/library/playlisttablemodel.cpp", - "src/library/tracksettablemodel.cpp", "src/library/libraryfeature.cpp", "src/library/analysisfeature.cpp", "src/library/autodj/autodjfeature.cpp", "src/library/autodj/autodjprocessor.cpp", "src/library/dao/directorydao.cpp", "src/library/mixxxlibraryfeature.cpp", - "src/library/basetracksetfeature.cpp", - "src/library/baseplaylistfeature.cpp", - "src/library/playlistfeature.cpp", - "src/library/setlogfeature.cpp", "src/library/autodj/dlgautodj.cpp", "src/library/dlganalysis.cpp", "src/library/dlgcoverartfullsize.cpp", diff --git a/src/library/autodj/autodjfeature.cpp b/src/library/autodj/autodjfeature.cpp index f8992625ea..659338d091 100644 --- a/src/library/autodj/autodjfeature.cpp +++ b/src/library/autodj/autodjfeature.cpp @@ -2,20 +2,20 @@ // FORK FORK FORK on 11/1/2009 by Albert Santoni (alberts@mixxx.org) // Created 8/23/2009 by RJ Ryan (rryan@mit.edu) -#include <QtDebug> -#include <QMetaObject> -#include <QMenu> - #include "library/autodj/autodjfeature.h" +#include <QMenu> +#include <QMetaObject> +#include <QtDebug> + #include "controllers/keyboard/keyboardeventfilter.h" #include "library/autodj/autodjprocessor.h" #include "library/autodj/dlgautodj.h" -#include "library/crate/cratestorage.h" #include "library/library.h" #include "library/parser.h" #include "library/trackcollection.h" #include "library/trackcollectionmanager.h" +#include "library/trackset/crate/cratestorage.h" #include "library/treeitem.h" #include "mixer/playermanager.h" #include "sources/soundsourceproxy.h" diff --git a/src/library/autodj/autodjfeature.h b/src/library/autodj/autodjfeature.h index 94f1a986b5..5b23464d0d 100644 --- a/src/library/autodj/autodjfeature.h +++ b/src/library/autodj/autodjfeature.h @@ -5,22 +5,22 @@ #ifndef AUTODJFEATURE_H #define AUTODJFEATURE_H -#include <QObject> -#include <QStringListModel> -#include <QVariant> +#include <QAction> #include <QIcon> -#include <QUrl> #include <QList> #include <QModelIndex> +#include <QObject> #include <QPoint> -#include <QAction> #include <QPointer> +#include <QStringListModel> +#include <QUrl> +#include <QVariant> +#include "library/dao/autodjcratesdao.h" #include "library/libraryfeature.h" -#include "preferences/usersettings.h" +#include "library/trackset/crate/crate.h" #include "library/treeitemmodel.h" -#include "library/crate/crate.h" -#include "library/dao/autodjcratesdao.h" +#include "preferences/usersettings.h" class DlgAutoDJ; class Library; diff --git a/src/library/banshee/bansheeplaylistmodel.cpp b/src/library/banshee/bansheeplaylistmodel.cpp index d3c6a44cd4..d8242379c8 100644 --- a/src/library/banshee/bansheeplaylistmodel.cpp +++ b/src/library/banshee/bansheeplaylistmodel.cpp @@ -1,14 +1,14 @@ +#include "library/banshee/bansheeplaylistmodel.h" + #include <QtDebug> -#include "library/banshee/bansheeplaylistmodel.h" #include "library/banshee/bansheedbconnection.h" #include "library/queryutil.h" #include "library/starrating.h" -#include "library/previewbuttondelegate.h" #include "library/trackcollectionmanager.h" +#include "mixer/playermanager.h" #include "track/beatfactory.h" #include "track/beats.h" -#include "mixer/playermanager.h" #define BANSHEE_TABLE "banshee" #define CLM_TRACK_ID "track_id" @@ -75,73 +75,56 @@ void BansheePlaylistModel::setTableModel(int playlistId) { m_playlistId = playlistId; QSqlQuery query(m_database); - QString strQuery("CREATE TEMP TABLE IF NOT EXISTS %1" - " (" CLM_TRACK_ID " INTEGER, " - CLM_VIEW_ORDER " INTEGER, " - CLM_ARTIST " TEXT, " - CLM_TITLE " TEXT, " - CLM_DURATION " INTEGER, " - CLM_URI " TEXT, " - CLM_ALBUM " TEXT, " - CLM_ALBUM_ARTIST " TEXT, " - CLM_YEAR " INTEGER, " - CLM_RATING " INTEGER, " - CLM_GENRE " TEXT, " - CLM_GROUPING " TEXT, " - CLM_TRACKNUMBER " INTEGER, " - CLM_DATEADDED " INTEGER, " - CLM_BPM " INTEGER, " - CLM_BITRATE " INTEGER, " - CLM_COMMENT " TEXT, " - CLM_PLAYCOUNT" INTEGER, " - CLM_COMPOSER " TEXT, " - CLM_PREVIEW " TEXT)"); - if (!query.exec(strQuery.arg(m_tempTableName))) { + if (!query.exec(QStringLiteral( + "CREATE TEMP TABLE IF NOT EXISTS %1 (" // + CLM_TRACK_ID " INTEGER, " // + CLM_VIEW_ORDER " INTEGER, " // + CLM_ARTIST " TEXT, " // + CLM_TITLE " TEXT, " // + CLM_DURATION " INTEGER, " // + CLM_URI " TEXT, " // + CLM_ALBUM " TEXT, " // + CLM_ALBUM_ARTIST " TEXT, " // + CLM_YEAR " INTEGER, " // + CLM_RATING " INTEGER, " // + CLM_GENRE " TEXT, " // + CLM_GROUPING " TEXT, " // + CLM_TRACKNUMBER " INTEGER, " // + CLM_DATEADDED " INTEGER, " // + CLM_BPM " INTEGER, " // + CLM_BITRATE " INTEGER, " // + CLM_COMMENT " TEXT, " // + CLM_PLAYCOUNT " INTEGER, " // + CLM_COMPOSER " TEXT, " // + CLM_PREVIEW " TEXT)") + .arg(m_tempTableName))) { LOG_FAILED_QUERY(query); } - QString strQuery2("INSERT INTO %1" - " (" CLM_TRACK_ID ", " - CLM_VIEW_ORDER ", " - CLM_ARTIST ", " - CLM_TITLE ", " - CLM_DURATION ", " - CLM_URI ", " - CLM_ALBUM ", " - CLM_ALBUM_ARTIST ", " - CLM_YEAR ", " - CLM_RATING ", " - CLM_GENRE ", " - CLM_GROUPING ", " - CLM_TRACKNUMBER ", " - CLM_DATEADDED ", " - CLM_BPM ", " - CLM_BITRATE ", " - CLM_COMMENT ", " - CLM_PLAYCOUNT ", " - CLM_COMPOSER ") " - "VALUES (:" - CLM_TRACK_ID ", :" - CLM_VIEW_ORDER ", :" - CLM_ARTIST ", :" - CLM_TITLE ", :" - CLM_DURATION ", :" - CLM_URI ", :" - CLM_ALBUM ", :" - CLM_ALBUM_ARTIST ", :" - CLM_YEAR ", :" - CLM_RATING ", :" - CLM_GENRE ", :" - CLM_GROUPING ", :" - CLM_TRACKNUMBER ", :" - CLM_DATEADDED ", :" - CLM_BPM ", :" - CLM_BITRATE ", :" - CLM_COMMENT ", :" - CLM_PLAYCOUNT ", :" - CLM_COMPOSER ") "); - - query.prepare(strQuery2.arg(m_tempTableName)); + QStringList insertColumns; + insertColumns + << CLM_TRACK_ID + << CLM_VIEW_ORDER + << CLM_ARTIST + << CLM_TITLE + << CLM_DURATION + << CLM_URI + << CLM_ALBUM + << CLM_ALBUM_ARTIST + << CLM_YEAR + << CLM_RATING + << CLM_GENRE + << CLM_GROUPING + << CLM_TRACKNUMBER + << CLM_DATEADDED + << CLM_BPM + << CLM_BITRATE + << CLM_COMMENT + << CLM_PLAYCOUNT + << CLM_COMPOSER; + query.prepare( + QStringLiteral("INSERT INTO %1 (%2) VALUES (:%3)") + .arg(m_tempTableName, insertColumns.join(", "), insertColumns.join(", :"))); QList<struct BansheeDbConnection::PlaylistEntry> list = m_pConnection->getPlaylistEntries(playlistId); @@ -186,34 +169,37 @@ void BansheePlaylistModel::setTableModel(int playlistId) { QStringList tableColumns; tableColumns - << CLM_TRACK_ID // 0 - << CLM_VIEW_ORDER - << CLM_PREVIEW; // 3 + << CLM_TRACK_ID // 0 + << CLM_VIEW_ORDER + << CLM_PREVIEW; // 3 QStringList trackSourceColumns; trackSourceColumns - << CLM_TRACK_ID // 0 - << CLM_ARTIST - << CLM_TITLE - << CLM_DURATION - << CLM_URI - << CLM_ALBUM - << CLM_ALBUM_ARTIST - << CLM_YEAR - << CLM_RATING - << CLM_GENRE - << CLM_GROUPING - << CLM_TRACKNUMBER - << CLM_DATEADDED - << CLM_BPM - << CLM_BITRATE - << CLM_COMMENT - << CLM_PLAYCOUNT - << CLM_COMPOSER; + << CLM_TRACK_ID // 0 + << CLM_ARTIST + << CLM_TITLE + << CLM_DURATION + << CLM_URI + << CLM_ALBUM + << CLM_ALBUM_ARTIST + << CLM_YEAR + << CLM_RATING + << CLM_GENRE + << CLM_GROUPING + << CLM_TRACKNUMBER + << CLM_DATEADDED + << CLM_BPM + << CLM_BITRATE + << CLM_COMMENT + << CLM_PLAYCOUNT + << CLM_COMPOSER; QSharedPointer<BaseTrackCache> trackSource( - new BaseTrackCache(m_pTrackCollectionManager->internalCollection(), m_tempTableName, CLM_TRACK_ID, - trackSourceColumns, false)); + new BaseTrackCache(m_pTrackCollectionManager->internalCollection(), + m_tempTableName, + CLM_TRACK_ID, + trackSourceColumns, + false)); setTable(m_tempTableName, CLM_TRACK_ID, tableColumns, trackSource); setSearch(""); @@ -222,15 +208,14 @@ void BansheePlaylistModel::setTableModel(int playlistId) { } TrackModel::CapabilitiesFlags BansheePlaylistModel::getCapabilities() const { - return TRACKMODELCAPS_NONE - | TRACKMODELCAPS_ADDTOPLAYLIST - | TRACKMODELCAPS_ADDTOCRATE - | TRACKMODELCAPS_ADDTOAUTODJ - | TRACKMODELCAPS_LOADTODECK - | TRACKMODELCAPS_LOADTOSAMPLER; + return TRACKMODELCAPS_ADDTOPLAYLIST | + TRACKMODELCAPS_ADDTOCRATE | + TRACKMODELCAPS_ADDTOAUTODJ | + TRACKMODELCAPS_LOADTODECK | + TRACKMODELCAPS_LOADTOSAMPLER; } -Qt::ItemFlags BansheePlaylistModel::flags(const QModelIndex &index) const { +Qt::ItemFlags BansheePlaylistModel::flags(const QModelIndex& index) const { return readOnlyFlags(index); } @@ -297,7 +282,6 @@ TrackPointer BansheePlaylistModel::getTrack(const QModelIndex& index) const { mixxx::BeatsPointer pBeats = BeatFactory::makeBeatGrid(*pTrack, bpm, 0.0); pTrack->setBeats(pBeats); } - } return pTrack; } @@ -348,5 +332,5 @@ QString BansheePlaylistModel::getTrackLocation(const QModelIndex& index) const { bool BansheePlaylistModel::isColumnInternal(int column) { return (column == fieldIndex(ColumnCache::COLUMN_PLAYLISTTRACKSTABLE_TRACKID) || (PlayerManager::numPreviewDecks() == 0 && - column == fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_PREVIEW))); + column == fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_PREVIEW))); } diff --git a/src/library/baseexternallibraryfeature.cpp b/src/library/baseexternallibraryfeature.cpp index 4893544fad..2d51303e64 100644 --- a/src/library/baseexternallibraryfeature.cpp +++ b/src/library/baseexternallibraryfeature.cpp @@ -114,7 +114,7 @@ void BaseExternalLibraryFeature::slotImportAsMixxxPlaylist() { playlistDao.appendTracksToPlaylist(trackIds, playlistId); } else { // Do not change strings here without also changing strings in - // src/library/baseplaylistfeature.cpp + // src/library/trackset/baseplaylistfeature.cpp QMessageBox::warning(NULL, tr("Playlist Creation Failed"), tr("An unknown error occurred while creating playlist: ") diff --git a/src/library/baseexternalplaylistmodel.cpp b/src/library/baseexternalplaylistmodel.cpp index 9549274dd3..1eb82be574 100644 --- a/src/library/baseexternalplaylistmodel.cpp +++ b/src/library/baseexternalplaylistmodel.cpp @@ -7,13 +7,12 @@ #include "mixer/playermanager.h" BaseExternalPlaylistModel::BaseExternalPlaylistModel(QObject* parent, - TrackCollectionManager* pTrackCollectionManager, - const char* settingsNamespace, - const QString& playlistsTable, - const QString& playlistTracksTable, - QSharedPointer<BaseTrackCache> trackSource) - : BaseSqlTableModel(parent, pTrackCollectionManager, - settingsNamespace), + TrackCollectionManager* pTrackCollectionManager, + const char* settingsNamespace, + const QString& playlistsTable, + const QString& playlistTracksTable, + QSharedPointer<BaseTrackCache> trackSource) + : BaseSqlTableModel(parent, pTrackCollectionManager, settingsNamespace), m_playlistsTable(playlistsTable), m_playlistTracksTable(playlistTracksTable), m_trackSource(trackSource) { @@ -23,8 +22,7 @@ BaseExternalPlaylistModel::~BaseExternalPlaylistModel() { } TrackPointer BaseExternalPlaylistModel::getTrack(const QModelIndex& index) const { - QString nativeLocation = index.sibling( - index.row(), fieldIndex("location")).data().toString(); + QString nativeLocation = index.sibling(index.row(), fieldIndex("location")).data().toString(); QString location = QDir::fromNativeSeparators(nativeLocation); if (location.isEmpty()) { @@ -41,28 +39,22 @@ TrackPointer BaseExternalPlaylistModel::getTrack(const QModelIndex& index) const // saved with the metadata from iTunes. If it was already in the library // then we do not touch it so that we do not over-write the user's metadata. if (pTrack && !track_already_in_library) { - QString artist = index.sibling( - index.row(), fieldIndex("artist")).data().toString(); + QString artist = index.sibling(index.row(), fieldIndex("artist")).data().toString(); pTrack->setArtist(artist); - QString title = index.sibling( - index.row(), fieldIndex("title")).data().toString(); + QString title = index.sibling(index.row(), fieldIndex("title")).data().toString(); pTrack->setTitle(title); - QString album = index.sibling( - index.row(), fieldIndex("album")).data().toString(); + QString album = index.sibling(index.row(), fieldIndex("album")).data().toString(); pTrack->setAlbum(album); - QString year = index.sibling( - index.row(), fieldIndex("year")).data().toString(); + QString year = index.sibling(index.row(), fieldIndex("year")).data().toString(); pTrack->setYear(year); - QString genre = index.sibling( - index.row(), fieldIndex("genre")).data().toString(); + QString genre = index.sibling(index.row(), fieldIndex("genre")).data().toString(); pTrack->setGenre(genre); - float bpm = index.sibling( - index.row(), fieldIndex("bpm")).data().toString().toFloat(); + float bpm = index.sibling(index.row(), fieldIndex("bpm")).data().toString().toFloat(); pTrack->setBpm(bpm); } return pTrack; @@ -83,7 +75,7 @@ bool BaseExternalPlaylistModel::isColumnInternal(int column) { column == fieldIndex(ColumnCache::COLUMN_LIBRARYTABLE_PREVIEW)); } -Qt::ItemFlags BaseExternalPlaylistModel::flags(const QModelIndex &index) const { +Qt::ItemFlags BaseExternalPlaylistModel::flags(const QModelIndex& index) const { return readOnlyFlags(index); } @@ -101,8 +93,7 @@ void BaseExternalPlaylistModel::setPlaylist(QString playlist_path) { int playlistId = -1; QSqlRecord finder_query_record = finder_query.record(); while (finder_query.next()) { - playlistId = finder_query.value( - finder_query_record.indexOf("id")).toInt(); + playlistId = finder_query.value(finder_query_record.indexOf("id")).toInt(); } if (playlistId == -1) { @@ -111,24 +102,24 @@ void BaseExternalPlaylistModel::setPlaylist(QString playlist_path) { } QString playlistViewTable = QString("%1_%2").arg(m_playlistTracksTable, - QString::number(playlistId)); + QString::number(playlistId)); QStringList columns; columns << "track_id"; columns << "position"; columns << |