Skip to content
This repository
Browse code

ensure we serialize all members of CMusicInfoTag. fixes issues with a…

…rt vanishing on large lists from the music library after it's loaded off the filesystem.
  • Loading branch information...
commit 2908a127413f1ba4486b6a440e043718345f086e 1 parent c5e8881
authored November 17, 2012

Showing 1 changed file with 11 additions and 1 deletion. Show diff stats Hide diff stats

  1. 12  xbmc/music/tags/MusicInfoTag.cpp
12  xbmc/music/tags/MusicInfoTag.cpp
@@ -628,6 +628,11 @@ void CMusicInfoTag::Archive(CArchive& ar)
628 628
     ar << m_rating;
629 629
     ar << m_iTimesPlayed;
630 630
     ar << m_iAlbumId;
  631
+    ar << m_iDbId;
  632
+    ar << m_type;
  633
+    ar << m_strLyrics;
  634
+    ar << m_bCompilation;
  635
+    ar << m_listeners;
631 636
   }
632 637
   else
633 638
   {
@@ -651,7 +656,12 @@ void CMusicInfoTag::Archive(CArchive& ar)
651 656
     ar >> m_rating;
652 657
     ar >> m_iTimesPlayed;
653 658
     ar >> m_iAlbumId;
654  
- }
  659
+    ar >> m_iDbId;
  660
+    ar >> m_type;
  661
+    ar >> m_strLyrics;
  662
+    ar >> m_bCompilation;
  663
+    ar >> m_listeners;
  664
+  }
655 665
 }
656 666
 
657 667
 void CMusicInfoTag::Clear()

0 notes on commit 2908a12

jmarshallnz

@Montellese you might want to take a look to see if you want any of these in JSON-RPC. id and type seem reasonable. Lyrics is only there at playback time, compilation should be there always, but not sure. Listeners only applies to some add-on stuff (lastfm).

Sascha Montellese

JSON-RPC has its own handling of IDs and types but they rely on m_iDbId and m_type, just not through the Serialize() method (because depending on the JSON-RPC method we either return "id" and "type" or we just return "albumid" or "songid" etc). Compilation would probably be the only real interesting member but I'll just add it post-Frodo because there are also requests for a "compilationonly" parameter in AudioLibrary.GetAlbums so better do it all together. Adding lyricas and listeners might just confuse devs because they are rarely available and only in certain circumstances.

Please sign in to comment.
Something went wrong with that request. Please try again.