Hello Julian,
How many colours are your supporting? From what I remember of the Launchpad specifications it uses four bits of the MIDI velocity information to give three brightnesses each of red and green, together with off for each, which gives a theoretical total of 16 colours/shades (including off).
In practice I don't know how many of these are distinguishable, and I am not going to have a chance to play with it for a few weeks, but in the meantime I have been having fun planning various colour schemes to control the stops. I am thinking along the lines of yellow for flue stops (with the stops in,medium for 8', dim for 16', 4' and 2', and bright for stops out), red for the reeds (medium for 8', dim for other pitches and bright for on) and green for mutations (dim for single ranks, medium for compound stops and mixtures, bright for on), which would leave yellow/green (lime?) and orange/amber for other controls such as tremulant, couplers and miscellaneous organ controls (e.g. the 8'/16' bourdon toggle for the Bosch-Schnitger). Any buttons not used for that particular sample set would be permanently off. For this sort of scheme it would be useful, e.g., for couplers to be dim orange (red medium + green dim) changing to bright when on (red bright + green medium) etc.
My photos earlier in this post show the colours that are supported (red, orange, amber, yellow, green). Orange, amber and yellow are all quite close in colour. I find them just different enough to be useful but if you find them too hard to distinguish then you can always just use a subset of them.
Each of the colours that Hauptwerk supports show in the 'bright' state when a stop is on and in the 'dim' state when a stop is off, so that you can both see the stop state clearly whilst also seeing a stop's grouping even if a stop is off.
You aren't able to choose brightnesses or colours for stops manually beyond those that Hauptwerk supports. I chose the supported colours because they were the largest set that I felt could in practice allow 'on' and 'off' states to be clearly distinguishable, whilst allowing the colours themselves to remain distinguishable.
'Fully on/off' and 'Always off' are also supported for LEDs. If a Launchpad button isn't assigned to a virtual control then Hauptwerk will always ensure its LED is kept turned off and Hauptwerk automatically turns off all LEDs when unloading, changing or resetting organs and ensures that LED states remain synchronised at all times with the virtual controls to which you've assigned them.
You don't need to do anything manually for that, and no knowledge of how the Launchpad or its MIDI implementation works is needed - just let Hauptwerk handle it all natively and transparently.
When a sample set is first loaded I should imagine that the default in Lanuchpad would be to start with all lights off, so I am planning to set a piston to pull out all the stops/couplers/etc. (illuminating the Launchpad buttons in their bright coloured state), then press general cancel, which would leave all the buttons corresponding to actual controls in their illuminated dim (stops in) state so that I can see which buttons are active for that particular organ. This assumes that I will be able to send one colour state to show that a control is on and a different one for off again (I don't know quite what implementation you have arranged).
As above, no - you don't need to do that. Hauptwerk will do it all automatically and correctly for you.
Hauptwerk will always light up the assigned buttons in their correct states and colours when you load an organ, and will make sure that any unassigned buttons have their LEDs turned off.
The challenge is trying to come up with some form of stop control that can be used with all sample sets and at the same time displaying useful information about which buttons / switches control which stops. This is where I think the Launchpad has the advantage over X-keys or indeed any other form of stop control. Of course the ideal would be solenoid-activated drawstops with an LED text label for each one, but that would be prohibitively expensive and time-consuming to set up. For rocker tabs (which I don't have) I suppose it would be possible to have a printed strip with the stop names for each sampe set. The Launchpad, however, seems very cheap and easy for what it does.
I really like the Launchpad and found it be a very viable option for controlling Hauptwerk stops and pistons, particularly now that Hauptwerk can integrate natively and transparently with it, without any MIDI knowledge or programming needed on the part of the user.
I think it's a simple, easy, effective, relatively inexpensive (as MIDI hardware goes) and fairly ergonomic off-the-shelf and readily-available option for virtual organ stop and piston control that's well-suited for use with multiple sample sets.
Best regards, Martin.
Hauptwerk software designer/developer, Milan Digital Audio.