strawberry-audio-player-win.../src/core/metatypes.cpp

122 lines
4.3 KiB
C++
Raw Normal View History

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"
#include "metatypes.h"
#ifdef HAVE_GSTREAMER
# include <gst/gstbuffer.h>
# include <gst/gstelement.h>
#endif
2018-07-03 20:32:28 +02:00
#include <QtGlobal>
#include <QAbstractSocket>
2018-02-27 18:06:05 +01:00
#include <QMetaType>
#include <QList>
#include <QMap>
#include <QByteArray>
#include <QUrl>
#include <QImage>
2018-02-27 18:06:05 +01:00
#include <QNetworkCookie>
#include <QNetworkReply>
#ifdef HAVE_DBUS
# include <QDBusMetaType>
#endif
2018-02-27 18:06:05 +01:00
#include "song.h"
2018-02-27 18:06:05 +01: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"
#include "playlist/playlistitem.h"
#include "playlist/playlistsequence.h"
2018-02-27 18:06:05 +01:00
#include "covermanager/albumcoverfetcher.h"
#include "equalizer/equalizer.h"
2018-02-27 18:06:05 +01:00
#ifdef HAVE_DBUS
# include "mpris2.h"
# include "dbus/metatypes.h"
2018-02-27 18:06:05 +01:00
#endif
2018-08-09 18:10:03 +02:00
#include "tidal/tidalsearch.h"
2018-02-27 18:06:05 +01:00
void RegisterMetaTypes() {
2018-02-27 18:06:05 +01:00
qRegisterMetaType<const char*>("const char*");
qRegisterMetaType<QList<int>>("QList<int>");
qRegisterMetaType<QList<QUrl>>("QList<QUrl>");
qRegisterMetaType<QAbstractSocket::SocketState>();
qRegisterMetaType<QAbstractSocket::SocketState>("QAbstractSocket::SocketState");
qRegisterMetaType<QNetworkCookie>("QNetworkCookie");
qRegisterMetaType<QList<QNetworkCookie> >("QList<QNetworkCookie>");
qRegisterMetaType<QNetworkReply*>("QNetworkReply*");
qRegisterMetaType<QNetworkReply**>("QNetworkReply**");
qRegisterMetaTypeStreamOperators<QMap<int, int> >("ColumnAlignmentMap");
2018-02-27 18:06:05 +01:00
qRegisterMetaType<Directory>("Directory");
qRegisterMetaType<DirectoryList>("DirectoryList");
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");
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
qDBusRegisterMetaType<QList<QByteArray>>();
2018-02-27 18:06:05 +01:00
qDBusRegisterMetaType<TrackMetadata>();
qDBusRegisterMetaType<TrackIds>();
qDBusRegisterMetaType<MprisPlaylist>();
qDBusRegisterMetaType<MprisPlaylistList>();
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
2018-08-09 18:10:03 +02:00
qRegisterMetaType<TidalSearch::ResultList>("TidalSearch::ResultList");
qRegisterMetaType<TidalSearch::Result>("TidalSearch::Result");
2018-02-27 18:06:05 +01:00
}