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

String Oscillator allocates/deallocates on voice on #4840

Closed
baconpaul opened this issue Aug 15, 2021 · 0 comments · Fixed by #5264
Closed

String Oscillator allocates/deallocates on voice on #4840

baconpaul opened this issue Aug 15, 2021 · 0 comments · Fixed by #5264
Labels
Bug Report Item submitted using the Bug Report template Infrastructure Issues related to repository, CI/CD, installers, etc.
Milestone

Comments

@baconpaul
Copy link
Collaborator

After resolving #805 I end up with two oscillators which still allocate in their startup/shutdown path.

String is the easier to tackle since it is using the delay line and we can pool those off thread.

@baconpaul baconpaul added the Bug Report Item submitted using the Bug Report template label Aug 15, 2021
@baconpaul baconpaul added this to the Surge XT 1.0 milestone Aug 15, 2021
@mkruselj mkruselj added the Infrastructure Issues related to repository, CI/CD, installers, etc. label Aug 16, 2021
baconpaul added a commit to baconpaul/surge that referenced this issue Oct 17, 2021
This commit gives an API which allows us to reuse rather
than reallocate the memory buffers that objects need
at play time. Right now it only deals with the string
oscillator and still does 'extra' allocation on the audio
thread, but has a reasonable pre-allocate and re-use
strategy. In the future the overflow allocs could be
off thread but for now it's a simple save and reuse
approach.

Closes surge-synthesizer#4840
baconpaul added a commit to baconpaul/surge that referenced this issue Oct 17, 2021
This commit gives an API which allows us to reuse rather
than reallocate the memory buffers that objects need
at play time. Right now it only deals with the string
oscillator and still does 'extra' allocation on the audio
thread, but has a reasonable pre-allocate and re-use
strategy. In the future the overflow allocs could be
off thread but for now it's a simple save and reuse
approach.

Closes surge-synthesizer#4840
baconpaul added a commit to baconpaul/surge that referenced this issue Oct 17, 2021
This commit gives an API which allows us to reuse rather
than reallocate the memory buffers that objects need
at play time. Right now it only deals with the string
oscillator and still does 'extra' allocation on the audio
thread, but has a reasonable pre-allocate and re-use
strategy. In the future the overflow allocs could be
off thread but for now it's a simple save and reuse
approach.

Thanks to Luna for a review, and also glad I added
that test!

Closes surge-synthesizer#4840
baconpaul added a commit that referenced this issue Oct 17, 2021
This commit gives an API which allows us to reuse rather
than reallocate the memory buffers that objects need
at play time. Right now it only deals with the string
oscillator and still does 'extra' allocation on the audio
thread, but has a reasonable pre-allocate and re-use
strategy. In the future the overflow allocs could be
off thread but for now it's a simple save and reuse
approach.

Thanks to Luna for a review, and also glad I added
that test!

Closes #4840
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Report Item submitted using the Bug Report template Infrastructure Issues related to repository, CI/CD, installers, etc.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants