Panel OpenGL

Simple panel that displays a video in OpenGL format.

image

Settings

video in

Video input flow(s).

process time

Total time used for the calculation of the module.

Other Settings

global

mouse editing enabled

Determines if the value of the control can be modified by the user with the mouse or the touch screen. When OFF, the control still displays its value and can be modified by its inlets, remotes and presets, but clicks and drags on it are ignored. Useful to build read-only displays.

This setting is not saved in design templates.

receive mouse info

When ON, the control receives mouse information (often called hit-test). When OFF, the control is transparent to the mouse: clicks pass through it to the control located behind. This is useful when controls overlap, only the topmost control with receive mouse info ON gets the mouse events.

This setting is not saved in design templates.

is visible

Sets or gets the visibility of the control. When OFF the control is hidden but keeps processing its value. Typically exposed as an inlet to show or hide parts of an interface from the patch.

global color

Main color of the control. When changed, Usine recomputes all the other colors of the control (background, border, caption, cursor, etc.) with contrasted shades derived from this color, and propagates the change to the child controls of a panel unless they are ignored in parent global color.

ignored in parent global color

When ON, the global color of this control is not modified when the global color of its parent panel, patch or rack changes. Use it to keep a specific color on one control inside a recolored group.

design template name

Name of the design template (a snapshot of the design tab settings) applied when the control is created. The template files are searched in /Resources/Templates/Design and /Config/Templates/Design. Setting a new name reloads the design settings from that file.

The name can be given without extension, ie. LIGHT CLASS instead of LIGHT CLASS.tuknob_tab_design. Only visible in god mode.

z order

Determines the drawing order of the control relatively to the other controls of the same container:

  • normal: the control is drawn in its creation order,
  • front: the control is always brought to the front, above all the other controls,
  • back: the control is always sent to the back, behind all the other controls.

Example with the first knob on top.

opacity

Opacity of the whole control from 0 to 1 (default 1), applied to its background, border, caption and drawing. The opacity is multiplied with the opacity of the parent containers.

0 will give a totally transparent control so invisible.

blur softness

Amount of blur applied to the drawing of the control, from 0 (no blur) to 5.

Example of blur.

Be careful, the blur softness use shaders which are not supported by all graphic cards. Can crash Usine.

location

display location

Determines where the control panel of the module is displayed. Default control panel.

  • invisible: the object is not displayed.
  • control panel: in the control-panel of the current patch.
  • parent control panel: in the control-panel of the parent patch.
  • top parent control panel: in the control-panel of the top parent patch (main patch).
  • container: in the container of the current patch.
  • parent container: in the container of the parent patch of the current patch.
  • top parent container: in the container of the top parent patch of the current patch.
  • popup window: in the popup of the current patch.
  • top header: in the top-header-panel.
  • toolbox: in the toolbox-panel.
  • ib only: in the interface-builder-panel only.
  • workspace: in the workspace-panel design panel.
  • current rack: in the rack containing the top parent patch.
  • main menu: in the main menu panel on the left of the window.
  • container 1 to container 32: in the additional container with that number, wherever it is (see additional container). If the container does not exist, a warning is displayed.

Some modules only offer the first eight options. Top header, toolbox, ib only, popup and main menu are exclusive with also visible in interface builder: choosing one of them resets it to no with a warning.

When the location is set to a container or a popup which doesn't exist in the current sub-patch, Usine uses the container or popup of the parent patches. If none is available a warning is displayed and the location goes back to control panel.

additional container

Declares the control as an additional container, identified by a number from 1 to 32 (no = not a container, default), so that any other control of the workspace can be placed into it with display location set to the same container number. Each number can be used by only one container at a time: choosing a number already in use shows a warning and resets the setting to no.

a button inside a listbox

also visible in interface builder

Determines if the control is also displayed in the interface-builder-panel in addition to its display location. Default no. Not saved in design templates.

  • no: not shown in the interface builder.
  • always: always shown in the interface builder.
  • if patch ON: shown only while the parent patch is running (for a rack, this option reads if rack is ON).

Cannot be combined with a display location set to top header, toolbox, ib only, popup or main menu: the setting is reset to no with a warning.

mouse tab settings

Settings related to mouse, touch screen and drag&drop.

mouse & gesture

mouse dwn

Outlet giving the mouse button state on the control:

  • 1 while the left mouse button is pressed on the control
  • 0 otherwise (the value goes back to 0 a few milliseconds after the button is released).

Read only, not saved with the patch.

In multi-touch environment, can be an array of [0..1] values, one value per finger touching the control.

