52 [[nodiscard]]
bool operator==(
const Bookmark& b2)
const;
56 explicit MetaData(
const QString& path);
64 [[nodiscard]] QString title()
const;
65 void setTitle(
const QString& title);
67 [[nodiscard]] QString artist()
const;
68 void setArtist(
const QString& artist);
69 [[nodiscard]] ArtistId artistId()
const;
70 void setArtistId(ArtistId
id);
72 [[nodiscard]] QString album()
const;
73 void setAlbum(
const QString& album);
74 [[nodiscard]] AlbumId albumId()
const;
75 void setAlbumId(AlbumId
id);
77 [[nodiscard]]
const QString& comment()
const;
78 void setComment(
const QString& comment);
80 [[nodiscard]] QString filepath()
const;
81 [[nodiscard]] HashValue filepathHash()
const;
82 QString setFilepath(
const QString& filepath,
RadioMode mode = RadioMode::Undefined);
84 [[nodiscard]] ArtistId albumArtistId()
const;
85 [[nodiscard]] QString albumArtist()
const;
87 void setAlbumArtist(
const QString& albumArtist, ArtistId
id = -1);
88 void setAlbumArtistId(ArtistId
id);
90 void setRadioStation(
const QString& url,
const QString& name = QString());
91 [[nodiscard]] QString radioStation()
const;
92 [[nodiscard]] QString radioStationName()
const;
94 [[nodiscard]]
RadioMode radioMode()
const;
97 [[nodiscard]]
bool isUpdatable()
const;
98 void setUpdateable(
bool b);
100 [[nodiscard]]
bool isValid()
const;
102 bool operator==(
const MetaData& other)
const;
103 bool operator!=(
const MetaData& other)
const;
104 [[nodiscard]]
bool isEqual(
const MetaData& other)
const;
105 [[nodiscard]]
bool isEqualDeep(
const MetaData& md)
const;
109 [[nodiscard]]
bool hasGenre(
const Genre& genre)
const;
110 bool removeGenre(
const Genre& genre);
111 bool addGenre(
const Genre& genre);
113 void setGenres(
const QStringList& newGenres);
115 void setCreatedDate(uint64_t t);
116 [[nodiscard]] uint64_t createdDate()
const;
117 [[nodiscard]] QDateTime createdDateTime()
const;
119 void setModifiedDate(uint64_t t);
120 [[nodiscard]] uint64_t modifiedDate()
const;
121 [[nodiscard]] QDateTime modifiedDateTime()
const;
123 [[nodiscard]] QString genresToString()
const;
124 [[nodiscard]] QStringList genresToList()
const;
126 [[nodiscard]] Disc discnumber()
const;
127 void setDiscnumber(
const Disc& value);
129 [[nodiscard]] Disc discCount()
const;
130 void setDiscCount(
const Disc& value);
132 [[nodiscard]] Bitrate bitrate()
const;
133 void setBitrate(
const Bitrate& value);
135 [[nodiscard]] TrackNum trackNumber()
const;
136 void setTrackNumber(
const uint16_t& value);
138 [[nodiscard]] Year year()
const;
139 void setYear(
const uint16_t& value);
141 [[nodiscard]] Filesize filesize()
const;
142 void setFilesize(
const Filesize& value);
144 [[nodiscard]] Rating rating()
const;
145 void setRating(
const Rating& value);
147 [[nodiscard]] MilliSeconds durationMs()
const;
148 void setDurationMs(
const MilliSeconds& value);
150 [[nodiscard]]
bool isExtern()
const;
151 void setExtern(
bool value);
153 [[nodiscard]]
bool isDisabled()
const;
154 void setDisabled(
bool value);
156 [[nodiscard]] LibraryId libraryId()
const;
157 void setLibraryid(
const LibraryId& value);
159 [[nodiscard]] TrackID id()
const;
160 void setId(
const TrackID& value);
162 [[nodiscard]]
static QString getTitleFromFilepath(
const QString& filepath);
164 void addBookmark(
const Bookmark& bookmark);
165 void removeBookmark(
const Bookmark& bookmark);