|
a/src/ohplaylist.cxx |
|
b/src/ohplaylist.cxx |
|
... |
|
... |
180 |
}
|
180 |
}
|
181 |
|
181 |
|
182 |
m_idArrayCached = out = translateIdArray(vdata);
|
182 |
m_idArrayCached = out = translateIdArray(vdata);
|
183 |
m_mpdqvers = mpds.qvers;
|
183 |
m_mpdqvers = mpds.qvers;
|
184 |
|
184 |
|
|
|
185 |
// Don't perform metadata cache maintenance if we're not active
|
|
|
186 |
// (the mpd playlist belongs to e.g. the radio service). We would
|
|
|
187 |
// be destroying data which we may need later.
|
|
|
188 |
if (!m_active) {
|
|
|
189 |
return true;
|
|
|
190 |
}
|
|
|
191 |
|
185 |
// Update metadata cache: entries not in the current list are
|
192 |
// Update metadata cache: entries not in the current list are not
|
186 |
// not valid any more. Also there may be entries which were added
|
193 |
// valid any more. Also there may be entries which were added
|
187 |
// through an MPD client and which don't know about, record the
|
194 |
// through an MPD client and which don't know about, record the
|
188 |
// metadata for these. We don't update the current array, but
|
195 |
// metadata for these. We don't update the current array, but just
|
189 |
// just build a new cache for data about current entries.
|
196 |
// build a new cache for data about current entries.
|
190 |
//
|
197 |
//
|
191 |
// The songids are not preserved through mpd restarts (they
|
198 |
// The songids are not preserved through mpd restarts (they
|
192 |
// restart at 0) this means that the ids are not a good cache key,
|
199 |
// restart at 0) this means that the ids are not a good cache key,
|
193 |
// we use the uris instead.
|
200 |
// we use the uris instead.
|
194 |
unordered_map<string, string> nmeta;
|
201 |
unordered_map<string, string> nmeta;
|