1. Introduction

Regelwerk Editor v2.0

1. Introduction

1.1 General Info
1.2 Setup

2. Main Menu

2.1 File Menu
2.2 Edit Menu
2.3 Options Menu
Warning Messages
Midi Monitor Active
Midi Activity
Motor Faders
Fader Auto Select
Explorer Stay On Top
Hook Mode
Overdup Mode
2.4. Settings Menu
Midi Device Settings
Midi Controller Init Settings
pocketC Import Settings
2.5. Device Info
2.6. Windows Menu
2.7. Help Menu

3. Regelwerk Explorer

4. Virtual Regelwerk

4.1. Virtual Regelwerk
Fader Select Buttons
Faders
Key On/Off Buttons
Snapshot
Start, Stop, ... Buttons
Midi Activity
Preset
Status Bars
 Main Menu
File Menu
Edit Menu

4.2. Midi Settings

5. Presets

5.1. Presets Window

Main Menu
File Menu
Edit Menu

5.2. Fader & Key Parameters

Main Menu
File Menu
Edit Menu

Fader Select Buttons

5.3. Special Keys

5.4. Preset Notes

6. Patterns

6.1. Patterns Window

Main Menu
File Menu
Edit Menu

6.2. Event Editor

6.3. Track Parameters

6.4. Step Parameters

6.5. Track Edit Tools

6.6. Pattern Notes

7. Midi Monitor

Appendix

A.1. General Info about Regelwerk

A.2. Presets
Special Keys
Faders
1) Fader Parameters
2) Fader Edit
Buttons

A.3. Patterns
Pattern Parameters
Step Parameters

A.4. Special Functions

A.5. File Types

A.6. Input Windows
Piano Window
Values Window
Controllers Window
Gate Time
Startstep/Endstep
Midi Channel
Drumkits

A.7. Examples

1. Introduction

1.1. General Info
Actually the Regelwerk does not support direct editing of its parameters by MIDI Sysex commands. It is only possible to send and to receive complete Presets or Patterns from the Regelwerk.
Because of these limited possibilities, the Regelwerk Editor simulates a Virtual Regelwerk on the PC.
This makes it possible to create and test the Presets on the PC. Patterns can be edited, created and stored but not tested in the Editor (it does not include a MIDI Sequencer)
At any moment Presets and Patterns can be sent to the Regelwerk and stored in its internal memory.
Everything has been developped and tested on Regelwerk OS v1.71 (it is absolutely recommanded to upgrade to this OS version)

Some program features:
* The Editor (in the actual version) completely (I hope I forgot nothing) simulates the Preset Part of a Regelwerk
on the PC (thus it can even be usefull to People that don't have a REAL Regelwerk, but everone should have one!!)
You also can use this Virtual Regelwerk to test some special modes of the real Regelwork. (like hook mode,...)
* Different input possibilities for parameter input (e.g. a keyboard for midi notes, tabel for midi controllers,...)
* Several Editors for Patterns
* Possibility to set some pattern parameters not available on the real Regelwerk (e.g. patterns can not only be used to send notes but also controllers,prg changes,...)
* Possibility to create a sheet with Fader and KeyOn/Off Names that fits on the Regelwerk
* Presets and Patterns can have a name and notes (to describe the Preset or Pattern), they can be saved to disk or sent directly to the Regelwerk.
* You can send and receive Presets and Patterns from the Regelwerk.
* You can print the Fader and Button Parameters of all the 24 Faders on one page.
* You can copy,paste,swap Faders, Keys, Presets and Patterns
* All Preset and Pattern data are stored automatically when you leave the program. The next time you start the program all Preset and Pattern data are restored, you can continue your work where stopped before.
* The Editor manages 64 Presets and 64 Patterns just as the Regelwerk does (with up to 64 extra Buffers)
* All changes apply immediately and can be tested immediately (just as on the real Regelwerk)
* Saving Single Presets and Patterns into Standard Midi Files (this way it is possible to use the Presets on non Windows PCs)
* Import of pocketC Presets.
* Midi Monitor
...

Known limitations:
* I cannot guarantee that everything works exactly as the Regelwerk. Of course it should,
but there are so many possibilities that it is nearly impossible to check everything
(please report any differences you find so that they can be fixed). Also there are still
some small bugs in the Regelwerk (v1.71),these are not being simulated;-)
Instead I surely added my own bugs;-))
..

Important Hint:

Always check the context menu (right mouse click) !!!

In all text windows, it is posssible to use Ctrl-C and Ctrl-V to copy/paste data.

1.2. Setup

2. Main Menu

There is one Menu wich adapts dynamically to the different Windows.
The Options, Settings and Windows menus are the same for all windows.

2.1. File Menu
2.2. Edit Menu
The File Menu and the Edit Menu do change slightly for the different windows, but they always give you access to functions like:
Load, Save, Send, Exit, Display Parameters, Display Description
Copy; Paste, Init

2.3. Options Menu

Warning Messages
Some functions generate Warning Messages, these can be turned on or off here.
Midi Monitor Active
The Midi Monitor function can be turned on or off here.
Midi Activity
It is possible in the Virtual Regelwerk window to display LED's showing Midi Activity.
Those LED's can be turned on/off here.
Motor Faders
Unlike the real Regelwerk, the program can simulate Motor Faders. If Motor Fades is turned on and you select a new Preset, all Faders move in the correct positions. Also if you change certain parameters the Faders move according to those settings.If you want the editor to behave like the real Regelwerk turn this function off here.
Fader Auto Select
If this option is turned on and you move a Fader in the Virtual Regelwerk window the Fader gets selected and its parameters are displayed in the Fader & Key Parameters window.
If it is turned off, moving a Fader does not select it automatically.
Explorer Stay On Top
The Explorer window wich allows to open and close all program windows can be configured to always stay on top of other windows for fast access.
Hook Mode
Overdup Mode
Hook mode and Overdup mode are exlained in detail in the Appendix.
Those modes can be turned on here for the Virtual Regelwerk.
On the real Regelwerk the Hook Mode and the Overdup Mode must be turned on in the Menu "Special Func.".

