コンテンツにスキップ

📙 ノードリファレンス

MATH

abs

Output absolute value

** Inputs **

  • 0 : Input (Number)

** Outputs **

  • 0 : Result (Number)

add

Calculate Left + Right.

Output is triggered only by Left input.

** Inputs **

  • 0 : Left operand, triggers the calculation (Number)
  • 1 : Right operand, stored (Number)

** Outputs **

  • 0 : Result (Number)

** Parameters **

  • Right : Default right value
    • type: float
    • default: 0.0
    • constraint: None

clamp

Clamp value between minimum and maximum value.

** Inputs **

  • 0 : Input (Number)

** Outputs **

  • 0 : Clipped value (Number)

** Parameters **

  • Max : Max value
    • type: float
    • default: 127.0
    • constraint: None
  • Min : Min value
    • type: float
    • default: 0.0
    • constraint: None

compare

Performs a numerical comparison.

Left (Operator) Right

** Inputs **

  • 0 : Left operand, triggers the comparison (Number)
  • 1 : Right operand, store only (Number)

** Outputs **

  • 0 : Condition result (met = 1, not met = 0) (Int)

** Parameters **

  • Operator : Operator
    • type: symbol
    • default: <
    • constraint: ['<', '<=', '==', '>', '>=', '!=']
  • Right : Default right value
    • type: float
    • default: 0.0
    • constraint: None

div

Calculate Left / Right.

Output is triggered only by Left input.

** Inputs **

  • 0 : Left operand, triggers the calculation (Number)
  • 1 : Right operand, stored (Number)

** Outputs **

  • 0 : Result (Number)

** Parameters **

  • Right : Default right value
    • type: float
    • default: 1.0
    • constraint: None

eq

Output bang from the left output if left operand is equal to right operand,

otherwise output bang from the right output.

Output is triggered only by Left input.

** Inputs **

  • 0 : Left operand, triggers the calculation (Number)
  • 1 : Right operand, stored (Number)

** Outputs **

  • 0 : Condition is met (Int)
  • 1 : Not met (Int)

** Parameters **

  • Right : Default right value
    • type: float
    • default: 0.0
    • constraint: None

mod

Calculate Left % Right.

Output is triggered only by Left input.

** Inputs **

  • 0 : Left operand, trigger the calculation (Int)
  • 1 : Right operand, stored (Int)

** Outputs **

  • 0 : Result (Int)

** Parameters **

  • Right : Default right value
    • type: float
    • default: 0.0
    • constraint: None

mult

Calculate Left * Right.

Output is triggered only by Left input.

** Inputs **

  • 0 : Left operand, triggers the calculation (Number)
  • 1 : Right operand, stored (Number)

** Outputs **

  • 0 : Result (Number)

** Parameters **

  • Right : Default right value
    • type: float
    • default: 0.0
    • constraint: None

random

Generate random number.

** Inputs **

  • 0 : Trigger random number generation (Any)
  • 1 : Min (Number)
  • 2 : Max (Number)

** Outputs **

  • 0 : Output value (Number)

** Parameters **

  • Min : Default Min
    • type: int
    • default: 0
    • constraint: None
  • Max : Default Max
    • type: int
    • default: 127
    • constraint: None

scale

Scale input range of values to output range.

** Inputs **

  • 0 : Input (Number)

** Outputs **

  • 0 : Scaled Float number (Float)

** Parameters **

  • InputMin : Input min
    • type: int
    • default: 0
    • constraint: None
  • InputMax : Input max
    • type: int
    • default: 127
    • constraint: None
  • OutputMin : Output min
    • type: float
    • default: 0.0
    • constraint: None
  • OutputMax : Output max
    • type: float
    • default: 1.0
    • constraint: None
  • Curve : Curve using Power. y = x^n (1.0 Linear, <1.0 Log curve like, 1.0< Exp curve like)
    • type: float
    • default: 1.0
    • constraint: None

sin

Output sine wave.

** Inputs **

  • 0 : Reset (Int)
  • 1 : Frequency (Float)
  • 2 : Amplitude (Float)

** Outputs **

  • 0 : Output (Float)

** Parameters **

  • Ts : Sampling period (micro sec)
    • type: int
    • default: 500
    • constraint: None
  • Freq : Frequency (Hz)
    • type: float
    • default: 10.0
    • constraint: None
  • Amp : Amplitude
    • type: float
    • default: 1.0
    • constraint: None

sub

Calculate Left - Right.

Output is triggered only by Left input.

** Inputs **

  • 0 : Left operand, triggers the calculation (Number)
  • 1 : Right operand, stored (Number)

** Outputs **

  • 0 : Result (Number)

** Parameters **

  • Right : Default right value
    • type: float
    • default: 0.0
    • constraint: None

CONTROL

alter_out

Route input to output 0 and output 1 alternately.

** Inputs **

  • 0 : Input (Any)

** Outputs **

  • 0 : Output 0 (Any)
  • 1 : Output 1 (Any)

** Parameters **

  • Port : Initial output port
    • type: symbol
    • default: 0
    • constraint: ['0', '1']

counter

It counts up each time a Bang is input. The counter returns to 0 when the threshold is exceeded.

** Inputs **

  • 0 : Counts up and output value (Any)
  • 1 : Set internal value (Int)
  • 2 : Set threshold value (Int)

** Outputs **

  • 0 : Value (Int)

** Parameters **

  • Count : Internal value
    • type: int
    • default: 0
    • constraint: None
  • Threshold : Threshold value
    • type: int
    • default: 15
    • constraint: None

gate

Pass data only when the gate is open.

** Inputs **

  • 0 : Data input (Any)
  • 1 : Open(1) or close(0) gate (Int)

** Outputs **

  • 0 : Output if gate is open (Any)
  • 1 : Output if gate is close (Any)

** Parameters **

  • Open : Initial state of gate
    • type: bool
    • default: True
    • constraint: None

pass

Pass input to output without any modification.

** Inputs **

  • 0 : Input value (Any)

** Outputs **

  • 0 : Output value (Any)

route

Route input to selected output port.

** Inputs **

  • 0 : Input (Any)
  • 1 : Output port selection (Int)

** Outputs **

  • 0 : Output 0 (Any)
  • 1 : Output 1 (Any)
  • 2 : Output 2 (Any)
  • 3 : Output 3 (Any)

** Parameters **

  • Select : output port number to select
    • type: int
    • default: 0
    • constraint: None

select

Output signal from the selected input port.

** Inputs **

  • 0 : Input 0 (Any)
  • 1 : Input 1 (Any)
  • 2 : Input 2 (Any)
  • 3 : Input 3 (Any)
  • 4 : Input port selection (Int)

** Outputs **

  • 0 : Output (Any)

** Parameters **

  • Select : input port number to select
    • type: int
    • default: 0
    • constraint: None

swap

Swaps the order of the two inputs.

Wait until both A and B data are available before outputting data.

** Inputs **

  • 0 : A (Any)
  • 1 : B (Any)

** Outputs **

  • 0 : Output B second (Any)
  • 1 : Output A first (Any)

trigger

Send input values in a fixed order (out1 -> out0)

** Inputs **

  • 0 : Input (Any)

** Outputs **

  • 0 : Second output (Any)
  • 1 : First output (Any)

zeroone

Map 0 and 1 to any output.

** Inputs **

  • 0 : 0 or 1 (Int)

** Outputs **

  • 0 : Mapped number (Int)

** Parameters **

  • Zero : Map from 0
    • type: int
    • default: 0
    • constraint: None
  • One : Map from 1
    • type: int
    • default: 2
    • constraint: None

LOGIC

and

Output AND of Left & Right inputs.

** Inputs **

  • 0 : Left operand (Int)
  • 1 : Right operand (Int)

** Outputs **

  • 0 : Output (Int)

nand

Output NAND of Left & Right inputs.

** Inputs **

  • 0 : Left operand (Int)
  • 1 : Right operand (Int)

** Outputs **

  • 0 : Output (Int)

nor

Output NOR of Left & Right inputs.

** Inputs **

  • 0 : Left operand (Int)
  • 1 : Right operand (Int)

** Outputs **

  • 0 : Output (Int)

not

NOT output.

** Inputs **

  • 0 : Input (Int)

** Outputs **

  • 0 : Output (Int)

or

Output OR of Left & Right inputs.

** Inputs **

  • 0 : Left operand (Int)
  • 1 : Right operand (Int)

** Outputs **

  • 0 : Output (Int)

xor

Output XOR of Left & Right inputs.

** Inputs **

  • 0 : Left operand (Int)
  • 1 : Right operand (Int)

** Outputs **

  • 0 : Output (Int)

APP

arp

Arpeggiater.

Outputs each time Clock is input.

The notes to be arpeggiated are specified by the midi input.

Notes are recorded in the order in which you press the keys.

If you turn on Hold, you can continue playing even if you take your hand off the keyboard.

** Inputs **

  • 0 : Clock (Int)
  • 1 : MIDI input (MidiPacket)
  • 2 : Hold (1 on / 0 off) (Int)
  • 3 : Mode (Int)

** Outputs **

  • 0 : Note Number (Int)
  • 1 : Velocity (Int)
  • 2 : Mode name (String)

** Parameters **

  • Channel : Default MIDI channel
    • type: int
    • default: 1
    • constraint: None

chordassign

This node allows you to assign arbitrary chord to each note number.

In play mode, if you play a note, the assigned chord (if exists) is outputted.

To assign a chord to a note, change to rec mode while you pressing a note you want to assign a chord to.

Then play the chord you want to assign and return to play mode.

** Inputs **

  • 0 : MIDI input (MidiPacket)
  • 1 : MIDI channel for output notes (Int)
  • 2 : Mode (0=play, 1=rec) (Int)

** Outputs **

  • 0 : MIDI output (MidiPacket)
  • 1 : Assign to (note name) (String)

** Parameters **

  • PlayChannel : MIDI channel for play(input). 0 = do not care.
    • type: int
    • default: 0
    • constraint: None
  • RecChannel : MIDI channel for record(input). 0 = do not care.
    • type: int
    • default: 0
    • constraint: None
  • OutChannel : MIDI channel for output notes.
    • type: int
    • default: 1
    • constraint: None

chordname

Output the currently played chord name.

** Inputs **

  • 0 : MIDI input & trigger chord name output (MidiPacket)
  • 1 : Set MIDI channel (Int)

** Outputs **

  • 0 : Chord name (String)

** Parameters **

  • Channel : MIDI channel
    • type: int
    • default: 1
    • constraint: None

chordscale

Determines the chord scale from the input chord and quantized another MIDI note using that scale.

Code scale estimation is currently a beta feature.

** Inputs **

  • 0 : MIDI notes to quantize (MidiPacket)
  • 1 : MIDI notes to determine chord scale (MidiPacket)
  • 2 : Set root (0-11) (Int)
  • 3 : Index of built-in musical scale (Int)

** Outputs **

  • 0 : Scale quantized MIDI Notes (MidiPacket)
  • 1 : Scale name (String)

** Parameters **

  • Channel : MIDI channel for chord input. 0 = do not care.
    • type: int
    • default: 0
    • constraint: None
  • Hold : Hold chord notes.
    • type: bool
    • default: True
    • constraint: None
  • ChordToneOnly : Quantize only with chord tones.
    • type: bool
    • default: False
    • constraint: None

pong_game

This is a ping-pong game that can be played by 2 player.

It is a sample program of GUI control by node.

Game operation input must be given from the node input port.

The following list is a settings example. See the sample flow for details.

A : Start/Stop game.

B : Reset game.

L/R knob : Move bar.

L/R button : If you press this button at the just time, you will push the bar to accelerate the ball and hit it back.

** Inputs **

  • 0 : start / end game (Any)
  • 1 : pause (Any)
  • 2 : user L pos. 0 - 52 (Number)
  • 3 : user R pos. 0 - 52 (Number)
  • 4 : push L (Number)
  • 5 : push R (Number)

** Outputs **

  • 0 : pitch (Int)

seq

Step Sequencer.

Outputs each time Clock is input.

Record the sequence using MIDI input.

When you turn on edit mode, the patterns inside will be erased.

** Inputs **

  • 0 : Clock (Int)
  • 1 : MIDI Notes for record pattern (MidiPacket)
  • 2 : Function (0 skip) (Int)
  • 3 : Edit (1 on / 0 off) (Int)
  • 4 : Reset index (Int)

** Outputs **

  • 0 : Note Number (Int)
  • 1 : Velocity (Int)

** Parameters **

  • Channel : MIDI channel for input. 0 = do not care.
    • type: int
    • default: 0
    • constraint: None

AUDIO

audio_rate

Start calculation for audio output.

Output bang for each signal vector. Use this bang as a trigger to perform subsequent calculations.

** Outputs **

  • 0 : Audio Processing Trigger (Int)

** Parameters **

  • Number : Jack number of CV output
    • type: symbol
    • default: 1
    • constraint: ['1', '2']

audioin

CV Input with sample rate of 40kHz. It can be treated as an audio input.

NOTE:

midiglue is not designed to handle audio input and output. This feature is an extension for hackers and use at your own risk.

** Outputs **

  • 0 : CV voltage list (Signal)

** Parameters **

  • Number : Jack number of CV input
    • type: symbol
    • default: 1
    • constraint: ['1', '2']

audioout

CV Output from FloatList with sample rate of 40kHz. It can be treated as an audio output.

NOTE:

midiglue is not designed to handle audio input and output. This feature is an extension for hackers and use at your own risk.

** Inputs **

  • 0 : Input (Signal)

** Parameters **

  • Number : Jack number of CV output
    • type: symbol
    • default: 1
    • constraint: ['1', '2']

mtof

Convert MIDI Note Number to Frequency.

** Inputs **

  • 0 : MIDI Note Number (Number)

** Outputs **

  • 0 : Frequency (Float)

osc_ctrl_mono

Oscillator controller for monophonic synthesizer.

Outputs frequency and amplitude from midi notes.

** Inputs **

  • 0 : Audio Processing Trigger (Any)
  • 1 : midi input (MidiPacket)
  • 2 : Attack Time (ms) (Number)
  • 3 : Decay Time (ms) (Number)
  • 4 : Sustain Level (0 - 1.0) (Float)
  • 5 : Release Time (ms) (Number)

** Outputs **

  • 0 : amplitude (Signal)
  • 1 : frequency (Signal)

** Parameters **

  • Attack : Attack Time (ms)
    • type: float
    • default: 30.0
    • constraint: None
  • Decay : Decay Time (ms)
    • type: float
    • default: 10.0
    • constraint: None
  • Sustain : Sustain Level (0 - 1.0)
    • type: float
    • default: 0.8
    • constraint: None
  • Release : Release Time (ms)
    • type: float
    • default: 300.0
    • constraint: None

osc_ctrl_poly

Oscillator controller for 4 voices polyphonic synthesizer.

Outputs frequency and amplitude from midi notes.

** Inputs **

  • 0 : Audio Processing Trigger (Any)
  • 1 : midi input (MidiPacket)
  • 2 : Attack Time (ms) (Number)
  • 3 : Decay Time (ms) (Number)
  • 4 : Sustain Level (0 - 1.0) (Float)
  • 5 : Release Time (ms) (Number)

** Outputs **

  • 0 : amplitude #1 (Signal)
  • 1 : frequency #1 (Signal)
  • 2 : amplitude #2 (Signal)
  • 3 : frequency #2 (Signal)
  • 4 : amplitude #3 (Signal)
  • 5 : frequency #3 (Signal)
  • 6 : amplitude #4 (Signal)
  • 7 : frequency #4 (Signal)

** Parameters **

  • Attack : Attack Time (ms)
    • type: float
    • default: 30.0
    • constraint: None
  • Decay : Decay Time (ms)
    • type: float
    • default: 10.0
    • constraint: None
  • Sustain : Sustain Level (0 - 1.0)
    • type: float
    • default: 0.8
    • constraint: None
  • Release : Release Time (ms)
    • type: float
    • default: 300.0
    • constraint: None

saw_osc

Saw wave oscillator.

** Inputs **

  • 0 : Frequency (Signal)

** Outputs **

  • 0 : Samples (Signal)

sig

Float values for use in signal processing networks.

Creates a new FloatList for output.

** Inputs **

  • 0 : Audio Processing Trigger (Any)
  • 1 : Set value (Number)

** Outputs **

  • 0 : Samples (Signal)

** Parameters **

  • Value : Default value
    • type: float
    • default: 0.0
    • constraint: None

sig_add

Calculate Left + Right.

Calculation is performed after the two data are gathered.

The FloatList on the left input is used for output.

** Inputs **

  • 0 : Left operand (Signal)
  • 1 : Right operand (Signal)

** Outputs **

  • 0 : Result (Signal)

sig_mult

Calculate Left + Right.

Calculation is performed after the two data are gathered.

The FloatList on the left input is used for output.

** Inputs **

  • 0 : Left operand (Signal)
  • 1 : Right operand (Signal)

** Outputs **

  • 0 : Result (Signal)

sig_trigger

Send input signals in a fixed order (out1 -> out0).

The FloatList on the input is used for output #0.

Creates a new FloatList for output #1.

** Inputs **

  • 0 : Input (Signal)

** Outputs **

  • 0 : Second output (Any)
  • 1 : First output (Any)

sin_osc

Sin wave oscillator.

** Inputs **

  • 0 : Frequency (Signal)

** Outputs **

  • 0 : Samples (Signal)

square_osc

Square wave oscillator.

** Inputs **

  • 0 : Frequency (Signal)

** Outputs **

  • 0 : Samples (Signal)

tri_osc

Triangle wave oscillator.

** Inputs **

  • 0 : Frequency (Signal)

** Outputs **

  • 0 : Samples (Signal)

MIDI

bendin

Parse MIDI PitchBend packets

** Inputs **

  • 0 : MIDI input & trigger output (MidiPacket)

** Outputs **

  • 0 : PitchBend value (Int)
  • 1 : MIDI channnel (Int)
  • 2 : MidiPacket other than PitchBend (MidiPacket)

bendout

Construct MIDI PitchBend packet.

** Inputs **

  • 0 : Set pitch bend value & trigger output (Int)
  • 1 : Set MIDI channnel (Int)

** Outputs **

  • 0 : Output (MidiPacket)

** Parameters **

  • Channel : Default MIDI channel
    • type: int
    • default: 1
    • constraint: None

ccfilt

Pick out a specific type of MIDI Control Change packets.

You can filter packets based on control number, channel, or both.

For details on CC Number, refer to the MIDI specification.

ex.)

1/33 = modulation(MSB/LSB)

2/34 = breath controller(MSB/LSB)

64 = damper(sustain) pedal

** Inputs **

  • 0 : MIDI input & trigger output (MidiPacket)
  • 1 : Set target control number (Int)
  • 2 : Set target channel (Int)

** Outputs **

  • 0 : Target MIDI Control Change packet (MidiPacket)

** Parameters **

  • CCnumber : Initial target control number
    • type: int
    • default: 64
    • constraint: None
  • Channel : Initial target channel
    • type: int
    • default: 1
    • constraint: None
  • FiltNumber : Check if filter based on control number
    • type: bool
    • default: True
    • constraint: None
  • FiltChannel : Check if filter based on channel
    • type: bool
    • default: True
    • constraint: None

ctrlin

Parse MIDI Control Change packets

** Inputs **

  • 0 : MIDI input & trigger output (MidiPacket)

** Outputs **

  • 0 : Control value (Int)
  • 1 : Control number (Int)
  • 2 : MIDI channnel (Int)
  • 3 : MidiPacket other than CC (MidiPacket)

ctrlout

Construct MIDI Control Change packet.

For details on CC Number, refer to the MIDI specification.

ex.)

1/33 = modulation(MSB/LSB)

2/34 = breath controller(MSB/LSB)

64 = damper(sustain) pedal

** Inputs **

  • 0 : Set control value & trigger output (Int)
  • 1 : Set control number (Int)
  • 2 : Set MIDI channnel (Int)

** Outputs **

  • 0 : Output (MidiPacket)

** Parameters **

  • Channel : Default MIDI channel
    • type: int
    • default: 1
    • constraint: None
  • CCnumber : Default CC number
    • type: int
    • default: 64
    • constraint: None

makenote

Assemble the MIDI Note packets form note number, velocity and channel.

After sending Note On, it will automatically issue Note Off after a set time.

** Inputs **

  • 0 : Set note number & trigger output (Int)
  • 1 : Set velocity (Int)
  • 2 : Set MIDI Channel (Int)
  • 3 : Set Duration (millisec) (Int)

** Outputs **

  • 0 : MIDI packets (MidiPacket)

** Parameters **

  • Velocity : Default velocity
    • type: int
    • default: 60
    • constraint: None
  • Channel : Default MIDI channel
    • type: int
    • default: 1
    • constraint: None
  • Duration : Default note duration (millisec)
    • type: int
    • default: 500
    • constraint: None
  • MaxNotes : Max number of simultaneously played notes
    • type: int
    • default: 32
    • constraint: None

midich

Extract the channel number from MIDI Packet.

** Inputs **

  • 0 : MIDI input (MidiPacket)

** Outputs **

  • 0 : Channel Message (MidiPacket)
  • 1 : MIDI channnel (Int)
  • 2 : Not Channel Message (MidiPacket)

midiclockin

Parse MIDI Timing Clock packets.

** Inputs **

  • 0 : MIDI input (MidiPacket)

** Outputs **

  • 0 : MIDI Timing Clock bang out (Int)
  • 1 : MIDI Timing Clock start(2)/continue(1)/stop(0) out (Int)
  • 2 : MidiPackets other than MIDI Timing Clock (MidiPacket)

midiclockout

Send MIDI Timing Clock packets.

Use the "syncbang" node to generate a clock signal.

** Inputs **

  • 0 : MIDI timing clock bang input (Int)
  • 1 : MIDI timing clock start(2)/continue(1)/stop(0) input (Int)

** Outputs **

  • 0 : Output (MidiPacket)

** Parameters **

  • State : Initial state (start(2)/continue(1)/stop(0))
    • type: symbol
    • default: Stop
    • constraint: ['Stop', 'Start', 'Continue']

midipanic

Send AllNotesOff to the specified channel.

NOTE : If the destination device does not support AllNotesOff message, it has no effect.

** Inputs **

  • 0 : Trigger MIDI panic (Any)
  • 1 : MIDI channel (1-16). Set 0 to send to all channels. (Int)

** Outputs **

  • 0 : MIDI packet (MidiPacket)

** Parameters **

  • Channel : Default MIDI channel. Set 0 to send to all channels.
    • type: int
    • default: 0
    • constraint: None
  • AllSoundOff : Send AllSoundOff message same time.
    • type: bool
    • default: True
    • constraint: None
  • ActiveSensing : Send ActiveSensing one time.
    • type: bool
    • default: True
    • constraint: None

miditype

Check the type of MIDI Packet.

** Inputs **

  • 0 : MIDI input (MidiPacket)

** Outputs **

  • 0 : Type matches (MidiPacket)
  • 1 : Not matches (MidiPacket)

** Parameters **

  • Type : MIDI Type
    • type: symbol
    • default: Note
    • constraint: ['Note', 'NoteOn', 'NoteOff', 'ControlChange', 'PitchBend', 'ProgramChange']

note2cv

Convert MIDI NoteOn/NoteOff to CV/GATE (V/Oct).

** Inputs **

  • 0 : Raw MIDI packet & trigger output (MidiPacket)
  • 1 : Set MIDI Channel (Int)
  • 2 : Set Note number corresponding to 0 V. (Int)
  • 3 : Set Portamento time (millisec) (Int)

** Outputs **

  • 0 : Pitch CV (Float)
  • 1 : Gate (Int)

** Parameters **

  • Channel : Default MIDI channel
    • type: int
    • default: 1
    • constraint: None
  • BaseNum : Default note number corresponding to 0 V
    • type: int
    • default: 34
    • constraint: None

notein

Parse NoteOn/NoteOff packets.

** Inputs **

  • 0 : MIDI input (MidiPacket)

** Outputs **

  • 0 : NoteOn(1) or NoteOff(0) (Int)
  • 1 : Note number of noteon/noteoff (Int)
  • 2 : Velocity (Int)
  • 3 : MIDI channnel (Int)

notename

Output the currently played note name.

** Inputs **

  • 0 : MIDI input & trigger note name output (MidiPacket)
  • 1 : Note number input & trigger note name output (Int)

** Outputs **

  • 0 : Note name (String)

noteout

Construct NoteOn/NoteOff packet from note number, velocity and channel.

** Inputs **

  • 0 : Set NoteOn(1) or NoteOff(0) & trigger output (Int)
  • 1 : Set note number of noteon/noteoff (Int)
  • 2 : Set velocity (Int)
  • 3 : Set MIDI channnel (Int)

** Outputs **

  • 0 : MIDI packets (MidiPacket)

** Parameters **

  • Channel : Default MIDI channel
    • type: int
    • default: 1
    • constraint: None

noteshift

Perform pitch shift and channel change to MIDI notes.

NOTE:

Tracks the holded note to send the correct NoteOff. Consumes up to 2KB of RAM.

** Inputs **

  • 0 : MIDI input & trigger output (MidiPacket)
  • 1 : Set pitch shift amount (Int)
  • 2 : Set MIDI channel (Int)
  • 3 : Reset internal state and send noteoff (Any)

** Outputs **

  • 0 : Pitch-shifted and Channel-modified NoteOn/NoteOff (MidiPacket)

** Parameters **

  • PitchShift : Default pitch shift amount
    • type: int
    • default: 0
    • constraint: None
  • ChChange : Default channel. Set 0 to keep the original channel
    • type: int
    • default: 0
    • constraint: None

notesoff

Track NoteOn and send the corresponding NoteOff when reset.

If you want to change the MIDI transmission destination while playing, use this node and reset it BEFORE changing the parameter.

NOTE:

Tracks the holded note, Consumes up to 2KB of RAM.

** Inputs **

  • 0 : MIDI input, track NoteOn and Pedal (MidiPacket)
  • 1 : Reset. Send NoteOff corresponding to tracked NoteOn (Any)

** Outputs **

  • 0 : Pass through (MidiPacket)

notevel

Controls the velocity of MIDINotes.

You can use "velocity", "volume", and other arithmetic operations in expression(formula)s.

** Inputs **

  • 0 : MIDI input & trigger output (MidiPacket)
  • 1 : Set volume(0.0-1.0) (Float)

** Outputs **

  • 0 : Velocity-changed NoteOn / NoteOut (MidiPacket)

** Parameters **

  • Expression : Expression for calculating Velocity
    • type: str
    • default: velocity * volume
    • constraint: None

pgmin

Parse MIDI Program Change packets

** Inputs **

  • 0 : MIDI input & trigger output (MidiPacket)

** Outputs **

  • 0 : Program number (Int)
  • 1 : MIDI channnel (Int)
  • 2 : MidiPacket other than Program Change (MidiPacket)

pgmout

Construct MIDI Program Change packet.

** Inputs **

  • 0 : Set program number & trigger output (Int)
  • 1 : Set MIDI channnel (Int)

** Outputs **

  • 0 : Output (MidiPacket)

** Parameters **

  • Channel : Default MIDI channel
    • type: int
    • default: 1
    • constraint: None

splitter

Split incoming NoteOn/NoteOff packets to 2 output ports based on note number.

If the note number of an incoming packet is less than threshold, it is outputted from the first port.

** Inputs **

  • 0 : MIDI input & trigger output (MidiPacket)
  • 1 : Set threshold (Int)

** Outputs **

  • 0 : Low (MidiPacket)
  • 1 : High (MidiPacket)

** Parameters **

  • Threshold : Default threshold
    • type: int
    • default: 0
    • constraint: None

sysex

Construct MIDI System Exclusive Message.

Message must contain the initial 0xF0 and the last 0xF7 byte!!!

Otherwise no SysEx message is sent out.

** Inputs **

  • 0 : Trigger output (Int)

** Outputs **

  • 0 : Output (MidiSysEx)

