Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Update the APU to use time-tracking to allow it to calculate certain parts of samples only when needed. Also update the time tracking for things like envelope and sweep to avoid having separate counters for all of them.
This change also adds a context to memory access. Currently the context just provides the time of the memory access, but it could be used to track which component is accessing memory if that ever becomes useful for handling simultaneous memory accesses.
Time tracking on memory may also be useful for rollback systems, since it could allow us to reduce the amount of things that need to be cloned in order to implement rollback.