2.4. Settings Menu

Midi Device Settings
Opens the window for setting and configuring Midi In/Out devices for the Virtual Regelwerk, see Midi Settings for more details. This window can also be accessed from the Regelwerk Explorer.
Midi Controller Init Settings
In the Regelwerk Editor it is possible to initialize Faders and/or Keys with Midi Controllers. This can be configured here. See Init Midi Controllers for more information.
pocketC Import Settings
The Regelwerk Editor has the possibility to import Presets from the DOEPFER POCKETCONTROL. This import can be configured here. The Regelwerk supports nearly all the possiilities of the pocketC.

Import Settings:
The pocketC has 2 groups of 8 knobs. It is possible to configure how the settings for those knobs will be copied to the 24 faders of the Regelwerk. It is also possible to clear fader and button settings automatically when importing a pocketC Preset and import the description and/or names of the pocketC preset.

Master Channel:
On the pocketC knobs can be configured to send on the master channel, it is possible to determine which midi channel will be used in the Regelwerk for those knobs.

Fader Settings:
It is possible to set here the threshold level for the faders.
All Faders will be set to one of the following midi modes:
Fader Event>Output 1
Fader Event>Output 2
Fader Event>Output 1&2
this can be configured here.

Import Limitations:
There are some (not very important) limitations concerning the import of pocketC Presets.
Some Events (listed in the dialog) are not supported by the Regelwerk (because they would need two variable parameters).
A warning message can be displayed if you try to import a Preset including one of these events.

2.5. Device Info
This opens up a window giving some information about Midi devices and eventual Midi device problems. This has been added for debugging purposes, but as it may eventually be usefull it has not been removed from the program.

2.6. Windows Menu

This menu gives you the possibility to open and select (not close) the different windows from the Main Menu and to select the different windows in the program.
This is also the only possibility to reopen the Explorer Window if you close it.
Checkmarks indicate wich windows are actually open.

2.7. Help Menu
Displays this help text and program information.

3. Regelwerk Explorer

The Explorer window gives you the possibilty to navigate thru the Regelwerk Editor program, at the same time it helps (at least it should help) to understand the structure of the program and also of the real Regelwerk.

Left Click:
By left-clicking on windows names the corresponding window opens (if necessary) and gets topped.
By left-clicking on the checkbox it is possible to open and close the corresponding window.

Right Click:
By right-clicking on a window name you can "solo" that window, the corresponding window opens and all other windows (excepted the explorer window itself) get closed
This can be helpfull e.g. if you have opened several windows and want to "clean up" the screen.

N.B. If the checkbox of the Midi Monitor is red then the Midi Monitor is active. (to turn on/off the midi Monitor see Midi Monitor)

4. Virtual Regelwerk

This window represents the simulated Regelwerk. The faders and buttons work mainly as in the real Regelwerk with some additional features.
As there is actually no possibiliy to edit Presets (or Patterns) directly in the Regelwerk by using Midi commands, this Virtual Regelwerk has been implemented in the Editor. This window offers the possibility to test your Presets on the PC. If it works, Preset data can be sent to the Regelwerk for further testing.
It is possible to configure the Editor to use the real Regelwerk and the virtual Regelwerk together. This way it is possible to to edit your Presets on the PC, send the Preset to the real Regelwerk, test it on the virtual or the real Regelwerk (or both) without having to leave the Editor. (see Midi Settings for more information).
It is also possible to do some editing on the real Regelwerk and send those changes to the Editor, this way you can choose the way you prefer to work.

4.1. Virtual Regelwerk

Fader Select Buttons
These Buttons select the fader whose parameters are being displayed in the Parameters Window.
Context menu:

* Show Parameters
Switches to the Parameters Window and display the corresponding fader's parameters.
* Copy Fader & Key Parameters
Copies the fader parameters in the copy buffer.
* Paste Fader & Key Parameters
Copies the contents of the copy buffer to the fader's parameters
* Paste Fader & Key Parameters w/Clipboard
Swaps the buffer contents with the fader's parameters,
example: copy on button 6 (buffer holds parameters of fader 6)
paste on button 7 (after pasting, the buffer still holds the parameter of fader 6)
paste w/Clipboard 8 (after pasting, the buffer now holds the parameters of fader 8)
This can be used to swap faders.
* Init Fader & Key Parameters
Initializes the fader parameters to the factory default.
* Clear Fader & Key Parameters
Clears all fader parameters (No Status)
* Init Faders & Key Parameters with Midi Controllers
See Settings-> Midi Controller Init Settings for more details.
* Reload Preset
Restores the factory settings for all the faders of the selected Preset
* Learn Ev
The next Midi event (on any activated Midi port) becomes the fader's event.
* Learn Ev>Str
Up to 30 midi bytes are stored as fader parameters.
* Learn Sx>Str
Up to 30 midi bytes are stored as fader parameters (only Sysex data)

When learn mode has been activated the LEARN text flashes. Learn mode can be interupted at any moment by clicking one the LEARN text.
The Learn functions can also be selected by right-clicking on the LEARN text.

Fader Parameters can also be copied by simly dragging one fader select button to another.
When holding down the shift button while dragging, Faders are swapped.

Faders
Faders work like the faders on the real Regelwerk (but they can be motorized, see Motor Faders)

The copy, paste, init, clear functions are similar to the functions in the context menu of the fader select buttons, but they only act on the fader parameters here (key parameters are not beeing affected)

Key On/Off Buttons
The Buttons work like the Key On/Off Buttons of the Regelwerk with one exception, it is not possible to move a fader while holding down a button (in fact, if you have a wheel mouse it is possible to do it, by moving the wheel, at least it works on my PC ;-))

The copy, paste, init, clear functions are similar to the functions in the context menu of the fader select buttons, but they only act on the key parameters here (fader parameters are not beeing affected)

Snapshot
The Snapshot button does not work the same than the Regelwerk's button. In the Editor the Snapshot button sets the initial values for all faders.
Just move all the faders in the desired starting position and press Snapshot, all Values parameters will be set using the fader positions. (see Fader Parameters for more details on the value parameter)

Start, Stop, ... Buttons
These buttons do send the Midi Strings that have been programmed (see Special Keys). Actually, as there is no sequencer function they do not have any other functions. The OK button does not have any function at all as all changes apply immediately.

Midi Activity
These Leds show Midi Activity (this can be disabled, see Midi Activity)

Preset
<< : Previous Preset
>> : Next Preset
Notes: Display Preset Notes

Status Bars
The status bars display Fader/Key Names, the events associated with the Faders and Key On/Off and the actual Fader Value.

Main Menu

File Menu

Init Preset

The init functions are similar to the functions in the context menu of the fader select buttons, but the complete Preset is beeing affected (all 24 faders and buttons)

Preset Snapshot

Same function as the Snapshot Button

Open Preset

Load a songle Preset from disk into the actually selected Preset. For more details on file types, see File Types

Save Preset

Saves the actual Preset to disk in the Regelwerk editor format or in standard Midi format, see File Typesfor more information.

Display All Fader Parameters

This displays the parameters for all 24 faders/keys in a text window. There are no sophisticated formatting options, but it is possible to use Ctrl-C, Ctrl-V to copy and paste. This way it is possible to use an external Editor or Word processing program to do special formatting.

Print All Fader Parameters

The parameters for all 24 faders/keys and the special keys are printed onto a single A4 page. If further formatting is necessary, then use the Display All Fader Parameters function and Paste data to an external program for further treatment.

Display Fader & Key Description
Print Fader & Key Description

All Fader/Key Names are being displayed/printed in table format.

Cutting the three stripes and gluing them together gives you the possibility to create a single stripe of paper that fits exactly on the real Regelwerk

Send Preset

Send the actual Preset to the real Regelwerk. See Midi Settings for more information..

Close

Closes the the Virtual Regelwerk window.

Exit

Exit the program.

All Presets, Patterns, the screen layout and all settings are saved automatically and are restored on program start.

Edit Menu

The edit menu gives you the possibility to copy, paste and init the parameters.

Fader & Key Parameter functions affect all fader and Key On/Off parameters.

Key Parameters functions affect all Key On/Off parameters.

Key On Parameter functions are limited to Key On parameters.

Key Off Parameter functions are limited to Key Off parameters.

Fader Snapshot
This is similar to the Snapshot Button, but it only affects the selected Fader.

Reload Preset
Reloads the current Preset

Next Preset
Selects the next Preset.

Previous Preset
Selects the previous Preset.

4.2. Midi Settings

This dialog gives you the possibility to setup the Midi configuration of the Regelwerk Editor.
Usually the Midi-Out1 Port of the Regelwerk should be connected to some PC Midi In Port and the Midi-In1 Port of the Regewerk should be connected to some PC Midi Out Port.

Regelwerk->PC
If you want to transfer data from the Regelwerk to the PC it is necessary to select here the corresponding PC Midi-In Device.

PC->Regelwerk
If you want to transfer data from the PC to the Regelwerk it is necessary to select here the corresponding PC Midi-Out Device.

Send Delay (ms)
As it is actually not possible for the Regelwerk to signal to the editor when it is ready to receive the next Preset/Pattern. For this reason, when sending several Presets/Programs, the program simplys adds a certain delay before sending the next Preset/Pattern. The Preset values should normally work without any problems.
It is probably possible to reduce this delay time, so that the global time when sending several Presets/Patterns will be reduced. But the delay time is not fixed, as the Regelwerk may have to rearrange its internal memory, therefore if you have problems it might be necessary to increment those values again.

Midi Thru
Incoming Midi Data may be "thrued" to one or several Midi Output devices. This is usefull if you want to use e.g. an Midi keyboard or the Regelwerk while using the Editor.
The Thru Devices->Input Devices list gives you the possibility to select the devices that will be "thrued".
The Thru Devices->Output Devices list selects the devices to which the Midi data will be sent to.
To activate the Midi Thru function the Thru Box must be checked.
Realtime messages or Sysex messages will only be "thrued" if the corresponding checkbox has been checked.

Midi Device Names
If using a Midi Interface with several Midi Ports (here the Unitor 8) I do always have problems to remember which Midi Instrument is connected to wich Midi-Port. Therefore it is possible to rename the Midi Ports (here the Unitor In 03 has been renamed to MC-505).
These names are also saved when exiting the program and restored on program start.

The real Regelwerk has two Midi In/Out ports. The PC can have much more Midi Ports. For this reason the virtual Regelwerk (which should simulate the real Regelwerk) has two virtual Midi In/Out ports. It is possible to associate any combination of PC Midi Ports to those virtual Midi In/Out Ports.

example:
With the settings in the window above, if you configure a Fader in the virtual Regelwerk to use Midi In and Midi Out 1, then that Fader will receive data from LB1 (yes a fader can receive data ;-) , see Fader Parameters for more details) and that Fader will send to ESFM Synthesis and LB1.

The Midi Ports can also be renamed in these windows. Changing it in one window will of course affect the other windows too.

