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

setProgram(programOrNil, index)


An Element object can only have one parent. It cannot be child of multiple parents. Therefore, each program can exist only once in the Program Table. Furthermore, an Element object that you retrieved from the running plug-in instance cannot be added twice to the Program Table. It must be removed before it can be added again. The Element objects that you retrieve through loadPreset or loadPresetAsync can be added freely to the Program Table, because these functions create a copy of the Element objects when reading them.

Available in: Controller.


programOrNilThe Program object of the program. Programs can be removed from the Slot Rack by using nil.Program or nil
indexThe index of the slot in the Program Table where you want to set the program.number, optional


To explore the following script:

  1. Download Program.vstpreset.
  2. Drag the preset on the MediaBay to import it to the user folder for VST presets.
  3. Create an empty program and add a script module.
  4. Paste the script into the text editor of the script module and execute the script.


-- set Program.vstpreset in slot 3 of the Program Table and slot 1 of the Slot Rack
-- get the file path for user VST presets
path = getUserPresetPath()
-- load the VST preset
loadedProgram = loadPreset(path.."/Program/Program.vstpreset")
-- set loadedProgram in slot 3 of the Program Table
this.program.instance:setProgram(loadedProgram, 3)

-- set program in slot 1 of the Slot Rack
program = this.program.instance:getProgram(3)
-- clear slot 2 of the Slot Rack

See Also: getProgram, Program


    1. Please re-read. Thanks!