2018-02-27 18:06:05 +01:00
|
|
|
/*
|
|
|
|
* Strawberry Music Player
|
|
|
|
* This file was part of Clementine.
|
|
|
|
* Copyright 2010, David Sansome <me@davidsansome.com>
|
|
|
|
*
|
|
|
|
* Strawberry is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
|
|
* (at your option) any later version.
|
|
|
|
*
|
|
|
|
* Strawberry is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with Strawberry. If not, see <http://www.gnu.org/licenses/>.
|
2018-08-09 18:39:44 +02:00
|
|
|
*
|
2018-02-27 18:06:05 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include "config.h"
|
|
|
|
|
2018-05-01 00:41:33 +02:00
|
|
|
#include "metatypes.h"
|
|
|
|
|
|
|
|
#ifdef HAVE_GSTREAMER
|
|
|
|
# include <gst/gstbuffer.h>
|
|
|
|
# include <gst/gstelement.h>
|
|
|
|
#endif
|
|
|
|
|
2020-02-08 03:40:30 +01:00
|
|
|
#include <QDataStream>
|
2018-05-01 00:41:33 +02:00
|
|
|
#include <QAbstractSocket>
|
2018-02-27 18:06:05 +01:00
|
|
|
#include <QMetaType>
|
2019-03-25 19:52:46 +01:00
|
|
|
#include <QFileInfo>
|
2018-05-01 00:41:33 +02:00
|
|
|
#include <QList>
|
|
|
|
#include <QMap>
|
|
|
|
#include <QByteArray>
|
|
|
|
#include <QUrl>
|
|
|
|
#include <QImage>
|
2018-02-27 18:06:05 +01:00
|
|
|
#include <QNetworkCookie>
|
2018-05-01 00:41:33 +02:00
|
|
|
#include <QNetworkReply>
|
2020-07-18 06:02:54 +02:00
|
|
|
#include <QItemSelection>
|
2018-05-01 00:41:33 +02:00
|
|
|
#ifdef HAVE_DBUS
|
|
|
|
# include <QDBusMetaType>
|
|
|
|
#endif
|
2018-02-27 18:06:05 +01:00
|
|
|
|
2018-05-01 00:41:33 +02:00
|
|
|
#include "song.h"
|
2018-02-27 18:06:05 +01:00
|
|
|
|
2018-05-01 00:41:33 +02:00
|
|
|
#include "engine/engine_fwd.h"
|
2018-02-27 18:06:05 +01:00
|
|
|
#include "engine/enginebase.h"
|
|
|
|
#include "engine/enginetype.h"
|
|
|
|
#ifdef HAVE_GSTREAMER
|
|
|
|
# include "engine/gstenginepipeline.h"
|
|
|
|
#endif
|
|
|
|
#include "collection/directory.h"
|
2018-05-01 00:41:33 +02:00
|
|
|
#include "playlist/playlistitem.h"
|
|
|
|
#include "playlist/playlistsequence.h"
|
2020-04-20 18:03:18 +02:00
|
|
|
#include "covermanager/albumcoverloaderresult.h"
|
2018-02-27 18:06:05 +01:00
|
|
|
#include "covermanager/albumcoverfetcher.h"
|
2018-05-01 00:41:33 +02:00
|
|
|
#include "equalizer/equalizer.h"
|
2018-02-27 18:06:05 +01:00
|
|
|
|
|
|
|
#ifdef HAVE_DBUS
|
2018-05-01 00:41:33 +02:00
|
|
|
# include "mpris2.h"
|
|
|
|
# include "dbus/metatypes.h"
|
2018-02-27 18:06:05 +01:00
|
|
|
#endif
|
|
|
|
|
2020-04-13 06:30:40 +02:00
|
|
|
#include "internet/internetsearchview.h"
|
2018-08-09 18:10:03 +02:00
|
|
|
|
2018-02-27 18:06:05 +01:00
|
|
|
void RegisterMetaTypes() {
|
2018-05-01 00:41:33 +02:00
|
|
|
|
2018-02-27 18:06:05 +01:00
|
|
|
qRegisterMetaType<const char*>("const char*");
|
2018-05-01 00:41:33 +02:00
|
|
|
qRegisterMetaType<QList<int>>("QList<int>");
|
|
|
|
qRegisterMetaType<QList<QUrl>>("QList<QUrl>");
|
2019-03-25 00:53:12 +01:00
|
|
|
qRegisterMetaType<QFileInfo>("QFileInfo");
|
2018-05-01 00:41:33 +02:00
|
|
|
qRegisterMetaType<QAbstractSocket::SocketState>();
|
|
|
|
qRegisterMetaType<QAbstractSocket::SocketState>("QAbstractSocket::SocketState");
|
|
|
|
qRegisterMetaType<QNetworkCookie>("QNetworkCookie");
|
|
|
|
qRegisterMetaType<QList<QNetworkCookie> >("QList<QNetworkCookie>");
|
|
|
|
qRegisterMetaType<QNetworkReply*>("QNetworkReply*");
|
|
|
|
qRegisterMetaType<QNetworkReply**>("QNetworkReply**");
|
2020-07-18 06:02:54 +02:00
|
|
|
qRegisterMetaType<QItemSelection>("QItemSelection");
|
2020-07-18 18:18:34 +02:00
|
|
|
qRegisterMetaTypeStreamOperators<QMap<int, Qt::Alignment>>("ColumnAlignmentMap");
|
2020-07-26 15:05:00 +02:00
|
|
|
qRegisterMetaTypeStreamOperators<QMap<int, int>>("ColumnAlignmentIntMap");
|
2018-02-27 18:06:05 +01:00
|
|
|
qRegisterMetaType<Directory>("Directory");
|
|
|
|
qRegisterMetaType<DirectoryList>("DirectoryList");
|
2018-05-01 00:41:33 +02:00
|
|
|
qRegisterMetaType<Subdirectory>("Subdirectory");
|
|
|
|
qRegisterMetaType<SubdirectoryList>("SubdirectoryList");
|
|
|
|
qRegisterMetaType<Song>("Song");
|
|
|
|
qRegisterMetaType<QList<Song> >("QList<Song>");
|
|
|
|
qRegisterMetaType<SongList>("SongList");
|
|
|
|
qRegisterMetaType<Engine::EngineType>("EngineType");
|
2018-02-27 18:06:05 +01:00
|
|
|
qRegisterMetaType<Engine::SimpleMetaBundle>("Engine::SimpleMetaBundle");
|
|
|
|
qRegisterMetaType<Engine::State>("Engine::State");
|
|
|
|
qRegisterMetaType<Engine::TrackChangeFlags>("Engine::TrackChangeFlags");
|
|
|
|
qRegisterMetaType<EngineBase::OutputDetails>("EngineBase::OutputDetails");
|
|
|
|
#ifdef HAVE_GSTREAMER
|
|
|
|
qRegisterMetaType<GstBuffer*>("GstBuffer*");
|
|
|
|
qRegisterMetaType<GstElement*>("GstElement*");
|
|
|
|
qRegisterMetaType<GstEnginePipeline*>("GstEnginePipeline*");
|
|
|
|
#endif
|
|
|
|
qRegisterMetaType<PlaylistItemList>("PlaylistItemList");
|
|
|
|
qRegisterMetaType<PlaylistItemPtr>("PlaylistItemPtr");
|
|
|
|
qRegisterMetaType<QList<PlaylistItemPtr> >("QList<PlaylistItemPtr>");
|
|
|
|
qRegisterMetaType<PlaylistSequence::RepeatMode>("PlaylistSequence::RepeatMode");
|
|
|
|
qRegisterMetaType<PlaylistSequence::ShuffleMode>("PlaylistSequence::ShuffleMode");
|
2020-04-20 18:03:18 +02:00
|
|
|
qRegisterMetaType<AlbumCoverLoaderResult>("AlbumCoverLoaderResult");
|
|
|
|
qRegisterMetaType<AlbumCoverLoaderResult::Type>("AlbumCoverLoaderResult::Type");
|
2018-05-01 00:41:33 +02:00
|
|
|
qRegisterMetaType<CoverSearchResult>("CoverSearchResult");
|
|
|
|
qRegisterMetaType<QList<CoverSearchResult> >("QList<CoverSearchResult>");
|
|
|
|
qRegisterMetaType<CoverSearchResults>("CoverSearchResults");
|
|
|
|
qRegisterMetaType<Equalizer::Params>("Equalizer::Params");
|
2018-02-27 18:06:05 +01:00
|
|
|
qRegisterMetaTypeStreamOperators<Equalizer::Params>("Equalizer::Params");
|
|
|
|
#ifdef HAVE_DBUS
|
2018-05-01 00:41:33 +02:00
|
|
|
qDBusRegisterMetaType<QList<QByteArray>>();
|
2018-02-27 18:06:05 +01:00
|
|
|
qDBusRegisterMetaType<TrackMetadata>();
|
2020-04-23 21:08:28 +02:00
|
|
|
qDBusRegisterMetaType<Track_Ids>();
|
2018-02-27 18:06:05 +01:00
|
|
|
qDBusRegisterMetaType<MprisPlaylist>();
|
|
|
|
qDBusRegisterMetaType<MprisPlaylistList>();
|
2018-05-01 00:41:33 +02:00
|
|
|
qDBusRegisterMetaType<MaybePlaylist>();
|
2018-02-27 18:06:05 +01:00
|
|
|
qDBusRegisterMetaType<InterfacesAndProperties>();
|
|
|
|
qDBusRegisterMetaType<ManagedObjectList>();
|
2018-07-03 20:32:28 +02:00
|
|
|
#ifdef HAVE_X11
|
|
|
|
qDBusRegisterMetaType<QImage>();
|
|
|
|
#endif
|
2018-02-27 18:06:05 +01:00
|
|
|
#endif
|
|
|
|
|
2020-04-13 06:30:40 +02:00
|
|
|
qRegisterMetaType<InternetSearchView::ResultList>("InternetSearchView::ResultList");
|
|
|
|
qRegisterMetaType<InternetSearchView::Result>("InternetSearchView::Result");
|
2018-10-14 00:08:33 +02:00
|
|
|
|
2018-02-27 18:06:05 +01:00
|
|
|
}
|