5. Presets

The Regelwerk has 24 Faders and 24 Buttons plus some special keys. A configuration of all these parameters is called a Preset. The Regelwerk has 64 memory locations for Presets

The Presets windows manages the 64 Presets (plus up to 64 additional buffers). In this window it is possible to copy, rearrange, initialize, save, load,... the Presets.

The Fader & Key Parameters window displays all the parameters of a single Fader/Key. It is possible here to edit all parameters (using tables and/or drop down menus) of a single Fader/Key. It is also possible to test the Fader/Key without having to switch to the virtual Regelwerk. Fader/key data can be copied and initialized. Several Faders/Keys can be edited simultaneasly.

In the special Keys windows the Start,Stop,... buttons can be programmed.

In the Preset notes window a description or any text can be added to the Preset.
(check for example the Cubase Preset)

5.1. Presets Window

Main Menu

File Menu

Init

Init single Presets, the selected Presets or all Presets.

Open

Single Preset
This loads a single Preset from disk overwriting the actual Preset.If the selected file contains more Presets, only the first Preset will be loaded.
Presets
All Presets in the selected file will be loaded. Every Preset will be loaded into the same Preset memory where it has been saved from.
Presets Sequentially
All Presets in the selected file will be loaded. The first Preset will be loaded into the actual Preset memory, the second Preset in the file will be loaded into the next Preset memory,...

Save

Single Preset
The selected Preset will be saved to disk either as .RPR or .MID file (see File Types for more details on file formats)
Selected Presets
Saves selected Presets to disk as .RPR file
All Preses
Saves all Presets to disk as .RPR file
Selected Presets As Single Files
Saves selected Presets as single .RPR or .MID files (each Preset gets saved to a separate file)
All Presets As Single Files
Saves all Presets as single .RPR or .MID files (each Preset gets saved to a separate file)

Send

Sends a single or the selected Presets to the Regelwerk.
If a Preset is sent to the Regelwerk it is not automatically selected in the Regelwerk, you need to recall the Preset on the Regelwerk to test or to use it. (if Warning Messages in the Settings Menu is activated then a Warning message will be displayed

Edit Menu

5.2. Fader & Key Parameters

Main Menu

File Menu

Edit Menu

Fader Select Buttons

Faders

Midi Event

Controller
Controller Number

Controller Value

Midi Mode

Key On/Off Event

Note Event

Switch Mode

Multi Select

Fader

5.3. Special Keys

5.4. Preset Notes

6. Patterns

6.1. Patterns Window

Main Menu

File Menu

Init

Open

Save

Send

Edit Menu

6.2. Event Editor

Piano Window

Main Window

Runmode

6.3. Track Parameters

6.4. Step Parameters

Context Menu

6.5. Track Edit Tools

6.6. Pattern Notes

7. Midi Monitor

The Midi Monitor shows Midi In data (in red) and Midi Out data (in blue).
Midi Data are only displayed by the Midi Monitor if the corresponding Midi Device has been activated in the Midi Settings window.

Double clicking on a Midi Event displays the Midi Message in hex format in a separate text window. This is particularly usefull for long (sysex) midi messages.

Context Menu

Appendix

A. 1. General Info about Regelwerk

A.1.1. Preset
The Regelwerk has 24 Faders and 24 Buttons plus some special keys. A configuration of all these parameters is called a Preset.
The Regelwerk has 64 memory locations for Presets.
A.1.2. Pattern
The Regelwerk also has a Sequencer Part with 8 Tracks having 16 Steps each. Each Track has several parameters as well as each step. A configuration of all 8 tracks is called a Pattern. There are 64 Pattern memories in the Regelwerk.
A.1.3. Fader position
This depends only on the slider position it is always between 0 and 127 (on the Regelwerk it is displayed in square brackets [] behind the Fader Name)
A.1.4. Fader value
This is the value corresponding to the fader position, it depends on the slider position and the values for LowerVal and Upper Val
It is always between LowerVal and UpperVal.
A.1.5. Real Value
This is the effective actual value of the fader, this depends on LowerVal and UpperVal, but not necessarily on the actual Fader Position.
Usually this is the same than Fader value but the are some special modes where this is not true, e.g. the fader value may be changed by incoming Midi Messages. As the Regelwerk does not have Motor Faders the Faders cannot follow these changes by moving into the right position. In this case the real value does not correspond to the Fader value (on the Regelwerk it is displayed behind the Fader Name).

A.2. Presets
Special Keys
Faders
1) Fader Parameters

Parameter

Range

Lower Val | 0-127
Upper Val | 0-127
Value | LowerVal-UpperVal
Threshold | 0-63
Actmode | Immediate, Relative, Catch
Midi Mode | Fader Event,Velocity Overdup On,Velocity Overdup All,Velocity Multiply One,
 | Velocity Multiply All,Update Fader,Hook On Fader,Overdup Mode
Master/Slave Mode | Master, Slave/Master 1..24

