/ HALion Developer Resource / HALion Macro Page / Templates /

Wavetable Selector


On this page:


Wavetable

Description

The Wavetable Selector is a preconfigured template that can be used to select the wavetables for Osc 1 and Osc 2 of the Wavetable Zone. The template can be configured with the available Template Parameters. The Scope parameter determines for which Wavetable Zone the wavetable selector applies. The Product and Load From parameters define the source folders of the wavetables to be displayed in the selector. The Osc parameter determines the oscillator of the Wavetable Zone for which the wavetable selector applies. The look of the controls can be adapted freely by changing the components inside the template.

To explore the functionality and connections:

  1. Load the Init Basic Controls.vstpreset from the Basic Controls library.
  2. Open the Macro Page Designer, go to the GUI Tree and navigate to "Pages > Wavetable Page".
  3. Select "WT Selector Osc1" or "WT Selector Osc2" and click Edit Element Edit Element to examine the template.

Template Properties

PopertyDescription
NameThe name of the element. This name will be displayed in the GUI Tree.
Position/SizePosition X, Position Y, Width, Height: Position and size of the element in pixels. Position X/Y defines the position of the upper left corner.
AttachDefines how an element behaves when its parent element is resized. You can set the following parameters:
  • Left: If the parent element is resized, the element remains attached to left edge, with the specified ratio.
  • Right: If the parent element is resized, the element moves relatively to the right edge, with the specified ratio.
  • Top: If the parent element is resized, the element remains attached to top edge, with the specified ratio.
  • Bottom: If the parent element is resized, the element moves relatively to the bottom edge, with the specified ratio.
  • Left + Right: If the parent element is resized, the element is resized horizontally relatively to the left and right edges, with the specified ratio.
TooltipText that appears as a tooltip when the mouse hovers over the element.
TemplateDetermines the template to be referenced.

Template Parameters

ParametersDescription
ScopeDetermines for which Wavetable Zone the noise selector applies. For example, by setting Scope to @0:Zone 1 the noise selector applies to the first zone with the name Zone 1 that is found in the Program Tree.
ProductThe Product parameter defines the root folder of the wavetables to be displayed in the noise selector. Set this to HALion if you want to load wavetables from the default file paths, which includes factory and user wavetables. If you wish to deliver your own wavetables as part of your library, you can set Product to the name of your instrument, e.g., MyProductName. Thereby, only the wavetables for MyProductName will be shown in the noise selector. If Product is set to MyProductName: Then, the sample files must be added to the folder ./MyProductName/Sub Presets/Wavetable/Wavetables inside the VST Sound, otherwise the noise selector cannot access these sample files. You can also include both, the HALion root folder and the root folder of your instrument, by setting Product to MyProductName|HALion. The noise selector will then show the content of both locations.
Load FromLoad From specifies the subpath to the location of the wavetables inside the root folder. The root folder is set by Product (see above). You can specify this subfolder freely. However, if you want to see the factory subpresets, Load From must be left empty and Product must contain HALion.

Any subpresets you want to distribute with your library must be added to the corresponding location inside the VST Sound. For example, if Load From is set to MyWavetables and Product is set just to MyProductName, the subpresets inside the VST Sound must be located at ./MyProductName/Sub Presets/MyWavetables.

OscDetermines the oscillator of the Wavetable Zone for which the wavetable selector applies. This must be set either to 1 or 2, which refers to Osc 1 or Osc 2 respectively.
LabelA Label control for displaying a label above the menu.

❕ If you need further control over the content locations, you can specify the required subfolder together with the Product: MyProductName/MyWavetables|HALion/MyWavetables. Load From must not be set in this case. See configuration 4 in the following table.

Content Locations for Different Configurations

#Configuration/ContentDefault File Paths
1

Product = HALion

Load From = MyWavetables

Only wavetables from HALion, including any wavetables the user has saved on hard disk.

Hard Disk:

./Documents/Steinberg/HALion/Sub Presets/Wavetable/Wavetables/MyWavetables

2

Product = MyProductName

Load From = MyWavetables

Only wavetables from the specified library, including any wavetables the user has saved on hard disk.

VST Sound:

./MyProductName/Sub Presets/Wavetable/Wavetables/MyWavetables

Hard Disk:

./Documents/Steinberg/MyProductName/Sub Presets/Wavetable/Wavetables/MyWavetables

3

Product = MyProductName|HALion

Load From = MyWavetables

All wavetables from HALion, the specified library and any wavetables the user has saved on hard disk.

VST Sound:

./MyProductName/Sub Presets/Wavetable/Wavetables/MyWavetables

Hard Disk:

./Documents/Steinberg/HALion/Sub Presets/Wavetable/Wavetables/MyWavetables

./Documents/Steinberg/MyProductName/Sub Presets/Wavetable/Wavetables/MyWavetables

4

Product = MyProductName/MyWavetables|HALion/MyWavetables

Load From = deactivate, leave empty

All wavetables from HALion, the specified library and any wavetables the user has saved on hard disk.

VST Sound:

./MyProductName/Sub Presets/Wavetable/Wavetables/MyWavetables

Hard Disk:

./Documents/Steinberg/HALion/Sub Presets/Wavetable/Wavetables/MyWavetables

./Documents/Steinberg/MyProductName/Sub Presets/Wavetable/Wavetables/MyWavetables

❕ The location of the wavetables inside the VST Sound must match the path defined by Product and Load From, otherwise the wavetable selector cannot access these wavetables. If libraries deliver wavetables in multiple VST Sounds, all wavetables with the same path will be shown together in the wavetable selector.

Components inside the Template

Wavetable Selector Template

Controls and Subtemplates

ItemDescription
groupA Group that contains all necessary elements for the noise selector.
  • switch select: A Switch control for opening the wavetable selector. Its Value must be set to @SubPresetSelectPopup.
  • text: A Text control for displaying the name of the selected wavetable. Its Value must be set to @WavetableName.
BackAn Image control that provides the background bitmap for the name of the sample file.
labelA Label control for displaying a label above the menu. Its Text property is exported and the default is set to Wavetable.