mouse wheel

Outlet giving the last mouse wheel movement as a number of wheel notches (positive when the wheel is rolled forward, negative when rolled backward, following the operating system convention), limited to the [-4..4] range. The value goes back to 0 about 25 ms after each wheel event, so it is 0 while the wheel is idle. Not saved with the patch.

mouse wheel enabled

When ON, the value of the control can be changed with the mouse wheel; when OFF, the wheel is ignored by this control. Default ON. Unless the disable click to use mouse wheel expert setting is active, the control must first be clicked (selected) before the wheel acts on it. On faders, the wheel step is reduced by the precision factor when touch hi precision applies or when SHIFT is held, and the value wraps around when circular mouse is ON.

dbl click

Trigger outlet flashed (value 1) when the user double-clicks on the control.

mouse active

When ON, the fader can be moved by dragging it with the mouse; when OFF, dragging no longer changes the value (the control still reports its mouse events, and the value can still be changed by other means such as the mouse wheel or the value editing). Default ON.

mouse x

Outlet giving the mouse X position on the control in relative coordinates from 0=most-left to 1=most-right, updated on mouse down, mouse move and mouse up. Read only, not saved with the patch.

In multi-touch environment, can be an array of [0..1] values, one value per finger touching the control.

mouse y

Outlet giving the mouse Y position on the control in relative coordinates from 0=top to 1=bottom, updated on mouse down, mouse move and mouse up. Read only, not saved with the patch.

In multi-touch environment, can be an array of [0..1] values, one value per finger touching the control.

bitmap

bitmap in

Bitmap pointer input. When connected, the received bitmap replaces the background image of the panel of the module, so any video or bitmap flow can be drawn behind the control.

Use [CTRL + Click] to reset the input.

bitmap out

Bitmap pointer output giving access to the current drawing of the panel of the module, updated each time the panel is repainted. Connect it to a video or bitmap module to reuse the rendering of the control.

touch pressure

Outlet giving an estimation of the finger pressure on a multi-touch screen, in the [0..1] range, computed from the size of the contact area of the finger relative to the size of the control. Always 0 when the control is used with the mouse. Read only, not saved with the patch.

The pressure value is not available on all touch screens.

gesture

Array outlet updated each time a touch gesture is recognized on the control. It contains 6 values: [gesture ID, initial X, initial Y, final X, final Y, speed], X and Y being relative coordinates on the control. Gesture IDs: 1=pan left, 2=pan right, 3=pan up, 4=pan down with one finger, 5 to 8=the same pans with two fingers, 100=short hold and 101=long hold with one finger, 102=short hold and 103=long hold with two fingers. For hold gestures only the initial position is filled, the other values are 0. Not saved with the patch.

In touch and multi-touch environment, returns an array of the fingers movements See multi-touch

reset

auto reset

When ON, the control is reset (same action as the reset command of the module) as soon as the mouse button is released on it. Default OFF.

Only on faders and knobs.

drag & drop

drag enabled

When ON, the content of the listbox can be dragged with the mouse and dropped on another control: the drag starts as soon as the mouse moves a few pixels with the button held down. When OFF, no drag is started from this control, except when CTRL+SHIFT are held while dragging. Default OFF. Only on listboxes (not on comboboxes).

allow drop

When ON, files and other draggable items can be dropped on this control; when OFF, the control refuses any drop.

drop file name

Text outlet receiving the full path of the last file dropped on the control. The same path is also stored in the DRAG_FILENAME global variable. Read only, not saved with the patch.

clear drop file name

Button that empties the drop file name outlet.

vertical mouse

When ON, the knob value follows the vertical movements of the mouse: drag up to increase, drag down to decrease. When OFF, it follows the horizontal movements: drag right to increase, drag left to decrease. Default ON. Only on knobs.

touch screen

touch hi precision

Determines when the high precision mode (see precision factor) is applied to mouse and touch movements:

  • disabled: never applied automatically, it can still be obtained by holding SHIFT while dragging.
  • touch screen: applied only while the control is touched on a touch screen.
  • always: applied with the mouse as well as with a touch screen. Default disabled.

precision factor

Divider applied to the mouse or touch movements in high precision mode: the cursor moves N times slower than the pointer, so with a factor of 8 the pointer must travel 8 times the width of the control to cover the whole range. Range [1..100], default 8. Used when touch hi precision applies or when SHIFT is held while dragging; also slows down the mouse wheel steps (by the square root of the factor).

mouse mode

Behavior of the fader when the mouse button is pressed on it:

  • relative: the value changes relatively to its current value by the amount of the mouse drag, the cursor does not jump on click.
  • absolute: the value is directly given by the position of the mouse on the fader, the cursor jumps to the click position. Default relative.

circular mouse

When ON, the value wraps around when the mouse drag or the mouse wheel goes beyond the range: past the maximum, the value continues from the minimum and vice versa. When OFF, the value is clamped to its range. Default OFF.

keyboard arrows

keyboard arrows enabled

When ON, the value of the control can be modified with the UP and DOWN arrow keys of the keyboard when the control has the focus: each key press adds or subtracts the inc-dec value of the module (one tenth of it while SHIFT is held, at least 1 for integer values), and comboboxes jump to the previous or next item. Default OFF.

focus & cursor

mouse over

Read only outlet: 1 while the mouse pointer is over the control, 0 otherwise. Not saved with the patch.

mouse cursor

Shape of the mouse pointer when it hovers over the control. Default arrow. During a resize or a point edit, the pointer temporarily takes the shape of the current operation.

  • default: default pointer of the system
  • none: the pointer is hidden
  • arrow: standard arrow
  • cross: cross-hair
  • beam: text I-beam
  • size NESW: diagonal resize arrow (north-east / south-west)
  • size NS: vertical resize arrow
  • size NWSE: diagonal resize arrow (north-west / south-east)
  • size WE: horizontal resize arrow
  • up arrow: vertical arrow
  • hour glass: busy pointer
  • drag: drag pointer
  • no drop: forbidden drop pointer
  • H split: horizontal splitter
  • V split: vertical splitter
  • multi drag: multiple items drag pointer
  • SQL wait: wait pointer
  • no: forbidden pointer
  • app start: arrow with busy indicator
  • help: arrow with question mark
  • hand point: pointing hand
  • size all: move (four arrows) pointer

    selection

    selected

    Read only outlet: 1 while the control is selected, 0 otherwise. A control becomes selected when it is clicked and is deselected when another control is clicked; SHIFT+click adds a control to the current selection or removes it from it. Not saved with the patch.

size tab settings

settings related to size and position of controls.

orientation

rotation angle

Rotation of the control around its center, expressed as a fraction of a full turn in the range [0..1] (0.25 = 90 degrees, 0.5 = 180 degrees, 0.75 = 270 degrees). Default 0. A value of 0.75 also switches is vertical ON, any other value switches it OFF. Only available on controls that can be rotated (faders, modules...).

is vertical

When ON, the control is displayed vertically, which is the same as a rotation angle of 0.75 (270 degrees). When OFF, the rotation angle is reset to 0. Changing it also triggers the auto resize and the reorganization of the parent panel.

zoom

zoom scale

Scale factor applied to the whole control: its visual is drawn scaled by this factor. Range [0.2..5] (logarithmic scale), default 1. Changing it triggers the auto resize and auto reorganize of the parent panel. This value is not saved in design templates.

can zoom

When ON, the control can be zoomed with the mouse wheel or a pinch gesture. On most controls this changes the zoom scale; on XY/XYZ style panels it changes the inner zoom factor instead. When OFF, wheel and gesture zooms are ignored by the control.

zoom at mouse position

Only available on XY/XYZ style panels. When ON, zooming with the mouse wheel keeps the point under the mouse cursor fixed, by moving the zoom center accordingly. When OFF, the zoom is centered on the current zoom center (the center of the panel by default).

Size & positions

top

Position of the top edge of the control in pixels, relative to its parent panel. Range [-5 x screen height..5 x screen height].

left

Position of the left edge of the control in pixels, relative to its parent panel. Range [-5 x screen width..5 x screen width].

height

Height of the control in pixels. Range [0..5 x screen height].

width

Width of the control in pixels. Range [0..5 x screen width].

percent

position percent x

Horizontal position of the control in the range [0..1], relative to the free horizontal space of the parent panel (parent width minus the control width and the borders): 0 = against the left border, 1 = against the right border. This value is computed from left and is not saved.

position percent y

Vertical position of the control in the range [0..1], relative to the free vertical space of the parent panel (parent height minus the control height, the borders and the caption area): 0 = just below the caption, 1 = against the bottom border. This value is computed from top and is not saved.

height percent

Height of the control in the range [0..1], relative to the parent panel height. This value is computed from height and is not saved.

width percent

Width of the control in the range [0..1], relative to the parent panel width. This value is computed from width and is not saved.

resize grip

resize grip enabled

