Hello Mark,
megafisc2 wrote:I had mentioned that Hauptwerk was sending MIDI NOTE ON messages. I should clarify that what happens is that when a piston is pressed, several stops and notes go on and off for about a second then several then remain on, causing a grand cipher.
When a piston is pressed, if any given stop sometimes changes state more than once ('flickering' on/off) then I'd suspect that you have some kind of MIDI timing or feedback problem for which the console is sending one state for the stop at the same time that Hauptwerk is sending the opposite state, resulting in oscillation. That can occur if stops are sending 'toggling' MIDI messages, rather than 'stateful' ones, and/or if the console is 'echoing back' stop-state changes to Hauptwerk, and/or if Hauptwerk is configured to echo back stop-state changes to the console, and/or if there is MIDI feedback through the console, and/or if pressing the MIDI piston on the console directly causes the console to transmit or change any of its own stops. The latter is usually the cause if using a digital organ console, as a result of its internal combination system 'fighting over' the states of the stops with Hauptwerk's combination system.
Another possibility is that a hardware MIDI buffer is getting flooded within the computer's MIDI interface, or within a MIDI encoder or MIDI decoder.
I'd suggest:
- Make sure you're using a good-quality well-buffered MIDI interface from a reputable music brand (e.g. MOTU Microlites are well-proven). (Cheap/unbranded ones sometimes lose or corrupt MIDI messages and/or flood.)
- Make sure your console's MIDI pistons never set the states of its MIDI stops directly. A MIDI stop should only ever change state if the user physically changes it, or if Hauptwerk specifically instructs it to. (If using both MIDI pistons and MIDI stops with Hauptwerk then the console must not have any kind of combination system of its own.)
- Make sure each of your console's MIDI stops sends 'stateful' MIDI messages, such as a MIDI note-on as it turns on, and a corresponding (same MIDI channel and MIDI note number) MIDI note-off message as it turns off (not 'toggling' messages whereby exactly the the same message is sent as it turns off to that sent as it turns on).
- Likewise, make sure each MIDI stop receives 'stateful' MIDI messages, such as a MIDI note-on to turn it on, and a corresponding MIDI note-off to turn it off. Ideally it should receive the same messages that it sends (e.g. MIDI note-on/off with the same MIDI note number and same MIDI channel), so that MIDI output can be configured automatically in Hauptwerk when auto-detecting.
- Make each of your console's MIDI stops doesn't send any MIDI messages at all if it changed state in response to a MIDI message from Hauptwerk. I.e. it shouldn't 'echo back' state changes.
- Make sure that no other part of the console directly feeds MIDI messages that it receives back to the computer (e.g. a 'MIDI Thru loop'), otherwise MIDI feedback is very likely.
- When auto-detecting each stop in Hauptwerk, make sure that you turn the MIDI stop on,
and then off again, so that Hauptwerk hears both MIDI messages and knows that the MIDI stop is 'stateful' (not toggling).
- For those stops that you've already detected, check (e.g. via right-click "
Adjust manually ..."), on the "
Primary input" tab, that the detected MIDI message is a stateful event type, and what you expected it to be (e.g. the "
Stop or hold piston: MIDI note-on/off" event type). Also make sure that the "
Momentary piston ('on' toggles ...)" option is NOT ticked. On the "
Primary output" tab, check that the event type is "
Auto MIDI output (match to primary input settings" (assuming each MIDI stop receives the same MIDI message types/values that it sends) and, for good measure, that the "
Always suppress output (echo) if direct response to input" option is ticked.
- On the "
General preferences | Advanced ..." screen tab in Hauptwerk, check that the "
Limit MIDI OUT port send rate to MIDI 1.0 baud" option is ticked (as it is by default).
For testing, you might find it easier to trouble-shoot using just a small number of stops, configured from all-default settings:
- Exit Hauptwerk if it's running.
- Launch Hauptwerk via a 'spare' '
Hauptwerk (alt confg N)' configuration (desktop shortcut) .
- Use '
File | Revert all settings to factory defaults' within that configuration to ensure that all of its settings are (still) at their defaults. (Hauptwerk will exit after you revert the settings.)
- Re-launch that same '
Hauptwerk (alt confg N)' configuration, and select your audio and MIDI devices when prompted but leave all other settings at their defaults.
- Load St. Anne's (since we all have access to it, and it's simple and very proven).
- Auto-detect a few MIDI pistons to the virtual pistons on the St. Anne's virtual console.
- Auto-detect just a few MIDI stops.
- See whether you can still reproduce the problem. If not, auto-detect the rest of the stops.