* LowerVal: 0-127
LowerVal corresponds to the value when the Slider is at the bottom.
* UpperVal: 0-127
LowerVal corresponds to the value when the Slider is at the top position
Those two values determine the range of values produced by the fader
N.B.: a) It is posssible to set UpperVal lower than LowerVal
b) The default setting 0-127 is faster as no scaling is necessary
* Value (Real Value)
When a Preset is loaded into the Regelwerk ( in the real Regelwerk, by using the function "Get Preset" on the virtual Regelwerk by selecting the corresponding Preset) all Faders are being initialized with a certain value, called here the Real Value. As the Regelwerk does not have Motor Faders the Faders do not move into the corresponding position (if Motor Faders is turned on in the virtual Regelwerk, then the onscreen Faders move into the correct position)
This value is set only when the Preset is loaded from memory. But it is possible to change this value in certain midimodes by incoming midi data.
In the real Regelwerk this Parameter cannot be set in a menu, but the Preset simply uses the actual Fader Values when you save a Preset by the function "Store Preset".
In the Editor there is no Store function, all changes are immediate, therefore it is possible to set those values in the Fader&Key Parameters Window directly. It is also possible to use the same procedure than on the real Regelwerk, by moving all Faders in the desired positions and using the Snapshot Button on the virtual Regelwerk.
* Threshold: 0-63
Determines the size of the catch window or a threshold level for fader movement.
* Actmode: This determines how Fader movement is translated into output Values
a) Immediat: = Immediate Mode
In this mode when you move a Fader, the corresponding value is the fader value. (the Real Value has no significance here).
A Fader starts sending data when it has been moved at least the amount corresponding to the threshold level.
N.B.: In this mode jump of values can occur, because the values depend direcly on the fader position.
When you load a Preset into memory on the real Regelwerk, flashing leds give you an indication where to to move the different faders.
The flashing led (above or below the fader) gives you an indication where to move the fader to reach the Real Value.
In this mode the leds stop flashing however, once the fader starts sending values.

b) Relative = Relative Mode
In this mode, when the real value is being set (usually when you recall the Preset from memory), the actual physical position of the fader corresponds to that value. If you move the fader the Fader Value changes relative to the real value:
If e.g. the Real Value (=the value stored with the Preset) is 24 then moving the fader up will give you 25,26,... moving it down will give 23,22,... whatever the initial physical position of the fader was.
N.B.: In this mode the are no value jumps as the fader values always strt with the Real Value, but as fader movement is limited it is not sure that it is possible to get the full value range. (e.g. when you load the Preset and the fader is at the upper position, you can get no values higher than the real value)
N.B.: It is also possible to get values out of the range selected for the fader.
The threshold level has no significance here.

c) Catch = Catch Mode
This may often be the best mode if you do not want to have value jumps but want to be sure to have the full value range.
In this mode the fader does not send values immediately. It only starts sending values if the fader has been moved over the real value. In fact it starts sending values if the fader moves within a certain range of the Real Value. This range is determined by the threshold level.
When you load a Preset into memory on the real Regelwerk, flashing leds give you an indication where to to move the different faders.
The flashing led (above or below the fader) gives you an indication where to move the fader to reach the Real Value.
The leds stop flashing once the fader starts sending values, meaning that the fader has been moved within the catch range of the Real Value.

* Midi Mode
A Fader first of all is able to send midi data to MidiOut1 and/or to MidiOut2
But a fader can also receive midi data.
Incoming midi data (from MidiIn1 and/or MidiIn2) can be transformed by the fader or can change the Real Value of the Fader.
(To simulate this, on the virtual Regelwerk there are two virtual MidiIn ports and two virtual MidiOut ports configured in the Midi Settings Window)
N.B.: Actually only NoteOn/Off messages or Controller Messages are being handled.
N.B.: If one Fader is set to a midimode handling midi input, then on incoming midimessages (NoteOn/Off and Controller messages only ) all 24 faders are being checked (starting with fader 1). If one fader handles the corresponding message the check is stopped. So it is not possible to transform an incoming event by more than one fader.
N.B.:Therefore it is recommended to use the first faders for handling incoming midi data (as they are being found faster) and not to program faders for events that do not appear, as then the 24 faders will be checked without success (->Worst Case)
For all Midi modes you select a MidiIn port (I1 or I2) and a combination of MidiOut ports (----,O1,O 2,O12)
N.B.: If a MidiOut port has been selected and the fader has not been muted, moving the fader will send data to the output(s).
If using this mode it can be usefull to mute the corresponding Faders. (see KeyOn/Off Parameters)

a) Fader Event (FaderEvent>O(1)(2))
This is the normal mode
No Midi Input.
Midi Output to the selected MidiOut ports.
b) Velocity Overdup One (I1/2>VelOvpOne>O(1)(2))
The Midi Event at the selected Midi Input is compared to the Fader Event.
If the first two bytes correspond exactly the second data byte is replaced by Fader Value.
(even if the Fader has been programmed to a fixed value)
Other Midi Events are not handled (they are not put thru to the output of the Regelwerk)
* NoteOn/Off
Channel and Note Number must be the same, the velocity is replaced by Fader Value
* Controllers
Channel and the Controller Number must be identical, the controller value is replaced by Fader Value.
e.g.:
 | Fader | Input | Output
Event Type | Note Event | Note On | Note On
Channel | 1 | 1 | 1
Data Byte 1 | C4 | C4 | C4
Data Byte 2 | any | any | Fader Value

(same Event Type, same Channel, same Note Number (C4))
 | Fader | Input | Output
Event Type | Note Event | Note On | ------------
Channel | 1 | 1 | ------------
Data Byte 1 | C4 | not C4 | ------------
Data Byte 2 | any | 50 | ------------

(different Note Number)
 | Fader | Input | Output
Event Type | Controller | Controller | Controller
Channel | 2 | 2 | 2
Data Byte 1 | Volume | Volume | Volume
Data Byte 2 | any | 27 | Fader Value

(same Event Type, same Channel, same Controller (Volume))
 | Fader | Input | Output
Event Type | Controller | Controller | ------------
Channel | 2 | 2 | ------------
Data Byte 1 | Volume | not Volume | ------------
Data Byte 2 | any | 27 | ------------

(different Controller)

