marketplace/productivity

Scroll to Scrub

v0.1.0

@rebindfree

Hold a mouse button and scroll to step the DaVinci Resolve timeline frame by frame.

Gallery

Scroll to Scrub preview

Readme

While you hold a side button, each notch of the wheel steps the DaVinci Resolve playhead one frame. Let go and it plays from there. It runs only while DaVinci Resolve is focused.

Needs Rebind 3.5.0 or newer on Windows or macOS. No extra permissions.

Settings

  • Hold to scrub: default Mouse 5. Key changes apply while the package runs on Rebind 3.9 or newer; on older versions, restart the package.

How it works

Each notch sends Resolve's Left or Right arrow (one frame back or forward). Releasing the button after scrolling sends Space to play. Releasing it without scrolling does nothing.

Limits

  • Resolve's arrow and Space shortcuts must be the defaults.
  • The hold button does nothing else in Resolve while the package runs.
  • Live use in Resolve remains unverified on Windows and macOS.

Stop

Stop the package from the editor toolbar, or press Left Ctrl + Left Alt + K to stop all scripts.

Reviews

No reviews yet. Be the first, from the app.

Source

Version 0.1.0 (current)

main.luau

-- Scroll to Scrub: while the hold button is down, each wheel notch steps the
-- DaVinci Resolve playhead one frame. Letting go plays from there.

local cfg = UI.Schema({
  hold = UI.Keybind("Mouse5", { label = "Hold to scrub" }),
})

local scrubbing, scrubbed = false, false

-- the button itself never reaches Resolve
Bind(cfg.hold, {
  action = function()
    scrubbing, scrubbed = true, false
  end,
  release = function()
    scrubbing = false
    if scrubbed then
      HID.Combo("Space")
    end
  end,
})

function OnScroll(delta)
  if not scrubbing then
    return true
  end
  scrubbed = true
  HID.Combo(if delta > 0 then "Right" else "Left")
  return false
end