31 #include "Utils/MetaData/LibraryItem.h"
32 #include "Utils/MetaData/RadioMode.h"
33 #include "Utils/MetaData/Genre.h"
34 #include "Utils/Library/Sortorder.h"
35 #include "Utils/Pimpl.h"
50 MilliSeconds duration_ms;
74 explicit MetaData (
const QString& path);
82 QString title()
const;
83 void set_title(
const QString& title);
85 QString artist()
const;
86 void set_artist(
const QString& artist);
88 QString album()
const;
89 void set_album(
const QString& album);
91 const QString& comment()
const;
92 void set_comment(
const QString& comment);
94 QString filepath()
const;
95 QString set_filepath(QString filepath);
97 ArtistId album_artist_id()
const;
98 QString album_artist()
const;
99 bool has_album_artist()
const;
101 void set_album_artist(
const QString& album_artist, ArtistId
id=-1);
102 void set_album_artist_id(ArtistId
id);
104 void set_radio_station(
const QString& name);
105 QString radio_station()
const;
108 bool is_valid()
const;
110 bool operator==(
const MetaData& md)
const;
111 bool operator!=(
const MetaData& md)
const;
112 bool is_equal(
const MetaData& md)
const;
113 bool is_equal_deep(
const MetaData& md)
const;
117 bool has_genre(
const Genre& genre)
const;
118 bool remove_genre(
const Genre& genre);
119 bool add_genre(
const Genre& genre);
121 void set_genres(
const QStringList& genres);
123 QString genres_to_string()
const;
124 QStringList genres_to_list()
const;
126 QString to_string()
const;
128 static QVariant toVariant(
const MetaData& md);
129 static bool fromVariant(
const QVariant& v,
MetaData& md);
132 QHash<GenreID, Genre>& genre_pool()
const;
135 #ifndef MetaDataDeclared
137 #define MetaDataDeclared