I've just started making recordings using Hauptwerk and I love it. So far all I've needed to do is send MIDI from my controllers. Works great for live playing. I can easily assign buttons to select pistons and general cancel, no problems.
What I haven't been able to get working is remote sequenced MIDI control of the organ stops using NRPN messages. As far as I could figure out, these messages are defined for the organ in the xml file having the suffix "- MIDI Recorder MIDI Implimentation (raw data).xml" which exists in this directory:
/Hauptwerk/HauptwerkUserData/OrganMIDIImplementationExports
An HTML version of that file is displayed when I go to Recording > view MIDI recorder/player/sequencer MIDI Implementation (for this organ). For example, in the HTML this is listed for the organ I am using:
Name: Hoofdwerk HW-Bourdon-16-8-B
Role: Stops: manual 1 stop 01
NRPN chan (1-16): 2
NRPN num (0-16383): 2101
Prog change chan (1-16): (none)
Prog change num (1-128): (none)
Note on/off chan (1-16): 9
Note on/off num (0-127): 36
Sys-ex object ID: 2219
Message type recorded: NRPN
which is given in the XML file as:
My software reads this XML file and creates the needed NRPNs for this stop as follows:
NRPN_MSB = floor( 2101 / 128 ) = 16
NRPN_LSB = 2101 mod 128 = 53
The messages are sent like this:
NRPN MSB: CC 177 99 16
NRPN LSB: CC 177 98 53
CC 177 6 127
(From the user guide I assume a value of 127 to pull a stop on.)
The message is sent and received by Hauptwerk, but nothing happens. No stop is drawn (switched on).
What am I doing wrong?
Thanks for your help.
What I haven't been able to get working is remote sequenced MIDI control of the organ stops using NRPN messages. As far as I could figure out, these messages are defined for the organ in the xml file having the suffix "- MIDI Recorder MIDI Implimentation (raw data).xml" which exists in this directory:
/Hauptwerk/HauptwerkUserData/OrganMIDIImplementationExports
An HTML version of that file is displayed when I go to Recording > view MIDI recorder/player/sequencer MIDI Implementation (for this organ). For example, in the HTML this is listed for the organ I am using:
Name: Hoofdwerk HW-Bourdon-16-8-B
Role: Stops: manual 1 stop 01
NRPN chan (1-16): 2
NRPN num (0-16383): 2101
Prog change chan (1-16): (none)
Prog change num (1-128): (none)
Note on/off chan (1-16): 9
Note on/off num (0-127): 36
Sys-ex object ID: 2219
Message type recorded: NRPN
which is given in the XML file as:
- Code: Select all
<VirtualSwitch>
<Name>Hoofdwerk HW-Bourdon-16-8-B</Name>
<RoleCode>2101</RoleCode>
<RoleDesc>Stops: manual 1 stop 01</RoleDesc>
<NRPNChan>2</NRPNChan>
<NRPNNum>2101</NRPNNum>
<PrgChan></PrgChan>
<PrgNum></PrgNum>
<NoteChan>9</NoteChan>
<NoteNum>36</NoteNum>
<SysExObjID>2219</SysExObjID>
<TypeRecorded>NRPN</TypeRecorded>
</VirtualSwitch>
My software reads this XML file and creates the needed NRPNs for this stop as follows:
NRPN_MSB = floor( 2101 / 128 ) = 16
NRPN_LSB = 2101 mod 128 = 53
The messages are sent like this:
NRPN MSB: CC 177 99 16
NRPN LSB: CC 177 98 53
CC 177 6 127
(From the user guide I assume a value of 127 to pull a stop on.)
The message is sent and received by Hauptwerk, but nothing happens. No stop is drawn (switched on).
What am I doing wrong?
Thanks for your help.