Home Contact

What is Pixys?

Pixys is not the next visualizer with those psychedelic effects.
It also is not just a simple collage creator.
In fact, it lives a bit in the gap between those two.

A Pixys project contains scenes.
A scene is a collection of layers, and responds to a midi note number.
This way, a project can contain up to 128 scenes.
Each scene can have an unlimited number of layers.
Those layers can be automated with parameter changes (512 parameters, dynamically assignable) or audio levels (16 mono inputs).
Automatable properties are color, transparency, positioning, rotation and zoom.
(Effects are planned in new beta's to come)
A layer contains images. (in this beta only 1 per layer)
Those images can be manipulated with different tools to shape them and create transparent regions.

Why a VST-plugin?

In 1 word : Automation!

DAW's nowadays have incredible automation possibilities. All kind of curves, lfo's and what's more : you can record everything.
So, why reinvent the wheel.

Surely, there were some technical obstacles to take.

Pixys should absolutely not interfere with the audio, no matter how complex the video is.
That's why all code is running in separate threads.
The GUI and the video engine are both completely separated from the GUI/Audio thread of your DAW
The video engine renders everything in GPU, leaving the CPU cycles to your DAW.

Getting started...

The basics. (Video shows how to create a layer and use the basic tools for picture manipulation.)

Modes, tools and actions

  • View mode
    Layers aren't selectable.
    Set cues. [Mouse-wheel] to zoom, click and drag to pan.
    Automate cues.
    (Record will be available in next betas)

  • Tool-Pencil
    Freeform selection.
    Selection path will be closed automatically.

  • Tool-Line
    Click to set starting point
    And then hold [Shift] to add line segments.
    Selection path will be closed automatically.

  • Tool-Rectangle
    Rectangular selection.
    Hold [Shift] for square.

  • Tool-Ellipse
    Elliptical selection.
    Hold [Shift] for circle.

  • Tool-Magic Wand
    Selection according to color.
    Adjustable tolerance.

  • Tool-Elliptical fade
    Adjustable size.
    Adjustable fade-out area.

  • Tool-Rectangular fade
    Adjustable size.
    Adjustable fade-out area.
  • Scene mode
    Add layers with drag 'n drop
    Select layers. (multiple layers=hold [Shift]
    Set layers. [Mouse-wheel] to zoom, click and drag to pan.
    Set width, height and rotation angle.

  • Click on a tool will start Edit mode.

  • Action-Replace
    Replace layer.
    Return to Scene mode.

  • Action-Add
    Add layer.
    Stay in Edit mode to add more.

  • Action-Cut
    Cut transparent regions in layer.
    Stay in Edit mode to add more.

  • Action-Cancel
    Cancel edit.
    Return to Scene mode.

  • Action-Save
    Save layer in catalog.
    (needs further development).

  • Action-Delete
    Delete selected layer(s).

  • Action-Extra
    Opens extra window with tree view and properties.


Treeview : allows to change scene, select layer(s)(hold [Shift]=multiple), click and drag layer to change z-order.
Name : Name of scene or layer if selected. Confirm with [Enter]
Locked : layer is unselectable in screen.
Blending modes : all blending is done in GPU, except "Colorize" (not recommended when colors are automated).
Anchor points define how width/height of a layer is automated.
Listview and other buttons : see automation.


In the listview you can assign a parameter to an automatable item.
If you start a new project, all 512 parameters are named "Unused-"+parameter number.
If you select an item in the listview (click in first column), and click the "Link"-button, a new parameter is assigned to that item.
This parameter is renamed to the name of the layer + the item's letter.
P.e. you assign item Pos-X of layer "MyPhoto" -> the parameters name becomes "MyPhoto_X".
Most Daws will automatically use that new name.
This makes it much easier to see what is automating what item.

Clicking in the second column (link), you can type an existing parameter number to assign to that item.
This is useful if you want to use the same parameter to automate multiple items.
To remove the parameter-link, just type 0 (zero) into that input field and confirm with [Enter].

An example : you want to zoom an item and leave the Width/Height ratio intact.
First you select "Width" in the listview, and then click "Link".
The new assigned parameter is exposed to the host with the new name, in the listview however the number of the parameter is shown
Then you click in the second column of the "Height" row and you type in the same number as in the "Width" row.

In this second column you can also type an "i" + a number between 1 and 16.
The "i" stands for "input from mono-line". This way you assign audio levels to an item.
The audio level is an RMS value.

Set Min/Max
When you assign a new parameter to an item, you'll see that the min/max values are automatically filled.
You have to consider that automation between host and plugin is bi-directional.
A host can send automation to a plugin, but a plugin can also send automation to the host.
Normally this automation data are a series of values between 0 and 1.
If you start moving a layer in the screen of Pixys, and this layer has it's auto-items "Pos-X" and "Pos-Y" linked to some parameters,
Pixys must send those series of values between 0 and 1 to the host.
Consider a filter frequency knob in a synth. When the filter is completely closed, the value is 0, when fully opened the value is 1.
So, this a why a min/max value is automatically given when an item is linked for the first time.
In the case of Pos-X, the min value will become 0 minus the width of the layer, and the max value will be 1280 (the width of the screen).

If you click in the min/max columns however, you can assign different values (both positive as negative and "min" may be greater than "max").

The combination of freely assignable parameters together with variable min/max values make the automation in Pixys quite unique!
Things like assigning the same parameter to Pos-X and rotation for example. See what happens when you move that layer...;-)


A cue is the zoom/pan state of a complete scene. A bit like a camera view.
Unlike automatable items, cues do not have min and max values, they are just states.
To set a cue (no layers should be selected) switch to View mode.
Click in the listview on the cue row you wish to set and set zoom/pan (Mouse-Wheel/Click 'n drag) in the screen.
A good practice is to leave cue-1 unset, and use the other 5 available cues.
The moment you start automating those cues (linking of a parameter is the same as with layers),
you'll notice that a cue picks up it's position from the previous cue.
That's why it's a good idea to have 1 cue that is left unset.
The automation data from the host (those series of values between 0 and 1), determines the zoom/pan state between previous and current.

Work in progress
  • Rendering
  • Multi image per layer
  • Link to external picture editor
  • Effects...(trails, ghosts, no psychedelics!)
  • Scene copy/duplicate/delete
  • Combining layers.
  • ???

It has been tested with following hosts :
  • Reaper v5.x : best to set "Save minimal undo states" !!
  • Live v10.x
  • RnT2 v2.x
  • Mulab v8.x, versions below 8 will not react on automation send from Pixys (coming from another thread)
  • WaveForm 11.x : you need to set DPI-aware.
  • FLStudio 11.x / 20.x
  • Bidule
  • Cantabile 3.x

Public Beta-testing (jan 2021)
Get your download link!