c) Velocity Overdup All (I1/2>VelOvpAll>O(1)(2))
The Midi Event at the selected Midi Input is compared to the Fader Event.
If the first byte corresponds exactly the second data byte is replaced by Fader Value.
(even if the Fader has been programmed to a fixed value)
* NoteOn/Off
Channel must be the same, the Note Number is left unchanged and the velocity is replaced by Fader Value
* Controllers
Channel must be identical, the Controller Number is left unchanged and the controller value is replaced by Fader Value.
e.g.:
 | Fader | Input | Output
Event Type | Note Event | Note On | Note On
Channel | 1 | 1 | 1
Data Byte 1 | any | Note Number | Note Number
Data Byte 2 | any | any | Fader Value

(same Event Type and same channel)
 | Fader | Input | Output
Event Type | Note Event | Note On | ------------
Channel | 2 | 1 | ------------
Data Byte 1 | any | any | ------------
Data Byte 2 | any | 50 | ------------

(wrong channel)
 | Fader | Input | Output
Event Type | Controller | Note On | ------------
Channel | 2 | 2 | ------------
Data Byte 1 | Volume | Volume | ------------
Data Byte 2 | any | 27 | ------------

(wrong event type)

d) Velocity Multiply One (I1/2>VelMulOne>O(1)(2))
This mode is similar to Velocity Overdup One.
The Midi Event at the selected Midi Input is compared to the Fader Event.
If the first two bytes correspond exactly the second data byte is multiplied by Fader Value (Fader Value 127 corresponds to factor 1).
(even if the Fader has been programmed to a fixed value)
Other Midi Events are not handled (they are not put thru to the output of the Regelwerk)
* NoteOn/Off
Channel and Note Number must be the same, the velocity is multiplied by the Fader Value.
* Controllers
Channel and the Controller Number must be identical, the controller value is multiplied by Fader Value.

e) Velocity Multiply All (I1/2>VelMulAll>O(1)(2))
This mode is similar to Velocity Overdup All.
The Midi Event at the selected Midi Input is compared to the Fader Event.
If the first byte corresponds exactly the second data byte is multiplied by Fader Value (Fader Value 127 corresponds to factor 1)..
(even if the Fader has been programmed to a fixed value)
* NoteOn/Off
Channel must be the same, the Note Number is left unchanged and the velocity is multiplied by Fader Value
* Controllers
Channel must be identical, the Controller Number is left unchanged and the controller value is multiplied by Fader Value.

f) Update Fader (I1/2>UpdateFad>O(1)(2))
In this mode incoming Midi Data can change the Real Value of the Fader
The Midi Event at the selected Midi Input is compared to the Fader Event.
If the first two bytes correspond exactly the the Real Value is set to Fader Value.
This can be used e.g. for Total Recall.
example:
Suppose you want to control the Audio Mixer in Cubase.
It is no problem to control the Faders in Cubase by the Regelwerk Faders.
But when you move a Fader on Screen the value of the Regelwerk Fader will correspond no more to the Fader Position in Cubase (because the Regelwerk does not have Motor Faders). The result is that moving the corresponding Regelwerk Fader will result in a jump of the Cubase Fader.
This can be eliminated by using Update Fader together with the Catch mode .
The Update Fader Midimode gives Cubase the possibility to update the Real Value of the Fader.
Using Catch mode will eliminate value jumps, as the Regelwerk Fader will send values only if it reaches the (new) Real Value.
(for this you need of course a bidirectional Midi connection between Cubase and the Regelwerk)

g) Hook On Fader (I1/2>HookOnFad>O(1)(2))
For this mode to work the Hook Mode must be activated (in the Regelwerk, Menu Special Funct.)
If the Hook Mode is activated Faders using this midimode cannot send Midi Data.
Each Fader remains disabled until an incoming Midi Event "catches" the Fader Event (the catch range is determined by Threshold).
When the Fader gets enabled (= can send Midi Data) the corresponding Led shows this by blinking fast.

h) Overdup Mode (I1/2>Overdup/Fad>O(1)(2))
For this mode to work the Overdup Mode must be activated (in the Regelwerk, Menu Special Funct.)
If the Overdup Mode has been activated all incoming Midi Events corresponding to the Fader Event are put thru to the selected MidiOut port(s).
This works this way until the Fader has been moved and sent Midi Data. From that moment on, only Events generated by the Fader are being transmitted to the MidiOut port(s).

* Master/Slave Mode
- Master
A Fader set to Master will send data if you move the corresponding fader. (if it has been programmed to do so, this is the normal mode)
- Slave/Master n (n=1-24)
In this mode the master fader will control data sent by the slave fader(s), the range of values sent by the slave faders when moving the master fader is determined by the position of the slave faders. Moving the slave faders will not send any midi data.
example:
------------------------------------------------------
Fader 1:
Ctrl 1 ( Range 0-127)
Ch 1, CTRL 1
Slider = Master
------------------------------------------------------
Fader 7:
Ctrl 7 ( Range 30-100)
Ch 1, CTRL 7
Slider = Master/Slave 1
------------------------------------------------------
Fader 8:
Ctrl 8 ( Range 0-127)
Ch 1, CTRL 8
Slider = Master/Slave 1
------------------------------------------------------

In this mode the Fader 7 and Fader 8 are slaves of Fader 1.
If you move Fader 7 or Fader 8 (the slaves) no midi data will be sent.
If you move Fader 1 (the master) it will send its own midi data (Ctrl 1) and the data corresponding to its slaves Fader 7 and Fader 8 (Ctrl 7, Ctrl 8).
The setting of Fader 7 and Fader 8 (the slaves) is used to determine the range of values sent when moving the master fader.

some examples:
Fader 7 (position) | Fader 8 (position) | Fader 7 sends | Fader 8 sends | Fader 1 sends
100 | 127 | -------------- | -------------- | Ctrl 1 : 0-127 master Ctrl 7 : 0-100 slave Ctrl 8 : 0-127 slave
30 | 0 | -------------- | -------------- | Ctrl 1 : 0-127 master Ctrl 7 : 0-30 slave Ctrl 8 : ----- slave
60 | 85 | -------------- | -------------- | Ctrl 1 : 0-127 master Ctrl 7 : 0-60 slave Ctrl 8 : 0-85 slave

N.B.Due to scaling, the range values for slave output are no exact values, the real range will probably not be exactly 0-60 and 0-76

2) Fader Edit

Event

Channel

Data Byte 1

Data Byte 2

Controller | 1-16 | Controller Number | Sld,0-127 | Controller Value | Sld,0-127
Program Change | 1-16 | Program Number | Sld,0-127 | -------------------- | --------------------
Mono Aftertouch | 1-16 | Pressure Value | Sld,0-127 | -------------------- | --------------------
Pitch Bend | 1-16 | Low Byte | Sld,0-127 | High Byte | Sld,0-127
String | ------- | String X Position | 0-29 | -------------------- | --------------------
Extension | ------- | ------------------------------ | -------------- | -------------------- | --------------------
Track Pattern | Trk Nr:1-8 | ------------------------------ | -------------- | -------------------- | --------------------
Track End | Trk Nr:1-8 | ------------------------------ | -------------- | -------------------- | --------------------
Track Velocity | Trk Nr:1-8 | ------------------------------ | -------------- | -------------------- | --------------------
Track Note | Trk Nr:1-8 | ------------------------------ | -------------- | -------------------- | --------------------
Step Velocity | Trk Nr:1-8 | Step Number | 1-16 | -------------------- | --------------------
Step Note | Trk Nr:1-8 | Step Number | 1-16 | -------------------- | --------------------
No Status | ------- | ------------------------------ | -------------- | -------------------- | --------------------
Note Off | 1-16 | Note Number | Sld,0-127 | Note Off Velocity | Sld,0-127
Note Event | 1-16 | Note Number | Sld,0-127 | Note On Velocity | Sld,0-127
Poly Aftertouch | 1-16 | Note Number | Sld,0-127 | Aftertouch Value | Sld,0,127

Controller
Event | Channel | Data Byte 1 (Controller Number) | Data Byte 2 (Controller Value)
Controller | 1-16 | Sld,0-127 | Sld,0-127

Sends Midi Controller Messages. Usually the first data byte is a fixed value (Volume, Pan,...) and the second data byte is set to Sld, sending controller values depending on the fader position (min and max values can be set using lowerVal andupperVal)

Midi Channel: 1-16
Midi Event: Controller
Sysex String: ---------------
1. Midi Data Byte (Note Number):
0-127 (this corresponds to Controller 0,...,Controller 127)
Sld (the actual Slider value is used as Controller Number)
2. Midi Data Byte (Velocity):
0-127 (a fixed Controller Value is used)
Sld ( the actual Slider value is used as Controller Value)
Program Change
Event | Channel | Data Byte 1 (Program Number) | Data Byte 2 (---)
Program Change | 1-16 | Sld,0-127 | ------------------------------

Sends Program Change Messages. The first data byte represents the program number, ususally set to Sld.

Midi Channel: 1-16
Midi Event: Program Change
Sysex String: ---------------
1. Midi Data Byte (Program Number):
0-127 (this corresponds to Program Number 0,...,127,on certain instruments these are called 1-128)
Sld (the actual Slider value is used as Program Number)
2. Midi Data Byte (---):
not used
Mono Aftertouch

Event | Channel | Data Byte 1 (Pressure Value) | Data Byte 2 (---)
Mono Aftertouch | 1-16 | Sld,0-127 | ------------------------------

Send Mono Aftertouch on the selected Midi Channel. The first data byte represents the AT pressure.

Midi Channel: 1-16
Midi Event: Mono Aftertouch
Sysex String: ---------------
1. Midi Data Byte (Pressure Value):
0-127 (this corresponds to Aftertouch 0,...,127)
Sld (the actual Slider value is used as Aftertouch Value)
2. Midi Data Byte (---):
not used
Pitch Bend

Event | Channel | Data Byte 1 Low Byte) | Data Byte 2 (High Byte)
Pitch Bend | 1-16 | Sld,0-127 | Sld,0-127

Sends Midi PitchBend. PitchBend has a value range of 0-16383. This is obtained by using two data bytes. Usually the low data byte will be set to 0 and the high byte to Sld.

Midi Channel: 1-16
Midi Event: Pitch Bend
Sysex String: ---------------
1. Midi Data Byte (Low Byte):
0-127 (this corresponds to Aftertouch 0,...,127)
Sld (the actual Slider value is used as PitchBend Value)
2. Midi Data Byte (High Byte):
0-127 (this corresponds to Value 0,...,127)
Sld (the actual Slider value is used as PitchBend Value)
String
Event | Channel | Data Byte 1 (String X Position) | Data Byte 2 (---)
String | --- | 0-29 | ------------------------------

The String Event gives the possibility to send a String of up to 30 Midi data bytes. One data byte can be replaced by the current fader value. This can not only be used to send Sysex Strings, but any Midi data. N.B. running status is being supported.
--> examples

