<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tangara-fw/src/tangara/ui/ui_fsm.hpp, branch main</title>
<subtitle>Tangara firmware</subtitle>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/'/>
<entry>
<title>add single touch shourtcuts for touch wheel</title>
<updated>2025-04-22T20:23:47+00:00</updated>
<author>
<name>Tab_theFox</name>
<email>tab_thefox@noreply.codeberg.org</email>
</author>
<published>2025-03-23T16:45:19+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=dc5676229d19f317b97df6a3d3582bbb02df33df'/>
<id>dc5676229d19f317b97df6a3d3582bbb02df33df</id>
<content type='text'>
This allows you to use the touch wheel for quick playback control:
- bottom quadrant for play/pause
- left and right quadrant for track skip back / forward
- top quadrant to seek back 25 seconds (handy when listening
  to a podcast)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows you to use the touch wheel for quick playback control:
- bottom quadrant for play/pause
- left and right quadrant for track skip back / forward
- top quadrant to seek back 25 seconds (handy when listening
  to a podcast)
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow manually unmounting the SD card</title>
<updated>2025-03-05T07:57:46+00:00</updated>
<author>
<name>ayumi</name>
<email>ayumi@noreply.codeberg.org</email>
</author>
<published>2025-02-15T01:25:27+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=9fdf94e9cee5a5180ffefc2b8314f7a9879ebbc6'/>
<id>9fdf94e9cee5a5180ffefc2b8314f7a9879ebbc6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>TTS: Implement and wire up a TTS toggle in Display Settings (#251)</title>
<updated>2025-02-11T00:23:35+00:00</updated>
<author>
<name>Tursiae</name>
<email>git@tursiae.org</email>
</author>
<published>2025-02-11T00:23:35+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=569ed6c0cc440572b37a06200b6706badcdf8e45'/>
<id>569ed6c0cc440572b37a06200b6706badcdf8e45</id>
<content type='text'>
This change introduces the ability to enable or disable the spoken interface/TTS from the on-device settings, either via the UI or the Lua console. This closes out the implementation of issue #245.

The TTS setting is only visible in Display settings if voice samples are present in `/.tangara-tts/` on the SD card.

Playback of new TTS voice samples is inhibited when TTS is disabled. By default, the setting is enabled, as the device will only play back TTS voices if samples are present on disk.

If you need samples to test TTS on your device, feel free to grab the voice samples I have at https://codeberg.org/tursiae/tangara-tts-samples. There's about 80-85% coverage of the UI, with the remainder to be added soonish.

Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/251
Co-authored-by: Tursiae &lt;git@tursiae.org&gt;
Co-committed-by: Tursiae &lt;git@tursiae.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change introduces the ability to enable or disable the spoken interface/TTS from the on-device settings, either via the UI or the Lua console. This closes out the implementation of issue #245.

The TTS setting is only visible in Display settings if voice samples are present in `/.tangara-tts/` on the SD card.

Playback of new TTS voice samples is inhibited when TTS is disabled. By default, the setting is enabled, as the device will only play back TTS voices if samples are present on disk.

If you need samples to test TTS on your device, feel free to grab the voice samples I have at https://codeberg.org/tursiae/tangara-tts-samples. There's about 80-85% coverage of the UI, with the remainder to be added soonish.

Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/251
Co-authored-by: Tursiae &lt;git@tursiae.org&gt;
Co-committed-by: Tursiae &lt;git@tursiae.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Improvements to the queue for shuffling/playing all (#170)</title>
<updated>2025-01-07T00:00:00+00:00</updated>
<author>
<name>ailurux</name>
<email>ailuruxx@gmail.com</email>
</author>
<published>2025-01-07T00:00:00+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=829d033a448107f1bc610cf735ce9f7222de564b'/>
<id>829d033a448107f1bc610cf735ce9f7222de564b</id>
<content type='text'>
Queue now has a separate 'ready' property to indicate it's ready to be used, which is independent from whether it's still loading tracks in. This also improves the response time for shuffling all tracks (we will initially pick a random track in the first 100 tracks whilst the rest of the tracks are loading). This should also fix issues where one song will start playing and then repeat itself when the queue finishes loading, and hopefully solve #160 as well (though I couldn't actually repro this myself).

Co-authored-by: jacqueline &lt;me@jacqueline.id.au&gt;
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/170
Reviewed-by: cooljqln &lt;cooljqln@noreply.codeberg.org&gt;
Co-authored-by: ailurux &lt;ailuruxx@gmail.com&gt;
Co-committed-by: ailurux &lt;ailuruxx@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Queue now has a separate 'ready' property to indicate it's ready to be used, which is independent from whether it's still loading tracks in. This also improves the response time for shuffling all tracks (we will initially pick a random track in the first 100 tracks whilst the rest of the tracks are loading). This should also fix issues where one song will start playing and then repeat itself when the queue finishes loading, and hopefully solve #160 as well (though I couldn't actually repro this myself).

Co-authored-by: jacqueline &lt;me@jacqueline.id.au&gt;
Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/170
Reviewed-by: cooljqln &lt;cooljqln@noreply.codeberg.org&gt;
Co-authored-by: ailurux &lt;ailuruxx@gmail.com&gt;
Co-committed-by: ailurux &lt;ailuruxx@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Queue repeat modes (#126)</title>
<updated>2024-12-19T04:29:23+00:00</updated>
<author>
<name>ailurux</name>
<email>ailuruxx@gmail.com</email>
</author>
<published>2024-12-19T04:29:23+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=5cdc1141ee5f5c7b19809940457b4c4c21db9ae6'/>
<id>5cdc1141ee5f5c7b19809940457b4c4c21db9ae6</id>
<content type='text'>
This replaces the previous system of a separate track and queue repeat, with a RepeatMode type with the following options and behaviours:

- OFF: No repeat, queue or track. When the current queue finishes, shuffled or otherwise, playback will stop.
- REPEAT_TRACK: The current track will loop indefinitely, unless next is explicitly called through some user action (ie using the next button in the now playing screen)
- REPEAT_QUEUE: The entire queue will repeat indefinitely. When shuffled is enabled this will repeat the queue with new combinations each cycle.

The repeat mode is persisted in non-volatile storage, so the behaviour will be consistent throughout restarts and queue replacements, and so the "queue repeat by default" use case can be met in this way.

In addition, I've made it work a little nicer when the queue runs out in the now playing screen, keeping the previously played track shown and playback can be continued by using the play button or by going to a previous song in the queue.

Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/126
Co-authored-by: ailurux &lt;ailuruxx@gmail.com&gt;
Co-committed-by: ailurux &lt;ailuruxx@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This replaces the previous system of a separate track and queue repeat, with a RepeatMode type with the following options and behaviours:

- OFF: No repeat, queue or track. When the current queue finishes, shuffled or otherwise, playback will stop.
- REPEAT_TRACK: The current track will loop indefinitely, unless next is explicitly called through some user action (ie using the next button in the now playing screen)
- REPEAT_QUEUE: The entire queue will repeat indefinitely. When shuffled is enabled this will repeat the queue with new combinations each cycle.

The repeat mode is persisted in non-volatile storage, so the behaviour will be consistent throughout restarts and queue replacements, and so the "queue repeat by default" use case can be met in this way.

In addition, I've made it work a little nicer when the queue runs out in the now playing screen, keeping the previously played track shown and playback can be continued by using the play button or by going to a previous song in the queue.

Reviewed-on: https://codeberg.org/cool-tech-zone/tangara-fw/pulls/126
Co-authored-by: ailurux &lt;ailuruxx@gmail.com&gt;
Co-committed-by: ailurux &lt;ailuruxx@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle the loading state whilst appending many tracks better</title>
<updated>2024-08-28T04:07:21+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-08-28T02:45:10+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=9ec8d6dafcee6c9722672eefad28ee3aeba4feb9'/>
<id>9ec8d6dafcee6c9722672eefad28ee3aeba4feb9</id>
<content type='text'>
1) Update the queue length periodically so that the user can see we're
   working
2) Clear any previous track and display "loading..." instead
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1) Update the queue length periodically so that the user can see we're
   working
