Hex Parameter Assignment Help

Min and Max Fields

Enter an integer value to set the minimum and maximum range for incoming values represented by Lo7 and Hi7. Typically, the minimum defaults to 0, and the maximum defaults to 127. Some control surfaces (such as the CM Labs Motor Mix) may use the same message, with different value ranges, for different controls. For more specific information, refer to the documentation that came with your device.

Format Pop-Up Menu

Choose the encoding format for negative values in the 7-bit portions sent over MIDI. The choices are:

  • Unsigned: No negative values are possible. The full 7- or 14-bit range is treated as a positive number. The value range is 0 to 127 (7 bit) or 0 to 16383 (14 bit).

  • 2’s complement: If the most significant bit is set, the value is negative. To obtain the absolute value, invert all bits and add 1. The value range is from –128 (7 bit) to 127 or –8192 to 8191 (14 bit).

  • 1’s complement: If the most significant bit is set, the value is negative. To set the absolute value, invert all bits. Note that this allows two possible encoding values for zero. The value range is –127 to 127 (7 bit) or –8191 to 8191 (14 bit).

  • Sign Magnitude: If the most significant bit is set, the value is negative. To set the absolute value, clear the most significant bit. Note that this allows two possible encoding values for zero. This results in a value range of –127 to 127 (7 bit) or –8191 to 8191 (14 bit).

The appropriate format for a device is usually specified in its documentation. If unavailable, check the control surface manufacturer’s website or contact them for more information.

Multiply Field

Enter a scaling value for incoming values. This is especially useful for button presses that have a value of 1. For example:

  • To set the automation mode to Write, set Multiply to 4.00, and Mode to Direct.

  • To decrement a parameter by 1 with a button press, set Multiply to –1.00, and Mode to Relative.

Mode Pop-Up Menu

Choose the mode used by incoming values to modify the current parameter value. The choices are:

  • Direct: The incoming value is used as the parameter value.

  • Toggle: If the parameter’s current value is 0, it is set to the incoming value. All other values set the parameter value to 0. This option is useful for buttons that toggle a value: Mute, Solo, and so on.

  • Scaled: The incoming value is scaled from its value range to the destination parameter’s value range. This is useful for faders and rotary encoders.

  • Relative: The incoming value is added to the parameter’s current value. Used by encoders, but also for buttons that increment/decrement by a certain amount (set by the Multiply parameter).

  • Rotate: The incoming value is added to the parameter’s current value, cycling between maximum and minimum values. This is useful for button presses that cycle between modes: automation mode, for example.

  • X-OR: The value defines a bit mask (a filter, in other words), which is applied to the parameter’s current value with the “exclusive or” Boolean operation. Useful for enabling/disabling single channel strip types in All view.

For On/Off parameters, Mode is set to Toggle by default. It is set to Scaled for absolute controls (faders and knobs, for example), or to Relative for encoders.

Feedback Pop-Up Menu

Choose the display format for the parameter’s current value (on the control surface display). The choices are:

  • None: No feedback is sent.

  • Single Dot/Line: LED rings: only one LED; LCDs: a single vertical line.

  • Left to Right Bar: A bar from the minimum to the current value.

  • Bar from Center: A bar from the center position to the current value.

  • Right to Left Bar: A bar from the current value to the maximum.

  • Q/Spread: Two equal bars from the center to the current value.

  • Ascending Bar: A bar from the bottom to the current value.

  • Descending Bar: A bar from the top to the current value.

  • Text Only: LED rings: no feedback; LCDs: no feedback as a graphics element.

  • Automatic: Dependent on the currently assigned parameter, the most suitable feedback mode is used: Plug-in and Instrument parameters carry this information, Pan displays a Single Dot/Line, and all other parameters display a bar that runs from left to right (Left to Right Bar).

Note: Feedback only works for supported control surfaces, and not all settings are available for all controls.

Text Feedback Checkbox

When selected, a text representation of the current value is sent to the control surface’s display. The control surface display capabilities determine the display position and number of characters that are used.

Local Feedback (Fader/Knob) Checkbox

When selected, no feedback is sent while the parameter is in Touch mode. This prevents motorized faders from “fighting” against the user.

Key Repeat Checkbox

When selected, the assignment is repeatedly executed. The Key Repeat Rate slider—set in the Mac OS X Keyboard & Mouse preferences—determines how quickly Logic Pro repeats the assignment. The duration that the button/controller must be held for, before the assignment is repeated, is set with the Delay Until Repeat slider in the Keyboard & Mouse preferences.

Key Repeat is particularly useful for the zoom function. For example, if you assign a Key Repeat command to the Mackie Control Zoom buttons, holding down the Zoom In button will continuously zoom in the Logic Pro window until the button is released. This mirrors the behavior of the Zoom key commands. The alternative is to repeatedly press the (Mackie Control) Zoom buttons to zoom in or out more than one level.

Note: The Key Repeat checkbox is only available for key commands, key presses, and relative value changes. If any other assignment class is selected, the checkbox is dimmed.

The default key command assignments support the Key Repeat function (if useful or applicable to the control surface or device), making changes unnecessary for use of this functionality.

If you want to enable the Key Repeat function for your own assignments, you may need to use the re-learn option for the assigned message. Key Repeat messages must include the Lo7 byte, which provides information on the up (released) or down (pressed) state of the assigned button.

Logic Pro guides you through the re-learning process. The current MIDI message is automatically cleared, Learn mode is activated, and a help tag prompts you to send the desired MIDI message.

Releasing the assigned button—after learning the MIDI message—automatically creates the Lo7 byte, and assigns the Lo7 value (for the button release message) to the Min parameter. The Lo7 value for the button pressed message is automatically assigned to the Max parameter.

Typically, the value range of 1 to 127 is used for the button pressed message. The zero (0) value is generally used for the button release message.

Note: Some control surfaces may use different value ranges (CM Labs Motormix, for example). Assigning appropriate Min and Max values ensures that the Key Repeat function will work with such devices. This, however, means that you need to take care when manually changing the Min or Max value for a key command; in cases where the Min and Max values do not match the button pressed (on) and button released (off) states, the complete assignment will not work. Consult your control surface manual for further information about the values it uses.

HEXw. Format

Converts real binary (floating-point) values to hexadecimal representation.

Syntax Description


specifies the width of the output field.

Default: 8
Range: 1-16
Tip: If w< 16, the HEXw. format converts real binary numbers to fixed-point integers before writing them as hexadecimal characters. It also writes negative numbers in two's complement notation, and right aligns digits. If w is 16, HEXw. displays floating-point values in their hexadecimal form.

In any operating environment, the least significant byte written by HEXw. is the rightmost byte. Some operating environments store integers with the least significant digit as the first byte. The HEXw. format produces consistent results in any operating environment regardless of the order of significance by byte.

Note:   Different operating environments store floating-point values in different ways. However, the HEX16. format writes hexadecimal representations of floating-point values with consistent results in the same way that your operating environment stores them.  

The HEXw. numeric format and the $HEXw. character format both generate the hexadecimal equivalent of values.

put @8 x hex8.;
Value of x Results

35.4 00000023
88 00000058
2.33 00000002

Copyright © 2011 by SAS Institute Inc., Cary, NC, USA. All rights reserved.


Leave a Reply

Your email address will not be published. Required fields are marked *