Skip to content

Improve behaviour of user interactions wrt TTS queue#862

Merged
davecraig merged 6 commits intoScottish-Tech-Army:mainfrom
davecraig:main
Mar 20, 2026
Merged

Improve behaviour of user interactions wrt TTS queue#862
davecraig merged 6 commits intoScottish-Tech-Army:mainfrom
davecraig:main

Conversation

@davecraig
Copy link
Contributor

No description provided.

This is a longstanding easy to fix bug. We now report "No nearby markers"
rather than stay silent.
My location does reverse geocoding to find the users current location.
This can involve network and take a few seconds. This change immediately
plays the Earcon so that the user has feedback that their action had an
effect.
Waiting for "Around Me" or "Ahead of Me" audio to finish can take a
while. On iOS tapping the button again would stop it immediately, and
this change takes a similar approach. As well as some adding job
cancellation in the SoundscapeService functions a new awaitHandle call
has been added down into the C++ code. This waits for the passed in
handle to be no longer queued - either because it has played out, or
it has been cleared. In this way each calloutJob only completes when
the callout has been fully read out.
The TTS isn't cleared and so is read out in full when each skip is done. This
backs up the audio queue. This change means that only when the route player
automatically moves to the next waypoint is it guaranteed to be read out.
User initiated skipping clears the TTS queue and so avoids endless output.
Although cancelCallout was successfully cancelling other hear my surroundings
calls it wasn't over-riding auto callouts. This changes ensures that it always
takes precedent.
@davecraig davecraig merged commit 586dbc2 into Scottish-Tech-Army:main Mar 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant