-
Notifications
You must be signed in to change notification settings - Fork 2
Configuration Format Reference
<foresight version="0" name=""></foresight>Marks the beginning and end of the configuration. Everything after the end tag ist ignored. version: The version of the configuration format name: The name that is displayed in the GUI
<settings></settings>Contains special tags that alter miscallenous processing parameters.
<input></input>Marks the input section of the configuration.
<output></output>Marks the output section of the configuration.
<latency>value</latency>Sets the latency of the plugin. value: The value to set it to
<range boundary="">note</range>Limits the range of Foresight's processing to not affect notes outside the specified range. boundary: "lower" or "upper", defines which boundary to set note: The name of the note to place the boundary at (inclusive)
<block>value</block>Blocks the provided CC or note (outside the range) from being passed to the output. This does not affect messages generated by nodes in the output section. value: A CC name like "CC58" or a note name like "C#3"
<switch target=""></switch>Marks the start of a branch in the decision tree. Child nodes of the <case> type define the different options. type: The type of the target for child nodes to act on. Examples: "CC1" (current value, for CCs), "legato" (0 or 1, whether the current note is part of a legato phrase), "velocity" (the current note velocity), "length" (the current note length, notes with undefined length have a length of C++ INT_MAX, a very large number), "C#3" (0 or the velocity of a held note outside the defined range), "program" (the currently active program as set by the last MIDI program change, starts at 0 even though some DAWs incorrectly display it as 1)
<case equals="0"></case> or <case greater="0" less="0"></case>Compares the target defined by the parent node to a value or a range of values. All child nodes of this element are ignored if the condition doesn't apply. equals: True if the target value equals the given value greater, less: True if the target value is between the defined values
<tag name=""></tag>Defines a tag with the given name. Its child notes are visited top to bottom for each note with this tag. name: The name of the tag
<set target="">value</switch>Sets the specified parameter target: The target for the node to act on. Examples: "CC1" (for CCs), "note" (for notes), "start" (for shifting the note start time, introduces extra latency), "end" (for shifting the note end time), "program" (for MIDI program changes) value: The value to set the target to. For CCs, this is the new value of the CC. For notes, this is the pitch, like C#3. For note shifts, this is the amount of milliseconds to shift by (positive numbers shift forwards on time, negative numbers shift backwards)
<set target="legato"/>Allows the current tag to start or be part of a legato phrase.