<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tangara-fw/src/tangara/audio/audio_fsm.cpp, branch main</title>
<subtitle>Tangara firmware</subtitle>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/'/>
<entry>
<title>Check output before pausing on bt disconnect</title>
<updated>2025-05-01T06:41:53+00:00</updated>
<author>
<name>ailurux</name>
<email>me@ailurux.au</email>
</author>
<published>2025-05-01T06:41:53+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=05c1dd8e32184a055e10ccac70eda8131e01139c'/>
<id>05c1dd8e32184a055e10ccac70eda8131e01139c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix premature pause at end of last track of queue</title>
<updated>2025-04-11T15:20:48+00:00</updated>
<author>
<name>Be</name>
<email>be.0@gmx.com</email>
</author>
<published>2025-04-10T03:52:42+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=c4c6c9df7bb5721ed695667a7f6b6b918330e2e8'/>
<id>c4c6c9df7bb5721ed695667a7f6b6b918330e2e8</id>
<content type='text'>
The SetTrack event is sent when *decoding* finishes, not when
*playback* finishes so the decoder can start buffering the next
track in advance of its playback to ensure gapless playback.
Clearing StreamCues causes
Playback::react(const internal::StreamHeartbeat&amp; ev)
to transit the Playback FSM to Standby, which sets the
IAudioOutput to stop reading from the output buffer. Thus,
clearing StreamCues in response to the SetTrack event paused
playback with the end of the track stuck waiting in the output
buffer. When a new queue was loaded and started playing, the
end of the previous track would be played before the new track
was played.

Fixes https://codeberg.org/cool-tech-zone/tangara-fw/issues/313
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The SetTrack event is sent when *decoding* finishes, not when
*playback* finishes so the decoder can start buffering the next
track in advance of its playback to ensure gapless playback.
Clearing StreamCues causes
Playback::react(const internal::StreamHeartbeat&amp; ev)
to transit the Playback FSM to Standby, which sets the
IAudioOutput to stop reading from the output buffer. Thus,
clearing StreamCues in response to the SetTrack event paused
playback with the end of the track stuck waiting in the output
buffer. When a new queue was loaded and started playing, the
end of the previous track would be played before the new track
was played.

Fixes https://codeberg.org/cool-tech-zone/tangara-fw/issues/313
</pre>
</div>
</content>
</entry>
<entry>
<title>Quick fix unmount requests getting dropped when there's no sd card</title>
<updated>2025-04-01T04:14:28+00:00</updated>
<author>
<name>jacqueline</name>
<email>me@jacqueline.id.au</email>
</author>
<published>2025-04-01T04:13:13+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=4d7893cb970c81f9f0d4971bb1fd431a0ef6e874'/>
<id>4d7893cb970c81f9f0d4971bb1fd431a0ef6e874</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>Only change output mode if the new output mode is different</title>
<updated>2025-02-11T01:43:01+00:00</updated>
<author>
<name>ailurux</name>
<email>ailuruxx@gmail.com</email>
</author>
<published>2025-02-11T01:43:01+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=285c4928af79c1f5844277464832f060ded77f85'/>
<id>285c4928af79c1f5844277464832f060ded77f85</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change output mode when bluetooth connects/disconnects</title>
<updated>2025-02-10T05:23:13+00:00</updated>
<author>
<name>ailurux</name>
<email>ailuruxx@gmail.com</email>
</author>
<published>2025-02-10T05:23:13+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=4f08a0838aeea3022ea915bebb34e42ac7f2b47c'/>
<id>4f08a0838aeea3022ea915bebb34e42ac7f2b47c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>suspend playback when headphones disconnected</title>
<updated>2024-12-29T22:50:11+00:00</updated>
<author>
<name>Clayton Craft</name>
<email>clayton@craftyguy.net</email>
</author>
<published>2024-12-26T02:04:40+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=6e087b2dc42787679bcb9d828d057b64fac77e33'/>
<id>6e087b2dc42787679bcb9d828d057b64fac77e33</id>
<content type='text'>
I think this is what most folks would expect to happen if BT is
disconnected/disabled and the headphones are removed.

Also, I think(?) this fixes one situation where the device doesn't idle/
sleep when folks would expect it to (not connected to headphones or bt).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I think this is what most folks would expect to happen if BT is
disconnected/disabled and the headphones are removed.

Also, I think(?) this fixes one situation where the device doesn't idle/
sleep when folks would expect it to (not connected to headphones or bt).
</pre>
</div>
</content>
</entry>
<entry>
<title>Audio FSM should transit to Standby when BT disconnect</title>
<updated>2024-12-09T23:25:44+00:00</updated>
<author>
<name>ailurux</name>
<email>ailuruxx@gmail.com</email>
</author>
<published>2024-12-09T23:25:44+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=048cfd705f441406f8ce181e2a2f288c98388439'/>
<id>048cfd705f441406f8ce181e2a2f288c98388439</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fixed issue with saving positions, and only auto-resume long-form content</title>
<updated>2024-10-08T04:38:39+00:00</updated>
<author>
<name>ailurux</name>
<email>ailuruxx@gmail.com</email>
</author>
<published>2024-10-08T04:38:39+00:00</published>
<link rel='alternate' type='text/html' href='https://grim.freemyip.com/cgit/tangara-fw/commit/?id=b2548a1f0b3ca78d3a2f3cc7142b994ee0c6d285'/>
<id>b2548a1f0b3ca78d3a2f3cc7142b994ee0c6d285</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
