summaryrefslogtreecommitdiff
path: root/src/tangara/database/records.cpp
AgeCommit message (Collapse)Author
2025-01-24Resolve some issues with dangling index records (#193)cooljqln
- The tag parser's cache is now cleared between indexing runs, preventing stale data from being used - Multi-value tag fields (genres, all artists) are now properly ingested in the tag value cache - Cleaning up removed index records now properly handles the case where only a subset of the records for multi-value tags need to be deleted. - Synthesizing missing tag values is now done in the tag parser instead of TrackTags, which resolves some issues with multi-value tag callbacks from libtags not being handled properly These fixes seem to address all the issues with stale index records we were able to repro (including the issues in https://codeberg.org/cool-tech-zone/tangara-fw/issues/191), but if you've got any more cases with consistent repros then lmk! Co-authored-by: ailurux <ailuruxx@gmail.com> Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/193
2024-09-24Record play_count in TrackData, incrementing it when tracks finishjacqueline
2024-09-19Encode and decode MediaType in TrackDatajacqueline
2024-09-12WIP: Fixed errors, cleanupailurux
2024-09-12WIP: Add last_position field to track data and start on implementationailurux
2024-09-03Handle collation text that includes '\0'jacqueline
This seems to be tickled by the ogg comment handling changes (possibly libtags doesn't actually handle this case?)
2024-07-25Parse single-byte track ids properlyjacqueline
2024-07-19Fix track ids containing '\n' not decoding properlyjacqueline
This has been the cause of the elusive "selecting a track opens it like an index" bug :)
2024-05-02start moving include files into subdirsjacqueline
2024-05-02WIP merge cyclically dependent components into one big componentjacqueline