Page tree
Skip to end of metadata
Go to start of metadata

Description

The Envelope template allows you to control HALion's multi-stage zone envelopes. The template contains a combination of controls, for example, to control the zoom level or values of the selected node. These controls are connected using UI parameters, and they must be part of the template and must use the UI variables as they are defined in the delivered template.

 

The envelope view that is used in the template cannot be created as an independent control directly on the macro page. If certain controls are not required or wanted, for example, no editing of values for the selected node, these controls can be removed for a user envelope template.

On this page:

Template Properties

PropertyDescription
Size

Position and Size of the element in pixels.

Pos x, Pos y, Width, Height (Pos = Position of upper left corner)

Attach
  • Left: If the parent is resized, the control remains attached to left edge, with the specified ratio.
  • Right: If the parent is resized, the control moves relatively to the right edge, with the specified ratio.
  • Top: If the parent is resized, the control remains attached to top edge, with the specified ratio.
  • Bottom: If the parent is resized, the control moves relatively to the bottom edge, with the specified ratio.
  • Left + Right: If the parent is resized, the control is resized horizontally relatively to the left and right edges, with the specified ratio.
  • Top + Bottom: If the parent is resized, the control is resized vertically relatively to the top and bottom edges, with the specified ratio.
Tooltip
Text that appears as a tooltip when the mouse hovers over the element.
TemplateThe referenced template.
Env PointsConnect this to the Envelope Points parameter of the envelope (zone parameter).
ModeConnect this to the Mode parameter of the envelope (zone parameter).
SyncConnect this to the Sync parameter of the envelope (zone parameter).
TripletConnect this to the Triplet parameter of the envelope (zone parameter).
Loop StartConnect this to the LoopStart parameter of the envelope (zone parameter).
Loop EndConnect this to the LoopEnd parameter of the envelope (zone parameter).
SustainConnect this to the SustainIndex parameter of the envelope (zone parameter).
Playback PosConnect this to the PlaybackPos parameter of the envelope (zone parameter).

Components and how they are used

UI Variables

These variables are defined to allow the communication between the envelope view and other controls in the template.

VariableDescriptionTypeRange
indexIndex of the selected nodeintegern.a.
levelLevel of the selected nodefloat0 - 100
timeTime of the selected notefloat0 - 30000
curveCurvature of the selected note segmentfloat-10 - 10
beatTime in beatsrationaln.a.
syncnoteSpecifies the note gridstringlist1/1, 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256

Controls and Sub Templates

ItemDescription
Scroll & Zoom

This group view contains several controls which allow you to access the scroll and zoom functionalities of the envelope.

  • Scrollbar: A range slider which needs to be configured with Low Value = "@ScrollMin" and High Value = "@ScrollMax".
  • Scrollbar Background: An image that delivers the background bitmap for the scrollbar.
  • Zoom Out: A switch that allows you to trigger the zoom out function of the envelope. Its value must be set to "@ZoomOut".
  • Zoom In: A switch that allows you to trigger the zoom in function of the envelope. Its value must be set to "@ZoomIn".
  • Zoom Alternate: A switch that allows you to switch between the last zoom state and a full zoom out. Its value must be set to "@StateA".
  • Zoom1: A switch that allows you to call zoom state 1 of the envelope. Its value must be set to "@State1".
  • Zoom2: A switch that allows you to call zoom state 2 of the envelope. Its value must be set to "@State2".
  • Zoom3: A switch that allows you to call zoom state 3 of the envelope. Its value must be set to "@State3".
Edit

This group view contains several controls which allow to control the selected node, as well as some edit options of the envelope.

  • Time: A stack with two edit controls to either set the time of a node in ms or beats. Its value is exported as "Sync", to allow a connection to the Sync parameter of the HALion engine. The "Time ms" control is set to Value = "@time", the "Time Beat" control is set to Value = "@beat".
  • Mode: A menu template, with an exported value (Mode) that can be connected to the Mode parameter of the envelope in the HALion zone.
  • Sync: A switch template, with an exported value (Sync) that can be connected to the sync parameter of the envelope in the HALion zone.
  • Fixed: A switch template, with a value set to "@fixed", which represents an integer variable defined under "Variables". This way, you can control the HALion UI parameter "Fixed" which is no Zone parameter.
  • Curve: An edit template, with a value set to "@curve", which allows you to control the curve setting of the selected node.
  • Level: An edit template, with a value set to "@level", which allows you to control the level setting of the selected node.
  • Index: An edit template, with a value set to "@index", which allows you to specify which node is selected.
  • SyncNote: A disable view, with an exported value (Sync) that can be connected to the Sync parameter of the envelope in the HALion zone. If Sync is active, the contained templates can be used to set Sync Note and Triplet.
    • Sync Note: A menu template, with a value set to "@syncnote", which represents a stringlist variable defined under "Variables". This way, you can control the HALion UI parameter "Sync Note" which is no Zone parameter.
    • Triplet: A switch template, with an exported value (Triplet), which can be connected to the Triplet parameter of the envelope in the HALion zone.
