Technical Details POCKET DIAL

Memory Management

POCKET DIAL has available 128 presets - the same as Pocket Control and Pocket Fader. Preset means in this context the assignment set of 16 rotary encoders to the MIDI messages available (especially MIDI control change messages). POCKET DIAL enables fast selection of 4 succeeding presets by means of the 4 bank buttons at the front panel. The DIP switch at the rear panel determines the number of the first of these 4 presets.

Example: The DIP switch is set to preset no 42. With the 4 bank buttons the presets 42, 43, 44 and 45 can be selected.

The memory management is nearly the same as for Pocket Control and Pocket Fader. The main difference are the additional bank buttons which allow fast switching between 4 succeeding presets. This feature makes sense for Pocket Dial as it makes 64 "virtual" controls available (4 banks with 16 controls each). Switching from one bank to another calls up the previous 16 controller data for the new bank thus leading to jump-free changing of up to 64 parameters. For Pocket Control or Pocket Fader this feature would not make much sense as for these devices the absolute positions of the rotary potentiometers resp. faders define the transmitted data thus leading to data jumps after a bank change.

 

Jump-free Parameter Changes

Thanks to the endless rotary encoders used in pocket Dial jump-free changes of parameters become true provided that some requirements are met. To realize jump-free changes there are 2 fundamental solutions:

1. Pocket Dial transmits  Increment / Decrement Data

In this case Pocket Dial does not "know" the absolute value of the parameter but transmits only the information data increment (abbreviation: inc) or data decrement (abbreviation: dec). Unfortunately there is no MIDI message available "increase data of MIDI Controller XX" or "increase data of MIDI Controller XX". There is only a general Data increment (Controller #96 decimal, resp. #60 hexadecimal) and Data decrement message (Controller #97 decimal, resp. #61 hexadecimal) available. The third byte of these messages is - as  far as we know - not used so far. In the MIDI spec we found no statement concerning this byte. Remember: each MIDI control change message consists of 3 bytes. We want to solve this problem by "hiding" the controller number, to which the inc/dec is related to, in the third byte of these messages. This modified inc/dec messages would enable to increase or decrease the value of a specific MIDI controller. We hope that other companies will agree to this proposal and adjust their software/hardware to this amendment of the MIDI Data increment/decrement message (controller #96/97).

The "new" MIDI messages are:

with n = MIDI channel (0...F) and xx = MIDI Controller No (00...77H, 78H...7FH is reserved for Channel Mode Messages). H means hexadezimal values.

2. Pocket Dial transmits absolute data

In this case Pocket Dial transmits absolute MIDI Control change data. After a program change of the device controlled by Pocket Dial parameter jumps will occur.

Example: The value for filter frequency was 95 for the "old" program/sound and is 23 for the "new" program/sound. If one operates the control for this parameter there will be a jump to 94 or 96 depending if the control was operated up or down.

This problem can be solved if the device controlled by Pocket Dial outputs the new values (i.e. MIDI control changes) for all parameters after a program/sound change. Pocket Dial receives these values and uses them as new starting values.

Example: The value for filter frequency was 95 for the "old" program/sound and is 23 for the "new" program/sound. After the program/sound change the device controlled by Pocket Dial outputs the new value 23 for this parameter. Pocket Dial receives this new value and uses it as the new start value. If one operates the control for this parameter Pocket Dial will transmit 24 or 22 depending if the control was operated up or down. This means that there is no parameter jump as the data transition is 23 -> 24 or 23 -> 22.

But it is essential for this type of control that the device controlled by Pocket Dial transmits the new MIDI controller data after a program/sound change. Pocket Dial will receive these data and check out if one of the controller numbers assigned to the 16 encoders matches with one of these controller numbers. If this applies the controller data value will be used as the new starting data for this controller (of course the MIDI channel has to be the same too). Pocket Dial and the device controlled by Pocket Dial have to be connected via MIDI in both directions: