qtmobility/plugins/multimedia/wmp/qwmpmetadata.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
child 15 1f895d8a5b2b
--- a/qtmobility/plugins/multimedia/wmp/qwmpmetadata.cpp	Fri Jun 11 14:26:25 2010 +0300
+++ b/qtmobility/plugins/multimedia/wmp/qwmpmetadata.cpp	Wed Jun 23 19:08:38 2010 +0300
@@ -57,79 +57,79 @@
 
 struct QWmpMetaDataKeyLookup
 {
-    QtMediaServices::MetaData key;
+    QtMultimedia::MetaData key;
     const wchar_t *token;
 };
 
 static const QWmpMetaDataKeyLookup qt_wmpMetaDataKeys[] =
 {
-    { QtMediaServices::Title, L"Title" },
-    { QtMediaServices::SubTitle, L"WM/SubTitle" },
-    { QtMediaServices::Author, L"Author" },
-    { QtMediaServices::Comment, L"Comment" },
-    { QtMediaServices::Description, L"Description" },
-    { QtMediaServices::Category, L"WM/Category" },
-    { QtMediaServices::Genre, L"WM/Genre" },
-    //{ QtMediaServices::Date, 0 },
-    { QtMediaServices::Year, L"WM/Year" },
-    { QtMediaServices::UserRating, L"UserRating" },
-    //{ QtMediaServices::MetaDatawords, 0 },
-    { QtMediaServices::Language, L"Language" },
-    { QtMediaServices::Publisher, L"WM/Publisher" },
-    { QtMediaServices::Copyright, L"Copyright" },
-    { QtMediaServices::ParentalRating, L"ParentalRating" },
-    { QtMediaServices::RatingOrganisation, L"RatingOrganisation" },
+    { QtMultimedia::Title, L"Title" },
+    { QtMultimedia::SubTitle, L"WM/SubTitle" },
+    { QtMultimedia::Author, L"Author" },
+    { QtMultimedia::Comment, L"Comment" },
+    { QtMultimedia::Description, L"Description" },
+    { QtMultimedia::Category, L"WM/Category" },
+    { QtMultimedia::Genre, L"WM/Genre" },
+    //{ QtMultimedia::Date, 0 },
+    { QtMultimedia::Year, L"WM/Year" },
+    { QtMultimedia::UserRating, L"UserRating" },
+    //{ QtMultimedia::MetaDatawords, 0 },
+    { QtMultimedia::Language, L"Language" },
+    { QtMultimedia::Publisher, L"WM/Publisher" },
+    { QtMultimedia::Copyright, L"Copyright" },
+    { QtMultimedia::ParentalRating, L"ParentalRating" },
+    { QtMultimedia::RatingOrganisation, L"RatingOrganisation" },
 
     // Media
-    { QtMediaServices::Size, L"FileSize" },
-    { QtMediaServices::MediaType, L"MediaType" },
-    { QtMediaServices::Duration, L"Duration" },
+    { QtMultimedia::Size, L"FileSize" },
+    { QtMultimedia::MediaType, L"MediaType" },
+    { QtMultimedia::Duration, L"Duration" },
 
     // Audio
-    { QtMediaServices::AudioBitRate, L"AudioBitrate" },
-    { QtMediaServices::AudioCodec, L"AudioCodec" },
-    { QtMediaServices::ChannelCount, L"Channels" },
-    { QtMediaServices::SampleRate, L"Frequency" },
+    { QtMultimedia::AudioBitRate, L"AudioBitrate" },
+    { QtMultimedia::AudioCodec, L"AudioCodec" },
+    { QtMultimedia::ChannelCount, L"Channels" },
+    { QtMultimedia::SampleRate, L"Frequency" },
 
     // Music
-    { QtMediaServices::AlbumTitle, L"WM/AlbumTitle" },
-    { QtMediaServices::AlbumArtist, L"WM/AlbumArtist" },
-    { QtMediaServices::ContributingArtist, L"Author" },
-    { QtMediaServices::Composer, L"WM/Composer" },
-    { QtMediaServices::Conductor, L"WM/Conductor" },
-    { QtMediaServices::Lyrics, L"WM/Lyrics" },
-    { QtMediaServices::Mood, L"WM/Mood" },
-    { QtMediaServices::TrackNumber, L"WM/TrackNumber" },
-    //{ QtMediaServices::TrackCount, 0 },
-    //{ QtMediaServices::CoverArtUrlSmall, 0 },
-    //{ QtMediaServices::CoverArtUrlLarge, 0 },
+    { QtMultimedia::AlbumTitle, L"WM/AlbumTitle" },
+    { QtMultimedia::AlbumArtist, L"WM/AlbumArtist" },
+    { QtMultimedia::ContributingArtist, L"Author" },
+    { QtMultimedia::Composer, L"WM/Composer" },
+    { QtMultimedia::Conductor, L"WM/Conductor" },
+    { QtMultimedia::Lyrics, L"WM/Lyrics" },
+    { QtMultimedia::Mood, L"WM/Mood" },
+    { QtMultimedia::TrackNumber, L"WM/TrackNumber" },
+    //{ QtMultimedia::TrackCount, 0 },
+    //{ QtMultimedia::CoverArtUrlSmall, 0 },
+    //{ QtMultimedia::CoverArtUrlLarge, 0 },
 
     // Image/Video
-    //{ QtMediaServices::Resolution, 0 },
-    //{ QtMediaServices::PixelAspectRatio, 0 },
+    //{ QtMultimedia::Resolution, 0 },
+    //{ QtMultimedia::PixelAspectRatio, 0 },
 
     // Video
-    //{ QtMediaServices::FrameRate, 0 },
-    { QtMediaServices::VideoBitRate, L"VideoBitRate" },
-    { QtMediaServices::VideoCodec, L"VideoCodec" },
+    //{ QtMultimedia::FrameRate, 0 },
+    { QtMultimedia::VideoBitRate, L"VideoBitRate" },
+    { QtMultimedia::VideoCodec, L"VideoCodec" },
 
-    //{ QtMediaServices::PosterUrl, 0 },
+    //{ QtMultimedia::PosterUrl, 0 },
 
     // Movie
-    { QtMediaServices::ChapterNumber, L"ChapterNumber" },
-    { QtMediaServices::Director, L"WM/Director" },
-    { QtMediaServices::LeadPerformer, L"LeadPerformer" },
-    { QtMediaServices::Writer, L"WM/Writer" },
+    { QtMultimedia::ChapterNumber, L"ChapterNumber" },
+    { QtMultimedia::Director, L"WM/Director" },
+    { QtMultimedia::LeadPerformer, L"LeadPerformer" },
+    { QtMultimedia::Writer, L"WM/Writer" },
 
     // Photos
-    { QtMediaServices::CameraManufacturer, L"CameraManufacturer" },
-    { QtMediaServices::CameraModel, L"CameraModel" },
-    { QtMediaServices::Event, L"Event" },
-    { QtMediaServices::Subject, L"Subject" }
+    { QtMultimedia::CameraManufacturer, L"CameraManufacturer" },
+    { QtMultimedia::CameraModel, L"CameraModel" },
+    { QtMultimedia::Event, L"Event" },
+    { QtMultimedia::Subject, L"Subject" }
 };
 
 QWmpMetaData::QWmpMetaData(IWMPCore3 *player, QWmpEvents *events, QObject *parent)
-    : QMetaDataControl(parent)
+    : QMetaDataReaderControl(parent)
     , m_media(0)
 {
     player->get_currentMedia(&m_media);
@@ -155,12 +155,12 @@
     return m_media != 0;
 }
 
-QVariant QWmpMetaData::metaData(QtMediaServices::MetaData key) const
+QVariant QWmpMetaData::metaData(QtMultimedia::MetaData key) const
 {
     static const int  count = sizeof(qt_wmpMetaDataKeys) / sizeof(QWmpMetaDataKeyLookup);
 
     switch (key) {
-    case QtMediaServices::Date:
+    case QtMultimedia::Date:
         {
             QVariant day = value(m_media, QAutoBStr(L"ReleaseDateDay"));
             QVariant month = value(m_media, QAutoBStr(L"ReleaseDateMonth"));
@@ -170,11 +170,11 @@
                 return QDate(year.toInt(), month.toInt(), day.toInt());
         }
         break;
-    case QtMediaServices::CoverArtUrlSmall:
+    case QtMultimedia::CoverArtUrlSmall:
         return albumArtUrl(m_media, "_Small.jpg");
-    case QtMediaServices::CoverArtUrlLarge:
+    case QtMultimedia::CoverArtUrlLarge:
         return albumArtUrl(m_media, "_Large.jpg");
-    case QtMediaServices::Resolution:
+    case QtMultimedia::Resolution:
         {
             QVariant width = value(m_media, QAutoBStr(L"WM/VideoWidth"));
             QVariant height = value(m_media, QAutoBStr(L"WM/VideoHeight"));
@@ -183,7 +183,7 @@
                 return QSize(width.toInt(), height.toInt());
         }
         break;
-    case QtMediaServices::PixelAspectRatio:
+    case QtMultimedia::PixelAspectRatio:
         {
             QVariant x = value(m_media, QAutoBStr(L"PixelAspectRatioX"));
             QVariant y = value(m_media, QAutoBStr(L"PixelAspectRatioY"));
@@ -192,7 +192,7 @@
                 return QSize(x.toInt(), y.toInt());
         }
         break;
-    case QtMediaServices::VideoFrameRate:
+    case QtMultimedia::VideoFrameRate:
         break;
     default:
         for (int i = 0; i < count; ++i) {
@@ -204,21 +204,9 @@
     return QVariant();
 }
 
-void QWmpMetaData::setMetaData(QtMediaServices::MetaData key, const QVariant &value)
+QList<QtMultimedia::MetaData> QWmpMetaData::availableMetaData() const
 {
-    static const int  count = sizeof(qt_wmpMetaDataKeys) / sizeof(QWmpMetaDataKeyLookup);
-
-    for (int i = 0; i < count; ++i) {
-        if (qt_wmpMetaDataKeys[i].key == key) {
-            setValue(m_media, QAutoBStr(qt_wmpMetaDataKeys[i].token), value);
-            return;
-        }
-    }
-}
-
-QList<QtMediaServices::MetaData> QWmpMetaData::availableMetaData() const
-{
-    QList<QtMediaServices::MetaData> keys;
+    QList<QtMultimedia::MetaData> keys;
 
     if (m_media) {
         // WMP will return a list of all possible keys so there's no point in filtering the keys
@@ -242,9 +230,9 @@
                 QDir dir = QFileInfo(url).absoluteDir();
 
                 if (dir.exists(albumArtLarge))
-                    keys.append(QtMediaServices::CoverArtUrlLarge);
+                    keys.append(QtMultimedia::CoverArtUrlLarge);
                 if (dir.exists(albumArtSmall))
-                    keys.append(QtMediaServices::CoverArtUrlSmall);
+                    keys.append(QtMultimedia::CoverArtUrlSmall);
             }
         }
     }
@@ -256,12 +244,6 @@
     return value(m_media, QAutoBStr(key));
 }
 
-void QWmpMetaData::setExtendedMetaData(const QString &key, const QVariant &value)
-{
-    setValue(m_media, QAutoBStr(key), value);
-}
-
-
 QStringList QWmpMetaData::availableExtendedMetaData() const
 {
     return keys(m_media);
@@ -359,12 +341,6 @@
     }
 }
 
-void QWmpMetaData::setValue(IWMPMedia *media, BSTR key, const QVariant &value)
-{
-    if (qVariantCanConvert<QString>(value))
-        media->setItemInfo(key, QAutoBStr(value.toString()));
-}
-
 QMediaContent QWmpMetaData::resources(IWMPMedia *media)
 {
     QMediaContent content;