I implemented this too over the weekend -- My patch isn't any better, I'm really just providing it for reference. One thing I noticed was that as the waveform is zoomed out there are issues with beatmarkers not rendering throughout the waveform and preroll markers causing slow render time. You'll see some simple conditionals that turn off beatmarkers and preroll markers when the zoom level pulls out.
I also made the zoom range much wider. Specifically, I want to be able to zoom way in so I can align the beatgrid precisely. I had to increase the subpixels_per_second size to make this work. I'd suggest that in the official patch we increase that number slightly (maybe not as much as I did) and allow for large amounts of zoom.
I implemented this too over the weekend -- My patch isn't any better, I'm really just providing it for reference. One thing I noticed was that as the waveform is zoomed out there are issues with beatmarkers not rendering throughout the waveform and preroll markers causing slow render time. You'll see some simple conditionals that turn off beatmarkers and preroll markers when the zoom level pulls out.
I also made the zoom range much wider. Specifically, I want to be able to zoom way in so I can align the beatgrid precisely. I had to increase the subpixels_ per_second size to make this work. I'd suggest that in the official patch we increase that number slightly (maybe not as much as I did) and allow for large amounts of zoom.