** Parameters **

  • Message : Comma-separated list of message bytes including F0 and F7
    • type: str
    • default: 0xF0, 0xF7
    • constraint: None

INOUT

button

Button input.

4 types of outputs are available.

  • Momentary (output 1 when pushed, 0 otherwise)

  • Bang (output a bang when pushed)

  • Alternate (toggle output 1 and 0 each time when pushed)

  • Longpress (output bang when longpressed)

** Outputs **

  • 0 : Momentary out (output 1 when pushed, 0 otherwise) (Int)
  • 1 : Bang out (output a bang when pushed) (Int)
  • 2 : Alternate out (toggle output 1 and 0 each time when pushed) (Int)
  • 3 : Longpress out (output bang when longpressed) (Int)

** Parameters **

  • Button : Target Button
    • type: symbol
    • default: BUTTON_A
    • constraint: ['BUTTON_A', 'BUTTON_B', 'BUTTON_L', 'BUTTON_R']
  • Initial : Initial state of toggle out
    • type: symbol
    • default: 0
    • constraint: ['0', '1']
  • UseCombination : Use combination button or not
    • type: bool
    • default: False
    • constraint: None
  • Combination : Button to use in combination with the button
    • type: symbol
    • default: BUTTON_A
    • constraint: ['BUTTON_A', 'BUTTON_B', 'BUTTON_L', 'BUTTON_R', 'BUTTON_BACK']

cvin

CV Input. Sampling rate is 1kHz.

2 types of decimation filter is available.

  • Butterworth : Flat freqency response up to 250Hz

  • Bessel : Good transient response, but the freqency response slowly rolls off

** Outputs **

  • 0 : CV voltage (Float)

** Parameters **

  • Number : Jack number of CV input
    • type: symbol
    • default: 1
    • constraint: ['1', '2']
  • Filt : Type of decimation filter
    • type: symbol
    • default: Butterworth
    • constraint: ['Butterworth', 'Bessel']

cvout

Output CV from voltage. Sampling rate is 1kHz.

2 types of decimation filter is available.

  • Butterworth : Flat freqency response up to 250Hz

  • Bessel : Good transient response, but the freqency response slowly rolls off

** Inputs **

  • 0 : CV voltage (Float)

** Parameters **

  • Number : Jack number of CV input
    • type: symbol
    • default: 1
    • constraint: ['1', '2']
  • Filt : Type of decimation filter
    • type: symbol
    • default: Butterworth
    • constraint: ['Butterworth', 'Bessel']

dinsyncin

Output DIN Sync signal.

** Outputs **

  • 0 : DIN Sync clock pulse out (Int)
  • 1 : DIN Sync continue(1)/stop(0) out (Int)

** Parameters **

  • Number : DIN Sync number
    • type: symbol
    • default: 1
    • constraint: ['1', '2']

dinsyncout

Output DIN Sync signal.

** Inputs **

  • 0 : DIN Sync clock pulse in (Int)
  • 1 : DIN Sync continue(1)/stop(0) in (Int)

** Parameters **

  • State : Initial state (continue(1)/stop(0))
    • type: symbol
    • default: Stop
    • constraint: ['Stop', 'Continue']
  • Number : DIN Sync number
    • type: symbol
    • default: 1
    • constraint: ['1', '2']
  • Pulsewidth : DIN Sync pulse width in microsec
    • type: int
    • default: 1000
    • constraint: None

exppedalin

Expression Pedal input.

** Outputs **

  • 0 : Value (resistance) (Float)

** Parameters **

  • Number : Jack number of expression pedal input
    • type: symbol
    • default: 1
    • constraint: ['1', '2']
  • R : Correction parameter (resistance of pedal)
    • type: int
    • default: 50
    • constraint: None

footswitchin

Foot switch Input.

3 types of outputs are available.

  • Momentary (output 1 when pushed, 0 otherwise)

  • Bang (output a bang when pushed)

  • Alternate (toggle output 1 and 0 each time when pushed)

** Outputs **

  • 0 : Momentary out (output 1 when pushed, 0 otherwise) (Int)
  • 1 : Bang out (output a bang when pushed) (Int)
  • 2 : Alternate out (toggle output 1 and 0 each time when pushed) (Int)

** Parameters **

  • Number : Jack number of foot switch input
    • type: symbol
    • default: 1
    • constraint: ['1', '2']
  • Inverse : Inverse polarity
    • type: bool
    • default: False
    • constraint: None
  • Initial : Initial state of toggle out
    • type: symbol
    • default: 0
    • constraint: ['0', '1']

gatein

GATE Input (Not recommended for SYNC signals).

3 types of outputs are available.

  • Normal (output 0/1)

  • Bang (output a bang when gate becomes active)

  • Alternate (toggle output 1 and 0 each time gate becomes active)

** Outputs **

  • 0 : Normal out (output 0/1) (Int)
  • 1 : Bang out (output a bang when gate becomes active) (Int)
  • 2 : Alternate out (toggle output 1 and 0 each time gate becomes active) (Int)

** Parameters **

  • Number : Jack number of gate input
    • type: symbol
    • default: 1
    • constraint: ['1', '2']
  • Inverse : Inverse polarity
    • type: bool
    • default: False
    • constraint: None
  • Initial : Initial state of toggle out
    • type: symbol
    • default: 0
    • constraint: ['0', '1']

gateout

Gate output (Not recommended for SYNC signals).

** Inputs **

  • 0 : Output value (0: Low, 1: High) (Int)
  • 1 : Trigger pulse (Int)

** Parameters **

  • Number : Jack number of gate out
    • type: symbol
    • default: 1
    • constraint: ['1', '2']
  • Inverse : Inverse polarity
    • type: bool
    • default: False
    • constraint: None
  • Pulsewidth : Gate pulse width in microsec
    • type: int
    • default: 1000
    • constraint: None

knob

Knob.

If you select combination button, rotation of the knob is counted only while the specified button is pressed.

NOTE:

When UseCombination = false, and more than one of buttons are pushed, rotation is not counted.

** Outputs **

  • 0 : Current value (Int)

** Parameters **

  • Knob : Target knob
    • type: symbol
    • default: KNOB_L
    • constraint: ['KNOB_L', 'KNOB_R']
  • Min : Min value
    • type: int
    • default: 0
    • constraint: None
  • Max : Max value
    • type: int
    • default: 127
    • constraint: None
  • Initial : Initial value
    • type: int
    • default: 0
    • constraint: None
  • UseCombination : Use combination button or not
    • type: bool
    • default: False
    • constraint: None
  • Combination : Button to use in combination with the knob
    • type: symbol
    • default: BUTTON_A
    • constraint: ['BUTTON_A', 'BUTTON_B', 'BUTTON_L', 'BUTTON_R', 'BUTTON_BACK']

midiin

MIDI Input.

** Outputs **

  • 0 : MIDI packets except System Exclusive Messages (MidiPacket)
  • 1 : System Exclusive Messages (MidiSysEx)

** Parameters **

  • Input1 : Legacy MIDI Input #1. on / off
    • type: bool
    • default: True
    • constraint: None
  • Input2 : Legacy MIDI Input #2. on / off
    • type: bool
    • default: True
    • constraint: None
  • USBDevice : USB MIDI Device. on / off
    • type: bool
    • default: True
    • constraint: None
  • USBHost : USB MIDI Host. on / off
    • type: bool
    • default: True
    • constraint: None

midiout

MIDI Output.

In case you do not use NoteOff velocity and the output is too slow, consider using ConvNoteOff option.

This option will speed up Legacy MIDI transmission by converting all NoteOff to NoteOn with velocity 0 (for Legacy MIDI only).

** Inputs **

  • 0 : MIDI packets except System Exclusive Messages (MidiPacket)
  • 1 : System Exclusive Messages (MidiSysEx)

** Parameters **

  • Output1 : Legacy MIDI Output #1. on / off
    • type: bool
    • default: True
    • constraint: None
  • Output2 : Legacy MIDI Output #2. on / off
    • type: bool
    • default: True
    • constraint: None
  • USBDevice : USB MIDI Device. on / off
    • type: bool
    • default: True
    • constraint: None
  • USBHost : USB MIDI Host. on / off
    • type: bool
    • default: True
    • constraint: None
  • ConvNoteOff : Convert NoteOff to NoteOn with velocity 0 for Legacy MIDI
    • type: bool
    • default: False
    • constraint: None

midiouts

MIDI Output.

In case you do not use NoteOff velocity and the output is too slow, consider using ConvNoteOff option.

This option will speed up Legacy MIDI transmission by converting all NoteOff to NoteOn with velocity 0 (for Legacy MIDI only).

** Inputs **

  • 0 : MIDI packets except System Exclusive Messages (MidiPacket)
  • 1 : System Exclusive Messages (MidiSysEx)
  • 2 : Select Output (0-3) (Int)

** Outputs **

  • 0 : Port string (String)

** Parameters **

  • DefaultOut : Default select(1, 2, Dev, Host)
    • type: symbol
    • default: 0
    • constraint: ['0', '1', '2', '3']
  • ConvNoteOff : Convert NoteOff to NoteOn with velocity 0 for Legacy MIDI
    • type: bool
    • default: False
    • constraint: None

syncin

SYNC Input.

Use this node instead of gatein node for SYNC signals.

** Outputs **

  • 0 : Sync bang out (Int)

** Parameters **

  • Number : Sync number
    • type: symbol
    • default: 1
    • constraint: ['1', '2']
  • Inverse : Inverse polarity
    • type: bool
    • default: False
    • constraint: None

syncout

Output SYNC signal.

Use the "syncbang" node to generate a clock signal.

If you can not synchronize well, try adjusting the Pulsewidth to a larger value.

** Inputs **

  • 0 : Sync bang input (Int)

** Parameters **

  • Number : Sync number
    • type: symbol
    • default: 1
    • constraint: ['1', '2']
  • Inverse : Inverse polarity
    • type: bool
    • default: False
    • constraint: None
  • Pulsewidth : Gate pulse width in microsec
    • type: int
    • default: 1000
    • constraint: None

REALTIME

cyclic_ms

Output bang repeatedly.

Interval is specified in milli seconds.

** Inputs **

  • 0 : Set interval in millisec and reschedule (Float)

** Outputs **

  • 0 : Bang output (Int)

** Parameters **

  • Interval : interval (millisec)
    • type: float
    • default: 1000.0
    • constraint: None

cyclic_tick

Output bang repeatedly.

Interval is specified in ticks (480 ticks are equivalent to 1 quarter note).

To use this node, master tempo must be set up with tempo_bpm or tempo_ext node!!!

** Inputs **

  • 0 : Set interval in tick and reschedule (Int)

** Outputs **

  • 0 : Bang output (Int)

** Parameters **

  • Interval : interval (tick)
    • type: int
    • default: 480
    • constraint: None

delay_ms

Memorize incoming number and output them with delay.

Delay is specified in milli seconds.

The MaxEvents parameter is an upper limit on the number of events that this node can hold simultaneously. If the limit has been reached, new events are ignored.

Increasing MaxEvents allows you to hold more events, but consumes more RAM.

** Inputs **

  • 0 : Input (Any)
  • 1 : Set delay time (millisec) (Float)

** Outputs **

  • 0 : Delayed (Any)

** Parameters **

  • Delay : Delay time in millisec
    • type: float
    • default: 1000.0
    • constraint: None
  • MaxEvents : Max number of events to memorize
    • type: int
    • default: 32
    • constraint: None

delay_tick

Memorize incoming number and output them with delay.

Delay time is specified in ticks (480 ticks are equivalent to 1 quarter note).

The MaxEvents parameter is an upper limit on the number of events that this node can hold simultaneously. If the limit has been reached, new events are ignored.

Increasing MaxEvents allows you to hold more events, but consumes more RAM.

Tick depends on the master tempo. Use the tempo_ext or tempo_bpm nodes to control the master tempo.

** Inputs **

  • 0 : Input (Any)
  • 1 : Set delay time (tick) (Int)

** Outputs **

  • 0 : Delayed (Any)

** Parameters **

  • Delay : Delay time in tick
    • type: int
    • default: 1000
    • constraint: None
  • MaxEvents : Max number of events to memorize
    • type: int
    • default: 32
    • constraint: None

metro

Metronome.

Use the timediv node to set the interval tick.

Set tempo with tempo_bpm or tempo_ext.

** Inputs **

  • 0 : Set interval tick (Int)
  • 1 : Set state Enable(1) / Disable(0) (Int)

** Outputs **

  • 0 : Bang output (Int)

** Parameters **

  • IntervalTick : Interval Tick
    • type: int
    • default: 480
    • constraint: None
  • State : Initial state
    • type: symbol
    • default: 1
    • constraint: ['1', '0']

pulse

Output 0 - 1 - 0 pulse signal.

** Inputs **

  • 0 : Trigger output (Int)

** Outputs **

  • 0 : Output pulse (Int)

** Parameters **

  • Pulsewidth : Pulse width in microsec
    • type: int
    • default: 1000
    • constraint: None

resample

Resample the real-time signal at the new rate.

** Inputs **

  • 0 : Value (Any)

** Outputs **

  • 0 : Resampled value (Any)

** Parameters **

  • Rate : Resample rate (Hz)
    • type: float
    • default: 30.0
    • constraint: None

suppress

Send a value only when the it fluctuates.

** Inputs **

  • 0 : Value (Float)

** Outputs **

  • 0 : Suppressed value (Float)

** Parameters **

  • Margin : Send value when more than Margin value change occurs.
    • type: float
    • default: 1.0
    • constraint: None

swing

Metronome with swing.

Use the timediv node to set the interval tick.

Swing parameter is specified as Float value of range 0.0-1.0 .

Swing value of 0.5 means no swing.

Set tempo with tempo_bpm or tempo_ext.

** Inputs **

  • 0 : Set interval tick (Int)
  • 1 : Set swing (Float)
  • 2 : Set state Enable(1) / Disable(0) (Int)

** Outputs **

  • 0 : Bang output (Int)

