<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tangara-fw/src/tangara/database/index.cpp, branch main</title>
<subtitle>Tangara firmware</subtitle>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/'/>
<entry>
<title>Resolve some issues with dangling index records (#193)</title>
<updated>2025-01-24T00:40:48+00:00</updated>
<author>
<name>cooljqln</name>
<email>cooljqln@noreply.codeberg.org</email>
</author>
<published>2025-01-24T00:40:48+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=580712acd11d5afdacd51c2e8d29313efc93d520'/>
<id>580712acd11d5afdacd51c2e8d29313efc93d520</id>
<content type='text'>
- 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 &lt;ailuruxx@gmail.com&gt;
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/193
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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 &lt;ailuruxx@gmail.com&gt;
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/193
</pre>
</div>
</content>
</entry>
<entry>
<title>Reorder indexes</title>
<updated>2024-12-31T01:34:04+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-12-31T01:34:04+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=824fca8cd0913a4f1603cdedd046c420840a3e65'/>
<id>824fca8cd0913a4f1603cdedd046c420840a3e65</id>
<content type='text'>
It turns out the index *id* controls this, which is probably not good!
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It turns out the index *id* controls this, which is probably not good!
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle synthesizing missing tag values in TrackTags instead of the indexer</title>
<updated>2024-12-31T00:30:23+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-12-31T00:30:23+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=b6b62cb8ea8121a3ae604b508c508a2a4994050a'/>
<id>b6b62cb8ea8121a3ae604b508c508a2a4994050a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a new track tag + index for multiple artists</title>
<updated>2024-12-30T03:59:54+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-12-23T05:08:47+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=e9e608cfa09792a64fbda0946c92ec396622a088'/>
<id>e9e608cfa09792a64fbda0946c92ec396622a088</id>
<content type='text'>
We still mostly use the singular 'Artist' tag for e.g. displaying a nice
name in the now playing screen, but where a track has an 'ARTISTS=' tag,
we'll split by semicolon and then use the resulting list to populate an
index of tracks by artist
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We still mostly use the singular 'Artist' tag for e.g. displaying a nice
name in the now playing screen, but where a track has an 'ARTISTS=' tag,
we'll split by semicolon and then use the resulting list to populate an
index of tracks by artist
</pre>
</div>
</content>
</entry>
<entry>
<title>Added listened indicator for audiobooks and podcasts</title>
<updated>2024-09-27T06:59:59+00:00</updated>
<author>
<name>ailurux</name>
<email>ailuruxx@gmail.com</email>
</author>
<published>2024-09-27T06:59:59+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=3490cceb6b94ffbc947b699c8495cf8500e65b98'/>
<id>3490cceb6b94ffbc947b699c8495cf8500e65b98</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Adds audiobook index to available indexes</title>
<updated>2024-09-24T03:41:36+00:00</updated>
<author>
<name>ailurux</name>
<email>ailuruxx@gmail.com</email>
</author>
<published>2024-09-24T03:41:36+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=5e43b422182b300074a2d2e02736557d34434996'/>
<id>5e43b422182b300074a2d2e02736557d34434996</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make the 'Podcasts' index just a list by title</title>
<updated>2024-09-20T04:08:47+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-09-20T04:08:47+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=b95cd3452020ecfd961568dcda9b370350ef73a5'/>
<id>b95cd3452020ecfd961568dcda9b370350ef73a5</id>
<content type='text'>
Podcasts aren't tagged consistently enough for other groupings to make
sense, at least until we implement RSS parsing
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Podcasts aren't tagged consistently enough for other groupings to make
sense, at least until we implement RSS parsing
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce a MediaType for each track and index</title>
<updated>2024-09-19T06:32:11+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-09-18T03:07:42+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=57af3e64c8d6b13ac03192d9a8429dc801558a6b'/>
<id>57af3e64c8d6b13ac03192d9a8429dc801558a6b</id>
<content type='text'>
Initially set based on filepath, or by genre if the filepath doesn't
match one of our presets
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Initially set based on filepath, or by genre if the filepath doesn't
match one of our presets
</pre>
</div>
</content>
</entry>
<entry>
<title>Batch up the db operations associated with adding new tracks</title>
<updated>2024-08-12T03:20:08+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-08-08T04:35:53+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=30aaefca64445efa421edb93403036d59382920f'/>
<id>30aaefca64445efa421edb93403036d59382920f</id>
<content type='text'>
This is ostensibly yet another 'prepare for multithreaded updates'
commit, however it does actually save us another 60(!!) odd milliseconds
per track.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is ostensibly yet another 'prepare for multithreaded updates'
commit, however it does actually save us another 60(!!) odd milliseconds
per track.
</pre>
</div>
</content>
</entry>
<entry>
<title>start moving include files into subdirs</title>
<updated>2024-05-02T11:41:56+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-05-02T11:41:56+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=7d7f7755d17e1e0a2348d75d797097f166b70471'/>
<id>7d7f7755d17e1e0a2348d75d797097f166b70471</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
