<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://getdlight.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=82.120.1.26</id>
	<title>wiki - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://getdlight.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=82.120.1.26"/>
	<link rel="alternate" type="text/html" href="https://getdlight.com/wiki/index.php/Sp%C3%A9cial:Contributions/82.120.1.26"/>
	<updated>2026-04-29T03:47:08Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://getdlight.com/wiki/index.php?title=OSC&amp;diff=3851</id>
		<title>OSC</title>
		<link rel="alternate" type="text/html" href="https://getdlight.com/wiki/index.php?title=OSC&amp;diff=3851"/>
		<updated>2025-11-10T13:42:53Z</updated>

		<summary type="html">&lt;p&gt;82.120.1.26 : /* Syntaxe OSC de la version 4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;L&#039;&#039;&#039;&#039;OSC&#039;&#039;&#039; (&#039;&#039;Open Sound Control&#039;&#039;) est un protocole de transmission de données en temps réel entre plusieurs logiciels. La communication entre ces logiciels assure l&#039;envoi et la réception des flux de données par une connexion réseau en utilisant le protocole UDP (&#039;&#039;User Datagram Protocol&#039;&#039;), qui est la couche de transport du protocole TCP/IP (&#039;&#039;Transmission Control Protocol&#039;&#039;, &#039;&#039;Internet Protocol&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
L&#039;&#039;&#039;&#039;OSC&#039;&#039;&#039; se caractérise par sa rapidité et sa flexibilité. Il ne provoque aucune latence perceptible lors de l&#039;envoi ou de la réception des données.&lt;br /&gt;
&lt;br /&gt;
Les logiciels mis en communication peuvent être installés sur la même machine ou sur des machines distinctes. Ainsi, D::Light peut être piloté par une autre application installée sur le même ordinateur ou bien être commandé à distance depuis depuis un iPhone ou un autre ordinateur par connection filaire, WIFI ou Internet.&lt;br /&gt;
&lt;br /&gt;
En utilisant le protocole OSC, D::Light peut aussi lui-même commander d&#039;autres machines par le biais d&#039;une application comme Pure Data ou Max/Msp: un pas de séquence peut par exemple déclencher les pistes-son d&#039;un player et des submasters peuvent être affectés à de multiples fonctions de déclenchement (play, pause, controle d&#039;un fade son, etc.).&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
=Communication OSC avec D::Light=&lt;br /&gt;
&lt;br /&gt;
La transmission des données vers D::Light doit impérativement spécifier l&#039;adresse de la machine (&#039;&#039;localhost&#039;&#039; ou adresse IP) et le numéro du port.&lt;br /&gt;
&lt;br /&gt;
Par défaut, le port assigné à D::Light pour l&#039;envoi des messages est &#039;&#039;&#039;7000&#039;&#039;&#039;. La réception des données provenant de D::Light est assignée au port &#039;&#039;&#039;7001&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Le statut et le port d&#039;envoi OSC de D::Light doivent également être activés. Lorsqu&#039;on enregistre une conduite, si la communication OSC de D::Light est activée, l&#039;activation reste mémorisée dans la conduite.&lt;br /&gt;
&lt;br /&gt;
La configuration et l&#039;activation de l&#039;OSC est accessible par le menu Display puis [[SETUP]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Bibliothèque OSC de D::Light=&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Dans les tableaux suivants, le signe # correspond toujours à un numéro (de circuit, de pas de séquence, de submaster). Lorsqu&#039;aucune valeur n&#039;est mentionnée, c&#039;est que seule la syntaxe de l&#039;adresse suffit. Lorsque la syntaxe de réception est absente, c&#039;est qu&#039;elle est inexistante (inutile ou pas encore implémentée)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Syntaxe OSC de la version 4 ===&lt;br /&gt;
&lt;br /&gt;
devices can also be controlled by OSC messaging process. for example, to control the RED parameter of a device :&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;background:#FFEEDD;&amp;quot; rowspan=&amp;quot;2&amp;quot;| Commande&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;background:#CCFFCC;&amp;quot; colspan=&amp;quot;2&amp;quot;| Envoi vers D::Light&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;background:#E0E0FF;&amp;quot; colspan=&amp;quot;2&amp;quot;| Réception depuis D::Light&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; style=&amp;quot;background:#CCFFCC;&amp;quot;| Syntaxe&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;8%&amp;quot; style=&amp;quot;background:#CCFFCC;&amp;quot;| Valeur&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; style=&amp;quot;background:#E0E0FF;&amp;quot;| Syntaxe&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;8%&amp;quot; style=&amp;quot;background:#E0E0FF;&amp;quot;| Valeur&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
||Device (16 bits mode) || /device/#(device number)/COLOUR/RED || 0-65535 || /device/#(device number)/COLOUR/RED || 0-65535&lt;br /&gt;
|-&lt;br /&gt;
||Device (8 bits mode) || /device8bits/#(device number)/COLOUR/RED || 0-255 || /device/#(device number)/COLOUR/RED || 0-65535&lt;br /&gt;
|-&lt;br /&gt;
||Device (float mode) || /devicephase/#(device number)/COLOUR/RED || 0.0-1.0 || /device/#(device number)/COLOUR/RED || 0-65535&lt;br /&gt;
|-&lt;br /&gt;
||Selected Device(s) (8 bits mode) || /selectedDevice8bParameter/COLOUR/RED || 0-255 || /device/#(device number)/COLOUR/RED || 0-65535&lt;br /&gt;
|-&lt;br /&gt;
||Selected Device(s) (16 bits mode) || /selectedDevice16bParameter/COLOUR/RED || 0-65535 || /device/#(device number)/COLOUR/RED || 0-65535&lt;br /&gt;
|-&lt;br /&gt;
||Focus 4 Device || /device/#(device number)/xy || 0.0-1.0 0.0-1.0 (1st is Pan, 2nd is Tilt) || /device/#(device number)/FOCUS/PAN || 0-65535&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;background:#FFEEDD;&amp;quot; rowspan=&amp;quot;2&amp;quot;| Commande&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;background:#CCFFCC;&amp;quot; colspan=&amp;quot;2&amp;quot;| Envoi vers D::Light&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;26%&amp;quot; style=&amp;quot;background:#E0E0FF;&amp;quot; colspan=&amp;quot;2&amp;quot;| Réception depuis D::Light&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; style=&amp;quot;background:#CCFFCC;&amp;quot;| Syntaxe&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;8%&amp;quot; style=&amp;quot;background:#CCFFCC;&amp;quot;| Valeur&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; style=&amp;quot;background:#E0E0FF;&amp;quot;| Syntaxe&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; width=&amp;quot;8%&amp;quot; style=&amp;quot;background:#E0E0FF;&amp;quot;| Valeur&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;5&amp;quot;| Go ||rowspan=&amp;quot;5&amp;quot;| /seq/go ||rowspan=&amp;quot;5&amp;quot;| 1 ||rowspan=&amp;quot;5&amp;quot;| /seq || /go #&lt;br /&gt;
|-&lt;br /&gt;
| /X1 #&lt;br /&gt;
|-&lt;br /&gt;
| /X2 #&lt;br /&gt;
|-&lt;br /&gt;
| /X1ActiveCue #&lt;br /&gt;
|-&lt;br /&gt;
| /X2ActiveCue #&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
|rowspan=&amp;quot;3&amp;quot;| GoBack ||rowspan=&amp;quot;3&amp;quot;| /seq/goback ||rowspan=&amp;quot;3&amp;quot;| 1 ||rowspan=&amp;quot;3&amp;quot;| /seq || /goback #&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| /X1 #&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| /X2 #&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;|  Pause ||width=&amp;quot;20%&amp;quot;| /seq/pause ||width=&amp;quot;15%&amp;quot;| 1 ||width=&amp;quot;20%&amp;quot;| /seq ||width=&amp;quot;15%&amp;quot;| /pause #&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| X1 (mode scène) ||rowspan=&amp;quot;2&amp;quot;| /seq/X1 ||rowspan=&amp;quot;2&amp;quot;| # ||rowspan=&amp;quot;2&amp;quot;| /seq || /X1 #&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| /X2 #&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;| X2 (mode prépa) ||rowspan=&amp;quot;2&amp;quot;| /seq/X2 ||rowspan=&amp;quot;2&amp;quot;| # ||rowspan=&amp;quot;2&amp;quot;| /seq || /X1 #&lt;br /&gt;
|-&lt;br /&gt;
| /X2 #&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Update || /pad/update || 255-255 ||  ||&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Fader X1 || /seq/fadeX1 || 0-255 || /fadeX1 || # 0-255&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Fader X2 || /seq/fadeX2 || 0-255 || /fadeX2 || # 0-255&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Goto Step # || /seq/goto || # ||  ||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot; &lt;br /&gt;
| Load &amp;amp; Goto CUE ||/seq/X2LoadAndFireCue ||# || || &lt;br /&gt;
&lt;br /&gt;
|-  &lt;br /&gt;
| Goto ID # ||/seq/ID_goto ||# || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot; &lt;br /&gt;
| Load &amp;amp; Goto ID ||/seq/X2LoadAndFireID ||# || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Kill Submasters || /sub/kill || # ||  ||&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Niveau du submaster # || /sub/#(subNumber)/phase || 0.0-1.0(float value) || /sub/#(subNumber)/level || 0-255&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Niveau du submaster # || /sub/#(subNumber)/level || 0-255(value) || /sub/#(subNumber)/level || 0-255&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Submaster Flash # || /sub/#(subNumber)/flash || 0-255(value) || /sub/#(subNumber)/level || 0-255&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Submaster Time # || /sub/#(subNumber)/flash || 0-255(value) || /sub/#(subNumber)/level ||  0-255&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Niveau du circuit # || /circ/#(circNumber)/level || 0-255(value) || /circ/#(circNumber)/level || 0-255&lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Niveau Grandmaster || /grandmaster || 0-255 || /grandmaster || 0-255&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Sélecteur Time/Flash/Inhib du sub # || /sub/#(subNumber)/mode || 1-2-3 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Solo (sub # prioritaire) || /sub/#(subNumber)/type || 0-1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Pavé numérique || /pad/1...9 || 1 ||pad/saisieText ||#&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Point du pavé numérique || /pad/dot || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| CHANNEL || /pad/channel || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| LEVEL || /pad/level || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| FULL || /pad/ff || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| THRU || /pad/thru || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| CLEAR || /pad/clear || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Freeze (gêle le DMX) (Toggle mode)|| /pad/freeze || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Freeze (gêle le DMX) (Set mode)|| /force/freeze || 0-1 || || &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Blackout (Toggle mode)|| /pad/blackout || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Blackout (Set mode)|| /force/blackout || 0-1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| + || /pad/plus || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| - || /pad/moins || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| +% || /pad/pluspourcent || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| -% || /pad/moinspourcent || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| ALL || /pad/all || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Validation (ENTER) || /pad/enter || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Sélection active à zéro || /pad/clearclear || || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Clone || /pad/clone || || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Inv || /pad/inv || || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Sélecteur du mode Scène || /pad/scene || || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Sélecteur du mode Scène || /pad/X1 || || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Sélecteur du mode Prépa || /pad/prepa || || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Sélecteur du mode Prépa || /pad/X2 || || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Load a palette for selected Device(s)|| /pad/palette || #|| || &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Update a palette|| /pad/paletteUpdate || (use commandLine to determine which palette to updated) || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Record a palette (open the record palette panel)|| /pad/paletteRecord || (use commandLine to determine which palette to updated) || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| RingBufffer Next || /pad/ringBufferNext || || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| RingBufffer Prev || /pad/ringBufferPrev || || || &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| ||  || || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Open PATCH window || /patch/launch || || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Checking level (patch) || /patch/levelRequest || 0-255 ||/patch/displayLevel ||# &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Pad Digits (patch) || /patch/# || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Pad Dot (patch)|| /patch/dot ||1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Inserted Digits (patch)||  ||  || /patch/input||# &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Pad Clear (patch)|| /patch/clear || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Pad Thru (patch)|| /patch/thru || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Pad Next (patch)|| /patch/next || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Pad Prev (patch)|| /patch/prev || 1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Display Channel (patch)||  || ||/patch/displayChannel ||# &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Display Patched Dimmer (patch)||  || || /patch/displayDimmer ||# &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Switch DIM-CHAN (patch)|| /patch/switch || 0-1 ||/patch/displayActiveSwitch ||DIM-CH &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Active Channel (patch)||  ||  ||/patch/displayActiveChannel ||# &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Active Dimmer (patch)||  || ||/patch/displayActiveDimmer ||# &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Active Thru Dimmer (patch)||  ||  || /patch/displayActiveThru||# &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Add Patch|| /patch/plus ||1 || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Remove Patch||/patch/moins ||1 || || &lt;br /&gt;
&lt;br /&gt;
|- &lt;br /&gt;
| Test Channel (patch)|| /patch/testChannel || 0-1 ||/patch/testChannel ||# &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Test Dimmer (patch)||/patch/testDimmer  ||0-1  ||/patch/testDimmer ||# &lt;br /&gt;
|-&lt;br /&gt;
| ||  || || || &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background:#F2F2F2;&amp;quot;&lt;br /&gt;
| Execute a Macro || /macroExec || # || || &lt;br /&gt;
|- &lt;br /&gt;
| Kill a Macro || /macroKill || # || || &lt;br /&gt;
|- &lt;br /&gt;
| Kill all running Macros || /macroKill || all || || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Communication OSC entre D::Light et Pure Data=&lt;br /&gt;
&lt;br /&gt;
=== L&#039;envoi des données vers D::Light ===&lt;br /&gt;
&lt;br /&gt;
Un seul objet est nécessaire :&lt;br /&gt;
* L&#039;objet &#039;&#039;&#039;sendOSC&#039;&#039;&#039;. Il doit recevoir un message qui établit la connexion (&#039;&#039;connect&#039;&#039;), indique à &#039;&#039;sendOSC&#039;&#039; vers quelle machine envoyer les informations (&#039;&#039;localhost&#039;&#039; si c&#039;est la même machine ou adresse IP s&#039;il s&#039;agit d&#039;une machine distante) et lui précise que l&#039;on s&#039;adresse à D::Light en spécifiant son port (&#039;&#039;&#039;7000&#039;&#039;&#039;). Un second message (&#039;&#039;disconnect&#039;&#039;) permet la déconnexion manuelle. Facultativement, un objet &#039;&#039;&#039;loadbang&#039;&#039;&#039; permet d&#039;activer automatiquement la connexion à l&#039;ouverture du patch Pd. Mais l&#039;état de la connexion ne peut pas être affiché. La syntaxe des messages d&#039;envoi doit toujours commencer par le préfixe &#039;&#039;send&#039;&#039; (exemple : &#039;&#039;send /seq/go&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== La réception des données provenant de D::Light ===&lt;br /&gt;
&lt;br /&gt;
Deux objets sont nécessaires :&lt;br /&gt;
* L&#039;objet &#039;&#039;&#039;dumpOSC&#039;&#039;&#039; permet de recevoir les messages OSC. On lui attribue en paramètre le numéro de port de D::Light (&#039;&#039;&#039;7001&#039;&#039;&#039;).&lt;br /&gt;
* L&#039;objet &#039;&#039;&#039;OSCroute&#039;&#039;&#039;, permet de trier les messages arrivant par l&#039;objet &#039;&#039;dumpOSC&#039;&#039;. Les messages de réception des données provenant de D::Light constituent les paramètres de cet objet. Par chaque sortie on récupère les valeurs et/ou les symboles correspondants aux messages inscrits en paramètres selon leur ordre respectif. En l&#039;absence de paramètre, la sortie de gauche liste les dernières informations reçues (par exemple : &#039;&#039;/4 255&#039;&#039; si le submaster 4 est à full).&lt;br /&gt;
[[Fichier:send-dump-osc.png]]&lt;br /&gt;
&lt;br /&gt;
=== Les objets OSC de Martin Peach ===&lt;br /&gt;
&lt;br /&gt;
L&#039;informaticien canadien Martin Peach a implémenté depuis 2008 de nouveaux objets qui sont intégrés à l&#039;une des bibliothèques associées aux dernières versions de Pd-extended. Outre leur meilleure fiabilité par rapport aux objets &#039;&#039;sendOSC&#039;&#039;, &#039;&#039;dumpOSC&#039;&#039;, &#039;&#039;OSCroute&#039;&#039;, ils permettent de créer des messages plus complexes avec une syntaxe simplifiée et, surtout, l&#039;envoi, la réception et le tri de paquets pouvant comporter des milliers d&#039;informations simultanées (et cela, sans le moindre bug).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Note: le patch ci-dessous est écrit pour la version 3.0.3 de D::Light&#039;&#039;. [[Média:udpsend-receive.png|Voir le patch écrit pour les versions antérieures.]])&lt;br /&gt;
[[Fichier:udpsend-receive-303.png]]&lt;br /&gt;
&lt;br /&gt;
* Pour l&#039;envoi des données, l&#039;objet &#039;&#039;sendOSC&#039;&#039; est remplacé par un couple d&#039;objets : &#039;&#039;&#039;packOSC&#039;&#039;&#039; et &#039;&#039;&#039;udpsend&#039;&#039;&#039;. Les messages de connexion et déconnexion restent identiques. La sortie de &#039;&#039;udpsend&#039;&#039; peut recevoir un nombre qui affiche l&#039;état de la connexion (0 ou 1). La syntaxe des messages d&#039;envoi est simplifiée : il n&#039;est plus nécessaire d&#039;utiliser le préfixe &#039;&#039;send&#039;&#039; (il suffit, par exemple, d&#039;écrire &#039;&#039;/seq/go&#039;&#039;). De plus, les envois simultanés peuvent être regroupés en &#039;&#039;&#039;un seul message&#039;&#039;&#039;, chaque syntaxe étant séparée par une virgule suivie d&#039;un espace (exemple : &#039;&#039;/grandmaster 127, /seq/go, /sub/1/flash 188, /sub/4/flash 255, /circ/22 50, /circ/24 220&#039;&#039;).&lt;br /&gt;
* Pour la réception des données, les 2 objets &#039;&#039;dumpOSC&#039;&#039; et &#039;&#039;OSCroute&#039;&#039; sont remplacés par le trio &#039;&#039;&#039;udpreceive&#039;&#039;&#039;, &#039;&#039;&#039;unpackOSC&#039;&#039;&#039;, &#039;&#039;&#039;routeOSC&#039;&#039;&#039;. La sortie de droite de &#039;&#039;udpreceive&#039;&#039; donne l&#039;adresse IP de D::Light qui se trouve dans l&#039;OSCwriter.&lt;br /&gt;
* Cette bibliothèque d&#039;objets est associée à Pd-extended mais elle doit être importée dans le patch. L&#039;invocation se fait sous forme d&#039;objets nommés &#039;&#039;&#039;import mrpeach/udpsend&#039;&#039;&#039; et &#039;&#039;&#039;import mrpeach/packOSC&#039;&#039;&#039; pour l&#039;envoi, &#039;&#039;&#039;import mrpeach/udpreceive&#039;&#039;&#039;, &#039;&#039;&#039;import mrpeach/unpackOSC&#039;&#039;&#039; et &#039;&#039;&#039;import mrpeach/routeOSC&#039;&#039;&#039; pour la réception.&lt;br /&gt;
&lt;br /&gt;
On peut accéder à la documentation dans Pd par &#039;&#039;help/browser&#039;&#039;:&lt;br /&gt;
** /usr/lib/pd/doc/5.reference/mrpeach/packOSC-help.pd&lt;br /&gt;
** /usr/lib/pd/doc/5.reference/mrpeach/routeOSC-help.pd&lt;br /&gt;
** /usr/lib/pd/doc/5.reference/mrpeach/udpreceive-help.pd&lt;br /&gt;
** /usr/lib/pd/doc/5.reference/mrpeach/udpsend-help.pd&lt;br /&gt;
Sous linux:&lt;br /&gt;
** /usr/lib/pd/extra/mrpeach/packOSC.pd_linux&lt;br /&gt;
** /usr/lib/pd/extra/mrpeach/routeOSC.pd_linux&lt;br /&gt;
** /usr/lib/pd/extra/mrpeach/udpreceive.pd_linux&lt;br /&gt;
** /usr/lib/pd/extra/mrpeach/udpsend.pd_linux&lt;br /&gt;
** /usr/lib/pd/extra/mrpeach/unpackOSC.pd_linux&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Le tri des données OSC provenant de D::Light ===&lt;br /&gt;
&lt;br /&gt;
D::Light renvoie les données sous la forme de &#039;&#039;&#039;nombres&#039;&#039;&#039; (valeurs) ou de &#039;&#039;&#039;listes&#039;&#039;&#039; qui peuvent comporter des nombres mais aussi des symboles. Ces données doivent être triées par Pd afin d&#039;être exploitées séparément. de plus, la version 3.0.3 utilise un &#039;&#039;bundle&#039;&#039; qui envoie des paquets de données multiples qui doivent être séparées.&lt;br /&gt;
* Lorsque le message de réception renvoie un seul nombre, la sortie correspondante de l&#039;objet &#039;&#039;routeOSC&#039;&#039; reçoit un nombre. C&#039;est le cas uniquement pour le message &#039;&#039;/grandmaster&#039;&#039; (niveau) dans la version 3.0.3. C&#039;était le cas, dans les versions antérieures, pour &#039;&#039;/go&#039;&#039; (pas), &#039;&#039;/goback&#039;&#039; (pas) et &#039;&#039;/pause&#039;&#039; (pas).&lt;br /&gt;
* Les messages de réception &#039;&#039;/fadeX1&#039;&#039; et &#039;&#039;/fadeX2&#039;&#039; (anciennement: &#039;&#039;/XfadeX1&#039;&#039; et &#039;&#039;/XfadeX2&#039;&#039;) renvoient une liste de 2 nombres (pas de séquence et niveau). Ils doivent être séparés par l&#039;objet &#039;&#039;&#039;unpack&#039;&#039;&#039; avec 2 arguments &#039;&#039;f f&#039;&#039; (=float) qui spécifient qu&#039;il s&#039;agit de nombres.&lt;br /&gt;
* Les messages de réception &#039;&#039;/X1&#039;&#039;, &#039;&#039;/X2&#039;&#039;, &#039;&#039;/go&#039;&#039;, &#039;&#039;/goback&#039;&#039; et &#039;&#039;/pause&#039;&#039; doivent être extraits par un objet &#039;&#039;&#039;routeOSC&#039;&#039;&#039; de second niveau relié à la sortie du premier &#039;&#039;&#039;routeOSC&#039;&#039;&#039; qui correspond à &#039;&#039;/seq&#039;&#039;.&lt;br /&gt;
* Les messages de réception &#039;&#039;/sub&#039;&#039; et &#039;&#039;/circ&#039;&#039; renvoient une liste qui comporte un symbole (&#039;&#039;/#/level&#039;&#039;) et un nombre (niveau).&lt;br /&gt;
** L&#039;opération la plus simple mais aussi la plus fastidieuse consiste à établir un routage à plusieurs niveaux. Pour les submasters, par exemple, le premier &#039;&#039;&#039;routeOSC&#039;&#039;&#039; extrait les données &#039;&#039;/sub&#039;&#039;, le second les données &#039;&#039;/#&#039;&#039;, le troisième les données &#039;&#039;/level&#039;&#039;, c&#039;est-à-dire la valeur du niveau. Ce qui oblige à reproduire l&#039;opération 250 fois pour les 250 submasters disponibles. De même pour les circuits.&lt;br /&gt;
** Une opération, plus économique, consiste à extraire directement les valeurs numériques en séparant les éléments symboles, non numériques(&#039;&#039;/&#039;&#039; et &#039;&#039;/level&#039;&#039;), grâce à un séparateur. Symbole et nombre doivent préalablement être séparés par l&#039;objet &#039;&#039;&#039;unpack&#039;&#039;&#039; avec 2 arguments qui sont &#039;&#039;s&#039;&#039; (=symbole) et &#039;&#039;f&#039;&#039; (=float). Le séparateur permet ensuite d&#039;extraire le numéro de sub. On utilise pour cela l&#039;objet &#039;&#039;&#039;symbol2list&#039;&#039;&#039; qui reçoit à gauche le symbole et à droite un message comportant le signe séparateur. Un nouvel objet &#039;&#039;&#039;unpack&#039;&#039;&#039; ayant &#039;&#039;f&#039;&#039; comme argument permet alors de récupérer le nombre qui était associé au slash. On peut procéder de la même manière pour les circuits. L&#039;avantage est de taille: 2 nombres permettent la réception de &#039;&#039;toutes&#039;&#039; les données concernant les submasters (numéro de sub et niveau), de même pour les circuits. Il ne reste plus qu&#039;à les dispatcher selon les besoins... (voir ci-dessous).&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;Note: les patches ci-dessous sont écrits pour la version 3.0.3 de D::Light&#039;&#039;. [[Média:receive-osc.png|Voir le patch écrit pour les versions antérieures.]])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Routage &amp;quot;classique&amp;quot; des données :&#039;&#039;&#039;&lt;br /&gt;
[[Fichier:receive-osc-303a.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Routage &amp;quot;économique&amp;quot; des données :&#039;&#039;&#039;&lt;br /&gt;
[[Fichier:udp-sr-extract-303.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Le dispatch des données OSC &#039;&#039;/sub&#039;&#039; et &#039;&#039;/circ&#039;&#039; provenant de D::Light ===&lt;br /&gt;
Dans le routage &amp;quot;économique&amp;quot; présenté ci-dessus, toutes les données envoyées par D::Light concernant les submasters et les circuits sont concaténées en deux objets &#039;&#039;nombre&#039;&#039;: l&#039;un pour le numéro de sub (ou de circuit), l&#039;autre pour la valeur du niveau. Pour qu&#039;elles soient lisibles et exploitables il faut effectuer leur séparation et leur répartition.&lt;br /&gt;
* L&#039;objet &#039;&#039;&#039;dispatch&#039;&#039;&#039; va permettre de faire apparaître, pour chaque submaster et pour chaque circuit, sa valeur respective.&lt;br /&gt;
* Cet objet &#039;&#039;&#039;dispatch&#039;&#039;&#039; nécessite l&#039;importation d&#039;une bibliothèque associée à &#039;&#039;Pd-extended&#039;&#039;: pour cela, on crée un objet &#039;&#039;&#039;import moonlib/dispatch&#039;&#039;&#039;.&lt;br /&gt;
* On crée ensuite 2 objets &#039;&#039;&#039;dispatch&#039;&#039;&#039;, l&#039;un pour les &#039;&#039;subs&#039;&#039;, l&#039;autre pour les &#039;&#039;circuits&#039;&#039;, dans lesquels on déclare en arguments la syntaxe générique utilisée pour chacun et les minima et maxima, c&#039;est-à-dire les numéro du premier et du dernier submasters dont on veut récupérer les données (dans l&#039;exemple ci-dessous, de 1 à 10). Même déclaration pour les circuits. Ce qui donne: &#039;&#039;&#039;dispatch $0-sub 1 10&#039;&#039;&#039; et &#039;&#039;&#039;dispatch $0-circ 1 10&#039;&#039;&#039;. Si l&#039;on veut récupérer les valeurs de 250 submasters et de 120 circuits, on déclarera: &#039;&#039;&#039;dispatch $0-sub 1 250&#039;&#039;&#039; et &#039;&#039;&#039;dispatch $0-circ 1 120&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Le &#039;&#039;dispatch&#039;&#039; des données &#039;&#039;sub&#039;&#039; et &#039;&#039;circ&#039;&#039; (exemple pour 10 submasters et 10 circuits) :&#039;&#039;&#039;&lt;br /&gt;
[[Fichier:osc-dispatch-303-1.png]]&lt;br /&gt;
&lt;br /&gt;
* Reste à créer les objets qui vont réceptionner les données (dans l&#039;exemple, ce sont des objets &#039;&#039;nombre&#039;&#039; mais on pourrait utiliser des &#039;&#039;sliders&#039;&#039;, des objets &#039;&#039;symbole&#039;&#039; ou faire apparaître les données comme &#039;&#039;label&#039;&#039; de &#039;&#039;canvas&#039;&#039;). Chacun devra comporter en &#039;&#039;label&#039;&#039; le nom et le numéro qui lui correspond afin de les identifier (&#039;&#039;Sb-1&#039;&#039;, &#039;&#039;Sb-2&#039;&#039;... &#039;&#039;Ch-1&#039;&#039;, &#039;&#039;Ch-2&#039;&#039;...).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Les objets de réception des données &#039;&#039;sub&#039;&#039; et &#039;&#039;circ&#039;&#039; (exemple pour 10 submasters et 10 circuits) :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:osc-dispatch-303-2.png]]&lt;br /&gt;
&lt;br /&gt;
Dernière opération: la création des messages d&#039;envoi et de réception.&lt;br /&gt;
* Les nombres issus de &#039;&#039;&#039;routeOSC&#039;&#039;&#039; qui correspondent aux numéros et aux valeurs sont compactés par un objet &#039;&#039;&#039;pack f f&#039;&#039;&#039; puis envoyés (&#039;&#039;s&#039;&#039; = &#039;&#039;send&#039;&#039;) par un message qui reprend la syntaxe générique initialement déclarée à laquelle on ajoute le suffixe &#039;&#039;-rcv&#039;&#039; (&#039;&#039;receive&#039;&#039;). Ce qui donne: &#039;&#039;&#039;s $0-sub-rcv&#039;&#039;&#039; et &#039;&#039;&#039;s $0-circ-rcv&#039;&#039;&#039;.&lt;br /&gt;
* Chaque objet objet &#039;&#039;nombre&#039;&#039; appelé à réceptionner les données doit avoir la même déclaration en réception à laquelle s&#039;ajoute son numéro propre: &#039;&#039;&#039;r $0-sub1-rcv&#039;&#039;&#039; pour le sub n°1 et &#039;&#039;&#039;r $0-sub2-rcv&#039;&#039;&#039; pour le sub n°2, etc. De même pour les circuits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Les messages de réception des données &#039;&#039;sub&#039;&#039; et &#039;&#039;circ&#039;&#039; :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Fichier:osc-dispatch-303-3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Et hop, le tour est joué: chaque objet &#039;&#039;nombre&#039;&#039; reçoit instantanément son dû!&lt;br /&gt;
&lt;br /&gt;
Pour tester, on peut créer dans D::Light 10 groupes affectés aux submasters 1 à 10 et envoyer le message suivant:&lt;br /&gt;
[[Fichier:sub-envoi-1.png]]&lt;br /&gt;
&lt;br /&gt;
On peut éventuellement sophistiquer l&#039;ensemble en établissant au préalable une conversion des niveaux 0-255 en 0-100, puis transformer ces valeurs numériques en symboles, grâce à l&#039;objet &#039;&#039;&#039;ftos&#039;&#039;&#039; (&#039;&#039;float to symbol&#039;&#039;) afin d&#039;ajouter, par un sélecteur, un message qui remplace la valeur 100 en FF.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Communication OSC entre D::Light et le terminal=&lt;br /&gt;
&lt;br /&gt;
Il est possible d&#039;envoyer des messages OSC en ligne de commande via le terminal, avec [https://fukuchi.org/works/oscsend/index.html.en &#039;&#039;&#039;oscsend&#039;&#039;&#039;] qui fonctionne grace à la librairie [http://liblo.sourceforge.net &#039;&#039;&#039;Liblo&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
Ces outils sont disponibles dans la plupart des repos officiels. Vous pouvez les installer en utilisant apt, pacman, brew, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois l&#039;outil installé, la commande suivante vous permet d&#039;envoyer un GO :&lt;br /&gt;
&lt;br /&gt;
 oscsend localhost 7000 /seq/go f 1.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
la commande suivante vous permet d&#039;envoyer le STEP ID 12&lt;br /&gt;
&lt;br /&gt;
 oscsend localhost 7000 /seq/X2LoadAndFireID f 12&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Avec cette commande, vous pouvez synchroniser simplement [http://linux-show-player.sourceforge.net Linux Show Player] et D::Light, en une seule cue list dans LiSP, en y créant une Cue Command, qui exécutera la ligne de commande.&lt;br /&gt;
&lt;br /&gt;
=Voir aussi=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Télécommande OSC===&lt;br /&gt;
&lt;br /&gt;
Page concernant l&#039;utilisation d&#039;un smartphone ou d&#039;une tablette comme télécommande pour D::Light en OSC : [[Télécommande OSC2]]&lt;br /&gt;
&lt;br /&gt;
=== Liens externes ===&lt;br /&gt;
&lt;br /&gt;
* [http://opensoundcontrol.org Site officiel OSC]&lt;br /&gt;
* [http://www.interface-z.com/patchs/ut-osc.htm La communication OSC selon Interface-Z]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Retourner à la page [[Les Menus]]&lt;br /&gt;
&lt;br /&gt;
Retourner à la page [[Accueil]]&lt;/div&gt;</summary>
		<author><name>82.120.1.26</name></author>
	</entry>
</feed>