ai:patching_basics
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
ai:patching_basics [2018/10/13 09:48] – created icke_siegen | ai:patching_basics [2018/10/15 13:07] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Patching Basics ====== | ====== Patching Basics ====== | ||
- | (A very good overview is also contained in the v9 help, to be found in Distrib\Help\Ai_Man_v8.chm). | + | (A very good overview is also contained in the v9 help, to be found in Distrib\Help\Ai_Man_v8.chm |
In the beginning - when it was just the Salvation engine - almost everything needed to be patched: the engine offered a collection of modules, each specialising in a very small task, and the operator/ | In the beginning - when it was just the Salvation engine - almost everything needed to be patched: the engine offered a collection of modules, each specialising in a very small task, and the operator/ | ||
+ | Also, you can change how Ai works by changing the Stage Patch - this includes making Ai completely unresposive, | ||
===== Where to start ===== | ===== Where to start ===== | ||
Currently there are some entry points into the world of patching: | Currently there are some entry points into the world of patching: | ||
* the purest approach is the File/New menu in the Ai menu bar on top of the GUI display - this opens just a blank patch file | * the purest approach is the File/New menu in the Ai menu bar on top of the GUI display - this opens just a blank patch file | ||
- | * the mightiest way is clicking | + | * the mightiest way is clicking |
* a more fancy way is calling the Stage Patch page from the Ai diamond in the bottom-right corner - click this, then click the stylized single DVI connector (outputs), and then the stylized wired modules (Stage Patch). This again opens the Stage Patch but in a more stylish view: you can zoom in and out (with Ctrl + and Ctrl -), entering a subpatch opens this neatly animated, and in order to ascend again you have the breadcrumps on top. It's up to you which way you prefer. | * a more fancy way is calling the Stage Patch page from the Ai diamond in the bottom-right corner - click this, then click the stylized single DVI connector (outputs), and then the stylized wired modules (Stage Patch). This again opens the Stage Patch but in a more stylish view: you can zoom in and out (with Ctrl + and Ctrl -), entering a subpatch opens this neatly animated, and in order to ascend again you have the breadcrumps on top. It's up to you which way you prefer. | ||
* and a special one: even all the tiles on the performance page are, down in their heart, small patches. Hence, if you right-click a tile to edit its properties the Cell Properties window to the left shows the button '' | * and a special one: even all the tiles on the performance page are, down in their heart, small patches. Hence, if you right-click a tile to edit its properties the Cell Properties window to the left shows the button '' | ||
+ | |||
+ | To start patching simply open a blank patch file, or open the Stage Patch. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | ===== Patches, Ports and Modules ===== | ||
+ | |||
+ | In the very end, the stage patch consists of just thousands of modules, all linked to other modules. However none could overlook this or handle it in a suitable way. That's why functional units are bundled together as subpatches which expose only a limited set of ports and parameters. By convention every subpatch, or patch file, is simply called patch, with the Stage Patch representing our topmost project, containing all other patches and modules (it's possible to have patches outside the Stage Patch though). And the process of patching is arranging and connecting modules. | ||
+ | |||
+ | ==== Modules ==== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | In order to insert a module right-click somewhere on the background of your patch canvas and from the context menu select '' | ||
+ | |||
+ | There is a separate page about the details of re-arranging, | ||
+ | |||
+ | Modules are represented by grey rectangles with a blue title bar and a number of controls (buttons, text fields, knobs etc.) and ports. | ||
+ | |||
+ | ==== Ports ==== | ||
+ | |||
+ | Ports are the inputs and outputs of the modules, and are shown as triangles. If they are pointing up then they are the module' | ||
+ | * blue ports are control values - usually single numbers, or vectors comprising of a bunch of numbers (e.g.RGBW) | ||
+ | * green ports are textures - e.g. 2D images and videos | ||
+ | * yellow ports conduct the rendered video stream | ||
+ | * white ports are for text and other multidimensional things | ||
+ | |||
+ | Connecting ports is rather easy: just draw a line from one output port to an input port (or vice versa) - as soon as you drop the other end of the virtual cable onto a suitable port, a line appears, indicating the connection. There are some rules to follow: | ||
+ | * ports can be connected only with other ports of the same colour/kind | ||
+ | * each input accepts only one source, however outputs can feed multiple inputs | ||
+ | * ports which are currently not connected appear with a dot in the middle | ||
+ | * in order to disconnect a port/remove a cable, right-click the port and select '' | ||
+ | |||
+ | ==== Patches ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | There is a separate page about the details of re-arranging, | ||
+ | |||
+ | ===== Our first patch ===== | ||
+ | |||
+ | You're still with me? Let's do it. Here is your first patch: | ||
+ | - open a new patch file as decribed above (preferably select File/New from the top menubar) | ||
+ | - in the blank patch window, right-click somewhere, select ' | ||
+ | - Next, we want to make the background other than black. Insert a ' | ||
+ | - Okay, let's bring in some colour. Insert an ' | ||
+ | - Now we want to show some text. We want to generate something for the output, hence let's look in the Generator section. We'll find a ' | ||
+ | - But as soon as we connect the yellow port, the output window turns black - because each input can take only one output (thus the connection to the coloured rectangle went lost), and because the Text module has no text input to display. Let's proceed with this. From the ' | ||
+ | - However, it looks like the text always starts in the center of the window. If we resize the window, the text resizes and repositions accordingly. In order to fix this, we obviously need to reposition the rendered text output. The module ' | ||
+ | - In order to finally combine the generated text with our colourful background we need to somehow combine both video streams. The module ' | ||
+ | |||
+ | Congratulations! You created your first own Ai patch. Was it really that complicated? | ||
+ | |||
+ | |||
ai/patching_basics.1539424134.txt.gz · Last modified: 2018/10/13 09:48 by icke_siegen