2) Clear any previous track and display "loading..." instead
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a settings screen with power+battery info</title>
<updated>2024-07-24T05:29:45+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-07-24T05:29:45+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=0cc75366848e9205ac88884afcc128925024ccec'/>
<id>0cc75366848e9205ac88884afcc128925024ccec</id>
<content type='text'>
Mostly for debugging, but also u can toggle fast charging off and on now
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mostly for debugging, but also u can toggle fast charging off and on now
</pre>
</div>
</content>
</entry>
<entry>
<title>Add a console command to dump a snapshot</title>
<updated>2024-07-17T03:39:14+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-07-17T03:39:14+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=a3f48074fb2870535184e90f8aeda2e98c19d24e'/>
<id>a3f48074fb2870535184e90f8aeda2e98c19d24e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>WIP improve bluetooth api and settings screen</title>
<updated>2024-07-11T05:11:28+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-07-11T05:11:28+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=a3eb2dd9dc2399ce9c22cd3b07f482f080976440'/>
<id>a3eb2dd9dc2399ce9c22cd3b07f482f080976440</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix some issues with the splash screen</title>
<updated>2024-06-28T05:34:11+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2024-06-28T05:34:11+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=984b874d7e53980f96fb1581f32d771f78cb91ab'/>
<id>984b874d7e53980f96fb1581f32d771f78cb91ab</id>
<content type='text'>
 - fix a use-after-free involving the alerts container that was
   happening when showing the first screen
 - fix some issues where the splash screen wouldn't come up as early as
   it needs to when another bootup task was making heavy use of the spi
   bus
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 - fix a use-after-free involving the alerts container that was
   happening when showing the first screen
 - fix some issues where the splash screen wouldn't come up as early as
   it needs to when another bootup task was making heavy use of the spi
   bus
</pre>
</div>
</content>
</entry>
</feed>
