Skip to content

Commit

Permalink
Fix: prevent gaps in zoomed in waveform (#3745)
Browse files Browse the repository at this point in the history
  • Loading branch information
katspaugh authored Jun 15, 2024
1 parent 90c6cd4 commit 0867b95
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions src/renderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ type RendererEvents = {
}

class Renderer extends EventEmitter<RendererEvents> {
private static MAX_CANVAS_WIDTH = 4000
private static MAX_CANVAS_WIDTH = 8000
private static MAX_NODES = 10
private options: WaveSurferOptions
private parent: HTMLElement
Expand Down Expand Up @@ -524,7 +524,7 @@ class Renderer extends EventEmitter<RendererEvents> {
}

const totalWidth = width / pixelRatio
let singleCanvasWidth = Math.min(Renderer.MAX_CANVAS_WIDTH, clientWidth * 2, totalWidth)
let singleCanvasWidth = Math.min(Renderer.MAX_CANVAS_WIDTH, clientWidth, totalWidth)
let drawnIndexes: Record<number, boolean> = {}

// Adjust width to avoid gaps between canvases when using bars
Expand Down Expand Up @@ -568,7 +568,9 @@ class Renderer extends EventEmitter<RendererEvents> {
const startCanvas = Math.floor(viewPosition * numCanvases)

// Draw the canvases in the viewport first
draw(startCanvas - 1)
draw(startCanvas)
draw(startCanvas + 1)

// Subscribe to the scroll event to draw additional canvases
if (numCanvases > 1) {
Expand All @@ -578,6 +580,7 @@ class Renderer extends EventEmitter<RendererEvents> {
clearCanvases()
draw(canvasIndex - 1)
draw(canvasIndex)
draw(canvasIndex + 1)
})
}
}
Expand Down

0 comments on commit 0867b95

Please sign in to comment.