Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the ability to play back recently recorded sounds #276

Merged
merged 6 commits into from
Jun 2, 2024

Conversation

celeste-sinead
Copy link
Contributor

So, adds a ringbuffer for the last 30s of samples, the ability to play the contents of that buffer, and controls to record/stop/play and select playback position. Useful if you want to hear a recent sound again.

I, um, haven't gotten around to making the buffer length or output device configurable but I'll get to it 🙃

This is redundant with the top toolbar but establishes a base for
adding more controls.
This is functional but incomplete; the play button starts playback regardless
of recording state, there's no way to stop it, etc.
These are enabled/disabled depending on the current state (i.e. can only stop
while recording or playing, or can either play or record when stopped), and use
the "down" state to indicate when currently playing or recording.

The existing stop/start button in the top toolbar will result in playback
button state being set correctly, although that button is now redundant and
could probably be removed?
When not playing, this allows selection of the position within the buffer
to begin playback. When playing, this shows the current playback position.
At end of playback, it returns to the previously selected start position.
@tlecomte
Copy link
Owner

tlecomte commented May 12, 2024

Oh, that one is interesting.
I can understand that this could be useful in some scenarios. Can you remind me what's your area of interest ? Is it voice training ?
Originally, Friture was meant to be used in the context of setting up a venue for an audio event, like an auditorium or a concert hall. In that context, I've not heard of any feedback about a need to hear again what was recorded. However, I could see how playing back the last 30 seconds and having the analyzers also update their visuals could be nice.

As it is, I'm not fully sold, mostly because it takes a significant area of the user interface, for a feature that only some users may need. What do you think of adding a checkbox in the settings dialog to show the playback control ?

@celeste-sinead
Copy link
Contributor Author

I can understand that this could be useful in some scenarios. Can you remind me what's your area of interest ? Is it voice training ?

Yes, exactly; playback can be really useful for getting additional feedback on practice.

And yes, having the analyzers update to reflect what's playing back was definitely on my mind for future work in this direction.

Making this optional sounds pretty reasonable.

Playback controls are hidden by default.
Also, add an option to set the length of the playback buffer.
@celeste-sinead
Copy link
Contributor Author

@tlecomte I've added the checkbox to enable the playback controls. It currently defaults to hidden; what do you think about having them shown by default, though?

@tlecomte
Copy link
Owner

tlecomte commented Jun 2, 2024

Thank you very much @celeste-sinead!

I feel more comfortable with it hidden by default for now, I'll merge it as is.

Thanks again, that's a very nice contribution!

@tlecomte tlecomte merged commit 405bffa into tlecomte:master Jun 2, 2024
4 checks passed
@celeste-sinead celeste-sinead deleted the playback branch June 16, 2024 19:05
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.

2 participants