** Parameters **

  • IntervalTick : Interval Tick
    • type: int
    • default: 0
    • constraint: None
  • Swing : Swing parameter
    • type: float
    • default: 0.5
    • constraint: None
  • State : Initial state
    • type: symbol
    • default: 1
    • constraint: ['1', '0']

syncbang

Output bang for timing source of midiclockout/dinsyncout/syncout etc.

You can specify PPQN (for example, MIDI Timing Clock is 24 PPQN).

Set tempo with tempo_bpm or tempo_ext.

To use this node, master tempo must be set up with tempo_bpm or tempo_ext node!!!

** Inputs **

  • 0 : Set PPQN (Int)
  • 1 : Set state Enable(1) / Disable(0) (Int)

** Outputs **

  • 0 : Sync bang out (Int)

** Parameters **

  • PPQN : Pulses per quarter note
    • type: int
    • default: 1
    • constraint: None
  • State : Initial state. Enable(1) / Disable(0)
    • type: symbol
    • default: 1
    • constraint: ['1', '0']

tempo_bpm

Set master tempo with BPM.

All nodes that use tick as the timing base relies on master tempo.

If this node is placed in a flow, master tempo is controlled by this node.

Available operations are:

  • Set BPM: Set BPM by Float value

  • Set status:

    • start: Reset tick count and start counting up ticks

    • continue: Resume counting up ticks without resetting tick count

    • stop: Stop tick count without resetting tick count

  • Trigger reset: Reset tick count

** Inputs **

  • 0 : Set BPM (Float)
  • 1 : Set start(2)/continue(1)/stop(0) (Int)
  • 2 : Trigger reset (Any)

** Parameters **

  • BPM : Initial bpm
    • type: int
    • default: 120
    • constraint: None
  • State : Initial state (start(2)/continue(1)/stop(0))
    • type: symbol
    • default: Start
    • constraint: ['Start', 'Continue', 'Stop']

tempo_ext

Set master tempo with external sync signal.

All nodes that use tick as the timing base relies on master tempo.

If this node is placed in a flow, master tempo is controlled by this node.

Available operations are:

  • Input external sync signal: ticks are counted up in synchronization with the signal.

  • Set status:

    • start: Reset tick count and start counting up ticks

    • continue: Resume counting up ticks without resetting tick count

    • stop: Stop tick count without resetting tick count

  • Trigger reset: Reset tick count

  • Set PPQN: Set PPQN (Pulses per quarter note) of the incoming sync signal

If the input signal disappears, ticks continue to count up with the current tempo.

** Inputs **

  • 0 : Sync bang input (Int)
  • 1 : Set start(2)/continue(1)/stop(0) (Int)
  • 2 : Trigger reset (Any)
  • 3 : Set PPQN (Int)

** Outputs **

  • 0 : Current BPM (Float)

** Parameters **

  • PPQN : PPQN of the input sync signal
    • type: int
    • default: 1
    • constraint: None
  • State : Initial state (start(2)/continue(1)/stop(0))
    • type: symbol
    • default: Start
    • constraint: ['Start', 'Continue', 'Stop']

tick2ms

Calculate millisecond from tick. You can calculate note length by combining with timdiv node etc.

** Inputs **

  • 0 : Tick (Int)
  • 1 : Change percentage (1.0 = 100%) (Float)

** Outputs **

  • 0 : Millisecond (Float)

** Parameters **

  • Percentage : For control note length
    • type: float
    • default: 1.0
    • constraint: None

timediv

Outputs an interval tick that can be used by the arpeggiator and delay.

The index that can be set is from 0 to 15.

** Inputs **

  • 0 : TimeDiv index (Int)

** Outputs **

  • 0 : Interval tick (Int)
  • 1 : TimeDiv string (String)

** Parameters **

  • DefaultTimeDiv : Initial Time Div
    • type: symbol
    • default: 1_1
    • constraint: ['1_1', '1_2', '1_4', '1_8', '1_16', '1_32', '1_2T', '1_4T', '1_8T', '1_16T', '1_32T', '1_2D', '1_4D', '1_8D', '1_16D', '1_32D']

timer

Measure time in microsec.

** Inputs **

  • 0 : Trigger measurement (Any)
  • 1 : Reset (Any)

** Outputs **

  • 0 : Measured time (microsec) (Int)

VALUES

dict

Simple dictionary data container.

You can associate any value with a Int key.

** Inputs **

  • 0 : Reference value by key (Int)
  • 1 : Set key and create a key-value entry (Int)
  • 2 : Set value (Any)
  • 3 : Erase value at key (Int)

** Outputs **

  • 0 : Output value (Any)

float

Store Float value and output.

** Inputs **

  • 0 : Send current value (Any)
  • 1 : Set value (Float)

** Outputs **

  • 0 : Output current value (Float)

** Parameters **

  • Value : Default value
    • type: float
    • default: 0.0
    • constraint: None

floatlist

list of Float.

There are 6 commands to manipulate the list.

  1. read (0) : Read out the element at the index

  2. assign (1) : Assign the data (set to the middle port) to the element at the index

  3. erase (2) : Erase the element at the index

  4. pushback (3) : Add the data (set to the middle port) to the back of the list

  5. popback (4) : Remove a data from the back of the list

  6. log (5) : Output all the elements in the list to the debug log

NOTE:

All commands are triggered by the left input port even when an index is not needed.

You can use bang to trigger commands that does not require an index.

The entire list and the size of the list is outputted when a command (other than "log") is triggered.

** Inputs **

  • 0 : Set index and trigger command execution (Int)
  • 1 : Set data (Float)
  • 2 : Set command read(0)/assign(1)/erase(2)/pushback(3)/popback(4)/log(5) (Int)

** Outputs **

  • 0 : Element output (Float)
  • 1 : List size output (Int)
  • 2 : List output (FloatList)

** Parameters **

  • List : C++ style initializer lists (except "{}")
    • type: str
    • default: 0.1, 1.3
    • constraint: None

ftoi

Convert Float to Int.

** Inputs **

  • 0 : Float value (Float)

** Outputs **

  • 0 : Int value (Int)

** Parameters **

  • Value : Default value
    • type: int
    • default: 0
    • constraint: None
  • Round : Round or truncate
    • type: bool
    • default: False
    • constraint: None

int

Store Int value and output.

** Inputs **

  • 0 : Send current value (Any)
  • 1 : Set value (Int)

** Outputs **

  • 0 : Output current value (Int)

** Parameters **

  • Value : Default value
    • type: int
    • default: 0
    • constraint: None

intlist

list of Int.

There are 6 commands to manipulate the list.

  1. read (0) : Read out the element at the index

  2. assign (1) : Assign the data (set to the middle port) to the element at the index

  3. erase (2) : Erase the element at the index

  4. pushback (3) : Add the data (set to the middle port) to the back of the list

  5. popback (4) : Remove a data from the back of the list

  6. log (5) : Output all the elements in the list to the debug log

NOTE:

All commands are triggered by the left input port even when an index is not needed.

You can use bang to trigger commands that does not require an index.

The entire list and the size of the list is outputted when a command (other than "log") is triggered.

** Inputs **

  • 0 : Set index and trigger command execution (Int)
  • 1 : Set data (Int)
  • 2 : Set command read(0)/assign(1)/erase(2)/pushback(3)/popback(4)/log(5) (Int)

