COMPONENT REFERENCE
Table of Contents Introduction.......................................................................................................................................... 1 About This Guide....................................................................................................................................................................................................2 Components...................................................................................................................
Table of Contents Bitmap Sample and Hold......................................................................................................................................................................................39 Bitmap Save.........................................................................................................................................................................................................40 Bitmap Size.............................................................
Table of Contents Direct Sound In Devices.......................................................................................................................................................................................75 Direct Sound In Select..........................................................................................................................................................................................76 Direct Sound Out..........................................................
Table of Contents Float Array Get At................................................................................................................................................................................................116 Float Array Resample.........................................................................................................................................................................................117 Float Array Sample and Hold............................................
Table of Contents HTTP Post..........................................................................................................................................................................................................155 iFFT.....................................................................................................................................................................................................................156 If Then Else..............................................
Table of Contents Line.....................................................................................................................................................................................................................196 Linear Gradient...................................................................................................................................................................................................197 Log10......................................................
Table of Contents Module Output....................................................................................................................................................................................................241 Module Properties GUI.......................................................................................................................................................................................242 Module Wireless Output...................................................
Table of Contents Note to Int...........................................................................................................................................................................................................285 Note to Int...........................................................................................................................................................................................................286 Offline Mode..............................................
Table of Contents PolyInt to Poly.....................................................................................................................................................................................................344 Popup List Control..............................................................................................................................................................................................345 PPQ Pos...........................................................
Table of Contents Slide....................................................................................................................................................................................................................387 Smooth................................................................................................................................................................................................................388 Sort Float Array.......................................
Table of Contents Subtract...............................................................................................................................................................................................................422 Subtract from Float Array....................................................................................................................................................................................423 Sum Float Array...................................................
Table of Contents VST Editor Open.................................................................................................................................................................................................462 VST Parameter...................................................................................................................................................................................................463 VST Parameter Array...................................................
Introduction Introduction ABOUT THIS GUIDE 1 of 494
Introduction About This Guide In this guide you’ll find individual descriptions for all the components supplied with FlowBotics Studio. It is intended as reference material to accompany the main user guide. The components are listed in ascending alphabetical order. If you want to look up a particular component quickly use the table of contents at the beginning of this guide.
Components Components A-Z LISTING OF ALL PRIMITIVES & MODULES 3 of 494
Components About To Close Description The About To Close component will send a trigger just before the schematic, exported exe or plugin is about to close. This allows you to save things like settings data or to prompt users to save any work they did. If the Hold input is connected and set to True the component will delay closing until the Done input is triggered.
Components Add Description This component adds two values together.
Components Add to Float Array Description This primitive adds a single float value to every entry in the input array.
Components After Duplicate Description The After Duplicate component sends a trigger after a schematic has been duplicate. You can use this to do any initialisation that may be needed after dragging a module from the toolbox or pasting it or any other operation that involves duplication.
Components After Load Description The After Load component sends a trigger after a schematic has been loaded. You can use this to do any post loading initialisation that may be needed.
Components Append Array Description The Append Float Array, Append String Array and Append Int Array component will append the contents of two arrays together resulting in one single array which contains the contents of both arrays.
Components Arc Description The Arc primitive draws a portion of the edge of a circle or ellipse depending on whether the bounding area is square or rectangular (Technically an arc is a portion of the circumference of a circle but here it is extended to ellipses as well). The arc is defined by the bounding area in which it is to be drawn, a starting angle and an angle to indicate the amount of sweep (both in degrees), as well as by the pen object to be used to draw the segment.
Components Connectors Inputs Type Outputs Type View to draw onto View The same View as the input, but anything connected here is drawn on top View The bounding area of the arc. (Note: the pen line will extend beyond this area by one half its width) Area The pen used to draw the segment Pen The Start Angle (in degrees).
Components 12 of 494
Components Area to Float Description The Area to Float component splits an Area into X, Y, Width and Height.
Components Area Union Description The Area Union primitive takes two area inputs and finds the smallest bounding rectangular area in which both will fit.
Components Array Builder Description The Array Builder components provide you with a more visual way of creating an array of Strings, Floats or Ints. This component is useful for small to medium sized arrays. It can also make it easier to manage arrays where the elements are frequently changing value. The inputs define the values at each index in the array. So connecting a value to the first input will set the first entry in the array.
Components ASCII to String Description The ASCII to String primitive converts an integer into its corresponding ASCII character (or more accurately the ISO Latin 1 character as ASCII is only defined through 127). For values above 255 the output 'wraps' back to zero (so the character returned will equal the modulus remainder dividing by 256).
Components ASIO In Description ASIO (Audio Stream Input Output) is a digital audio protocol specified by Steinberg which provides an interface between an application and the sound card. The ASIO In primitive provides a mono connection for each mono input supported by the hardware sound device on your computer. The ASIO In components provide the only way to receive audio signals from an external source (via inputs on your sound card). Note that only one ASIO In component is allowed in your schematic.
Components ASIO Out Description ASIO (Audio Stream Input Output) is a digital audio protocol specified by Steinberg which provides an interface between an application and the sound card. The ASIO Out primitive provides a mono connection for each mono output supported by the hardware sound device on your computer. The ASIO Out and Direct Sound Out components provide the only way to send audio signals to your sound card.
Components Assembler Description The Assembler component allows you to write low-level x86 assembler code and use it in your schematic. There are special commands for creating inputs and outputs so that you can connect the Assembler component to other components. See the Code Component section in the main user guide for more information. NOTE: This is a very advanced feature and should be used with care. With such low-level control it is possible to crash the software.
Components Supported Instructions The assembler component only supports the following subset of the x86 instruction set: add reg,reg; add reg,integer; add reg,var; addps xmmReg,sseVar; addps xmmReg,xmmReg; andps xmmReg,xmmReg; andnps xmmReg,xmmReg; andps xmmReg,sseVar; and reg,integer; call reg; cmp reg,integer; cmp reg,reg; cmpps xmmReg,sseVar,type; cmpps xmmReg,xmmReg,type; cvtps2dq xmmReg,sseVar; cvtdq2ps xmmReg,sseVar; divps xmmReg,sseVar; divps xmmReg,xmmReg; fistp sseVar[channel];
Components Audio Devices Description You can use the Audio Devices component to find out how many audio devices there are on the system you're running on. The first output tells you how many devices there are and the second output gives you a list of device names. This component is used inside the Audio Selector module to provide the list from which you the choose an audio device.
Components Audio Select Description The Audio Select primitive allows you to select an audio device. It overrides whatever you have selected on the ASIO In/Out or DirectSound In/Out components. This component is used inside the Audio Selector module and is used in conjunction with the Audio Devices primitive.
Components Audio Stream Description This component allows you to stream audio from media file locally or across a network. You must provide a valid URL or file path. To begin streaming, trigger the Start input. The audio arrives as a stereo mono stream. To toggle streaming trigger the Pause/Play input. Triggering the Stop input will end streaming. Having stopped, for an audio file, you can only resume by re-starting from the beginning.
Components Bar Start Pos Description When your VST plugin is used within a host this component will output the current songs bar start position (in 1 pulse (unit) per quarter). For more details see the VST SDK documentation.
Components Binary to Hex Description Converts a string of binary to a string of hex. Each 8 bits of binary is converted to Ascii and then the hex representation of that byte is used in the hex string. For example, the binary string “0010111110111011” is converted to the hex string “2FBB”.
Components Biquad Filter Description A low pass biquad IIR filter using 2 poles, 2 zeros and 12dB per octave.
Components Biquad Filter Coeff Description A coefficient controlled biquad filter using 2 poles, 2 zeros and 12dB per octave specified by the filter coefficients.
Components Bitmap Description The Bitmap primitive component loads a bitmap image from a file. Once the bitmap has been loaded the component retains the data, no reference to the original file path is required. FlowBotics Studio supports bmp, jpeg, tiff, gif and png image types. You can also trigger the Paste input to make the bitmap take whatever image is on the clipboard.
Components Bitmap Area Description The Bitmap Area primitive draws a portion of a bitmap into a view. The bitmap is drawn to the destination area provided. If the destination area is a different size from the source area the bitmap will be resized to fit. The can be used, for example, to magnify some portion of a bitmap. There is also an optional colour matrix input that can be used to alter the resulting colours of the bitmap in the destination area.
Components Some calculations are required in order to achieve any interesting results as the source and destination areas must calculated and use different dimensions (pixels vs. grid squares). In the above schematic these calculations are hidden within the module labelled ‘calc areas’.
Components Bitmap Array from Bitmap Description The Bitmap Array from Bitmap primitive allows you to build an array of bitmaps from images that you already have loaded in your schematic. You can choose how the bitmaps are stored when they are saved with the schematic by selecting from one of five different image encoder types: bmp, jpeg, gif, tiff and png. You can also choose not to store the bitmaps with the schematic using ‘none’ as the encoder type.
Components Bitmap Array from File Description The Bitmap Array from File primitive allows you to build an array of bitmaps by loading them individually from files. You can choose how the bitmaps are stored when they are saved with the schematic by selecting from one of five different image encoder types: bmp, jpeg, gif, tiff and png. You can also choose not to store the bitmaps with the schematic using ‘none’ as the encoder type.
Components Bitmap Create Description The Bitmap Create primitive generates a bitmap and draws onto it whatever is attached to its View output. The bitmap can then be used as an input by other bitmap components.
Components Bitmap Draw Description The Bitmap Draw primitive draws a bitmap onto a view. An Area must be supplied to define the part of the view that the bitmap is drawn into. The bitmap will be stretched if necessary to fit exactly into the area supplied. You can also define a transparency for the rendered bitmap. You should take care when using this option for bitmaps that are likely to be redrawn many times per second as the calculation can be quite cpu intensive, particularly with larger bitmaps.
Components Bitmap Draw Transform Description The Bitmap Draw Transform primitive draws a bitmap onto a view. An Area must be supplied to define the part of the view that the bitmap is drawn into. The bitmap will be stretched if necessary to fit exactly into the area supplied. You can also apply a colour transformation using a colour matrix. See the Colour Matrix component for more information.
Components Bitmap Get At Description This component extracts the bitmap at a particular index in an array of bitmaps.
Components Bitmap Resize Description This component resizes a bitmap by applying a specified scale factor. Depending on the scale factor the bitmap can be increased or decreased in size. Connectors Inputs Type Outputs Type Source bitmap Bitmap Resized bitmap Bitmap Scale factor to apply. Below 1 will reduce the size and above 1 will increase the size.
Components Bitmap Sample and Hold Description The Bitmap Sample and Hold component will store a source bitmap when triggered. Any requests for the bitmap from the Bitmap output will return the last one that was stored. You can choose how the bitmaps are stored when they are saved with the schematic by selecting from one of five different image encoder types: bmp, jpeg, gif, tiff and png. You can also choose not to store the bitmaps with the schematic using ‘none’ as the encoder type.
Components Bitmap Save Description The Bitmap Save component saves a bitmap to a specified file path. You can choose from one of five different image encoder types for saving bitmaps: bmp, jpeg, gif, tiff and png. Connectors Inputs Type Outputs Type Source bitmap Bitmap Trigger when saving is complete Trigger Full path to the bitmap file you want to save to String Trigger to do the save Trigger Encoder type for storing the bitmap (bmp, jpeg, gif, tiff or png).
Components Bitmap Size Description This component gives you the size of a Bitmap in pixels.
Components Bool to False Description The Bool to False component sends a trigger whenever the value at the input changes from True to False.
Components Bool to True Description The Bool to True component sends a trigger whenever the value at the input changes from False to True.
Components Boolean Description The Boolean primitive stores a two-state value: either True or False. To change the value stored click on the main body of the component. The component can be resized horizontally. You can also change the type by right-clicking on the input or output. A pop-up menu will appear as shown below. Simply click on the type you want to change to.
Components Boolean And Description Calculates the logical AND of two boolean values.
Components Boolean Or Description Calculates the logical OR of two boolean values.
Components Boolean XOr Description Calculates the logical XOR of two boolean values.
Components Bus Create Description Allows you to combine several channels of data into just one. This can greatly simplify a schematic as data can be passed in just a single bus link. The channels are defined by a comma separated string which provides a name for each channel. You can extract data from a bus using the Bus Extract component. When you connect the channel names you’ll get a new template input for each channel. You then connect these up to whatever you want to pass through the bus.
Components Bus Extract Description The Bus Extract component extracts one or more channels of data from a bus. Buses can be used to greatly simplify a schematic as data can be passed in just a single bus link. The channels are defined by a comma separated string which provides a name for each channel. A bus is created by a Bus Create component. When you connect the channel names you’ll get a new template output for each channel. You then connect these up to whatever you want to pass through the bus.
Components CamShift Tracker Description The CamShift Tracker is a video processing component that allows you to track an area of an image as it changes over time. The tracker works by computing the histogram of the initial area and using this to compare against the image as it changes. The image is converted to HSV in the process and the smin and vmin values allow you to tweak how the S and V components are used in the algorithm.
Components Canny Edge Detection Description This component finds the edges in an image using the Canny edge detection algorithm. The Canny algorithm uses hysteresis and the Thresh1 and Thresh2 inputs define the high and low boundaries for this. They are in the range 0-255. The Aperture is another input into the calculation. There are three options specified by an Int index, 0=3, 1=5 and 2=7. The default is 0 i.e. and aperture of 3.
Components Changed Description This simple primitive will only send data to the output when the input value changes to a different value. You can use this to reduce the flow of triggers through a schematic. For example, if you may be constantly calculating a result for display purposes but may only want to redraw the GUI when the value differs from what went before.
Components Clear Audio Description The Clear Audio component simply resets all audio streams. You can use this as a panic option if your schematic uses feedback that might spiral out of control. It is also needed in some occasions to clear the audio buffers when changing settings or presets.
Components Clip Description When you draw onto a View you draw inside a region called the Clipping Area. By default the clipping area of a View is defined by the bounding area of the module panel to which it applies. The clipping area can be changed by applying one or more Clip components in sequence. Each Clip modifies the current clipping area by applying another area according to a particular clipping mode.
Components Colour Description This component allows you to define a colour. Click on the central colour swatch to change the current colour. The standard Windows colour dialog will appear. You can use this to select a colour.
Components Colour Detect Description The Colour Detect component finds the areas in an image that match a particular colour. A colour range in HSV (Hue/Saturation/Value) format is used to define the regions of interest. You provide a lower and upper HSV. The algorithm will check the H,S and V components of pixels in the image against the upper and lower ranges for each component. H is in the range 0-360, S and V are in the range 0-255. An example input would be “360,255,255”.
Components Colour Dialog Description This component allows you to launch the standard Windows colour dialog and use it to get colour selections from users. You can supply an alpha blend value so that the returned colour is modified to have that value. You can also specify the default colour that the dialog shows when launched.
Components Colour Matrix Description This component creates a Colour Matrix which you can use for performing colour transformations on bitmaps. The matrix itself is a 5x5 floating point matrix and is supplied by a comma separated string of values. The best way to define a colour matrix is to use a Text component as shown below.
Components Colour Matrix Set Description The Colour Matrix Set component allows you to set the value for a particular entry in the matrix.
Components Colour to HSV Description The Colour to HSV component converts a colour to Hue, Saturation and Value components.
Components Colour to Int Description The Colour to Int component splits a colour into Alpha Transparency, Red, Green and Blue components.
Components COM Port Description The COM Port component allows you to send and receive messages through a specified COM port. Having specified the characteristics of the Port you need to send a trigger to the Open input. The Open output will respond with True if this was a success. Any errors are reported through the Log output so long as you have the Log input set to true. Data is sent as strings. Data is received as complete strings only if you specify a terminator.
Components on the port (if logging switched on). 2=even, 3=mark, 4=space). Default is no parity scheme. Byte size, the number of bits in each byte sent. If not specified then 8bits are used.
Components Cos Description Standard trigonometric Cosine function with radians as the input units.
Components Cos Inverse Description Standard trigonometric Inverse Cosine function with radians as the output units.
Components Cosh Description Standard hyperbolic cosine function with radians as the input units.
Components Counter Description The Counter component is a simple counter that increments in unit steps from zero every time the Inc input is triggered. You can reset the counter to zero by triggering the Reset input.
Components Counter Advanced Description This is a more advanced version of the simple Counter component. You set a Minimum and Maximum limit for the counter and also a place to start.
Components De-zipper Description The De-zipper component is used for making smooth transitions between float values when feeding them into a stream section. For example, say you have a knob connected to a stream multiplier for attenuating an audio signal. As you turn the knob the floating point value changes in steps over time. This stepping can be heard as background noise called zipper noise. The De-zipper component removes zipper noise by applying a simple low-pass filter to input float values.
Components Decibel Description Converts an array of floats to decibels (10*Log10).
Components Delay Description The Delay primitive buffers incoming data and delays the output by the number of samples given in the integer input. The delay length is limited to 262144 samples (just less than 6 seconds at 44.1 kHz). Longer delays can be implemented using the Code component. Note that there is a minimum delay of 1 sample so even if the Delay input is zero there will be a single sample delay.
Components Delay by One Sample Description The Delay by One Sample primitive buffers the incoming data for one sample duration before sending it to the output.
Components Delay Compensation Description This primitive allows you to send delay compensation to a host in an exported plugin. In line with the VST SDK, the delay time is expressed as a number of samples. You should only use this component once per plugin.
Components Direct Sound In Description Microsoft's DirectSound is a digital audio protocol specified which provides the interface between applications and the sound card. The DirectSound In primitive provides a mono connection for the Left and Right input channels of the sound devices on your computer. The Direct Sound In and ASIO In components provide the only way to receive audio signals from an external source (via inputs on your sound card).
Components Direct Sound In Devices Description You can use the Direct Sound In Devices component to find out how many Direct Sound input devices there are on the system you're running on. The first output tells you how many devices there are and the second output gives you a list of device names. This component can be used used to provide information for GUI based selection controls that select the input device.
Components Direct Sound In Select Description The Direct Sound In Select primitive allows you to select an Direct Sound input device. It overrides whatever you have selected on the DirectSound In component. This component can be used to build GUI components that control which Direct Sound input device is selected.
Components Direct Sound Out Description Microsoft's DirectSound is a digital audio protocol specified which provides the interface between applications and the sound card. The DirectSound Out primitive provides a mono connection for the Left and Right channels of the sound devices on your computer. The Direct Sound Out and ASIO Out components provide the only way to send audio signals to your sound card.
Components Divide Description This component divides the first (top) value by the second one. The component has template connectors which means it can be used with multiple data types including Floats, Ints and Float/Int arrays. You can right-click on the connectors at any time to change the type.
Components Dll Description There is a whole chapter dedicated to this component and how to use it in the FlowBotics Studio User Guide. Please see that guide for more information. The DLL component has 6 inputs and 3 outputs initially. The Dll and Func inputs are for the path to the dll and the name of the function you want to call. The Embed input determines whether the dll is left external to the software or whether it is to be embedded into the component.
Components Disconnects the software from the dll Trigger Executes the function in the dll from a trigger Trigger Executes the function in the dll from a Ruby Value event Value 79 of 494
Components DMX Description The DMX component allows you to communicate with connected lighting and effects devices using the DMX512 standard. You supply the id of the DMX device that you want to connect to at the Device input. You can leave this blank if you only have one device attached. Trigger the Open input to open communications. The State output will change to indicate the result (either “Connected”, “Not Connected” or “Not Found or In Use”).
Components Double Round Nearest Description This component converts Double Stream values to the nearest integer value. Double Stream is similar to standard Float Stream except that it works at double the precision. It is particularly useful for counters.
Components Double Stream Add Description This component adds two Double Stream values together. Double Stream is similar to standard Float Stream except that it works at double the precision. It is particularly useful for counters.
Components Double Stream Multiply Description This component multiplies two Double Stream values together. Double Stream is similar to standard Float Stream except that it works at double the precision. It is particularly useful for counters.
Components Double Stream Subtract Description This component subtracts two Double Stream values from one another. Double Stream is similar to standard Float Stream except that it works at double the precision. It is particularly useful for counters.
Components Double to Stream Description This component converts a Double Stream to a standard Stream. Double Stream is similar to standard Float Stream except that it works at double the precision. It is particularly useful for counters.
Components Draw Loop Description The Draw Loop component runs a loop between two float values causing a draw at the View output at each stage. You can use this to draw several similar items in one go. For example, you can draw a list of strings using the current loop value as an input to change position. The Step LFO module in the toolbox uses this to draw the bars for display.
Components Draw to Bitmap Description This component allows you to draw onto a bitmap. By connecting GUI components to the View output you can draw onto a copy of a source bitmap and get the result at the Bitmap output. Connectors Inputs Type Outputs Type Source bitmap Bitmap The modified bitmap Bitmap The grid step to use when drawing onto the bitmap Float View that represents the bitmap canvass.
Components Drop List Control Description The Drop List Control defines a drop list of selectable values. The drop-list is displayed when you send a trigger to the Open input. The droplist closes when you select an item from the list. You can decide whether to check an item in the list, usually to show the current selection. You can also choose the style of the list when there are too many items to show vertically on the screen.
Components “AutoCol”,“Scroll” or a number representing the maximum number of items per column.
Components DSP Code Description The DSP Code component allows you to write algorithms using a small set of instructions and use it in your schematic. There are special commands for creating inputs and outputs so that you can connect the Assembler component to other components. There is a whole chapter dedicated to the DSP Code component in the main user guide.
Components Edit Control Description Creates an edit control on a view. You can define the size, position, font, text and background colours. You can also specify whether the edit control is single line (for input fields) or multiline (for entering text with line breaks).
Components Allows you to make the Edit multi line like a text editor Boolean 92 of 494
Components Ellipse Description Draws an ellipse on a View.
Components Envelope Control Description The envelope control component is used for creating your own custom envelopes. The key to this is the stage output which tells you what the voice is doing.
Components Equals Description This component determines whether the two input values are equivalent and sends a True or False result to the output. The component has template connectors which means it can be used with multiple data types including Floats, Ints, Strings and Float/Int/String arrays. You can right-click on the connectors at any time to change the type.
Components EXE Background Colour Description Use this in an exported exe to set the default background colour.
Components EXE Full Screen Description Use this in an exported exe to toggle between full screen and windowed modes . This could be linked to a button on the GUI or in response to some outside event or timer.
Components EXE Quit Description Use this in an exported exe to close the application. This could be a button on the GUI or in response to some outside event or timer.
Components EXE Zoom Description Use this in an exported exe to set the zoom level. You may want to have a fixed level or change in response to some user input. You can only pick from discrete zoom levels.
Components FFT Description This component performs a fast fourier transform using arrays of Real and Imaginary numbers.
Components File Dialog Description This component allows you to display the standard Windows file dialog box. You can choose whether the dialog is for saving or loading. You also have access to file filters and extensions. The File Filters input is used to determine which file types to display in the dialog. Each filter is made from two strings. The first describes the filter. For example “Text Files (*.txt)”, you can use whatever description you like.
Components Connectors Inputs Type Outputs Type Trigger to open dialog Trigger Path to the selected file (if any) String File filters String Trigger if OK was pressed Trigger Type of dialog, 0=Save and 1=Load Int Trigger if Cancel was pressed Trigger Text to show on the title bar of the dialog String Path to folder to start in String Default filename to use (including the file extension) String Default file extension to append to filenames that are specified without an extension (inclu
Components Filled Ellipse Description Draws a filled ellipse on a View.
Components Filled Rectangle Description Draws a filled rectangle on a View.
Components Filled Round Rectangle Description Draws a filled round rectangle on a View, that is a rectangle with rounded corners. Connectors Inputs Type Outputs Type View to display the rectangle on View The same View as the input, but anything connected here is drawn on top View Area defining the position and size of the rectangle Area Colour to fill the rectangle with Colour Corner size in grid squares.
Components Filter Coefficients Description Calculates the coefficients used for a low-pass biquad IIR filter using 2 poles, 2 zeros and 12dB per octave from the cutoff frequency and resonance. Use this in the Biquad Filter Coeff component.
Components Find Files Description The Find Files component will look for files matching a certain specification inside a folder on your hard disk. The Filter input specifies the folder followed by a filename. The filename can contain the * character to specify a wildcard in which case multiple matching files may be found. Example Filters C:\Program Files\Outsim\FlowBotics Studio\ *.dll C:\ data*.txt C:\Files\Downloads\picture.png The component will return an array of filenames that match the filter.
Components Float Description The Float component allows you to enter and view floating point data. To enter a value just click on the main body of the component and type it in. Press Return, Tab or just click away to finish editing. You can also change the value using the scroll strip to the right of the component. To use the scroll strip click on it and hold the mouse down. Keeping the mouse down, move up to increase the value and move down to decrease the value.
Components You can also change the type by right-clicking on the input or output. A pop-up menu will appear as shown below. Simply click on the type you want to change to.
Components Float Abs Description This component calculates the absolute value of the input or in other words the magnitude ignoring the sign.
Components Float Array Description The Float Array component creates an array of floating point numbers by setting, inserting and deleting individual elements in the array. You define the index of the element you want to refer to and if needed the value you want to set or insert at that index. The array will resize automatically to accommodate elements set or inserted at indexes higher than the current size of the array.
Components Float Array Abs Description The Float Array Abs component will replace each value in a float array with its absolute value .
Components Float Array Draw Description The Float Array Draw component is used when you have a mouse drag operation that you need to map onto a float array. The advantage it has over using just a standard float array is that it interpolates between values when you are dragging. Without such interpolation you can get ‘missed’ points during fast drags as the mouse drag resolution decreases.
Components Float Array Get At Description The Float Array Get At component extracts a particular entry from a Float Array.
Components Float Array Resample Description This component allows you to up or down sample a float array to an alternative size.
Components Float Array Sample and Hold Description When a trigger is received this component will take a sample of the float array and hold it at the output until the next trigger is received.
Components Float Array Section Description This component splits off a section of a Float Array. The section is defined by a start point and a section size.
Components Float Array to Mem Description The Float Array to Mem component converts an array of floating point numbers to a memory buffer. This can then be read at sampling rate by the Wave Read component.
Components Float Array to Poly Description Creates a Poly signal which consists of values extracted from a float array. The values are extracted using a PolyInt signal as an index into the array.
Components Float Inverse Description This component calculates the inverse sign of the input value, effectively it multiplies the input by -1.
Components Float Invert Description This component inverts the input value, effectively dividing the input into 1.
Components Float Power Description The Float Power primitive calculates the result of the first input raised to the power of the second input.
Components Float Queue Description The Float Queue component stores float values in a queue. Values are pushed in and popped out on a first in, first out basis (FIFO). You can get the queue in Float Array form from the third output. The array contains items in the order they would be popped out – so the first item is at the front of the queue, the second item is next and so on.
Components Float Stack Description The Float Stack component stores float values in a stack. Values are pushed in and popped out on a last in, first out basis (LIFO). You can get the stack in Float Array form from the third output. The array contains items in the order they would be popped out – so the first item is at the top of the stack, the second item is next and so on.
Components Float to Area Description The Float to Area component constructs an Area from X, Y, Width and Height components.
Components FlowBoard Description This primitive allows you to send and receive data to and from the DSP Robotics FlowBoard DAQ. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). The board has 16 digital outputs, 16 digital inputs and 8 analog inputs. These are mirrored on the component.
Components board 8 x outputs receiving analog data from the 8 analog inputs on the board (range 0-1023) Int Connector for attaching components that allow you to control some of the satellite boards, the GSM board being one such example.
Components FlowBoard GSM Description This primitive allows you to control a FlowBoard GSM Board. The GSM Board hardware must be connected to the Modem connector on your FlowBoard. In FlowBotics Studio you then need a FlowBoard component and a FlowBoard GSM component in your schematic. You then need to link these components together by connecting from the FlowBoard output on the FlowBoard component (the very last output) to the FlowBoard input on the FlowBoard GSM component (the very first one).
Components for network or no connection The telephone number for the recipient of the message String The current send status. 0=last message succeeded, 1=sending in progress. 2=last message failed to send.
Components Font Description Creates a Font from a typeface, font size and style. The typeface is the name of the font face e.g. Arial or Tahoma. Size is the height of the text in grid squares (it is not a point size). Style can be any combination of the following strings (in any order): normal, bold, italic, underline, strike Examples bolditalic, underlineboldstrike, italicunderline You can leave the style parameter out and a regular style will be assumed.
Components Format String Description The Format String primitive applies standard C string formatting to a numeric string input. This is particularly useful for making numeric data conform to user interface requirements such as displaying a fixed number of decimal places. The value input has String type but should be connected to either an Int or Float for the formatting to work correctly. The format specifications are defined here: http://msdn.microsoft.com/en-us/library/kwwtf9ch(VS.71).
Components Frame Sync Description This Frame Sync component sends an integer value precisely at the time each buffer of audio is requested. The integer value is the number of samples that has been requested for the buffer. For full details about how to use this see the section on Frames in the Ruby Component chapter of the main user guide.
Components Frame to Mono Description This Frame to Mono component converts a Frame of samples back to Mono. It should be used in conjunction with the Mono to Frame component in order to process Mono data via the Ruby component. It can also be used with the Frame Sync component. The Frame Sync will tell your Ruby component when to send a frame and how many samples to send so that you stay exactly in sync with the Mono stream.
Components Full Screen Description This primitive is only used for exported exes and allows you to control full screen mode from the front panel by connecting a GUI component like a toggle button to the trigger input.
Components Get Pixel Description Gets the colour of a pixel at a particular point in a bitmap.
Components Goal Progress Description This component works with one or more Teaching Goal components to provide a mechanism for teachers to set goals within a schematic and then record how a student progresses through them. You can have only one Goal Progress component per schematic. By adding Teaching Goal components you can create targets that when triggered will report back to the Goal Progress with the time taken to complete. The Goals output tells you how many goals have been set for the schematic ie.
Components Graph Dots Description Draws a set of points using a dot for each point. The Float Array input supplies the y-coordinates. These are assumed to be in the range 0 to 1 ( –1 to 1 if the graph is centred on zero). This means that you may need to use the Norm component if you want to make sure that your values are all visible. The x-coordinates are automatically generated and are equally spaced across the horizontal axis.
Components Graph FFT Description The Graph FFT primitive performs a Fast Fourier Transform (FFT) on an array of float data. The outputs are the magnitude and phase outputs from the FFT calculation.
Components Graph Lines Description Draws a line through a set of points. The Float Array input supplies the y-coordinates. These are assumed to be in the range 0 to 1 ( –1 to 1 if the graph is centred on zero). This means that you may need to use the Norm component if you want to make sure that your values are all visible. The x-coordinates are automatically generated and are equally spaced across the horizontal axis unless you set the Log input to True in which case the x-coordinates will be logged.
Components Connectors Inputs Type Outputs Type View to draw onto View The same View as the input, but anything connected here is drawn on top View The array of ycoordinates Float Array The area of the view that the graph will be drawn into Area The pen defining the colour, thickness and style of the lines Pen Radius of the dots (grid sq.
Components Graph to Point Array Description The Graph to Point Array component creates an array of points from two float arrays. Currently the only component that uses a Point Array is the Point Array Lines component and so the only use of this component is in creating custom graphs.
Components Greater Than Description This component compares the two inputs and returns a Boolean based on whether the first input is greater than the second input. The component has template connectors which means it can be used with multiple data types including Floats, Ints, Strings and Float/Int/String arrays. You can right-click on the connectors at any time to change the type.
Components Greater Than or Equal To Description This component compares the two inputs and returns a Boolean based on whether the first input is greater than or equal to the second input. The component has template connectors which means it can be used with multiple data types including Floats, Ints, Strings and Float/Int/String arrays. You can right-click on the connectors at any time to change the type.
Components Grid to Pixel Description The Grid to Pixel components convert values in Grid Squares to values in Pixels. There are two versions, one for Floats and one for Areas.
Components Haar Face Detect Description The Haar Face Detect component uses the Haar algorithm to find a face in an image. The component requires a Haar cascade which is an XML file that defines the classification criteria used in the detection process. Optional input parameters include a threshold for feature size, whether to apply Canny edge detection pruning, whether to look for a single object and an option to perform only a rough calculation. All of these serve to speed up the detection process.
Components Hard Disk Serial Description Gets the serial number of the first hard disk attached to the host PC.
Components Hex to Binary Description Converts a string of hex to a string of binary. Each byte of hex is converted to 8 bit binary. For example, the hex string “2FBB” is converted to “0010111110111011”.
Components Hex to Int Description Calculates the decimal equivalent of a hexadecimal number.
Components Hex to String Description Converts a string of hex to a string of characters. Each byte of hex is converted to an Ascii character. For example, the hex string “68656C6C6F” is converted to the character string “hello”.
Components HID Description The HID component allows you to connect to any HID device that is attached to your PC. The three String Array outputs (Devs, Mfrs and Conns) will give you the device names, manufacturers and connection strings respectively for each device that you have connected. Once you have identified the device from these lists, note down its position and this is the index that you should use at the Idx input. Trigger the Start input to connect to the device.
Components Hex string of data to be sent (max 128 characters ie. 64 bytes) String The connection strings for each connected device String Array Trigger to send the data.
Components HSV to Colour Description The HSV to Colour component creates a colour from Hue, Saturation and Value components. You can choose whether to specify the HSV as a comma separated string or as separate integer components. Connectors Inputs Type Outputs Type HSV as a comma separated string.
Components HTTP Post Description The HTTP Post component allows you to send data to and receive data from a web server using the HTTP post request method. You specify the server URL at the URL input – for example, http://www.flowbotics.com You then specify the page on the server e.g. scripts\myphp.php The Names and Values array inputs allow you to specify the key-value pair data that you want to send to the page. The first entry in the Names array is paired with the first value in the Values array.
Components iFFT Description This component performs an inverse fast fourier transform on arrays of Real and Imaginary numbers.
Components If Then Else Description This component implements an if/then/else conditional statement. In a language like C this would be written as follows: if( control > condition1 ) { // Then output for condition1 } else if( control > condition2 ) { // Then output for condition2 } … else { // Else output } For this component the If input defines the control variable this could be an int, float or string. You specify which of these using the Type input (either “int”,”float” or “string”).
Components The condition values to use in the comparison String Array The output for each condition should it be met String Array The output should no conditions be met String 156 of 494
Components Image Download Description This component will download an image from a web server using HTTP GET. This is useful for accessing web based cameras and such like. You do is provide a valid URL for the image and then trigger the Download input and the image will be downloaded and output as a bitmap.
Components Impulse Description Generates an impulse signal. This has a value of one as the first sample and zero for all others. Use this to test the frequency response of a filter.
Components Index Selector Description The Index Selector component is used to select between a list of string values. You supply these as a comma separated string or using a Text component. The body of the component changes to show each string as an option. You can click on these options to select one. The selected string and index will be sent to the outputs.
Components Connectors Inputs Type Outputs Type Set of option strings String Index of current selection (zero based) Int Whether to order the options in ascending alphabetical order Boolean The currently selected option string String Set the current selection String 160 of 494
Components Indexer Description The Indexer allows you to turn a set of trigger inputs into an integer index. It's handy when you have a set of actions and you want to know which one occurred. Here's a typical example of it in use: So here we have 3 buttons and we want to be able to translate this into a value that we can use to identify the button that was pressed.
Components Int Description The Int component allows you to enter and view integer data. To enter an integer just click on the main body of the component and type in a number. Press Return, Tab or just click away to finish editing. You can also change the value using the scroll strip to the right of the component. To use the scroll strip click on it and hold the mouse down. Keeping the mouse down, move up to increase the value and move down to decrease the value.
Components You can also change the type by right-clicking on the input or output. A pop-up menu will appear as shown below. Simply click on the type you want to change to.
Components Int Abs Description This component calculates the absolute value of the input or in other words the magnitude ignoring the sign.
Components Int And Description Calculates the bitwise AND of two int values.
Components Int Array Description The Int Array component creates an array of integers by setting, inserting and deleting individual elements in the array. You define the index of the element you want to refer to and if needed the value you want to set or insert at that index. The array will resize automatically to accommodate elements set or inserted at indexes higher than the current size of the array.
Components Int Array Get At Description The Int Array Get At component extracts a particular entry from a Int Array.
Components Int Array Sample and Hold Description When a trigger is received this component will take a sample of the int array and hold it at the output until the next trigger is received.
Components Int Array to Mem Description The Int Array to Mem component converts an array of integers to a memory buffer. This can then be read at sampling rate by the Wave Read component.
Components Int Inverse Description This component calculates the inverse sign of the input value, effectively it multiplies the input by -1.
Components Int Loop Description The Int Loop component cycles a fixed number of times sending a trigger on each iteration. You specify how many times to iterate (N). By default the loop counter starts at zero and increments in unit steps but you can start at any integer value you like. To prevent hanging the loop is automatically limited to a maximum of 1000 iterations. You can bypass this safety mechanism by setting the No Limit input to True.
Components Int Modulus Description The Int Modulus primitive calculates the remainder when the first input is divided by the second input.
Components Int Not Description This component returns the bitwise NOT equivalent of the input value.
Components Int Or Description Calculates the bitwise OR of two int values.
Components Int Queue Description The Int Queue component stores int values in a queue. Values are pushed in and popped out on a first in, first out basis (FIFO). You can get the queue in Int Array form from the third output. The array contains items in the order they would be popped out – so the first item is at the front of the queue, the second item is next and so on.
Components Int Shift Left Description Shifts the bits in the first input to the left by the number in the second input. This is equivalent to multiplying the first input by 2 raised to the power of the second input.
Components Int Shift Right Description Shifts the bits in the first input to the right by the number in the second input. This is equivalent to dividing the first input by 2 raised to the power of the second input.
Components Int Stack Description The Int Stack component stores int values in a stack. Values are pushed in and popped out on a last in, first out basis (LIFO). You can get the stack in Int Array form from the third output. The array contains items in the order they would be popped out – so the first item is at the top of the stack, the second item is next and so on.
Components Int to Colour Description The Int to Colour component creates a colour from an Alpha Transparency, Red, Green and Blue components.
Components Int to Hex Description Calculates the hexadecimal equivalent of a decimal number.
Components Int Transition Description The Int Transition component monitors an input value and sends a trigger whenever the value moves from one ‘From’ value to another ‘To’ value. The monitored input value must be at the ‘From’ value then change to the ‘To’ when it next changes in order for the transition to be counted.
Components Int XOr Description Calculates the bitwise XOR of two int values.
Components Is Key Pressed Description The Is key Pressed component is used to determine whether a particular key is currently pressed. The key can be specified explicitly by it’s letter or you can use the Virtual Key Code. For a complete list of virtual key codes see the following link (all codes are in hex and must be converted to decimal before use): http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/VirtualKeyCodes.
Components Is Playing Description When your VST is used within a host these components will tell you whether the host is playing or not. There are two versions. The first version will output 1.0 when the host is playing and 0.0 otherwise and should be used in Poly or Mono sections of your schematic. The second version will output True when the host is playing and False otherwise.
Components LabJackU3-HV Description This primitive allows you to control and receive data from a LabJack U3-HV data acquisition device. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components To set the I/O you need to trigger the Set input below the I/O String input. For example: “DO4, DO5, AI6, AI7-SP, AI8-6” would make pins 4 and 5 digital outputs. Pins 6,7 and 8 would all be analog inputs with 6 being single ended, 7 using the special 0-3.6v range and 8 using input 6 as a negative channel. Timers and Counters The U3 has two timers and two counters that you can use. The timers and counters take over the flexible I/O.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the U3 is connected and on Boolean Address of the board you want to connect to (optional) String The ambient temperature of the board Float Configuration string to set the I/O String 4 x outputs used to deliver the values of the FIO0-FIO3 analog inputs on the U3 Float Trigger to set the I/O Trigger 12 x outputs used for the FIO and EIO pins that are setup as inputs on the U3 Boolean / Float The
Components LabJackU3-LV Description This primitive allows you to control and receive data from a LabJack U3-LV data acquisition device. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components In the case of analog it defaults to single ended but you can set the negative channel with a minus symbol followed by "SE","SP","VR" (single ended, special (0-3.6v or -10/+20v), internal voltage ref) or the number of the pin you want to have as the negative channel. To set the I/O you need to trigger the Set input below the I/O String input. For example: “DO4, DO5, AI6, AI7-SP, AI8-6” would make pins 4 and 5 digital outputs.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the U3 is connected and on Boolean Address of the board you want to connect to (optional) String The ambient temperature of the board Float Configuration string to set the I/O String 16 x outputs used for the FIO and EIO pins that are setup as inputs on the U3 Boolean / Float Trigger to set the I/O Trigger 4 x outputs used for the CIO pins that are setup as inputs on the U3 Boolean The start pi
Components Last Switch Description The Float Switch component is used to select between two inputs depending on which one changed last. The most recently changed input will be used to supply the float value to the output. The component has template connectors which means it can be used with multiple data types including Floats, Ints, Strings, Booleans, Float/Int/String arrays and Colours. You can right-click on the connectors at any time to change the type.
Components Less Than Description This component compares the two inputs and returns a Boolean based on whether the first input is less than the second input. The component has template connectors which means it can be used with multiple data types including Floats, Ints, Strings and Float/Int/String arrays. You can right-click on the connectors at any time to change the type.
Components Less Than or Equal to Description This component compares the two inputs and returns a Boolean based on whether the first input is less than or equal to the second input. The component has template connectors which means it can be used with multiple data types including Floats, Ints, Strings and Float/Int/String arrays. You can right-click on the connectors at any time to change the type.
Components Line Description Draws a straight line on a View. The line is defined by an Area. The x and y coordinates of the area define the start of the line and the width and height define a vector offset to the end point. This means that for some lines you will need to use negative widths and heights.
Components Linear Gradient Description The Linear Gradient component draws either an ellipse or a rectangle with a gradient fill effect. This produces a seamless linear transition between two colours.
Components Connectors Inputs Type Outputs Type View to draw on View The same View as the input, but anything connected here is drawn on top View Area defining the bounding area of the ellipse or rectangle Area Either “Rectangle” or “Ellipse” String First colour in the gradient Colour Second colour in the gradient Colour The angle of the gradient in degrees running clockwise from the horizontal String 196 of 494
Components Log10 Description Calculates the logarithm (base 10) of a float.
Components MAC Address Description Gets the MAC addresses of all network devices attached to the host PC. The addresses are returned as a comma separated list. Note that on some systems this component will not return any MAC addresses.
Components Magnitude/Phase to Real/Img Description This component converts arrays of Magnitude and Phase to Real and Imaginary parts. This is used mainly in FFT calculations.
Components Max Description This component compares the two inputs and returns the greater of the two. The component has template connectors which means it can be used with multiple data types including Floats, Ints and Float/Int arrays. You can right-click on the connectors at any time to change the type.
Components Max Float Array Description The Max Float Array component will give you the maximum value in an array of floats together with the index in the array at which that maximum occurred.
Components Measurement Computing 1208FS Description This primitive allows you to send and receive data to and from the Measurement Computing Corp. 1208FS data acquisition board. If you have multiple boards connected to your PC then you should provide the number of the board you want to connect to at the 'Board' input. This number is assigned by Measurement Computing's InstaCal application so refer to that to get the board number if you need it. The board has 16 digital I/O pins and 8 analog inputs.
Components AO - set bank A of digital I/O to be outputs BO - set bank B of digital I/O to be outputs For example: “SE,AI,BO” would use single ended analog, bank A as digital inputs and bank B as digital outputs. “D,BI” would use differential analog and bank B as digital inputs. Note that the I/O string only alters what you specify in the list. If you don't specify what bank A does it will remain as it is – it will not be reset to default settings.
Components Measurement Computing 1608FS Description This primitive allows you to send and receive data to and from the Measurement Computing Corp. 1608FS data acquisition board. If you have multiple boards connected to your PC then you should provide the number of the board you want to connect to at the 'Board' input. This number is assigned by Measurement Computing's InstaCal application so refer to that to get the board number if you need it. The board has 8 digital I/O pins and 8 analog inputs.
Components For example, "DI2,DO4,DI5,R2=BIP5VOLTS". Note that cbw32.dll must be installed on the host system for this component to work. If you have installed the Measurement Computing drivers then this file should already be on your system. Connectors Inputs Type Outputs Type Board number you want to connect to (as assigned by InstaCal) or blank to connect to any board Int Status. OK, NOBOARD or the Measurement Computing error number.
Components Measurement Computing USB TEMP Description This primitive allows you to send and receive data to and from the Measurement Computing Corp. USB TEMP board. If you have multiple boards connected to your PC then you should provide the number of the board you want to connect to at the 'Board' input. This number is assigned by Measurement Computing's InstaCal application so refer to that to get the board number if you need it. The board has 8 digital I/O pins and 8 analog temperature inputs.
Components Note that cbw32.dll must be installed on the host system for this component to work. If you have installed the Measurement Computing drivers then this file should already be on your system. Connectors Inputs Type Outputs Type Board number you want to connect to (as assigned by InstaCal) or blank to connect to any board Int Status. OK, NOBOARD or the Measurement Computing error number.
Components Measure Text Description This component measures the area that text will occupy when drawn. You supply the text, font and formatting information together with a maximum bounding rectangle that the text must fit inside. The component then tells you the area within that boundary which the text will occupy.
Components Mem Address Description This component gives you the raw memory address of an attached Mem data buffer. It also gives you the size of the buffer in bytes.
Components Mem Create Description This component creates a memory buffer of a particular size. The size is specified in bytes. This means that if you want to store N floats you’ll need 4*N bytes. Connectors Inputs Type Outputs Size of the buffer in bytes Int Memory buffer Trigger to create the buffer.
Components Mem to Float Array Description This component converts a memory buffer to an arrays of floats. This component is useful for extracting raw float data from a wave file either for display or for manipulation.
Components Mem to Float Array Min/Max Description This component converts a memory buffer to arrays of floats by finding the minimum and maximum values over groups of samples. The size of each group of samples is defined by the Step input. If the Mem contains mono data then the left and right arrays will return the same data. This component is useful if you want to draw a wave but don’t want to draw every single sample in the wave.
Components Message Box Description This component displays a Windows message box. You can set the message text, the window title, the icon and the dialog type. The output is a boolean value indicating whether the OK or Yes button was pressed.
Components MIDI Aftertouch Description This component allows you to extract aftertouch information from MIDI data typically from the pressure applied to an aftertouch sensitive MIDI controller. Aftertouch is specified as an integer in the range 0-127 with 127 representing the highest level of aftertouch and zero meaning no aftertouch at all.
Components MIDI Control Change Description The MIDI control change primitive extracts control change events for the specified control parameter. The parameter is specified as an integer value. To find out what control parameters are available please look them up in the MIDI standard documentation.
Components MIDI Event Description MIDI data messages are composed of four distinct parts. Each part is an integer value.
Components MIDI In Description If you want to use MIDI input from an external source then this is the component you need. Each MIDI device installed on your PC is displayed as a button on the body of the component. To select or deselect one of these just click on it. You can choose to receive input from as many devices as you like. You can also have as many MIDI In components in your schematic as you like. However, you will not be able to select the same MIDI device on more than one of these components.
Components Other Features The first device on the MIDI In component is PC Keyboard. This isn’t a device as such but it allows you to use your PC keyboard as a MIDI input device. This is very handy if you’re on a laptop or if you don’t have an external MIDI controller. The PC Keyboard covers 2 consecutive octaves spanning middle C. On a U.S. or U.K. keyboard the lower octave begins at ‘Z’ with middle C at ‘Q’ and the upper octave ends at ‘I’. All other note associations are shown in the diagram below.
Components MIDI In Devices Description This component retrieves the number of MIDI In devices on the host PC together with their names and their availabilities.
Components MIDI In Select Description The MIDI In Select component allows you to select a MIDI In device from within a schematic. Connectors Inputs Type Outputs Type The index of the device you want to select. The MIDI In Devices component returns an array of device names which you can refer to to find the appropriate index.
Components MIDI Mono Description The MIDI Mono primitive generates data that can be used to control a simple mono synth. A more flexible voice management scheme is available through the Midi To Poly voice management module and the MIDI to Voices and Voices to Poly primitives. However, the MIDI Mono primitive is still a viable component to read the number of open note events on a MIDI stream, the frequency of the last played note or the MIDI note number of the most recent note.
Components MIDI Out Description The MIDI Out primitive allows you to send MIDI data to an external MIDI device. Each MIDI device installed on your PC is displayed as a button on the body of the component. To select or deselect one of these just click on it. You can choose to send MIDI data to as many devices as you like. You can also have as many MIDI Out components in your schematic as you like. However, you will not be able to select the same MIDI device on more than one of these components.
Components MIDI Out Devices Description This component retrieves the number of MIDI Out devices on the host PC together with their names and their availabilities.
Components MIDI Out Select Description The MIDI Out Select component allows you to select a MIDI Out device from within a schematic. Connectors Inputs Type Outputs Type MIDI to send to the selected device MIDI The index of the currectly selected device Int The index of the device you want to select. The MIDI Out Devices component returns an array of device names which you can refer to to find the appropriate index.
Components MIDI Pitch Bend Description MIDI Pitch Bend gives the amount of pitch bend as an integer from MIDI data typically from the pitch bend wheel of a MIDI controller. Connectors Inputs Type Outputs Type MIDI data MIDI Pitch bend in the range 0-16384 with 8192 representing the centre value.
Components MIDI Splitter Description MIDI data messages are composed of four distinct parts. Each part is an integer value.
Components MIDI to Multi Voice Description The MIDI to Multi Voice primitive takes all the functionality of the MIDI to Voices component but extends it in two ways: 1. It allows multiple voices to be generated in response to a single note 2. It allows you change the characteristics of a voice or voices depending on the note played As with the MIDI to Voices this component works alongside the Voices to Poly component. You would always pair these components together when using them in a synth.
Components With this configuration notes up to middle C (0-59) will carry a voice tag of zero and notes at middle C and beyond (60-127) will carry a voice tag of 1. EXAMPLE 2 Now let's look at the velocity ranges: LoVel HiVel 0 31 62 63 63 95 96 127 With this configuration you will get voice tags in the range 0-3 and you can use this to increase the volume or to vary filter parameters for example.
Components EXAMPLE 5 One ideal application of this new component is sample playback. You can now easily trigger different samples for each key or play a different sample based on velocity. LoKey HiKey 60 60 61 61 62 62 63 63 Here notes 60, 61, 62 and 63 will map onto voice tags 0,1,2 and 3 and you can use these as indexes to specify which sample to use in a Wave Array. Some Points to Note As you have probably seen from the examples, you don't have to provide both key and velocity information.
Components Connectors Inputs Type Outputs Type MIDI data MIDI Voice data (currently only the Voices to Poly primitive takes this data type as an input) Voice Maximum number of voices that can be playing at any one time.
Components MIDI to Voices Description The MIDI to Voices primitive component pairs with the Voices to Poly primitive to provide voice managed data. Note: Currently there is no reason to use this component on its own, instead you should use the MIDI to Poly module which combines the MIDI to Voices and Voices to Poly components. The inputs to the MIDI to Voices primitive define how the voice management works - by this we mean how the module responds to note messages from the attached MIDI source.
Components Connectors Inputs Type Outputs Type MIDI data MIDI Voice data (currently only the Voices to Poly primitive takes this data type as an input) Voice Maximum number of voices that can be playing at any one time.
Components Min Description This component compares the two inputs and returns the lower of the two. The component has template connectors which means it can be used with multiple data types including Floats, Ints and Float/Int arrays. You can right-click on the connectors at any time to change the type.
Components Min Float Array Description This component works out where the minimum value appears in the input array. It also returns the index of the element in the array that corresponds to that minimum value.
Components Module Description Modules are special types of component in that they are defined by their own schematic containing other components and modules. There are no inputs and outputs by default, you add these yourself by placing Module Input and Module Output components inside. For a complete description of how modules work see Chapter 4 of the main user guide.
Components Module GUI Description The Module GUI component (MGUI for short) gives a module a front panel and allows you to use the low-level GUI components to define the graphics and interaction capabilities. Note that if you don’t want or need to use the GUI components then you can just use the G button on the module action panel to add a front panel (see the Front Panel section in Chapter 4 of the main user guide). All GUI information is sent through View connectors.
Components Allows you to hide the grey module border.
Components Module Input Description Place a Module Input primitive inside a module to give the module an input connector. The component has a single Temple output connector. To change the type either right-click on the connector and choose a type from the pop-up menu or create a link from the connector to another component and the template will pick up the type. For more information on module inputs see the section on Inputs and Outputs in the Modules chapter (Chapter 4) of the main user guide.
Components Module Output Description Place a Module Output primitive inside a module to give the module an output connector. The component has a single Temple input connector. To change the type either right-click on the connector and choose a type from the pop-up menu or create a link from the connector to another component and the template will pick up the type. For more information on module outputs see the section on Inputs and Outputs in the Modules chapter (Chapter 4) of the main user guide.
Components Module Properties GUI Description The Properties GUI component (PGUI for short) gives a module a property panel and allows you to use the low-level GUI components to define the graphics and interaction capabilities. Note that if you don’t want or need to use the GUI components then you can just use the P button on the module action panel to add a front panel (see the Properties section in Chapter 4 of the main user guide). All GUI information is sent through View connectors.
Components Enables mouse move messages to pass through the View connectors Boolean 241 of 494
Components Module Wireless Output Description Most modules will have fixed output connectors that you physically link up to other connectors. However, it is sometimes useful to make a module output wireless. Instead of using a Module Output component you use a Module Wireless Output component. The component has a single Temple input connector.
Components Mono Boolean Readout Description The Mono Boolean Readout allows you to inspect the value of a signal from an output connector that’s linked into a running mono section. This can be very handy for debugging.
Components Mono to Float Description The Mono to Float component allows you to take Float samples from a Mono signal. The trigger input defines when the sample is taken. This is very useful for visually examining the data passing through a Mono stream.
Components Mono to Frame Description This version of the Mono to Frame component captures buffers of samples at the rate they are processed by the audio engine. Unlike the Mono to Float and Mono to Graph components the Mono to Frame allows you to capture and process every sample that passes through a Mono stream. The output is a Ruby Frame object. You can examine or process this using a Ruby component.
Components Mono to Frame Description This version of the Mono to Frame component captures buffers of samples at a rate determined by the Samples input. The Samples input should be an integer value (a Ruby Fixnum) that specifies the number of samples to grab. The output will be the last N samples that passed through the Mono input (where N is the number of requested samples). The output value is a Ruby Frame object. You can examine or process this using a Ruby component.
Components Mono to Graph Description The Mono to Graph component allows you to take an array of samples from up to 8 Mono streams. The trigger input defines when the samples are taken. The number of samples taken is defined at the NS input. This component is very useful for graphing a mono signal. There are four versions of the Mono to Graph. If you want to compare one or more signals you need to use a single Mono to Graph component with multiple inputs.
Components Motion Detect Description Motion Detect is a video processing component that locates areas of movement in an image. Each new image is compared with the frame before and if any pixel differs by more than the Delta input value then this is registered as movement and stored in a binary image. These binary images are stored over a period of time defined by the Duration input (Dur). The images are then faded out with the oldest image being almost transparent and the most recent being fully opaque.
Components Maximum MHI duration (seconds). Default is 0.
Components Mouse Area Description Creates an area on a View that receives mouse messages.
Components Mouse Drag Description The Mouse Drag component allows you to handle drag operations for a mouse area. If you connect this component to a Mouse Area then when a drag operation is in progress the component will send the x and y coordinates of the mouse as the drag progresses.
Components Mouse LDbl-click Description This component allows you to handle left mouse button double-click events for a mouse area. If you connect this component to a Mouse Area then when you double-click on the area the component will output the x and y coordinates of the clicked point.
Components Mouse LDown Description This component allows you to handle left mouse button down events for a mouse area. If you connect this component to a Mouse Area then when you click on the area the component will output the x and y coordinates of the clicked point.
Components Mouse LUp Description This component allows you to handle left mouse button up events for a mouse area. If you connect this component to a Mouse Area then when you click on the area and subsequently release the button, the component will output the x and y coordinates of the clicked point.
Components Mouse Move Description The Mouse Move component allows you to track the mouse position as it passes over an area. Note that mouse move message flow is turned off by default for performance reasons so in order to use a Mouse Move component you must ensure that mouse moves are switched on in the MGUI for the module where the mouse area is defined (see picture below).
Components Mouse Over Description This component determines whether the mouse is over a particular area in a view. The boolean output will show True when the mouse is over and False otherwise. This output is triggered whenever the state changes. Note that mouse move message flow is turned off by default for performance reasons so in order to use a Mouse Over component you must ensure that mouse moves are switched on in the MGUI for the module where the mouse area is defined (see picture below).
Components Mouse RDbl-click Description This component allows you to handle right mouse button double-click events for a mouse area. If you connect this component to a Mouse Area then when you right double-click on the area the component will output the x and y coordinates of the clicked point.
Components Mouse RDown Description This component allows you to handle right mouse button down events for a mouse area. If you connect this component to a Mouse Area then when you right click on the area the component will output the x and y coordinates of the right clicked point.
Components Mouse RUp Description This component allows you to handle right mouse button up events for a mouse area. If you connect this component to a Mouse Area then when you right click on the area and subsequently release the button, the component will output the x and y coordinates of the clicked point.
Components Multiplexer Description The Multiplexer component routes a single input to just one of a number of outputs. The component has template connectors which means that you can use it with any connector type. The type is defined when you connect your first link to the component. When you connect an output a new, unassigned output will appear below it. By continuously connecting unassigned outputs in this way you can build up to the number of outputs you require.
Components Multiply Description This component multiplies the two inputs. The component has template connectors which means it can be used with multiple data types including Floats, Ints and Float/Int arrays. You can right-click on the connectors at any time to change the type.
Components Multiply Float Array Description This primitive multiplies each entry in the input array by a single float value.
Components Multiply Float Array Pair Description This primitive multiplies each entry in the input array by the entry at the same index in a second float array. If the arrays are different sizes then the larger of the two is truncated to the length of the smaller one.
Components Netvox Alarm Security Description This component allows you to connect to a Netvox alarm security device that is paired with a Netvox USB adapter attached to your PC. Netvox alarm security devices include window and passive infra red sensors. IMPORTANT: you must first use a Netvox USB component and successfully connect to the USB adapter before attempting to connect to a device. Before starting the component you need to send the IEEE address of the device to the 'Id' input.
Components Set the heartbeat (in secs) Int The current heartbeat (secs) Int Whether the alarm has been triggered Boolean Whether the device has been tampered with Boolean Whether the device has encountered a fault Boolean 265 of 494
Components Netvox Light Sensor Description This component allows you to connect to a Netvox light sensor device that is paired with a Netvox USB adapter attached to your PC. IMPORTANT: you must first use a Netvox USB component and successfully connect to the USB adapter before attempting to connect to a device. Before starting the component you need to send the IEEE address of the device to the 'Id' input. The IEEE address is usually written on the device itself. Trigger the Start input to connect.
Components component The minimum reporting interval (in secs) Int The maximum reporting interval (in secs) Int The reportable change Int 267 of 494
Components Netvox Mains Power Outlet Description This component allows you to connect to a Netvox mains power outlet device that is paired with a Netvox USB adapter attached to your PC. IMPORTANT: you must first use a Netvox USB component and successfully connect to the USB adapter before attempting to connect to a device. Before starting the component you need to send the IEEE address of the device to the 'Id' input. The IEEE address is usually written on the device itself.
Components Switch the outlet on or off Boolean Current usage in Amps Int Toggle the outlet from its current state Boolean Voltage level in Volts Int Power consumption in Watts Int Energy usage in kWh Float 269 of 494
Components Netvox Temperature Sensor Description This component allows you to connect to a Netvox temperature sensor device that is paired with a Netvox USB adapter attached to your PC. IMPORTANT: you must first use a Netvox USB component and successfully connect to the USB adapter before attempting to connect to a device. Before starting the component you need to send the IEEE address of the device to the 'Id' input. The IEEE address is usually written on the device itself.
Components Trigger to query the component Trigger The temperature level in degrees celcius Float The minimum reporting interval (in secs) Int The percentage humidity (if supported by device) Float The maximum reporting interval (in secs) Int The UV level (if supported by device) Int The reportable change Int 271 of 494
Components Netvox USB Description This component allows you to connect to a Netvox home automation USB adapter. The adapter installs as a virtual COM port so you need to find out which port it's on before you can use this component. Send the com port number to the 'Port' input (just the number, not the 'COM' part). You can set the Baud Rate or leave this unconnected to use the default. Trigger the Start input to connect. The 'On' output will send True if successful or False otherwise.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether a connection was successful Boolean The COM port number that the adapter is connected to Int The current connection status String The baud rate in bps (optional).
Components Network Client Description This primitive allows you to send and receive data to and from a server across a network. You can choose whether to create a TCP or UDP connection. You can also specify whether you are communicating via character strings (straight text) or hex strings.
Components Connectors Inputs Type Outputs Type The IP address of the server you want to connect to String Whether the connection is open or not String The port you want to connect to Int Data received in from the server String The type of connection, either 'TCP' or 'UDP' String Trigger when data has been sent out to the server Trigger Trigger to open the connection Trigger If the Log input is set to true then the activity log can be accessed from here String Trigger to close the connec
Components Network Server Description This primitive allows you to receive and and send data from and to clients across a network. You can choose whether to create a TCP or UDP connection. You can also specify whether you are communicating via character strings (straight text) or hex strings. When sending the data is sent to all clients that are connected to the server.
Components Connectors Inputs Type Outputs Type The port you want the server to use through Int Whether the server has started and a connection is open String The type of connection, either 'TCP' or 'UDP' String The IP address of the server (once the connection has been set up) String Trigger to start the server Trigger Data received in from any clients String Trigger to stop the server Trigger Trigger when data has been sent out Trigger The data you want to send String If the Log inpu
Components New Line Description This component outputs the new line character.
Components Norm Description Normalises an array of float values. The values are scaled so that they fall between –1 and 1.
Components Not Description This component returns the opposite value from the input turning True to False and False to True.
Components Note Equal Description The Note Equal primitive will filter out all MIDI events except those associated with the value fed to the 'note' input (each semitone has a unique MIDI integer value from 0 to 127 with Middle C = 60). MIDI messages that do not relate to notes other than the specified one do not pass through.
Components Note Event Description The Note Event primitive generates a MIDI note on/off event pair in order to play a note. Connectors Inputs Type Outputs Type MIDI Channel (1-16) Int MIDI event message MIDI Note number indicating the pitch of the note to be played (60 = middle C) Int Velocity of the note (0127) Int Duration of the note (milliseconds).
Components Note to Int Description Converts a note name to a MIDI note number. For example, C3 is MIDI note 60.
Components Note to Int Description Converts a note name to a MIDI note number. For example, C3 is MIDI note 60.
Components Offline Mode Description When used inside an exported VST this component will determine whether the host is in offline mode or not. This is useful if you want to apply more cpu intensive processing like over sampling only when the host is using the plugin for rendering or some other non-live purpose.
Components Open ASIO Settings Description Use this in an exported exe to provide access to the ASIO settings dialog. You can use a button or other GUI element to trigger this. The boolean output allows you to determine whether an ASIO driver is currently selected. This is useful because the ASIO settings only apply to the selected ASIO driver and if no ASIO driver is selected the input trigger will do nothing.
Components OWL Energy Monitor Description This primitive allows you to interface to an OWL Energy Monitor. It will work either with a direct connection via USB cable or using an OWL USB adapter for connecting wirelessly. Once you have the board connected to your PC you need to start the component by sending a trigger to the 'Start' input. The 'On' output will return True if a connection has been established (False otherwise). If successful the 'Status' output should change from “Not Started” to “Started”.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether a connection was successful Boolean Trigger to attempt to read data from connected devices Trigger The current connection status String Id of the device you want to focus on Int Returns an array of found device ids Int Array Returns an array of readings , one for each device Float Array Returns the reading for the device you have selected to focus on or the first device if you haven't made a choi
Components Pack Description The Pack component literally ‘packs’ 4 mono streams into one Mono4 stream. You can then take full advantage of SSE as any stream components you connect up to this will effectively be processing the original 4 mono channels at the same time. To get the 4 mono streams back again use the Unpack component. Using Pack (and Unpack) can radically increase the efficiency of a Mono section.
Components Pen Description This component creates a Pen that you can use for drawing. A pen is defined by colour, line thickness and style parameters. The thickness is a float and is in grid squares. Style can be any one of the following strings: solid, dash, dot, dashdot, dashdotdot You can leave the style input disconnected and a solid style will be assumed.
Components Phidgets 0/0/4 Description This primitive allows you to control a Phidgets 0/0/4 Interface Kit board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String 4 x inputs to change the state of the 4 digital outputs on the board Boolean 292 of 494
Components Phidgets 0/0/8 Description This primitive allows you to control a Phidgets 0/0/8 Interface Kit board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components on the board 294 of 494
Components Phidgets 0/0/16 Description This primitive allows you to control a Phidgets 0/0/16 Interface Kit board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components the state of the 16 digital inputs on the board 16 x inputs to change the state of the 16 digital outputs on the board Boolean 296 of 494
Components Phidgets 2/2/2 Description This primitive allows you to control a Phidgets 2/2/2 Interface Kit board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Connection string (optional) String 8 x outputs receiving analog data from the 8 analog inputs on the board Int 8 x inputs to change the state of the 8 digital outputs on the board Boolean 8 x outputs receiving the state of the 8 digital inputs on the board Boolean 298 of 494
Components Phidgets 8/8/8 Description This primitive allows you to send and receive data to and from the Phidgets 8/8/8 Interface Kit board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components Connection string (optional) String 8 x outputs receiving analog data from the 8 analog inputs on the board Int 8 x inputs to change the state of the 8 digital outputs on the board Boolean 8 x outputs receiving the state of the 8 digital inputs on the board Boolean 300 of 494
Components Phidgets Accelerometer Description This primitive allows you to interface to the Phidgets Accelerometer board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String X-axis acceleration Float The amount the X-axis acceleration needs to change by before it's updated Float Y-axis acceleration Float The amount the Y-axis acceleration needs to change by before it's updated Float Z-axis acceleration Float The amount the Z-axis acceleration needs to change by before it's updated Float 302
Components Phidgets Analog Description This primitive allows you to control a Phidgets Analog board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Enable output 0 Boolean Voltage for output 0 (+/-10v) Float Enable output 1 Boolean Voltage for output 1 (+/-10v) Float Enable output 2 Boolean Voltage for output 2 (+/-10v) Float Enable output 3 Boolean Voltage for output 3 (+/-10v) Float 304 of 494
Components Phidgets Bridge Description This primitive allows you to control a Phidgets Bridge board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Value at input 0 in mV/V Float Enable input 0 Boolean Value at input 1 in mV/V Float Gain at input 0 Int Value at input 2 in mV/V Float Enable input 1 Boolean Value at input 3 in mV/V Float Gain at input 1 Int Enable input 2 Boolean Gain at input 2 Int Enable input 3 Boolean Gain at input 3 Int 306 of 494
Components Phidgets Encoder Description This primitive allows you to interface to the Phidgets Encoder board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Number of encoders supported by the connected board Int Zero based index of the encoder you want to use (some boards support multiple encoders) Int Number of digital inputs supported by the connected board Int Power on or off the specified encoder Boolean Position of the specified encoder Int Set the position of the speci
Components Phidgets Frequency Counter Description This primitive allows you to control a Phidgets Frequency Counter board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Frequency calculated at channel 0 in Hz Float Enable channel 0 Boolean Number of pulses counted for channel 0 Int Set the filter for channel 0 (0=zero crossing, 1=logic level) Int Total time spent counting in microseconds for channel 0 Int Timeout (ms) for channel 0 Int Frequency calculated at channel 1 in Hz Float Re
Components Phidgets GPS Description This primitive allows you to control a Phidgets GPS board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Whether a fix has been achieved Boolean Latitude of position in degrees North Float Longitude of position in degrees East Float Altitude in metres above sea level Float Velocity in km/h Float Heading in degrees Float 312 of 494
Components Phidgets IR Transmit and Receive Description This primitive allows you to interface to the Phidgets IR board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Short hex code of any IR received String Full NEC encoding of the IR code you want to transmit String Full NEC encoding of any IR receieved String Trigger to send the code Trigger Repeat count of any IR code received Int 314 of 494
Components Phidgets LED 64 Description This primitive allows you to interface to the Phidgets LED 64 board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Number of LEDs supported by the board Int Index of the LED you want to control (0-63) Int Luminance of the currently selected LED Int Luminance level you want to set the specified LED to (0100) Int Set the voltage for ALL LEDs. You can only choose certain voltages so this input takes values 0-3 where 0=1.7v, 1=2.75v, 2=3.
Components Phidgets Motor Control Description This primitive allows you to interface to the two Phidgets Motor Control boards (both 2 motor HC and 4 motor LC). Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Number of motors supported by the connected board Int Index of the motor you want to control (0-3) Int Current velocity of the selected motor Float Velocity you want to set for the selected motor Float Minimum supported acceleration for the selected motor Float Acceleration you want to set for the selected motor Float M
Components Phidgets RFID Description This primitive allows you to interface to the Phidgets RFID board. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise). If you have multiple boards connected to your PC then you should provide the unique serial number of the board you want to connect to at the 'Conn' (connection string) input.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Whether the RFID sensor is on or off Boolean Switch the RFID sensor on or off Boolean Whether there is an RFID tag in close proximity Boolean Switch the on board LED on or off Boolean Id code of any detected RFID tag String Change the state of the first digital output Boolean Change the state of the second digital outpu
Components Phidgets Servo Advanced Description This primitive allows you to interface to the two Phidgets Advanced servo boards (both 1 motor and 8 motor). Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components 9 HiTec HS-785HB Sail Winch Servo 10 HiTec HS-485HB Deluxe Servo 11 HiTec HS-645MG Ultra Torque Servo 12 HiTec HS-815BB Mega Sail Servo 13 Firgelli L12 Linear Actuator 30mm 50:1 14 Firgelli L12 Linear Actuator 50mm 100:1 15 Firgelli L12 Linear Actuator 50mm 210:1 16 Firgelli L12 Linear Actuator 100mm 50:1 17 Firgelli L12 Linear Actuator 100mm 100:1 The other connectors allow you to control or inspect the state of the specified servo. There are all explained in the Connectors table below.
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Number of servos supported by the connected board Int Index of the servo you want to use Int Whether the selected servo is moving or not Boolean Type of servo. This is optional.
Components Phidgets Spacial Description This primitive allows you to interface to the two Phidgets Spacial boards (0/0/3 and 3/3/3). Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Number of acceleration axes supported by the board Int Set the rate at which data is received from the board in milliseconds.
Components Phidgets Stepper Controller Description This primitive allows you to interface to the two Phidgets Stepper Controller boards (both 1 motor bipolar and 4 motor unipolar). Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Number of motors supported by the board Int Index of the motor you want to control (0-3) Int Whether the selected motor is moving or not Boolean Position you want to set for the selected motor Float Current position of the selected motor Float Velocity you want to set for the selected motor Float Current velocity of the
Components State of digital input 3 328 of 494 Boolean
Components Phidgets Temperature Description This primitive allows you to interface to the two Phidgets Temperature Sensor boards (both 1 input and 4 input). Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Ambient temperature of the board in degrees Celcius Float Type of thermocouple attached to input 1. Either 'K','J','E' or 'T'. String Temperature at input 1 in degrees Celcius Float Type of thermocouple attached to input 2. Either 'K','J','E' or 'T'.
Components Phidgets Text LCD Description This primitive allows you to interface to the Phidgets Text LCD and Text LCD Adapter boards. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String The text or character you want to show on the display. Note that this will wrap from the first to the second line if no line break is included in the string String Position where you want to start displaying the text. 0-19 for the first row and 20-39 for the second row Int Controls the cursor.
Components Phidgets Touch Linear/Circular Description This primitive allows you to interface to the Phidgets Linear and Circular Touch Sensor boards. Once you have the board connected to your PC you need to start the component by sending a trigger to the first input. The 'On' output will return True if a connection has been established (False otherwise).
Components Connectors Inputs Type Outputs Type Trigger to start the component Trigger Whether the board is connected and on Boolean Connection string (optional) String Returns True when in close proximity to the sensor Boolean Returns True when touching the sensor Boolean The value corresponding to the touch point Int 334 of 494
Components Pitch to Frequency Description Converts a pitch value to a frequency. There are two versions of this component. The stream version should be used in Mono and Poly sections and performs the calculation at sampling rate. The Float version should be used for static calculations.
Components Pixel to Grid Description The Pixel to Grid components convert values in Pixels to values in Grid Squares. There are two versions, one for Floats and one for Areas.
Components Plugin Folder Description The plugin folder component gives you the folder where your exported exe resides. When inside FlowBotics Studio the folder given is whatever you have set up as the target folder for exported executables. If you wish, you can provide a test folder that will be used only when working within FlowBotics Studio.
Components Point Array Lines Description The Point Array Lines component draws a line through a set of points. This is similar to the Graph Lines component. However, in this case both the x and y coordinates are supplied. As with the Graph Lines component, the y-coordinates are assumed to be in the range 0 to 1 ( – 1 to 1 if the graph is centred on zero). This means that you may need to use the Norm component if you want to make sure that your values are all visible.
Components Poly to Graph Description The Poly to Graph component takes the first 2048 samples from a Poly stream and puts them in an array. Poly sections are only active when voices are active and for this component the samples are the first ones generated by the first note played only. The Get trigger determines when the data is sent to the Float Array output but does not affect which samples are taken – these are always the first 2048 in the signal no matter when the trigger is fired.
Components Poly to Mono Description The Poly to Mono primitive is an essential part of any polyphonic synth. It acts as a voice combiner adding together the independent signals from each Poly channel and producing a single Mono stream of data. Note: A Poly to Mono component must have a MIDI to Poly module (or a Voices to Poly) somewhere in the Poly section that precedes it. It can also only connect into one such section – no two MIDI to Poly modules can feed into the same Poly to Mono.
Components Poly to PolyInt Description The Poly to PolyInt primitive converts Poly signals to PolyInt signals by rounding float values to the nearest integer above or below. Example A float value of 1.4 would be converted to an integer value of 1. However, a float value of 1.6 would be converted to an integer value of 2 because 1.6 is closer to 2 than it is to 1. Note that to round to the nearest integer below all you need to do is subtract 0.
Components PolyInt to Poly Description The PolyInt to Poly primitive converts PolyInt signals to Poly signals by converting the integer values to their equivalent in floating point form.
Components Popup List Control Description The Popup List Control defines a popup list of selectable values. You need to define an area on the View where the control is to appear and supply a list of options (via a comma separated string). Having done this you can then click on the control and, as you hold the mouse down, the list will pop up. By moving the mouse up and down you can scroll through the options. You then release the mouse to accept the current selection.
Components A comma separated list of entries for the pop up list String The maximum number of rows to show in the pop up list (default is 8) Int Set the selected item Int 344 of 494
Components PPQ Pos Description The PPQ Pos primitive outputs the current songs quarter position when your VST is used within a host.
Components Preset Manager Description The Preset Manager component controls preset changes within a schematic. The component stores the program names but the data is stored in Preset Parameter, Preset Parameter array and Preset String components. The Preset Manager notifies these parameter components via its Preset output connector. Mostly this information is transferred via use wireless links. The Preset Manager also controls parameter updates.
Components Connectors Inputs Type Outputs Type Nprgs is the number of programs you want Int Connector for communicating with Preset Parameter components Preset Set the currently selected program Int Index of the currently selected program Int Set the name of the current program (24 chars max) String The current program name String Whether the programs are locked so that data changes are not altered permanently Boolean List of all program names String Trigger to save any parameter change
Components Preset Manager (module) Description The Preset Manager module is the key to adding preset handling to your plugins. To add preset support simply drop a Preset Manager inside your plugin module. The Preset Manager is wireless and will establish a Preset type connection with all the preset parameters and arrays inside the standard knob, slider and other built in modules. These connections are used to manage preset changes and other such operations.
Components Number of parameters = 26 OSC1-Detuner-Fine Float 0.289429 0.5 0.2625 … OSC1-Detuner-Octave Float 0.444445 0.333333 0.666667 … OSC2-Detuner-Fine Float 0.752513 0.5 0.7875 … OSC2-Detuner-Octave Float 0.444445 0.333333 0.666667 … OSC1-Waveform Float 0.2 0.8 0.2 … OSC2-Waveform Float 0.2 0.4 0.2 … OSC1-Volume Float 0.644708 0.5 0.575 … OSC2-Volume Float 0.5 0.0 0.
Components parameter in your schematic that matches the name. If it fails to find a match the parameter data is ignored. This means that if you have deleted something from your schematic the preset data will still load in correctly. If your schematic contains new preset parameters not included in the file then these will not be affected. Having loaded in your previous preset data you can then make adjustments to the new parameters and save out a new file to reflect the schematic changes you have made.
Components Preset Text File Description The Preset Text File component allows you to transfer preset data to and from a text file. The format used is very flexible and has been designed with the plugin developer in mind as it allows the structure of the plugin to change without losing the preset data. The component accesses and updates the data stored in Preset Parameter and Preset Parameter array components. It notifies these parameter components via its Preset output connector.
Components File Format The file format used is very easy to understand. It is tab delimited and it’s best viewed in a spreadsheet application like Microsoft Excel™. Here’s an extract from an example synth: Preset Table Format Number of programs = 32 Parameter Type Tekno Honk Low Distant OSC1-Detuner-Fine Float 0.289429 0.5 OSC1-Detuner-Octave Float 0.555556 0.444444 OSC2-Detuner-Fine Float 0.752513 0.5 OSC2-Detuner-Octave Float 0.555556 0.444444 OSC1-Waveform Float 0.2 0.
Components 353 of 494
Components PS2 Lynxmotion Controller Description The PS2 Lynxmotion Controller component allows you to receive input data from a connected Lynxmotion PS2 controller. To use this you must have an appropriate PS2 controller attached to your PC. If you trigger the Connect input on the component it will pick up the controller and you can then use the outputs to respond to controller input. NOTE: the Analog option on the controller must be selected in order for it to work with FlowBotics Studio.
Components Connectors Inputs Type Outputs Type Trigger to connect to an attached Lynxmotion PS2 controller Trigger Whether the component is connected to a controller Trigger Is the Triangle button pressed Boolean Is the Circle button pressed Boolean Is the Cross button pressed Boolean Is the Square button pressed Boolean Is the Lower Left trigger button pressed Boolean Is the Lower Right trigger button pressed Boolean Is the Upper Left trigger button pressed Boolean Is the Upper Right
Components Ramp Description The Ramp primitive generates a non-bandlimited wave whose values increase linearly from 0 to 1 according to the normalised frequency input. Connectors Inputs Type Outputs Type Normalised frequency (0-1) with 1 meaning half sampling rate) of the wave to be generated.
Components Random Number Description The Random Number primitive generates pseudo-random numbers. You can choose a fixed seed to reproduce a stream of numbers or leave the Seed input unconnected and the component will seed itself based on system time when the component is loaded or added to a schematic. A seed of 1 will reset the stream of numbers generated by the component. Trigger the Get input to produce the next number in the current sequence.
Components Rectangle Description Draws a rectangle on a View.
Components Redraw Description The Redraw component gives you low-level control over when redraws occur on a view. This particular version redraws everything on the view. When inside an exported exe the Redraw component limits the redraw rate to 100Hz during automation for efficiency purposes. You can switch this off by setting the HiRes input to True.
Components Redraw Area Description The Redraw Area component gives you low-level control over when redraws occur on a view. This particular version redraws everything inside a particular area of a view. When inside an exported exe the Redraw component limits the redraw rate to 100Hz during automation for efficiency purposes. You can switch this off by setting the HiRes input to True.
Components Redraw Limiter Description The Redraw Limiter component is used to restrict the rate of flow of triggers through a schematic. It is primarily used for sections of schematic that are used for drawing whilst either interacting or automating. In such cases redraws do not need to occur at the same rate that values are updating so this component allows you to restrict data flow to something around 100Hz.
Components Rotate Description Applies a rotation transformation to the view. Any GUI components attached to this component are rotated according to the transformation.
Components Round Rectangle Description Draws a round rectangle on a View, that is a rectangle with rounded corners. Connectors Inputs Type Outputs Type View to display the rectangle on View The same View as the input, but anything connected here is drawn on top View Area defining the position and size of the rectangle Area Pen defining the outline colour, thickness and style Pen Corner size in grid squares.
Components Ruby Description The Ruby component allows you to write standard Ruby code and use it in your schematic. The inputs and outputs can be changed interactively by dragging the grippers below the connectors and by right-clicking on the connectors themselves There is a huge chapter dedicated to the Ruby component in the main user guide. All the information about it can be found there.
Components Sample and Hold Description This component holds a value until the trigger input is hit at which point the current value is passed to the output. The component has template connectors which means it can be used with multiple data types including Floats, Ints, Strings, Booleans, Float/Int/String arrays and Areas. You can right-click on the connectors at any time to change the type.
Components Sample Position Description The Sample Position primitive outputs the current songs sample position when your VST plugin is used within a host.
Components Sample Rate Description The Sample Rate primitive will give you the sample rate of the currently selected audio device either within FlowBotics Studio or when used in an exported exe. This component is essential for ensuring that fixed time periods are translated into the correct number of samples for use with low-level components like delays and ADSR envelopes.
Components Save Wave Description This component saves a memory buffer to a Wave file (.wav). You specify the path to the file, sampling rate and the sample format. The sample format can be 16, 24 or 32 bit integer or 32 bit float. This is determined by a string supplied to the Format input. The string should be “int16”, “int24”, “int32” or “float32”. Send a trigger to the Save input to execute the save.
Components Sawtooth Description The Sawtooth primitive produces the classic Sawtooth waveform. Its rich harmonic content makes it ideal for subtractive synthesis and this bandlimited form avoids aliased overtones. The phase input can be used for frequency modulation (phase modulation). This Sawtooth HB primitive produces a Sawtooth wave with overtones limited to half the available bandwidth. Its inputs are the same as the basic Sawtooth and it is included primarily for educational purposes.
Components Schematic File Path Description This component gives you the folder and filename for the schematic on the host PC. If the schematic is new and has not yet been saved then the Folder output will be blank.
Components Select Description The Select component will select between two inputs based on the value of the boolean input. The first input is selected if boolean input is False and the second input is selected if the boolean input is True. The component has template connectors which means it can be used with multiple data types including Floats, Ints, Strings, Booleans, Float/Int/String arrays and Areas. You can right-click on the connectors at any time to change the type.
Components Selector Description The Selector component routes just one input from a set of inputs to a single output. The component has template connectors which means that you can use it with any connector type. The type is defined when you connect your first link to the component. When you connect an input a new, unassigned input will appear below it. By continuously connecting unassigned inputs in this way you can build up to the number of inputs you require.
Components Set Pixel Description Sets the colour of a specified pixel in a bitmap.
Components Set Sample Rate Description Sets the sample rate for the currently selected audio device. You provide a rate and then send a trigger to the Set input in order to attempt the change. If the rate couldn't be set (usually because the audio device doesn't support it) then you'll get a trigger sent to the output.
Components SFZ Description The SFZ component parses an sfz format file creating a Bus from which you can read the parsed parameters. The sfz format was developed by rgc audio which is now owned by Cakewalk. It's a basic but very flexible concept using a simple text file to define a set of samples together with arrangement and performance parameters. (see http://www.cakewalk.com/devxchange/sfz.asp) The SFZ component supports a large subset of the opcodes but not the full set. These are listed below.
Components Shell Execute Description The Shell Execute component will start an external program. You provide the path to the program executable and any command line arguments then send a trigger to launch the app.
Components application in the background ie.
Components Shift Float Array Description This component will shift the elements in a float array round by a particular number of entries. Elements that get ‘pushed off’ the end of the array are wrapped round to the beginning of the array. The example below shows how this works.
Components Show Cursor Description The Show Cursor component allows you to show or hide the mouse cursor. You can also choose whether to hold the mouse position when you hide the cursor and restore the mouse position when you show it again. WARNING: use this component with care or you may find yourself without a cursor.
Components Signal Analyser Description The Signal Analyser allows you to analyse the signal that would be produced by a section of Poly components. The Analyser simply runs the Poly code section for a defined number of samples. The output is an array containing the calculated samples. You can then plot this on a graph or use it for some other calculation.
Components Sin Description Standard trigonometric Sine function with radians as the input units.
Components Sin Inverse Description Standard trigonometric Inverse Sine function with radians as the output units.
Components Sine Description The Sine primitive produces a sinusoid waveform. The phase input can be used for frequency modulation (phase modulation). It has no harmonic content of its own and is often used as modulation source.
Components Sinh Description Standard hyperbolic sine function with radians as the input units. Connectors Inputs Type Outputs Type Float value in radians Float Result of calculation Float Connectors Inputs Type Outputs Type Normalised frequency (0-1) with 1 meaning half sampling rate) of the wave to be generated.
Components Slide Description The Slide component will slide from one float value to another at a particular rate. This can be useful for animation effects. The rate is specified as a time between steps in milliseconds. The component uses Windows timers so it can’t be relied on for accuracy particularly below 15 milliseconds.
Components Smooth Description Changes the smooth mode for a View. By default smoothing (antialiasing) is applied to all GUI graphics. This component can be used to switch this smoothing off or back on again.
Components Sort Float Array Description The Sort Float Array primitive sorts the elements in the input array into ascending numerical order.
Components Sort String Array Description The Sort String Array component sorts an array of strings into ascending alphabetical order.
Components Stream Add Description This component adds two Stream values together.
Components Stream Divide Description This component divides the first Stream value by the second one.
Components Stream Greater Than Description This component compares the two inputs and returns a Stream Boolean based on whether the first input is greater than the second input.
Components Stream Greater Than or Equal to Description This component compares the two inputs and returns a Stream Boolean based on whether the first input is greater than or equal to the second input.
Components Stream Less Than Description This component compares the two inputs and returns a Stream Boolean based on whether the first input is less than the second input.
Components Stream Less Than or Equal to Description This component compares the two inputs and returns a Stream Boolean based on whether the first input is less than or equal to the second input.
Components Stream Max Description This component compares the two inputs and returns the greater of the two.
Components Stream Min Description This component compares the two inputs and returns the lower of the two.
Components Stream Multiply Description This component multiplies two Stream values together.
Components Stream Subtract Description This component subtracts two Stream values from one another.
Components Stream to Double Description This component converts a standard Stream to a Double Stream. Double Stream is similar to standard Float Stream except that it works at double the precision. It is particularly useful for counters.
Components String Description The String component allows you to enter and view character string data. To add a string just click on the main body of the component and type it in. Press Return, Tab or just click away to finish editing. You can copy and paste data using the standard accelerator key combinations (CTRL+C,X and V). The component can be resized horizontally for viewing long strings. You can also change the type by right-clicking on the input or output. A pop-up menu will appear as shown below.
Components String Array Description The String Array component creates an array of strings by setting, inserting and deleting individual elements in the array. You define the index of the element you want to refer to and if needed the value you want to set or insert at that index. The array will resize automatically to accommodate elements set or inserted at indexes higher than the current size of the array.
Components String Array Find Description The String Array Find primitive will find the first occurrence of a given string in the array. You can choose whether comparisons are case sensitive. You can also choose whether to reverse the direction of the find and start at the end of the array working backwards towards the front. By default the find will start at the beginning of the array and work forwards.
Components String Array Get At Description The String Array Get At component extracts a particular entry from a String Array.
Components String Array Split Description The String Array Split primitive will break a given string array into two parts at a given point. Note that the split position starts at zero.
Components String Array to String Description This component converts a String Array to a single String by appending the entries in the array to each other in order. Example The array “Apples”,”Oranges”,”Pears” would become “ApplesOrangesPears”.
Components String Array to String Description This component converts a String Array to a single String by appending the entries in the array to each other in order and inserting the Sep input string in between entries to separate them. Example The array “Apples”,”Oranges”,”Pears” with Sep set to “,” would become “Apples,Oranges,Pears”.
Components String Extract Description The String Extract primitive will give you a sub-string of a particular size starting from a particular point in the string. Note that positions start at zero. Example If the string is ‘FlowBotics Studio’ then using a Pos of 4 and a Count of 6 you’d get ‘Botics’.
Components String Find Description The String Find primitive will find the first occurrence of a given sub-string inside a string. You can choose whether comparisons are case sensitive. You can also choose whether to reverse the direction of the find and start at the end of the string working backwards. By default the find will start at the beginning of the string and work forwards. Example If the source string is ‘C:\Windows\Temp’ then using a Find string of ‘\’ the result would be 2.
Components String Length Description Calculates the length of a string by counting the number of characters. This includes all whitespace characters. Example If the source string is ‘Apples and Oranges’ then the length will be 18. Connectors Inputs Type Outputs Type Source string String Number of characters in the string.
Components String Queue Description The String Queue component stores string values in a queue. Values are pushed in and popped out on a first in, first out basis (FIFO). You can get the queue in String Array form from the third output. The array contains items in the order they would be popped out – so the first item is at the front of the queue, the second item is next and so on.
Components String Replace Description The String Replace primitive will replace the characters at a particular position in a given string with another sub-string. Note that positions start at zero. Example If the source string is ‘Apples and Oranges’ then using a Pos of 10 and sub-string of ‘Bananas’ you’d get ‘Apples and Bananas’.
Components String Split Description The String Split primitive will break a given string into two parts at a given point. Note that the split position starts at zero. Example If the source string is ‘FlowBotics Studio’ then using a Pos of 4 you’d get ‘Flow’ and ‘Botics Studio’.
Components String Stack Description The String Stack component stores string values in a stack. Values are pushed in and popped out on a last in, first out basis (LIFO). You can get the stack in String Array form from the third output. The array contains items in the order they would be popped out – so the first item is at the top of the stack, the second item is next and so on.
Components String to ASCII Description The String to ASCII primitive converts a string character to its corresponding ASCII character code (or more accurately the ISO Latin 1 character as ASCII is only defined through 127).
Components String to Hex Description Converts a string of characters to a string of hex. Each character is first converted to Ascii and then the hex representation of that byte is used in the hex string. For example, the character string “hello” is converted to the hex string “68656C6C6F”.
Components String to String Array Description This component converts a String to an Array of Strings by splitting the string up character by character and inserting the characters into the array. Example The String “Apples” would become a String Array with entries: “A”,”p”,”p”,”l”,”e”,”s”.
Components String to String Array Description This component converts a String to an Array of Strings by splitting the string up using the supplied delimiter or field width or both to determine where to make a split. Examples The String “Apples,Oranges,Pears” with a delimiter of “,“ would become a String Array with entries: “Apples”, “Oranges” and “Pears”.
Components String to Sysex Description This component takes a string of hex and sends it out as MIDI System Exclusive data. Useful for controlling external MIDI hardware.
Components String Format Description Creates a String Format for use with a Text component. A String Format combines a text style, horizontal alignment and vertical alignment. The style can be any combination of the following: normal, righttoleft, nowrap, vertical For example: nowrapvertical, nowraprighttoleft.
Components Subtract Description This component subtracts two values from one another. The component has template connectors which means it can be used with multiple data types including Floats, Ints and Float/Int arrays. You can right-click on the connectors at any time to change the type.
Components Subtract from Float Array Description Subtracts the same float value from every entry in a float array.
Components Sum Float Array Description The Sum Float Array primitive adds all the elements in the input array together and outputs the result.
Components Sunburst Gradient Description The Sunburst Gradient component draws either an ellipse or a rectangle with a sunburst fill effect. This effect creates a seamless transition through increasing concentric circles from a centre to an outer colour. This component useful for creating lighting effects. The gradient is defined by a bounding area inside which the fill can be rectangular or ellipsoid.
Components The H focus and V focus inputs determine the focus scale. These are float values in the range (0-1) and determine at which point the centre colour starts to blend into the boundary colour. A focus scale value of zero will begin transition immediately. A focus scale of 0.5 will have the centre colour for half the range of the fill before blending to the boundary colour for the other half. The above picture shows a sunburst fill with H Focus of 0.2 and a V Focus of 0.8.
Components Sysex to String Description This component receives MIDI System Exclusive data and outputs it as a string of hex. Useful for processing data from external MIDI hardware.
Components System Folders Description This component gives you the full paths to the Document and Application Data folders on the host PC. This is needed if you want to store local settings. You can also get the values of other system specific folder paths from the Custom output by supplying the appropriate id to the Int input.
Components The custom folder id's are as follows: Id and Description Default folder on Windows 7 -1 = FlowBotics Studio Install Folder C:\Program Files (x86)\RobotShop\FlowBotics 0 = Desktop C:\Users\[username]\Desktop 2 = Start Menu Programs C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs 5 = Documents C:\Users\[username]\Documents 6 = Favourites C:\Users\[username]\Favorites 7 = Startup C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Components System Fonts Description The System Fonts component gives you a list of all the fonts installed on the host system. The font names are provided as a string array and as a delimited string that you can look at using a Text component.
Components Tan Description Standard trigonometric Tangent function with radians as the input units.
Components Tan Inverse Description Standard trigonometric Inverse Tangent function with radians as the output units.
Components Tanh Description Standard hyperbolic tangent function with radians as the input units.
Components Teaching Goal Description This component allows teachers to set goals for students to achieve within a schematic. You simply add a component and then change its label to give it a memorable name. After that you set up your schematic so that when a student successfully achieves the task you want them to achieve, your schematic sends a trigger to the Teaching Goal. This is used in conjunction with the Goal Progress component to allow teachers to see how students are progressing.
Components Tempo Description When your VST is used within a host these components will tell you the current host tempo in beats per minute (BPM). This is most often used when creating tempo synchronised effects. There are two versions of the Tempo primitive a Stream version for use in Poly or Mono sections and a Float version for use in green data sections.
Components Text Description The Text component allows you to enter and view character string data that stretches over several lines. To add a string just click on the main body of the component and type it in. Press Return to start a new line. Press Tab or just click away to finish editing. You can copy and paste data using the standard accelerator key combinations (CTRL+C,X and V). You can also use the mouse wheel, PGUP, PGDN, HOME and END keys to navigate text that spans many lines.
Components Text Draw Description Draws text on a view. You specify the area into which the text will be drawn together with any formatting options.
Components Text Load Description This component allows you to load text from a text file.
Components Text Save Description This component allows you to save text to a text file.
Components Ticker 100 Description The Ticker 100 component sends a trigger roughly 100 times per second. The component uses a Windows timer and therefore cannot be relied upon to be accurate. This component is useful for animation or for restricting data flow through a schematic.
Components Ticker 25 Description The Ticker 25 component sends a trigger roughly 25 times per second. The component uses a Windows timer and therefore cannot be relied upon to be accurate. This component is useful for animation or for restricting data flow through a schematic.
Components Time Description The Time primitive will give you any or all of the components of the current system time. The time is sampled when you trigger the Get input and this time is stored in the component. Connectors Inputs Type Outputs Type Get the current system time (and store it) Trigger Weekday. 0= Monday, 1=Tuesday etc. Int Day of the month Int Month. 0=January, 1=February etc.
Components Timer Description The Timer component allows you to schedule a trigger to be sent some time in the future. You specify a time duration and then start the timer. After the duration has elapsed a trigger will be sent through the output. The timer will automatically schedule another trigger so that the triggers keep coming every N milliseconds (where N is the duration). For a one single shot timer just connect the trigger output to the Stop input.
Components Time Signature Description The Time Signature primitive outputs the current songs time signature when your VST plugin is used within a host. This is represented by a numerator and denominator (for example, numerator=1 & denominator=4 for time signature of 1/4 ). For more details see the VST SDK documentation.
Components Tooltip Help Description The Tooltip Help component allows you to add tooltip help to a module. The help text should be connected to the String input. Paragraphs can be identified using the new line character ‘\n’ if using a String component or by starting a new line in a Text component. The first line is assumed to be the name and is formatted in bold when the tool tip displays.
Components Translate Description Applies a translation transformation to the view. Any GUI components attached to this component are translated accordingly.
Components Triangle Description The Triangle primitive produces a Triangle waveform. The phase input can be used for frequency modulation (phase modulation). Connectors Inputs Type Outputs Type Normalised frequency (0-1) with 1 meaning half sampling rate) of the wave to be generated.
Components Trigger Blocker Description The Trigger Blocker components prevents a change to a value from propagating through a schematic. Instead, changes at the input are stored until requested. This can be useful when values are changing quicker than they are required further down in the schematic. By inserting a trigger blocker you can increase performance by saving the message flow into parts of your schematic where the updates are not required.
Components Trigger Button Description The Trigger Button component sends a trigger when its red button is clicked. This component is incredibly useful and comes in handy in many, many situations. You can get a Trigger Button using the “Q” shortcut key.
Components Trigger Div Description This primitive is used to reduce the rate that triggers pass through. The second input (the divisor) defines the reduction. If the divisor is one then all triggers pass through. If the divisor is two then only every other trigger passes through. If the divisor is three then only every third trigger passes through and so on.
Components Trigger Switch Description The trigger switch is used to control the flow of triggers through a schematic. When the boolean input is True then triggers pass through otherwise they are blocked. The component has template connectors which means it can be used with multiple data types including Floats, Ints, Strings, Booleans, Float/Int/String arrays, Triggers and Areas. You can right-click on the connectors at any time to change the type.
Components Unpack Description The Unpack component separates the original 4 Mono streams from a Mono4 stream. The Mono streams would have previously been packed together using the Pack component to create a Mono4 stream. Using Unpack (and Pack) can radically increase the efficiency of a Mono section.
Components Video Delay Description The Video Delay component will delay the output of a video stream by a fixed number of frames. All you need is a stream of video images at the first input and an integer number of frames to delay by at the second input.
Components Video Save Description The Video Save component allows you to save to a .AVI movie file. Connect your source video images to the first input. These will be recorded as they play. At the Path input you need to supply the full path to the target .avi file that you want to save to. To specify the codec attach a string with the appropriate 4 character code to the Codec input.
Components Connectors Inputs Type Outputs Type Video as a set of streaming bitmap images Bitmap Whether recording is in progress or not Boolean Path to the .
Components Video Stream Description This component allows you to stream video from media file locally or across a network. You must provide a valid URL or file path. Width and Height are optional and default to 640 x 480 pixels. To begin streaming, trigger the Start input. The video arrives as constant stream of bitmaps. If you want to control when a frame comes out of the component you can set the Manual input to true and use the Grab trigger to get a frame exactly when you want it.
Components Stop streaming Trigger Use manual mode Boolean Grab a frame (manual mode only) Trigger 455 of 494
Components View Area Description The View Area component will give you the dimensions of a View in the form of an area. This is useful if you’re trying to draw something exactly within the bounds of a view or if you want to position elements relative to the size of the view.
Components View Size Description The View Area component will give you the dimensions of a View. This is useful if you’re trying to draw something exactly within the bounds of a view or if you want to position elements relative to the size of the view.
Components Voices to Poly Description The Voices to Poly module generates voice managed Poly signals used to control a polyphonic synthesizer. Note: Currently there is no reason to use this component on its own, instead you should use the MIDI to Poly module which combines the MIDI to Voices and Voices to Poly components.
Components active voice The number of times each channel has been retriggered Poly The voice tag for each channel (if used with a MIDI to Multi Voice) Poly The Pan position for each channel (this is only used on the FL Studio edition Poly A unique id for each individual channel Poly 459 of 494
Components VST Editor Open Description The Editor Open primitive will tell you whether the plugin editor window is open in a host. This is very useful for bypassing calculations that result in visual changes which will not be visible when the editor window is closed. When the state of the window changes from open to closed or closed to open this component will send a trigger immediately so that you can respond to the change.
Components VST Parameter Description The VST Parameter primitive defines a preset parameter that can be automated or store preset data for each program. All the built in knob modules each contain a single VST Parameter component so that the knobs can be automated and store preset data in exported exes. When a VST Parameter component is connected to a Preset Manager component it becomes part of the preset system. This connection is made through the Preset input connector.
Components Name of the preset parameter (as it will appear in the host) String Optional display string to be used instead of the parameter value.
Components VST Parameter Array Description The VST Parameter Array primitive defines an array of VST parameters that can be automated or store preset data for each program. This is a specialised component used for storing preset data for step sequencers and the like. When a VST Parameter Array component is connected to a Preset Manager component it becomes part of the preset system. This connection is made through the Preset input connector.
Components Connectors Inputs Type Outputs Type Connector for communicating with Preset Manager or Preset Text File Preset The array for the current program Float Array Number of entries in the array Int The value of the parameter for current program & index Float The current array index Int The current array index Int Set the current value for the above array index (must be in range 0-1) Float Trigger sent just before a value change occurs Trigger Name of the preset parameter (for host)
Components VST Plugin Info Description The VST Plugin Info primitive allows you to provide default VST plugin information for a module. This is optional but is helpful if you want to use the same information every time you export a plugin. Any data not provided will use the global setting. In order to use the component just drop it somewhere inside your VST plugin module.
Components VST Preset String Description The VST Preset String primitive defines a VST parameter string that can be stored for each program. This works in a very similar way to the VST Parameter component except that this is string data not a number and so it can't be automated. When a VST Preset String component is connected to a Preset Manager component it becomes part of the preset system. This connection is made through the Preset input connector.
Components Wave Array Read Description This component will read data from a wave array at sample rate. There are two indexes, one to select the wave from the array and one for the current sample(s) within the selected wave. The outputs are the current samples for the left and right channels in the selected wave. If the selected wave is mono both outputs will give the same value.
Components Wave File Description The Wave File component loads a wave file from your hard disk. You supply the complete path to the file then trigger the Load input. The wave file is loaded and stored. You can access the data using a Wave Read component. The very last output on the component indicates the current state of the component using a flag.
Components Connectors Inputs Type Outputs Type Full path to wave file String Wave file data in a buffer Mem Trigger to load the file Trigger Sampling rate in samples per second Int Trigger to delete the wave data Trigger Number of channels Int Number of samples in each channel Int Flag indicating the result of loading (see above) Int 469 of 494
Components Wave File Array Description The Wave File Array component allows you to construct a wave array by loading in individual wave files one at a time. You specify a size for the array first and trigger the Resize input to create it. To load in a file you need to specify an array index to say where it will go and then the complete path to the file. The Load trigger will then load the file. By default all waves are stored in stereo format.
Components Connectors Inputs Type Outputs Type Required size of the array Int Array of waves Wave Array Trigger to resize the array.
Components Wave Read Description The Wave Read component will read data from a memory buffer at sample rate. The index input specifies which sample to read. For stereo buffers the samples for the left and right channels at the given index are sent to the two outputs. For mono buffers the same sample is sent to both outputs.
Components Wave Read Hop Description The Wave Read Hop component will read data from a memory buffer at sample rate. The index input specifies which sample to read. For stereo buffers the samples for the left and right channels at the given index are sent to the two outputs. For mono buffers the same sample is sent to both outputs. This component is identical to the Wave Read except that, for efficiency, it allows you to provide a Hop.
Components Wave Table Description The Wave Table component will take any 256 sample wave and create a bandlimited wavetable. This allows you to define your own waveform and turn it into a playable sound source which does not alias. The component uses FFT analysis to remove unwanted frequencies from the wave and creates 256 bandlimited tables which can be read using the Wave Table Read component.
Components Wave Table Read Description The Wave Table Read component is used to read wave data created by the Wave Table component. It works very much like the low-level oscillator components. You supply a frequency (in range 0-1, where 1 is nyquist) and a wave table and the component will read the data from the appropriate section of the table.
Components Web Cam Description This component allows you to capture an image from the default connected web cam. Connectors Inputs Type Outputs Type Id of the camera you want to use.
Components Web URL Description The Web URL component allows you to open a web link by opening a web browser.
Components Wii Nunchuck Description The Wii Nunchuk component allows you to receive input data from a Nunchuk controller attached to a Nintendo Wiimote. The Wiimote input must be connected to the Wiimote output of a Wiimote component in order to work. Obviously that Wiimote component must also be associated with the relevant hardware.
Components Connectors Inputs Type Outputs Type Wiimote component reference Int Whether the component is connected to applicable hardware Boolean Is the C button pressed Boolean Is the Z button pressed Boolean The thumb stick X position (-1 to 1) Float The thumb stick Y position (-1 to 1) Float Pitch angle (-90 to 90 deg) Float Roll angle (-90 to 90 deg) Float Raw acceleration data in the X-axis Float Raw acceleration data in the Y-axis Float Raw acceleration data in the Z-axis Floa
Components Wiimote Description The Wiimote component allows you to receive input data from a Nintendo Wiimote that has been paired with your PC via Bluetooth. To pair a Wiimote in Windows 7: 1. Hold 1 and 2 buttons on the Wiimote 2. Go to Devices and Printers under the Control Panel and click Add a Device 3. Select Nintendo RVL-CNT-01 and click Next 4. Select Pair Without Using Code The process may be different for other operating systems.
Components Connectors Inputs Type Outputs Type Trigger to connect to a Wiimote paired with the PC Trigger Whether the component is connected to a Wiimote Boolean Switch LED1 on or off Boolean Is the A button pressed Boolean Switch LED2 on or off Boolean Is the B button pressed Boolean Switch LED3 on or off Boolean Is the Up button pressed Boolean Switch LED4 on or off Boolean Is the Down button pressed Boolean Switch rumble on or off Boolean Is the Left button pressed Boolean Is
Components Wiimote IR Description The Wiimote IR component allows you to receive input data from the IR camera of a Nintendo Wiimote. The Wiimote input must be connected to the Wiimote output of a Wiimote component in order to work. That Wiimote component must also be connected to a Wiimote that is paired with your PC. The infra red camera at the front of the Wiimote can detect and track up to 4 IR points or dots. The visibility state and position of these dots is returned by this component.
Components Connectors Inputs Type Outputs Type Wiimote component reference Int Whether the component is connected to a wiimote Boolean Whether dot 1 is visible Boolean X position of dot 1 (01) Float Y position of dot 1 (01) Float Whether dot 2 is visible Boolean X position of dot 2 (01) Float Y position of dot 2 (01) Float Whether dot 3 is visible Boolean X position of dot 3 (01) Float Y position of dot 3 (01) Float Whether dot 4 is visible Boolean X position of dot 4 (01) Floa
Components Wireless Input Description The Wireless Input and Wireless Output primitives provide two ends of a wireless link. Wireless links provide a mechanism for passing data through the module hierarchy without having to create any physical link. The components have single Template input or output connectors. To change the type either right-click on the connector and choose a type from the pop-up menu or create a link from the connector to another component and the template will pick up the type.
Components Wireless Output Description The Wireless Output and Wireless Input primitives provide two ends of a wireless link. Wireless links provide a mechanism for passing data through the module hierarchy without having to create any physical link. The components have single Template input or output connectors. To change the type either right-click on the connector and choose a type from the pop-up menu or create a link from the connector to another component and the template will pick up the type.
Components X Drag Accumulate Description The X Drag Accumulate component allows you to control a parameter by horizontal mouse drag operations on a mouse area. You define the minimum and maximum limits for the parameter then when a user drags horizontally on a mouse area the parameter will change between the limits accordingly. You can define the scale at which the changes apply. A scale of 1 will move the parameter by 1 unit per grid square moved by the mouse. A scale of 0.1 will move the parameter by 0.
Components X10 Active Home Description The X10 Active Home component allows you to control and receive input data from a X10 home automation modules. You must have an X10 computer interface connected to your PC. X10 commands are sent as text. Simply connect a valid command string to the first input then trigger the Send input to send it. An example X10 command string would be “sendplc A3 on”. Data received from X10 modules like PIRs (passive infra red) are sent out through the “In” output.
Components XBox 360 Description The XBox 360 component allows you to receive input data from a connected XBox 360 controller. To use this you must have an XBox 360 controller attached to your PC. If you trigger the Connect input on the component it will pick up the controller and you can then use the outputs to respond to controller input.
Components Connectors Inputs Type Outputs Type Trigger to connect to a connected XBox controller Trigger Whether the component is connected to a controller Boolean Set left rumble level (0-1) Float Is the A button pressed Boolean Set right rumble level (0-1) Float Is the B button pressed Boolean Is the X button pressed Boolean Is the Y button pressed Boolean Is the Up button pressed Boolean Is the Down button pressed Boolean Is the Left button pressed Boolean Is the Right button p
Components Mouse messages from a Mouse Area component Mouse The current value of the parameter Float Minimum value of the parameter Float Trigger sent before the parameter is about to change Trigger Maximum value of the parameter Float Trigger sent after the parameter has just changed Trigger Amount to move the parameter per grid square mouse movement Float Trigger sent when the drag operation ends (i.e.
Components XY Drag Accumulate Description The XY Drag Accumulate component allows you to control a pair of parameters by mouse drag operations on a mouse area. You define the minimum and maximum limits for the parameters then when a user drags on a mouse area the parameters will change between the limits accordingly. You can define the scales at which the changes apply. A scale of 1 will move the parameter by 1 unit per grid square moved by the mouse. A scale of 0.1 will move the parameter by 0.
Components Minimum value of the parameter controlled by vertical movement Float The current value of the vertical parameter Float Maximum value of the parameter controlled by vertical movement Float Trigger sent before the parameter is about to change Trigger Amount to move the vertical parameter per grid square mouse movement Float Trigger sent after the parameter has just changed Trigger Set the current value of the vertical parameter Float Trigger sent when the drag operation ends (i.e.
Components Y Drag Accumulate Description The X Drag Accumulate component allows you to control a parameter by vertical mouse drag operations on a mouse area. You define the minimum and maximum limits for the parameter then when a user drags horizontally on a mouse area the parameter will change between the limits accordingly. You can define the scale at which the changes apply. A scale of 1 will move the parameter by 1 unit per grid square moved by the mouse. A scale of 0.1 will move the parameter by 0.
Components Connectors Inputs Type Outputs Type Mouse messages from a Mouse Area component Mouse The current value of the parameter Float Minimum value of the parameter Float Trigger sent before the parameter is about to change Trigger Maximum value of the parameter Float Trigger sent after the parameter has just changed Trigger Amount to move the parameter per grid square mouse movement Float Trigger sent when the drag operation ends (i.e.