Patch Persistency
OLA stores its patch information in plain text files inside your configuration folder (~/.ola by default, or/var/lib/ola/conf if you’re using the Raspberry Pi image.)
The “universe” information is stored inside “ola-universe.conf”
The “patch” information is stored inside “ola-port.conf”
To start with something clean we can delete the “ola-universe.conf” and “ola-port.conf” files and ola will create them again when stopping ola.
Note : olad only writes its patch files to disk when it exits. That means that if the computer (or olad) crashes, the patch is not stored in files (see bug 125).
Contents
Example
We are going to patch an ArtNet universe as an input with a DmxKing ultraDMX Micro as an output.
On this example, I have enabled only the plugins :
- ArtNet
and
- Serial USB
setting all the plugins in the config folder with
enabled = false
except the 2 ones needed witch i have enabled using
enabled = true
Starting ola
We are starting olad using either the command
/etc/init.d/olad start
or
olad -l 3
-l 3 : means that we are starting olad with the logging level 3
Getting devices info
To get the devices info we are using the command
ola_device_info
That is returning :
Device 1: ArtNet [10.0.0.2] port 0, IN , priority 100, RDM supported port 1, IN , priority 100, RDM supported port 2, IN , priority 100, RDM supported port 3, IN , priority 100, RDM supported port 0, OUT , RDM supported port 1, OUT , RDM supported port 2, OUT , RDM supported port 3, OUT , RDM supported Device 2: DMXking.com - ultraDMX Micro port 0, IN Serial #: 84000775, priority 100 port 0, OUT Serial #: 84000775, RDM supported
Patching the devices
First we are patching the ArtNet device using
ola_patch -d 1 -i -p 0 -u 0
That means : patch device 1 (-d 1) input (-i) port 0 (-p 0) to the universe 0 (-u 0) (ola is using the output port as the default one, this is why we need to tell it to use the input using -i.
Then we are patching the ultraDMX micro using
ola_patch -d 2 -p 0 -u 0
Now the device info is returning
Device 1: ArtNet [10.0.0.2] port 0, IN ArtNet Universe 0:0:0, priority 100, patched to universe 0, RDM supported port 1, IN , priority 100, RDM supported port 2, IN , priority 100, RDM supported port 3, IN , priority 100, RDM supported port 0, OUT , RDM supported port 1, OUT , RDM supported port 2, OUT , RDM supported port 3, OUT , RDM supported Device 2: DMXking.com - ultraDMX Micro port 0, IN Serial #: 84000775, priority 100 port 0, OUT Serial #: 84000775, patched to universe 0, RDM supported
Resulted files
After stopping ola (using “/etc/init.d/olad stop” or “ctrl+c” (if running it directly on the command line))
The ola-port.conf and ola-universe.conf are filled with the info.
ola-universe.conf
Here is the content of this file
uni_0_merge = LTP uni_0_name = Universe 0
LTP priority is set by default.
A default name “Universe 0” was given to the universe 0.
ola-port.conf
Here is the content of this file
2-1-I-0 = 0 2-1-I-0_priority_value = 100 2-1-I-1_priority_value = 100 2-1-I-2_priority_value = 100 2-1-I-3_priority_value = 100 5-84000775-I-0_priority_value = 100 5-84000775-O-0 = 0
What does it mean ?
First we need to know about the plugins ids.
To get the plugins info, we are using
ola_plugin_info
Which returns
Id Plugin Name -------------------------------------- 1 Dummy 2 ArtNet 3 ShowNet 4 ESP Net 5 Serial USB 6 Enttec Open DMX 7 SandNet 8 StageProfi 9 Pathport 11 E1.31 (sACN) 12 USB 13 FTDI USB DMX 14 OSC --------------------------------------
In this example, we are only using the ArtNet plugin and the Serial USB plugins.
We can see that the ArtNet has the id 2 and the Serial USB has the id 5.
The ola-port.conf file is storing the info as
<plugin-id>-<device-id>-<port-id>
We can translate the first line as :
The plugin 2, device 1 and input port 0 is patched to the universe 0.
The second line is defining the priority level.
Then we can see that other ports are not patched.
And then on the sixth line, we can translate it as :
The plugin 5, device 84000775 (remember ola_device_info values) Input port 0 is not patched.
And on the 7th line we can see translate it as :
The plugin 5, device 84000775 Output port 0 is patched to universe 0.