** Outputs **

  • 0 : Element output (Int)
  • 1 : List size output (Int)
  • 2 : List output (IntList)

** Parameters **

  • List : C++ style initializer lists (except "{}")
    • type: str
    • default: 1, 2
    • constraint: None

itof

Convert Int to Float.

** Inputs **

  • 0 : Int value (Int)

** Outputs **

  • 0 : Float value (Float)

** Parameters **

  • Value : Default value
    • type: int
    • default: 0
    • constraint: None

loadbang

Output bang when the flow loaded.

** Outputs **

  • 0 : Bang out (Int)

queue

Queue. (FIFO = First-In-First-Out.) Store and output data.

When pop -N is requested, delete (not output) N pieces of data.

** Inputs **

  • 0 : Read N pieces of data (Int)
  • 1 : Pop and output N pieces of data (or Pop only N pieces if minus) (Int)
  • 2 : Add value to back (Any)

** Outputs **

  • 0 : Output (Any)

stack

Stack. (LIFO = Last-In-First-Out.) Store and output data.

When pop -N is requested, delete (not output) N pieces of data.

** Inputs **

  • 0 : Read out N pieces of data (or clear if minus) (Int)
  • 1 : Pop and output N pieces of data (or Pop only N pieces if minus) (Int)
  • 2 : Add value to front (Any)

** Outputs **

  • 0 : Output (Any)

string

Store String value and output.

** Inputs **

  • 0 : Send current value (Any)
  • 1 : Set value (String)

** Outputs **

  • 0 : Output current value (String)

** Parameters **

  • Value : Default value
    • type: str
    • default: Default
    • constraint: None

strlist

list of string.

** Inputs **

  • 0 : Select index and output an element (Int)
  • 1 : Trigger output list (Any)

** Outputs **

  • 0 : Element output (String)
  • 1 : List output (StringList)

** Parameters **

  • List : C++ style initializer lists (except "{}")
    • type: str
    • default:
    • constraint: None

toggle

Every time an input comes in, 0 and 1 are alternately outputted.

** Inputs **

  • 0 : Trigger output toggle (Any)

** Outputs **

  • 0 : Output (Int)

** Parameters **

  • Invert : Invert output (initial output is 1)
    • type: symbol
    • default: false
    • constraint: ['false', 'true']

toggles

Four toggles + route.

** Inputs **

  • 0 : Toggle state (Any)
  • 1 : Ourput port (0 to 3) (Int)

** Outputs **

  • 0 : Output 0 (Int)
  • 1 : Output 1 (Int)
  • 2 : Output 2 (Int)
  • 3 : Output 3 (Int)
  • 4 : Current state (Int)

** Parameters **

  • AutoOff : When target port is changed, send false(0) to previous port.
    • type: bool
    • default: False
    • constraint: None

updown

Counter which can count upwards and downwards.

** Inputs **

  • 0 : Decrement value by 1 & output current value (Any)
  • 1 : Increment value by 1 & output current value (Any)
  • 2 : Output current value (Any)
  • 3 : Set min value (Int)
  • 4 : Set max value (Int)

** Outputs **

  • 0 : Counter output (Int)

** Parameters **

  • Value : Default value
    • type: int
    • default: 1
    • constraint: None
  • Min : Min value
    • type: int
    • default: 1
    • constraint: None
  • Max : Max value
    • type: int
    • default: 16
    • constraint: None
  • Cyclic : Cycle value or not
    • type: bool
    • default: False
    • constraint: None

INDICATE

fullcolor_led

Light the main LED.

You can fully control the intensity of R/G/B between 0.0 and 1.0.

** Inputs **

  • 0 : Off(0)/On(1) (Int)
  • 1 : Trigger pulse (Any)
  • 2 : Change red intensity (0.0-1.0) (Float)
  • 3 : Change green intensity (0.0-1.0) (Float)
  • 4 : Change blue intensity (0.0-1.0) (Float)

** Parameters **

  • Red : Default red intensity (0.0-1.0)
    • type: float
    • default: 0.0
    • constraint: None
  • Green : Default green intensity (0.0-1.0)
    • type: float
    • default: 0.0
    • constraint: None
  • Blue : Default blue intensity (0.0-1.0)
    • type: float
    • default: 0.0
    • constraint: None

led

Light the main LED.

Left input : Trigger pulse.

Middle input : Set zero to turn the LED off, otherwise turn it on.

Right input : Set color White(0)/Red(1)/Green(2)/Blue(3).

NOTE:

White light is the combination of red, green and blue LEDs.

If the white LED is turned off, the LED completely turns off.

** Inputs **

  • 0 : Trigger pulse (Any)
  • 1 : Zero:Off, Other:On (Int)
  • 2 : Set color White(0)/Red(1)/Green(2)/Blue(3) (Int)

** Parameters **

  • Color : Default color
    • type: symbol
    • default: White
    • constraint: ['White', 'Red', 'Green', 'Blue']

param_num

Display a number.

The sum of the number of characters of parameter name and value is 10 ( if position is Left or Right) or 21 (if position is Full)

** Inputs **

  • 0 : Value (Number)

** Parameters **

  • Name : Parameter name
    • type: str
    • default: param
    • constraint: None
  • Line : Display line
    • type: symbol
    • default: 0
    • constraint: ['0', '1', '2', '3']
  • FontSize : Font size
    • type: symbol
    • default: 1
    • constraint: ['1']
  • Position : Display position
    • type: symbol
    • default: Left
    • constraint: ['Left', 'Right', 'Full']

param_str

Display a string.

The sum of the number of characters of parameter name and value is 10 ( if position is Left or Right) or 21 (if position is Full)

** Inputs **

  • 0 : Value (String)

** Parameters **

  • Name : Parameter name
    • type: str
    • default: param
    • constraint: None
  • Line : Display line
    • type: symbol
    • default: 0
    • constraint: ['0', '1', '2', '3']
  • FontSize : Font size
    • type: symbol
    • default: 1
    • constraint: ['1']
  • Position : Display position
    • type: symbol
    • default: Left
    • constraint: ['Left', 'Right', 'Full']

DEBUG

midilog

Logging midi packet for debug.

The data is written to the midiglue log. (DebugMenu->DebugLog)

** Inputs **

  • 0 : MIDI packet (MidiPacket)

node_template

Write node description here.

** Inputs **

  • 0 : Port_description_here (Int)

** Outputs **

  • 0 : Port_description_here (Int)

** Parameters **

  • ParamName : Parameter_description_here
    • type: int
    • default: 1
    • constraint: None

CENTREVILLAGE

oct2freq

Octave to Frequency converter

** Inputs **

  • 0 : Octave (Float)

** Outputs **

  • 0 : Freq (Float)

** Parameters **

  • BaseFreq : Base Frequency
    • type: float
    • default: 440.0
    • constraint: None
  • OctaveOffset : Octave Offset(Int)
    • type: int
    • default: -5
    • constraint: None
  • RootKey : Root Key (0=A, 1=A#, 2=B, 3=C, ... 11=G#)
    • type: int
    • default: 3
    • constraint: None