Week 5 Report: July 10th to July 16th
- Merged the multithreading PR .
- Still iterating over the design of loading partial sound segments. I just dumped all the ongoing changes to this single commit: https://projects.blender.org/Yup_Lucas/blender/commit/c623c3c266fc32b0903bbd7c141dd2032b56681d
- Dealing with multiple segments turned out to be more difficult than I initially anticipated:
- When we need to draw an audio segment, it can fall under one of the categories below (see attached drawing for an illustration):
- Overlap with the “left side” of an already loaded segment
- Overlap with the “right side” of an already loaded segment
- Overlap both the “left” and “right” sides of an already loaded segment
- Contained inside an already loaded segment
- Does not overlap any segment
- The problem with this overlap approach is that we need to compact segments (i.e., merge them) over time. If we don’t do that, we’ll end up with a huge list of segments that need to be iterated over every time.
- When we need to draw an audio segment, it can fall under one of the categories below (see attached drawing for an illustration):
I’m thinking along the lines of eagerly merging segments whenever a new segment is loaded. This can happen in the background thread responsible for loading segments.
Diagram with segment overlaps
Next steps
- Keep iterating over the segment loading design