View Single Post
Old 07-26-2009, 12:12 PM   #71
Human being with feelings
Xenakios's Avatar
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 7,925

Originally Posted by boreg View Post
Hi, Reaper gurus!
Since I can't get over the fact that Reaper does not implement drag zooming, and having some experience with Windows programming, I thought maybe I can implement it as a plugin. I thought about something like this:
- Subclass the main application window to get mouse notifications
- Detect when mouse is dragged (WM_MOUSEMOVE notification with left button down) and is over the timeline (is this info available from SDK?)
- translate vertical mouse movement to adjustZoom() calls (found this function in the SDK, seems right for the job).
Is this possible? Am I on the right track?

It might work, the timeline window appears to be class REAPERTimeDisplay with caption "timeline", so if you find that with win32's FindWindowEx, you could try subclassing it (not the Reaper main window!). There's not really anything in the Reaper APIs to know about the Reaper screen elements, their coordinates etc, so you can only hope you can find and manipulate the things you are interested in using the win32 APIs.
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
Xenakios is offline   Reply With Quote