|
|
|
|
|
|
MIDI output
As well as being controlled by MIDI (see the MIDI input section), the Advanced Edition of Hauptwerk can also produce MIDI output (no MIDI output facilities are available in the Hauptwerk Basic Edition). This enables it to:
- Control solenoid-actuated/illuminated MIDI draw-knobs/tabs on a MIDI organ console.
- Control status indicator lamps to show its status.
- Control LCD panels to show labels for the controls on a MIDI organ console, appropriate to each sample set loaded, and also to control a status display LCD panel.
- Control ranks of real external pipework in addition to its internal digital voices.
- Likewise control external voice expanders.
Although functions 1 to 3 can be performed for all sample sets, subject to the appropriate MIDI hardware being available, functions 4 and 5 require specific custom organ definition files, in order that Hauptwerk knows how the external ranks or voices should be incorporated into the virtual organ. This is normally achieved using the Custom Organ Design Module, which is the subject of a separate manual that can be found on the Help menu, and is discussed briefly in the design tools section.
This section will give an overview of the MIDI output configuration and the corresponding setting screens. We will not describe all of the individual settings on those screens here, since comprehensive documentation is available for each setting and screen by clicking on the pointer/question-mark icon immediately to the left of a screen's OK button:
... then clicking onto the screen background or a specific setting for a detailed explanation of its function.
This section is mainly applicable for using Hauptwerk as stand-alone software. If you are using it with a sequencer (as a VST plug-in or otherwise), then you would not normally need to use Hauptwerk's MIDI output capabilities.
With all settings screens, the lists of objects are shown in the left-hand panes, and the current objects' details are shown on the right. Use the Insert and Delete buttons to create or delete objects. You cannot delete an object if other screens reference it; you must first go to the referencing screen(s) and delete all such referencing objects; see the settings screens section for more details.
Important: The set of objects installed initially with Hauptwerk are simply examples, so you can delete or adjust them to suit your MIDI hardware and software. If your MIDI configuration differs substantially from the defaults, you may prefer to delete all of the objects on the various MIDI output settings screens and then recreate them all from scratch.
For stand-alone use, the General settings menu output screens describe the physical MIDI hardware that you have and wish to use with Hauptwerk:
The Organ settings menu output screens then describe how that physical hardware should be mapped to the sample set currently loaded. A different mapping can be stored for each sample set:
In most cases, the screens under the Organ settings menu show one object in the browse list for each equivalent virtual object in the sample set that you currently have loaded. In the right-hand pane you can then select the output object you wish to control from it, or 'none' if you do not wish the sample set's virtual control to produce MIDI output. As an example, look at the Connect organ keyboards to keyboard MIDI outputs screen:
There is an entry in the left-hand browse pane for each virtual keyboard provided by the sample set loaded (St. Anne's, Moseley).
MIDI output paths
All of Hauptwerk's MIDI output is configured in terms of MIDI output paths, which are simply an abstraction of the combination of a computer MIDI output port and MIDI channel together, given a meaningful name. For each distinct combination of MIDI output port and MIDI channel to which you wish Hauptwerk to send MIDI you should create a single MIDI output path object using the General settings | MIDI output paths screen:
Ensure that you have one MIDI output path object for each distinct combination of MIDI output port and channel to which you wish Hauptwerk to send MIDI. There are no restrictions on which MIDI channels and ports can be used for output from any of Hauptwerk's virtual controls. For example, if you have MIDI solenoid-actuated draw-knobs, you can arrange it so that Hauptwerk sends MIDI messages to each on any port and channel that is convenient.
If it helps to clarify that MIDI output paths are nothing more than an abstraction of MIDI port and channel, assuming you are just using one MIDI output port, simply rename each output path entry according to the MIDI channel selected for it. For example, since MIDI channel 3 is selected by default for the path whose default name is 'Keyboards: div 2 (Great)', change the name of that path from 'Stops/couplers: div 2 (Great)' to 'MIDI channel 3'. Repeat for each of the others. For consistency, you might then want to insert additional entries for the remainder of the 16 possible MIDI channels.
Keyboard MIDI outputs
Use the General settings | Keyboard MIDI outputs screen to define logical outputs to which MIDI can be routed directly from the virtual keyboards of Hauptwerk's sample sets:
Note that there is a subtle difference here with the input system: for keyboard MIDI inputs you define the hardware that you have (MIDI keyboards) so that Hauptwerk can interpret messages from it correctly. However, a keyboard MIDI output does not necessarily represent a real, physical MIDI keyboard. It is simply a logical 'route' or 'destination' to which output can be sent from one of a sample set's virtual keyboards. It might, for example, be used to send MIDI to an external voice expander.
Key action couplers will not affect any MIDI output sent in this way, i.e. the outputs will be pre-coupling. See the screen's question-mark help for more details.
There are no keyboard MIDI outputs defined by default, so you must insert them yourself if you want to send MIDI output from the virtual keyboards. The entries in the screenshot above are just examples.
It is useful to set the Default organ keyboard setting appropriately, since it is used to define the initial mappings to a sample set's virtual keyboards whenever a sample set is loaded for the first time.
The Organ settings | Connect organ keyboards to keyboard MIDI outputs screen is used to adjust the mapping between virtual keyboards and keyboard outputs for a sample set if the default mapping (determined by the Default organ keyboard setting) is not appropriate:
Division MIDI outputs
Use the General settings | Division MIDI outputs screen to define logical outputs to which MIDI can be routed directly from the virtual divisions (wind-chests) of Hauptwerk's sample sets:
Essentially, division outputs behave in the same way as keyboard outputs, except that output is sent post-coupling. Hence in many cases these outputs, rather than keyboard MIDI outputs, will be the most appropriate means by which to connect MIDI wind-chests and voice expanders. See the screen's question-mark help for more details.
There are no division MIDI outputs defined by default, so you must insert them yourself if you want to send MIDI output from the virtual divisions. The entries in the screenshot above are just examples.
There is also no default mapping mechanism for divisions; you must map divisions manually using the Organ settings | Connect organ divisions to division MIDI outputs screen when a sample set is loaded.
Rank MIDI outputs
Use the General settings | Rank MIDI outputs screen to define logical outputs to which MIDI can be routed directly from the individual virtual ranks of Hauptwerk's sample sets:
When mapped to an organ rank with Organ settings | Connect organ ranks to rank MIDI outputs (there is no default mapping), individual MIDI note-on/off messages are sent for each virtual pipe, which may give a high volume of MIDI traffic. See the screen's question-mark help for more details.
Continuous control MIDI outputs
Use the General settings | Continuous control MIDI outputs screen to define logical outputs to which MIDI can be routed directly from the individual virtual continuous controls of Hauptwerk's sample sets:
Set the Controller number for the MIDI continuous controller that Hauptwerk should send. The most common controller numbers are:
- 1 - Modulation wheel.
- 4 - Foot controller.
- 6 - Data entry control.
- 7 - Main volume.
It is important to set the Default organ control setting appropriately, since it is used to define the initial mappings to a sample set's virtual continuous controls whenever a sample set is loaded for the first time.
The Organ settings | Connect organ continuous controls to continuous control MIDI outputs screen is used to adjust the mapping between virtual continuous controls and continuous control outputs for a sample set if the default mapping (determined by the Default organ control setting) is not appropriate.
Switch MIDI outputs
Use the General settings | Switch MIDI outputs screen to define logical outputs to which MIDI can be routed directly from the individual virtual switch controls of Hauptwerk's sample sets, such as virtual draw-knobs and pistons:
You need to specify the message that should be sent when the virtual switch is engaged (the 'engaging event') and when it is disengaged (the 'disengaging event'). Any message type and MIDI input path can be used for either, with no restrictions.
Note that for MIDI note-on/off messages the Event value setting specifies the MIDI note number, with numbering starting from zero. For MIDI program change messages it specifies the program number, with numbering starting from one.
As with the other output screens, it is important to specify the Default organ switch setting when possible, since it greatly simplifies configuration of each new sample set loaded.
The Organ settings | Connect organ switches to switch MIDI outputs screen is used to adjust the mapping between virtual switches and output switches for a sample set if the default mapping (determined by the Default organ switch setting) is not appropriate:
Note that switch MIDI outputs can also be used as indicators for Hauptwerk's status, as described for System states indicated by switch MIDI outputs below.
System states indicated by switch MIDI outputs
Use the General settings | System states indicated by switch MIDI outputs screen to make Hauptwerk use external MIDI switches (usually indicator lamps) to show its system statuses:
You cannot insert or delete objects in this screen, since the object list always shows the list of all system states that can be sent to remote indicators. For each system state, either select the switch MIDI output that should be controlled by Hauptwerk to indicate the state, or select 'none' if you do not wish to indicate it remotely.
MIDI output LCD panels
Hauptwerk is able to control 32-character LCD panels to show labels specific to the sample set loaded. Usually this would be used to show stop, coupler, piston and other control names next to MIDI draw-knobs/tabs on an organ console so that their function is clear when multiple sample sets are used. However, one LCD panel can also be designated as a status display panel (using the General settings | General options screen), upon which Hauptwerk will display a summary of the information shown in its main window title and status bar, along with an indication of whether an error has occurred.
The messages are sent using a custom MIDI system exclusive message format each time that at a sample is loaded, unloaded or reset. The exception is the status panel, if present, which is refreshed each time a status changes.
Each hardware LCD panel should be programmed with a 2-byte identifier which identifies it uniquely. Up to 32 characters can be sent to each display, with the text data being sent as raw ASCII (8-bit) byte sequences. A colour code is also sent to each panel so that it can be back-lit or otherwise associated with a colour to indicate its broad function (stop, coupler, etc.) or grouping (division, etc.).
The format of the system exclusive messages (for hardware developers) is:
- Byte 1: 0xf0 - system exclusive start.
- Byte 2: 0x7d - fixed manufacturer ID.
- Byte 3: 0x01 - message type code for Hauptwerk LCD output message.
- Byte 4: - destination panel unique ID byte 1.
- Byte 5: - destination panel unique ID byte 2.
- Byte 6: - colour code (1=white, 2=red, 3=green, 4=yellow).
- Bytes 7-38: the 32 ASCII (8-bit) bytes for the text to display.
- Byte 39: 0xf7 - end of system exclusive message.
Note that no MIDI channel is sent, so, although a MIDI output path must be selected, it is only its MIDI port that affects the routing.
The General settings | MIDI output LCD panels screen is used to list all such LCD panels that you have connected to the computer:
The Default text source, Default organ switch and Default organ control settings are used to determine the text that will be sent to the panel for a given sample set when it is first loaded. Suggested LCD panel text and a colour code is specified in the sample sets for virtual switches and continuous controls, so by selecting a default switch or continuous control, Hauptwerk is able to use its text and colour information as a default for the LCD panel when a sample set is first loaded.
When a sample set is loaded, the Organ settings | MIDI output LCD panel text menu function allows the defaults to be overridden:
You can specify the text and colour code manually for each panel if you wish, or change the source from which it is drawn.
Note that no configuration is included for LCD panels by default to reduce MIDI traffic during activation and deactivation. However, a full example set is available; please contact Crumhorn Labs for support if you require it.
Custom MIDI configuration messages
If you have an external MIDI organ console or expander which requires some custom MIDI configuration messages for each sample set, you can use the Organ settings | Custom MIDI configuration messages to send screen when a sample set is loaded:
A message can be sent either when the sample set is activated or deactivated, and the exact number and sequence of raw MIDI bytes must be specified. Consult your hardware manual for this information if you need to use such messages.
|
|
|