/* * Strawberry Music Player * This file was part of Clementine. * Copyright 2010, David Sansome * Copyright 2018-2021, Jonas Kvinge * * 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 . * */ #include "config.h" #include "metatypes.h" #ifdef HAVE_GSTREAMER # include # include #endif #include #include #include #include #include #include #include #include #include #include #include #include #ifdef HAVE_DBUS # include # include #endif #include "song.h" #include "engine/enginebase.h" #include "engine/enginemetadata.h" #ifdef HAVE_GSTREAMER # include "engine/gstenginepipeline.h" #endif #include "collection/collectiondirectory.h" #include "playlist/playlistitem.h" #include "playlist/playlistsequence.h" #include "covermanager/albumcoverloaderresult.h" #include "covermanager/albumcoverfetcher.h" #include "covermanager/coversearchstatistics.h" #include "equalizer/equalizer.h" #ifdef HAVE_DBUS # include "mpris2.h" # include "osd/osddbus.h" # include "dbus/metatypes.h" #endif #include "internet/internetsearchview.h" #include "smartplaylists/playlistgenerator_fwd.h" #include "radios/radiochannel.h" #include "widgets/collapsibleinfopane.h" #ifdef HAVE_LIBMTP # include "device/mtpconnection.h" #endif #include "settings/playlistsettingspage.h" #include "smartplaylists/smartplaylistsearchterm.h" #include "smartplaylists/smartplaylistsitem.h" void RegisterMetaTypes() { qRegisterMetaType("const char*"); qRegisterMetaType>("QList"); qRegisterMetaType>("QVector"); qRegisterMetaType>("QList"); qRegisterMetaType("QFileInfo"); qRegisterMetaType("QAbstractSocket::SocketState"); qRegisterMetaType("QNetworkReply*"); qRegisterMetaType("QNetworkReply**"); qRegisterMetaType("QItemSelection"); qRegisterMetaType>("ColumnAlignmentMap"); qRegisterMetaType>("ColumnAlignmentIntMap"); #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) qRegisterMetaTypeStreamOperators>("ColumnAlignmentMap"); qRegisterMetaTypeStreamOperators>("ColumnAlignmentIntMap"); #endif qRegisterMetaType("Song"); qRegisterMetaType("SongList"); qRegisterMetaType("SongMap"); qRegisterMetaType("Song::Source"); qRegisterMetaType("Song::FileType"); qRegisterMetaType("EngineBase::Type"); qRegisterMetaType("EngineBase::State"); qRegisterMetaType("EngineBase::TrackChangeFlags"); qRegisterMetaType("EngineBase::OutputDetails"); qRegisterMetaType("EngineMetadata"); #ifdef HAVE_GSTREAMER qRegisterMetaType("GstBuffer*"); qRegisterMetaType("GstElement*"); qRegisterMetaType("GstState"); qRegisterMetaType("GstEnginePipeline*"); #endif qRegisterMetaType("CollectionDirectory"); qRegisterMetaType("CollectionDirectoryList"); qRegisterMetaType("CollectionSubdirectory"); qRegisterMetaType("CollectionSubdirectoryList"); qRegisterMetaType("CollectionModel::Grouping"); qRegisterMetaType("PlaylistItemPtr"); qRegisterMetaType("PlaylistItemPtrList"); qRegisterMetaType("PlaylistSequence::RepeatMode"); qRegisterMetaType("PlaylistSequence::ShuffleMode"); qRegisterMetaType("AlbumCoverLoaderResult"); qRegisterMetaType("AlbumCoverLoaderResult::Type"); qRegisterMetaType("CoverProviderSearchResult"); qRegisterMetaType("CoverProviderSearchResults"); qRegisterMetaType("CoverSearchStatistics"); qRegisterMetaType("Equalizer::Params"); #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) qRegisterMetaTypeStreamOperators("Equalizer::Params"); #endif #ifdef HAVE_DBUS qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); qDBusRegisterMetaType(); #endif qRegisterMetaType("InternetSearchView::Result"); qRegisterMetaType("InternetSearchView::ResultList"); qRegisterMetaType("RadioChannel"); qRegisterMetaType("RadioChannelList"); qRegisterMetaType("CollapsibleInfoPane::Data"); #ifdef HAVE_LIBMTP qRegisterMetaType("MtpConnection*"); #endif qRegisterMetaType("PlaylistSettingsPage::PathType"); qRegisterMetaType("PlaylistGeneratorPtr"); qRegisterMetaType("SmartPlaylistSearchTerm::Field"); qRegisterMetaType("SmartPlaylistSearchTerm::Operator"); qRegisterMetaType("SmartPlaylistSearchTerm::OperatorList"); qRegisterMetaType("SmartPlaylistSearchTerm::Type"); qRegisterMetaType("SmartPlaylistSearchTerm::DateType"); qRegisterMetaType("SmartPlaylistsItem::Type"); }