When ON (default for modules), the control displays selection handles when the patch is unlocked and can be moved or resized with the mouse or the arrow keys. When OFF, the control cannot be unlocked, moved nor resized in the patch. On XY/XYZ style panels this setting is named resize grip enabled (global).

Interface Builder position

interface builder top

Position of the top edge of the control in pixels when it is displayed in the interface builder panel. Memorized automatically when the control is moved in the interface builder and restored the next time it is displayed there; the position in the patch is kept separately. Only available on controls that can be also visible in the interface builder.

interface builder left

Position of the left edge of the control in pixels when it is displayed in the interface builder panel. Memorized automatically when the control is moved in the interface builder and restored the next time it is displayed there; the position in the patch is kept separately.

interface builder width

Width of the control in pixels when it is displayed in the interface builder panel. Memorized automatically when the control is resized in the interface builder and restored the next time it is displayed there; the size in the patch is kept separately.

interface builder height

Height of the control in pixels when it is displayed in the interface builder panel. Memorized automatically when the control is resized in the interface builder and restored the next time it is displayed there; the size in the patch is kept separately.

floating panel

floating x

When ON, the control can be dragged horizontally with the mouse inside its parent panel (the cursor becomes a horizontal move cursor when only this axis is enabled). Floating controls are also the moving bodies of the parent's physics engine (see physics enabled): a control with both floating x and floating y OFF is a static obstacle.

floating y

When ON, the control can be dragged vertically with the mouse inside its parent panel (the cursor becomes a vertical move cursor when only this axis is enabled). Floating controls are also the moving bodies of the parent's physics engine (see physics enabled).

floating constrain to parent x

When ON (default), a control dragged along the X axis (floating x) is kept entirely inside the borders of its parent panel. When OFF, it can be dragged partly outside the parent, as long as at least 10 pixels remain visible.

floating constrain to parent y

When ON (default), a control dragged along the Y axis (floating y) is kept entirely inside the borders of its parent panel. When OFF, it can be dragged partly outside the parent, as long as at least 10 pixels remain visible.

resizable panel

resizable left

When ON, the control can be resized with the mouse by dragging its left edge (the cursor changes to a resize cursor near the edge). When OFF, the left edge cannot be dragged.

resizable right

When ON, the control can be resized with the mouse by dragging its right edge (the cursor changes to a resize cursor near the edge). When OFF, the right edge cannot be dragged.

resizable top

When ON, the control can be resized with the mouse by dragging its top edge (the cursor changes to a resize cursor near the edge). When OFF, the top edge cannot be dragged.

resizable bottom

When ON, the control can be resized with the mouse by dragging its bottom edge (the cursor changes to a resize cursor near the edge). When OFF, the bottom edge cannot be dragged.

physics

physics enabled

When ON, the physics engine of the panel is started: the child controls with floating x or floating y ON become moving bodies subject to gravity x, gravity y, friction and elasticity, and they collide with each other and with the panel borders; the other child controls are static obstacles. The simulation runs only while the main ON/OFF switch is on, the patch is running and the main lock switch is off. Available on XY/XYZ style panels, container panels and popup panels.

physics speed

Speed of the simulation: the number of physics iterations computed at each refresh is multiplied by this value. Range [0..100] (logarithmic scale), default 1; 0 freezes the engine. It also scales the speed x, speed y and angular speed values reported by the child controls.

init with random speed

When ON (default), every moving body gets a random initial velocity and rotation speed when the physics engine is (re)started, for example after reset positions. When OFF, the bodies start at rest.

same masses

When ON (default), all moving bodies have the same mass. When OFF, the mass of each body is proportional to its area (width x height), so bigger controls push smaller ones on collision.

ignored in physical engine

Setting of a child control. When ON, the control is excluded from the physics engine of its parent panel: it is neither moved nor used as an obstacle, and it is not affected by reset positions.

friction

Friction coefficient applied to the moving bodies, in the range [0..10] (logarithmic scale), default 0 (no friction). Higher values slow the controls down faster.

elasticity

Energy conservation coefficient on collision, in the range [0..1], default 1: 1 = fully elastic bounce (no energy lost), 0 = the body stops on collision.

gravity x

Horizontal gravity applied to the moving bodies, in the range [-5..5], default 0. Positive values pull the controls to the right, negative values to the left.

gravity y

Vertical gravity applied to the moving bodies, in the range [-5..5], default 0. Positive values pull the controls downward, negative values upward.

reset pos x

Horizontal position, in the range [0..1] of the parent panel width, where the child controls with floating x ON are placed by reset positions. Default 0.

reset pos y

