Merge pull request #4368 from jmarshallnz/music_fixes
[vuplus_xbmc] / xbmc / music / tags / MusicInfoTag.h
index 606af58..48fdb8e 100644 (file)
@@ -1,8 +1,7 @@
 #pragma once
-
 /*
  *      Copyright (C) 2005-2013 Team XBMC
- *      http://www.xbmc.org
+ *      http://xbmc.org
  *
  *  This Program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -38,9 +37,16 @@ class CArtist;
 #define REPLAY_GAIN_HAS_TRACK_PEAK 4
 #define REPLAY_GAIN_HAS_ALBUM_PEAK 8
 
+enum ReplayGain
+{
+  REPLAY_GAIN_NONE  = 0,
+  REPLAY_GAIN_ALBUM,
+  REPLAY_GAIN_TRACK
+};
+
 namespace MUSIC_INFO
 {
-  class EmbeddedArtInfo
+  class EmbeddedArtInfo : public IArchivable
   {
   public:
     EmbeddedArtInfo() {};
@@ -49,6 +55,7 @@ namespace MUSIC_INFO
     void clear();
     bool empty() const;
     bool matches(const EmbeddedArtInfo &right) const;
+    virtual void Archive(CArchive& ar);
     size_t      size;
     std::string mime;
   };
@@ -89,9 +96,9 @@ public:
   void GetReleaseDate(SYSTEMTIME& dateTime) const;
   CStdString GetYearString() const;
   const CStdString& GetMusicBrainzTrackID() const;
-  const CStdString& GetMusicBrainzArtistID() const;
+  const std::vector<std::string>& GetMusicBrainzArtistID() const;
   const CStdString& GetMusicBrainzAlbumID() const;
-  const CStdString& GetMusicBrainzAlbumArtistID() const;
+  const std::vector<std::string>& GetMusicBrainzAlbumArtistID() const;
   const CStdString& GetMusicBrainzTRMID() const;
   const CStdString& GetComment() const;
   const CStdString& GetLyrics() const;
@@ -129,9 +136,9 @@ public:
   void SetAlbum(const CAlbum& album);
   void SetSong(const CSong& song);
   void SetMusicBrainzTrackID(const CStdString& strTrackID);
-  void SetMusicBrainzArtistID(const CStdString& strArtistID);
+  void SetMusicBrainzArtistID(const std::vector<std::string>& musicBrainzArtistId);
   void SetMusicBrainzAlbumID(const CStdString& strAlbumID);
-  void SetMusicBrainzAlbumArtistID(const CStdString& strAlbumArtistID);
+  void SetMusicBrainzAlbumArtistID(const std::vector<std::string>& musicBrainzAlbumArtistId);
   void SetMusicBrainzTRMID(const CStdString& strTRMID);
   void SetComment(const CStdString& comment);
   void SetLyrics(const CStdString& lyrics);
@@ -167,7 +174,7 @@ public:
 
   virtual void Archive(CArchive& ar);
   virtual void Serialize(CVariant& ar) const;
-  virtual void ToSortable(SortItem& sortable);
+  virtual void ToSortable(SortItem& sortable, Field field) const;
 
   void Clear();
 protected:
@@ -184,9 +191,9 @@ protected:
   std::vector<std::string> m_albumArtist;
   std::vector<std::string> m_genre;
   CStdString m_strMusicBrainzTrackID;
-  CStdString m_strMusicBrainzArtistID;
+  std::vector<std::string> m_musicBrainzArtistID;
   CStdString m_strMusicBrainzAlbumID;
-  CStdString m_strMusicBrainzAlbumArtistID;
+  std::vector<std::string> m_musicBrainzAlbumArtistID;
   CStdString m_strMusicBrainzTRMID;
   CStdString m_strComment;
   CStdString m_strLyrics;