[Rwp] Plug-in hot spots

Gavin Grundlingh g.batworx at gmail.com
Wed Mar 9 03:15:45 EST 2016


Hi,

I created hot spots for Kontakt 5 in AutoIt, using a similar method for 
calculating coordinates to what Jamie used in the NVDA add-on for Sonar. 
So far, at least, it appears to work under very different screen 
resolution / DPI settings on different versions of Windows running on 
different machines. I calculated the coordinates according to the actual 
plug-in window, so the spots work for bridged and non-bridged modes, 
too. My next test will be to see if different hosts freak out when using 
the spots, or if they'll just be nice and work.

Of course, I realise Kontakt is way, way more complex than Dimension Pro 
or Sfz, but I thought I'd mension my spot creation for it here to 
outline my methods.

Regards,

Gavin


On 2016-03-09 06:49, James Teh wrote:
> Hi plug-in hot spot creators (HSC, AutoHotkey, whatever),
>
> As I've watched discussion about creation of hot spots for plug-ins 
> and associated problems, I've been starting to wonder about why they 
> aren't done in a way which makes them more reliable across different 
> configurations. I don't have much experience in this area, so there 
> may well be a good reason and I'm just not seeing it. So, I'd 
> appreciate some thoughts on the below.
>
> In the following discussion, let's assume we're dealing with simple 
> hot spots; i.e. spots which don't change such as the program browser 
> button in Dimension Pro, the load button in SFZ, etc. I realise there 
> are many cases where this isn't the case, but that's beyond the scope 
> of what I'm getting at here.
>
> As I understand it, there are two main problems that cause basic hot 
> spots to be unreliable:
>
> 1. Different screen resolutions/DPI settings. If hot spots are created 
> for one screen configuration, they sometimes don't work on other 
> configurations.
> I notice that even though some hot spots use relative coordinates, 
> they're still absolute as far as the window is concerned. That is, 
> they don't account for the window being a different size, only the 
> window being in a different starting position. So, why not use width 
> and height fractions? So, if the coordinate is half way across the 
> width of the window, you would store 0.5 instead of an absolute value 
> like 200. This way, if the window shrinks to half size, you can still 
> calculate the correct coordinates. In practice, some windows probably 
> don't resize everything in direct proportion, but I would have thought 
> this would be more rare than not.
>
> 2. Different applications. Hot spots created for Sonar don't work in 
> REAPER and vice versa. Even in REAPER, hot spots created for bridged 
> don't work in non-bridged.
> From what I've seen, even hot spots that are relative are calculated 
> relative to the top level window. The problem is that the top level 
> window is part of the host (e.g. REAPER), not the plug-in. That means 
> it's going to be different for every host. So, why not calculate the 
> coordinates relative to the window for the plug-in itself? The plug-in 
> should render exactly the same way no matter where it's hosted. 
> Therefore, if coordinates are all relative to the plug-in window, they 
> will work the same regardless of the host used.
>
> On a related note, I'd be interested to know whether it'd be worth 
> implementing some kind of basic hot spot support into OSARA. The 
> question is what kind of complexity is needed for the majority of 
> plug-ins. I know HSC has support for searching for colours, etc., but 
> I never quite grasped how this was applied in practice.
>
> I'd appreciate any thoughts.
>
> Jamie
>



More information about the RWP mailing list