Vertical position, in the range [0..1] of the parent panel height, where the child controls with floating y ON are placed by reset positions. Default 0.

reset positions

Button which moves all the child controls managed by the physics engine (see ignored in physical engine) to reset pos x / reset pos y and restarts the simulation (with random speeds if init with random speed is ON). Only effective when physics enabled is ON.

angular speed

Read-only, not saved. Rotation speed of the control computed by the physics engine of its parent panel (scaled by physics speed). Range [-10..10].

collide

Read-only trigger, not saved. Sends a trigger each time the control collides with another child control or with a border of its parent panel in the physics engine. On the panel itself, it is triggered when one of its child controls hits a border.

collide info

Read-only, not saved, in the range [0..1004]. Identifies what the control collided with during the last collide:

  • 0 to 999: index of the other child control (in the order of the panel's children managed by the physics engine),
  • 1001: top border of the parent,
  • 1002: bottom border of the parent,
  • 1003: left border of the parent,
  • 1004: right border of the parent.

On the panel itself, it gives the index of the child control which hit a border.

speed x

Read-only, not saved. Horizontal speed of the control in the range [-10..10], computed by the physics engine of its parent panel (scaled by physics speed), or from the mouse movement while the control is being dragged.

speed y

Read-only, not saved. Vertical speed of the control in the range [-10..10], computed by the physics engine of its parent panel (scaled by physics speed), or from the mouse movement while the control is being dragged.

minimize

minimized

When ON, the panel is minimized: only its header is displayed, its size is memorized and restored when the setting is switched OFF. Only available on panels having the minimize button in their toolbar. Not saved in design templates.

reorganization

auto reorganize

When ON, the child controls of the panel are automatically laid out one after the other (in rows and columns) each time a control is added, removed, moved or resized, using reorganize margin, reorganize interspace H and reorganize interspace V. When OFF, the controls keep the positions given by the user.

reorganize margin

Left and top margin in pixels, in the range [0..20], between the panel border and the first control when the panel is reorganized. Default 4.

reorganize interspace H

Horizontal space in pixels, in the range [0..20], between two columns of controls when the panel is reorganized. Default 4.

reorganize interspace V

Vertical space in pixels, in the range [0..20], between two rows of controls when the panel is reorganized. Default 4.

auto resize options

auto resize

When ON, the panel automatically adjusts its width and height to its content each time child controls are moved or resized, keeping auto resize margin around them. Switch it OFF if you use floating panels inside.

auto resize margin

Margin in pixels, in the range [0..20], kept between the child controls and the panel borders when auto resize is ON. Default 4.

force reorganize

Button which lays out the child controls immediately (as auto reorganize does), even if auto reorganize is OFF, then applies the auto resize. It can also be exposed as an inlet.

align to grid

snap to grid

When ON, in unlock mode, the position and the size of the child controls are snapped to a grid of grid size pixels when they are moved or resized with the mouse. Floating controls dragged inside the panel are snapped too.

grid size

Step of the grid in pixels, in the range [1..40], used when snap to grid is ON. Default 2.

hint

Hint text displayed on mouse over.

Common Settings

info

show manual

Button. Opens the manual page of the selected object (or of its parent module for a control) in the web browser. If no page exists for this object, an error is traced in the trace panel.

For more details about information/help creation, see create-help-file.

description

Free multi-line text attached to the module, saved with the patch. It is only meant as an internal note for the patch designer: it is not displayed in the interface.

ID's

visible only in god mode, see setup-panel-tab-expert.

unique ID

Read-only, not saved. Current private numeric ID of the object, used internally to identify it (for example as the target of a bind ID).

preset ID

Read-only, not saved. Private ID used to store and recall the values of this control in presets.

recreate ID

Button. Generates a new unique ID, original ID and preset ID for the object. Use it if you experience difficulties in Polyphonic mode or if two objects share the same ID. Preset values and binds referring to the old IDs are lost.

Object Remote Address

absolute

Read-only, not saved. Absolute address of the object in the Usine objects tree, built from the workspace root. This is the address to use to reach the object from scripts, the objects panel or remote messages. Only shown for objects that are registered in the objects list. See objects-address.

local

Read-only, not saved. Address of the object relative to the current patch, valid inside that patch only. See objects-address.

user addr

Free user-defined address for the object (empty by default). When set, the object is also registered in the objects tree under this name, so it can be reached independently of its position in the workspace (the value is also reported in the mouse-over and mouse-down chunks). Changing it rebuilds the objects list. Only available on objects that support a user address. See objects-address.

See also

version 7.0.250121

Edit All Pages