Envelope ViewProvides a graphical envelope editor. Several of its parameters are exported to be connected on a template instance level to the HALion engine (Value, Mode, Sync, Triplet, Loop Start/End, Sustain, Play Pos). Other parameters are set to the same internal variables as the controls mentioned above, to allow for communication between the envelope view and the connected controls (SyncNote, Fixed, Index, Level, Time, Beat, Curve).
Env BackgroundThis image delivers the background bitmap for the envelope.

Envelope View

Properties

In addition to standard properties like size, position, etc., the envelope view provides a number of properties and colors to customize its appearance and behavior.

PropertyDescription
NameThe name of the envelope view.
Size
Position and Size of the element in pixels.

Pos x, Pos y, Width, Height (Pos = Position of upper left corner)

Attach
  • Left: If the parent is resized, the control remains attached to left edge, with the specified ratio.
  • Right: If the parent is resized, the control moves relatively to the right edge, with the specified ratio.
  • Top: If the parent is resized, the control remains attached to top edge, with the specified ratio.
  • Bottom: If the parent is resized, the control moves relatively to the bottom edge, with the specified ratio.
  • Left + Right: If the parent is resized, the control is resized horizontally relatively to the left and right edges, with the specified ratio.
  • Top + Bottom: If the parent is resized, the control is resized vertically relatively to the top and bottom edges, with the specified ratio.
Tooltip
Text that appears as a tooltip when the mouse hovers over the element.
Style
  • Bipolar: Activate this style for bipolar envelopes like pitch or pan.
  • Scrollbar: If this is active, the view can be scrolled and zoomed.
  • Cross: Shows a cross line when editing nodes.
  • Grid: Shows a time grid.
  • Play Pos: Shows the current playback position on the curve.
  • Nodes: Shows nodes.
  • Add/Rem: Allows adding and removing of nodes. Deactivate this option to provide an ADSR envelope with a fixed number of nodes, for example.
  • Sel Nod: Allows you to select a node.
  • Sustain: Shows a sustain line. For this, a mode with sustain must be active.
  • Loop: Shows a graphical frame overlay for the loop region. For this, the Envelope mode must be switched to Loop.
Env ValueExported to the template (see template parameters above).
ModeExported to the template (see template parameters above).
SyncExported to the template (see template parameters above).
TripletExported to the template (see template parameters above).
SyncNoteConnected using @syncnote variable.
FixedConnected using @fixed variable.
IndexConnected using @index variable.
LevelConnected using @level variable.
TimeConnected using @time variable.
BeatConnected using @beat variable.
CurveConnected using @curve variable.
Loop StartExported to the template (see template parameters above).
Loop EndExported to the template (see template parameters above).
SustainExported to the template (see template parameters above).
Play PosExported to the template (see template parameters above).
Min XThe minimal horizontal zoom value.
Max XThe maximum horizontal zoom value.
Min YThe minimal vertical zoom value.
Max YThe maximum vertical zoom value.

Colors

PropertyDescription
LineCurve line
Fill

Fill color of the nodes

FillSelectedFill color of selected nodes (only used if "Sel Node" style is active)

FrameFocus

Focused node frame
FrameNode frame
HoverHover frame
SustainSustain line (only used if "Sustain" style is active)
SyncedDot color of nodes that are snapped to a sync grid position (only used if Sync is active)
Crosshair

Node edit crosshair (only used if "Crosshair" style is active)

Playback

Playback position indicator

BorderOverall border
Grid VMain vertical grid (only used if "Grid" style is active)
Grid V2Additional vertical fine grid (only used if "Grid" style is active)
Grid HMain horizontal grid (only used if "Grid" style is active)
Grid H2Additional horizontal fine grid (only used if "Grid" style is active)
FontScale font
SelFrameSelection area frame
LoopLoop area
LoopFrameLoop area frame
ZoomZoom area
ZoomFrameZoom area frame

 

 

  • No labels

1 Comment