OSC documentation (V1)
OSC documentation for latest Millumin is available here.
OSC documentation for Millumin V3 is available here.
OSC documentation for Millumin V2 is available here.
OSC is a communication protocol that works over the network. It is easy-to-read and very versatile.
Millumin uses OSC messages to send or receive orders : for TouchOSC layouts, or to create an application that collaborates with Millumin.
Creating an OSC message is simple, please refer to the Developer-Kit to get examples in many technologies.
In brief, an OSC message has 2 parts : the address
and the arguments
.
Example : /millumin/layer/opacity/0
75
to set the opacity to 75%
Every OSC messages concerning the layers must suffix the index of the target layer :
- 0 to target the selected layer
- 1, 2, 3, ... to target the 1st, 2nd, 3rd, ... layer
Here are some examples :
-
To change the opacity of the selected layer to 75%
/millumin/layer/opacity/0
75
-
To change the opacity of the 1st layer to 40%
/millumin/layer/opacity/1
40
-
To change the position of the 2nd layer (x=350, y=-200)
/millumin/layer/xy/2
-200 350
-
To change the X of the 2nd layer
/millumin/layer/x/2
150
-
To change the Y of the 2nd layer
/millumin/layer/y/2
150
-
To change the rotation of the 3rd layer to 90°
/millumin/layer/rotation/3
90
-
To change the scale of the 4th layer to 50%
/millumin/layer/scale/4
50
Use the address /millumin/layer/addX
or /millumin/layer/addY
to make subtle moves. Examples :
-
To move the 2nd layer of 1 pixel right
/millumin/layer/addX/2
1
-
To move the 3rd layer of 1 pixel down
/millumin/layer/addY/3
-1
You can also select a layer :
- To select the 1st layer
/millumin/layer/select/1
1
- To deselect the 1st layer
/millumin/layer/select/1
0
- To select the layer named "background"
/millumin/action/selectLayerWithName
"background"
If the layer has effects, you can control the parameters :
-
/millumin/layer/effect1/param1/0
0.5
-
/millumin/layer/effect3/param5/0
120
-
/millumin/layer/effect4/enabled/0
0
You can assign a media to a layer with the address /millumin/layer/media
Please note that the address always ends with the index of the target layer.
Examples :
-
To assign the 2nd media to the 3rd layer
/millumin/layer/media/2/3
1
-
To stop stop the 3rd layer
/millumin/layer/media/0/3
1
You can control the time position with /millumin/layer/media/time
, /millumin/layer/media/timeInSeconds
or the speed with /millumin/layer/media/speed
Examples :
-
To set at the middle, the time position of the selected layer's media
/millumin/layer/media/time/0
0.5
-
To set at 10 seconds, the time position of the selected layer's media
/millumin/layer/media/timeInSeconds/0
10
-
To set at 50%, the speed of the selected layer's media
/millumin/layer/media/speed/0
50
When changing the layer's media, Millumin is sending a message to tell the media duration, example :
- The current layer has a duration of 5 seconds
/millumin/layer/currentMediaDuration/0
5000
If the media is a text, you can go to previous or next line :
/millumin/layer/media/text/prevLine/0
/millumin/layer/media/text/nextLine/0
If the media is a Quartz patch, you can control the parameters :
-
/millumin/layer/media/quartz/param1/0
0.5
-
/millumin/layer/media/quartz/param7/0
120
To set one of the 4 map points, use the address /millumin/layer/mapPoint
and a couple of float values.
Please note that the address always ends with the index of the target layer. Examples :
-
To set the position of the 1st map point in the 4th layer
/millumin/layer/mapPoint/0/4
-350 450
-
To set the position of the 4th map point in the selected layer
/millumin/layer/mapPoint/3/0
-310 -220
Use the address /millumin/layer/mapPointAddX
or /millumin/layer/mapPointAddY
to make subtle moves. Examples :
-
To move the 2nd map point of 1 pixel right
/millumin/layer/mapPointAddX/1/0
1
-
To move the 3rd map point of 1 pixel down
/millumin/layer/mapPointAddY/2/0
-1
When some specific events happen, Millumin send the following messages :
-
when a column is launched (the last part of the address is the index of the column)
/millumin/board/columnLaunched/4
-
When a column is stopped
/millumin/board/columnStopped/3
-
When a cue point is reached
/millumin/composition/cue
"cue1"
You can launch or stop a specific column :
-
/millumin/action/launchOrStopColumn
4
-
/millumin/action/launchColumn
3
-
/millumin/action/stopColumn
2
-
/millumin/action/launchOrStopColumnWithName
"name"
You can launch the previous or next column :
/millumin/action/launchPrevColumn
/millumin/action/launchNextColumn
You can change the board :
-
/millumin/action/selectBoard
3
You can start/stop the composition :
/millumin/action/composition/start
/millumin/action/composition/stop
/millumin/action/composition/startOrStop
You can stop all the media via :
/millumin/action/stopAll
You can fade to black via :
/millumin/action/fadeToBlack
You can exit or enter fullscreen via :
-
/millumin/action/fullscreen
0
-
/millumin/action/fullscreen
1
You can open or save a project via :
-
/millumin/action/openProject
"/path/to/my/project.millu"
/millumin/action/saveProject
-
/millumin/action/saveProject
"/path/to/my/project.millu"
You can quit Millumin via :
/millumin/action/quit
You can use the 'ping' message to receive several OSC messages, that describe the state for all the layers :
/millumin/ping
Do not forget to suffix every /millumin/layer/...
message with the layer's index (or 0 for the selected layer).
Here is the list of OSC addresses available :
/millumin/layer/opacity
/millumin/layer/xy
/millumin/layer/x
/millumin/layer/y
/millumin/layer/rotation
/millumin/layer/scale
/millumin/layer/addX
/millumin/layer/addY
/millumin/layer/select
/millumin/layer/effect1/param1
/millumin/layer/media
/millumin/layer/media/time
/millumin/layer/media/speed
/millumin/layer/media/text/prevLine
/millumin/layer/media/text/nextLine
/millumin/layer/media/quartz/param1
/millumin/layer/currentMediaDuration
/millumin/layer/mapPoint
/millumin/layer/mapPointAddX
/millumin/layer/mapPointAddY
/millumin/board/columnLaunched
/millumin/board/columnStopped
/millumin/composition/cue
/millumin/action/launchOrStopColumn
/millumin/action/launchColumn
/millumin/action/stopColumn
/millumin/action/launchOrStopColumnWithName
/millumin/action/launchPrevColumn
/millumin/action/launchNextColumn
/millumin/action/selectBoard
/millumin/action/selectLayerWithName
/millumin/action/composition/start
/millumin/action/composition/stop
/millumin/action/composition/startOrStop
/millumin/action/stopAll
/millumin/action/fadeToBlack
/millumin/action/fullscreen
/millumin/action/openProject
/millumin/action/saveProject
/millumin/action/quit
/millumin/ping