Midi Channel: ---
Midi Event: Pitch Bend
Sysex String: up to 30 bytes (e.g. F0 20 00 56 F7)
1. Midi Data Byte (String X Position):
0-29 (this value will be replaced by the sliders value)
2. Midi Data Byte (---:
not used
--> examples (sysex, midi commands, running status)
Extension
Event | Channel | Data Byte 1 (---) | Data Byte 2 (---)
Extension | --- | ------------------------------ | ------------------------------

Midi Channel: ---
Midi Event: Extension
Sysex String: ---------------
1. Midi Data Byte (---):
not used
2. Midi Data Byte (---):
not used
Track Pattern

Event | Channel | Data Byte 1 (Track Number) | Data Byte 2 (---)
Track Pattern | --- | 1-8 | ------------------------------

Midi Channel: ---
Midi Event: Track Pattern
Sysex String: ---------------
1. Midi Data Byte (Track Number):
1-8 (corresponds to Track 1-8)
2. Midi Data Byte (---):
not used
Track End
Event | Channel | Data Byte 1 (Track Number) | Data Byte 2 (---)
Track End | --- | 1-8 | ------------------------------

Midi Channel: ---
Midi Event: Track Pattern
Sysex String: ---------------
1. Midi Data Byte (Track Number):
1-8 (corresponds to Track 1-8)
2. Midi Data Byte (---):
not used
Track Velocity
Event | Channel | Data Byte 1 (Track Number) | Data Byte 2 (---)
Track Velocity | --- | 1-8 | ------------------------------

Midi Channel: ---
Midi Event: Track Pattern
Sysex String: ---------------
1. Midi Data Byte (Track Number):
1-8 (corresponds to Track 1-8)
2. Midi Data Byte (---):
not used
Track Note
Event | Channel | Data Byte 1 (Track Number) | Data Byte 2 (---)
Track Note | --- | 1-8 | ------------------------------

Midi Channel: ---
Midi Event: Track Pattern
Sysex String: ---------------
1. Midi Data Byte (Track Number):
1-8 (corresponds to Track 1-8)
2. Midi Data Byte (---):
not used
Step Velocity
Event | Step Number | Data Byte 1 (Track Number) | Data Byte 2 (---)
Step Velocity | 1-16 | 1-8 | ------------------------------

Midi Channel -> Step Number: 1-16
Midi Event: Track Pattern
Sysex String: ---------------
1. Midi Data Byte (Track Number):
1-8 (corresponds to Track 1-8)
2. Midi Data Byte (---):
not used
Step Note
Event | Step Number | Data Byte 1 (Track Number) | Data Byte 2 (---)
Step Note | 1-16 | 1-8 | ------------------------------

Midi Channel -> Step Number: 1-16
Midi Event: Track Pattern
Sysex String: ---------------
1. Midi Data Byte (Track Number):
1-8 (corresponds to Track 1-8)
2. Midi Data Byte (---):
not used
No Status
Event | Channel | Data Byte 1 (---) | Data Byte 2 (---)
No Status | --- | ------------------------------ | ------------------------------

Midi Channel: ---
Midi Event: Extension
Sysex String: ---------------
1. Midi Data Byte (---):
not used
2. Midi Data Byte (---):
not used
Note Event
Event | Channel | Data Byte 1 (Note Number) | Data Byte 2 (Velocity)
Note On | 1-16 | Sld,0-127 (C-1,...C9) | Sld,0-127

Midi Channel: 1-16
Midi Event: NoteEv
Sysex String: ---------------
1. Midi Data Byte (Note Number):
0-127 (this corresponds to notes C-1 to G9, the note number is independant from the slider position)
Sld (the actual Slider value is used as Note Number)
2. Midi Data Byte (Velocity):
0-127 (a fixed velocity is used)
Sld ( the actual Slider value is used as Velocity)
Note Off
Event | Channel | Data Byte 1 (Note Number) | Data Byte 2 (Velocity)
Note Off | 1-16 | Sld,0-127 (C-1,...C9) | Sld,0-127

Midi Channel: 1-16
Midi Event: NoteOff
Sysex String: ---------------
1. Midi Data Byte (Note Number):
0-127 (this corresponds to notes C-1 to G9, the note number is independant from the slider position)
Sld (the actual Slider value is used as Note Number)
2. Midi Data Byte (Velocity):
0-127 (a fixed velocity is used)
Sld ( the actual Slider value is used as Velocity)
Poly Aftertouch
Event | Channel | Data Byte 1 (Note Number) | Data Byte 2 (Aftertouch Pressure)
Poly Aftertouch | 1-16 | Sld,0-127 (C-1,...C9) | Sld,0-127

Midi Channel: 1-16
Midi Event: Poly Aftertouch
Sysex String: ---------------
1. Midi Data Byte (Note Number):
0-127 (this corresponds to notes C-1 to G9, the note number is independant from the slider position)
Sld (the actual Slider value is used as Note Number)
2. Midi Data Byte (Aftertouch Pressure):
0-127 (a fixed velocity is used)
Sld ( the actual Slider value is used as Aftertouch Value)

Buttons

A.3. Patterns
Pattern Parameters
Step Parameters

A.4. Special Functions

A.5. File Types

A.6. Input Windows

In all Input Windows the old value is displayed in red and the new value in blue.
A left mouse click will select the new value and close the window.
A right mouse click cancels the selecttion and also closes the window.

Piano Window

Values Window

Controllers Window

Gate Time

Startstep/Endstep

Midi Channel

Drumkits

A.7. Examples

1. Vol 1-16
Keywords: Controller, Fader Event, Immediate, Toggle & Mute, Mute Value, Demute Value

This Presets controls Volume on Midi Channels 1-16 on MidiOut1 and 1-8 on MidiOut2.
Buttons are Mute/Demute Buttons.

Faders 1-16: MidiOut1
Volume Midi Channel 1-16

Faders 17-24: MidiOut2
Volume Midi Channel 1-8

Knobs 1-16: Midi Out1
KeyOff: Mute Channel 1-16
KeyOn: Demute Channel 1-16, Volume is set to Fader Value

Knobs 17-24: Midi Out2
KeyOff: Mute Channel 1-8
KeyOn: Demute Channel 1-8, Volume is set to Fader Value