The first thing you need to know about Hauptwerk and our lighted pistons is that not all pistons or switches in every sample set are able to send the messages to make our pistons light.
Whether or not a piston is allowed to send a message is able to send a message or not depends on how the sample set maker set it up in the ODF for that organ.
NOTE: if the pistons in your sample set itself are not able to send the correct messages, you will need to use Hauptwerk's built-in combination action instead of the one in the sample set. So, don't dispair.
The easy way to check if a piston or stop is able to send the correct messages or not is to load up the sample set you plan to use and find the switch you want to light. You do this by right-clicking on that element on-screen and then selecting "Adjust MIDI/ triggers settings manually for..."
Click on the "Primary Output" tab.
If the "Output" dropdown menu allows you to select "MIDI NRPN on/off", then you will be able to control a lighted piston with that on-screen switch.
If the "Output" dropdown menu is greyed out you will not be able to control a lighted piston with it.
If you have determined that the pistons(switches) you want to configure support sending messages, the tutorial below will get you up and running.
Step one: Turn on lighted piston functionality for that keyboard
- press and hold the set piston (far left) for that keyboard
- press the last black key on the right (A#5)
- press the 13th black key from the left (F#3)
- release the set piston
Step two: Set the channel that the CMK should be looking for data on. (generally, it's the same channel as the keyboard).
You'll need to install and run CMK Config (get it here).
In this example it's on channel 2.
After you click "Save" make sure that you also click "Write to CMK" to save this configuration into the memory of the keyboard.
Step three : Confirm that Hauptwerk has enabled the Console MIDI in and Console MIDI out for the port your keyboards are on.
In this example, I'm using the CMK Keyboard's built-in interface. Choose whichever one best represents your device.
Step four: Auto-detect the piston input
Step five: Set the output message for the piston.
This tutti piston is set to send lighting messages for the far left piston.
Note that the Output, MIDI Port, and MIDI Channel settings will be the same for all pistons on the same keyboard.
The only parameter that will change is the NRPN Number. The numbers are sequential from left to right starting at 512 for piston 1 and ending at 531 for piston 20.
Piston 1 - NRPN # 512
Piston 2 - NRPN # 513
Piston 3 - NRPN # 514
Piston 4 - NRPN # 515
Piston 5 - NRPN # 516
Piston 6 - NRPN # 517
Piston 7 - NRPN # 518
Piston 8 - NRPN # 519
Piston 9 - NRPN # 520
Piston 10 - NRPN # 521
Piston 11 - NRPN # 522
Piston 12 - NRPN # 523
Piston 13 - NRPN # 524
Piston 14 - NRPN # 525
Piston 15 - NRPN # 526
Piston 16 - NRPN # 527
Piston 17 - NRPN # 528
Piston 18 - NRPN # 529
Piston 19 - NRPN # 530
Piston 20 - NRPN # 531
Piston 21 - NRPN # 532
Piston 22 - NRPN # 533
Piston 23 - NRPN # 534
Piston 24 - NRPN # 535
Piston 25 - NRPN # 536
Step 6: Setting up the MIDI loop for your keyboard(s)
In order for your lighted piston keyboards to work properly, they will need to be able to send MIDI but also receive MIDI back from Hauptwerk. Those messages returning from Hauptwerk (configured in step 3) instruct the light to be on or off.