⭐ Cet article concerne une fonctionnalité Pro.
En plus de la possibilité d'assigner vos propres adresses OSC avec le Learning Mode, vous pouvez utiliser les adresses OSC par défaut qui sont déjà en place.
Chaque élément assignable de l'interface a été associé à au moins une adresse. S'il a plus qu'une adresse, cela veut dire que le même résultat peut être atteint de plusieurs façons. Par exemple, si vous souhaitez éditer une séquence, vous pouvez y accéder par son nom ou par sa position, ce qui veut dire qu'il y a 2 adresses pour une même action.
Templates prêts à l'emploi utilisant l'API OSC
L'API peut être utilisée pour construire ses propres templates OSC, utilisables avec n'importe quel projet HeavyM, sans avoir à passer par le processus de Learning. Pour aller plus vite, nous vous avons préparé quelques templates sur l'application populaire TouchOSC. Vous pouvez les utiliser tels quels ou bien copier-coller des éléments rapidement pour vos templates personnalisés.
Fichier | Description | HM v. | Format | Projet |
Sequencer_v1 |
un template créé pour un usage live du module des Séquences, avec 4 onglets de 8x8 séquences et quelques raccourcis de Master Shaders |
2.11 |
2160×1620 (iPad 9) |
- |
GroupEffects_v1 |
un simple template regroupant tous les paramètres des effets de Groupes (hors contrôle des LFOs) |
2.11 |
2160×1620 (iPad 9) |
- |
Mix_v1 |
un template avec un crossfader A/B, créé pour le contrôle d'un mix simple de 2 Groupes. Comme cela sort un peu du cadre usuel d'utilisation de HeavyM, un projet est associé à titre d'exemple! (voir colonne 4) |
2.11 |
2160×1620 (iPad 9) |
example |
Capture d'écran de Sequencer_v1
à suivre: contrôle de la Timeline, effets des groupes avec contrôle des LFOs
Instructions de lecture de l'API
La liste complète des messages de l'API se trouve dans les tableau ci-dessous. Chaque tableau utilise la même structure :
- 1e colonne: description de l'action
- 2e colonne: adresse(s) OSC par défaut
- 3e colonne: argument (toujours de type "float", sauf indiqué)
Note : la valeur indiquée dans cette 3e colonne représente aussi généralement ce qui est renvoyé dans le feedback. Pour les Coordonnées et Dimensions cependant, le retour est désactivé car cela peut causer des problèmes de boucle infinie.
Vous verrez que la liste s'allonge trèèèès vite alors nous avons utilisé des abréviations tout au long de l'article. Dans un tableau, si vous voyez un mot entre [crochets], référez-vous aux instructions suivantes pour comprendre ce qui est attendu à a place :
[n] correspond à un nombre entier, par exemple le numéro de la ligne où se trouve une séquence, la position d'un groupe dans la liste, etc. Pour les listes de shaders et groupes, le compte commence depuis le bas, à 1.
[seqName] correspond au nom donné à la séquence, sans espace. Par exemple, si vous l'avez appelée "Act 1-2", alors [seqName] = act1-2
[groupName] correspond au nom donné à la séquence, sans espace. Par exemple, si vous l'avez appelé "Group 4", alors [groupName] = group4
[mapName] correspond au nom donné à la map, sans espace. Par exemple, si vous l'avez appelée "Map 1-2", alors [mapName] = map1-2
[shapeName] correspond au nom donné à la forme (face ou player), sans espace. Par exemple, si vous l'avez appelée "Face 4", alors [shapeName] = face4
[playerName]correspond au nom donné au player, sans espace. Par exemple, si vous l'avez appelé "Player 4_2", alors [playerName] = player4_2
[vertexName] correspond au nom du point affiché dans l’en-tête du panneau des Propriétés, sans espace. Par exemple, si le point est appelé "Vertex 192", alors [vertexName] = vertex192
[cueName] correspond au nom donné à la séquence, sans espace. Par exemple, si vous l'avez appelée "Play Act 1-2", alors [cueName] = playact1-2
[shaderName] correspond au nom du shader affiché dans l'interface, sans espace ou extension de fichier. Par exemple, si le shader est appelé "Chroma Zoom", alors [shaderName] = chromazoom
[parameterName] correspond au nom du paramètre affiché dans l'interface, sans espace. Cela fait toujours référence aux shaders. Par exemple, si le paramètre indique "master_zoom", alors [parameterName] = master_zoom
[variable] dépend du type de paramètre visé. Pour les effets des groupes, [variable] fait toujours référence à un paramètre utilisant un slider. Pour les shaders, il y a d'autres possibilités. Voici ce que [variable] peut représenter (avec les arguments entre parenthèses) :
-
Si le paramètre utilise un slider, vous pouvez viser sa valeur mais aussi les propriétés liées à ses variations LFOs :
- value (0.0 (0) à 1.0 (100))
- lfo/mode (0.0 Fixed ; 0.1 Sine ; 0.2 Triangle ; 0.3 Trapezoid ; 0.4 Square ; 0.5 Saw Up ; 0.6 Saw Down ; 0.7 Noise ; 0.8 Bass ; 0.9 Mid ; 1.0 High)
- lfo/min (0.0 (0) à 1.0 (100))
- lfo/max (0.0 (0) à 1.0 (100))
- lfo/tempo (0.0 (0) à 1.0 (100))
- lfo/speed (0.0 (0) à 1.0 (100)) - Si le paramètre utilise une case à cocher : value (0.0 (décochée) ou 1.0 (cochée))
- Si le paramètre utilise une liste : value (0.0 (item du haut) à 1.0 (item du bas))
- Si le paramètre est un événement, qui utilise un bouton : trigger (1 pour déclencher)
-
Si le paramètre est un point, représenté par un graphe x et y:
- x (0.0 (min) à 1.0 (max))
- y (0.0 (min) à 1.0 (max))
[colorVariable] est utilisé quand le paramètre est une couleur et dépend de si vous visez une couleur simple ou bien une couleur dans un mode de LFO. Voici ce que [colorVariable] peut représenter (avec les arguments entre parenthèses) :
- Couleur Fixed ou simple :
- r/value (0.0 (0) à 1.0 (255))
- g/value (0.0 (0) à 1.0 (255))
- b/value (0.0 (0) à 1.0 (255))
- h/value (0.0 (1) à 1.0 (360))
- s/value (0.0 (0) à 1.0 (100))
- v/value (0.0 (0) à 1.0 (100))
- a/value (0.0 (0) à 1.0 (100))
- [n]/select (1.0) avec [n] la position de la couleur sauvegardée entre 1 (haut gauche) et 20 (bas droite) - Couleur dans un mode de LFO :
- lfo/mode (0.0 Fixed ; 0.1 Sine ; 0.2 Triangle ; 0.3 Trapezoid ; 0.4 Square ; 0.5 Saw Up ; 0.6 Saw Down ; 0.7 Noise ; 0.8 Bass ; 0.9 Mid ; 1.0 High)
- lfo/min/r/value (0.0 (0) à 1.0 (255))
- lfo/min/g/value (0.0 (0) à 1.0 (255))
- lfo/min/b/value (0.0 (0) à 1.0 (255))
- lfo/min/h/value (0.0 (1) à 1.0 (360))
- lfo/min/s/value (0.0 (0) à 1.0 (100))
- lfo/min/v/value (0.0 (0) à 1.0 (100))
- lfo/min/a/value (0.0 (0) à 1.0 (100))
- lfo/min/[n]/select (1.0) avec [n] la position de la couleur sauvegardée entre 1 (haut gauche) et 20 (bas droite)
- lfo/max/r/value (0.0 (0) à 1.0 (255))
- lfo/max/g/value (0.0 (0) à 1.0 (255))
- lfo/max/b/value (0.0 (0) à 1.0 (255))
- lfo/max/h/value (0.0 (1) à 1.0 (360))
- lfo/max/s/value (0.0 (0) à 1.0 (100))
- lfo/max/v/value (0.0 (0) à 1.0 (100))
- lfo/max/a/value (0.0 (0) à 1.0 (100))
- lfo/max/[n]/select (1.0) avec [n] la position de la couleur sauvegardée entre 1 (haut gauche) et 20 (bas droite)
- lfo/tempo (0.0 (0) to 1.0 (100))
- lfo/speed (0.0 (0) to 1.0 (100))
Ne vous inquiétez pas, des exemples seront donnés au fur et à mesure de la liste !
Liste des messages OSC par défaut
Voici les tableaux que vous trouverez ci-dessous
-
Master
Master opacity ("Opacité globale") / Master shaders -
Séquenceur
Contrôle des séquences / Transition de séquence / Shaders de séquence / Tabs ("Pages") / Autopilot / Timeline / Audio Analysis / Tempo -
Groupes
Sélection de groupe / Propriétés de groupe / Shaders de groupe / Effets de groupe -
Formes
Centre de face / Shaders de Player -
Sources
Lecture / Vidéo / Shader / Texte
Master
Master opacity ("Opacité globale")
Opacité |
/master/opacity/value |
0.0 (0%) à 1.0 (100%) |
Master shaders
On/Off global |
/master/shaders/all/toggle |
1 (on) ou 0 (off) |
On/Off individuel |
/master/shaders/[shaderName]/toggle |
1 (on) ou 0 (off) |
Paramètres |
// Couleur
|
dépend de [variable] ou [colorVariable] |
// exemples pour Chroma Zoom.fs, en 2e position depuis le bas de la liste
/master/shaders/chromazoom/toggle
/master/shaders/2/toggle
/master/shaders/chromazoom/master_zoom/value
/master/shaders/chromazoom/master_zoom/lfo/mode
/master/shaders/chromazoom/master_zoom/lfo/min
/master/shaders/chromazoom/master_zoom/lfo/max
/master/shaders/chromazoom/master_zoom/lfo/tempo
/master/shaders/chromazoom/master_zoom/lfo/speed
/master/shaders/2/master_zoom/value
...
Séquenceur
Contrôle des séquences
Editer |
/sequences/[seqName]/edit |
1 |
Play |
/sequences/[seqName]/play |
1 (play) ou 0 (stop) |
Play précédente |
/sequences/playprevious |
1 |
Play suivante |
/sequences/playnext |
1 |
Play blackout |
/sequences/blackout |
1 |
// exemples pour une séquence appelée "Seq 1-2"
// située dans la 2e page, ligne 2 et colonne 2
/sequences/seq1-2/edit
/sequences/tabs/2/rows/2/columns/2/edit
/sequences/seq1-2/play
/sequences/tabs/2/rows/2/columns/2/play
Transition de séquence
Paramètres |
/sequences/[seqName]/transition/[parameterName]/[variable] |
dépend de [variable] |
// exemples pour une séquence appelée "Seq 1-2"
// située dans la 2e page, ligne 2 et colonne 2
// avec une transition Angular
/sequences/seq1-2/transition/startingangle/value
/sequences/edited/transition/startingangle/value
/sequences/tabs/2/rows/2/columns/2/transition/startingangle/value
/sequences/seq1-2/transition/startingangle/value
/sequences/seq1-2/transition/startingangle/lfo/mode
/sequences/seq1-2/transition/startingangle/lfo/min
/sequences/seq1-2/transition/startingangle/lfo/max
/sequences/seq1-2/transition/startingangle/lfo/tempo
/sequences/seq1-2/transition/startingangle/lfo/speed
/sequences/edited/transition/startingangle/value
...
Shader de séquence
On/Off |
/sequences/[seqName]/shaders/[shaderName]/toggle |
1 (on) ou 0 (off) |
Paramètres |
// Couleur |
dépend de [variable] ou [colorVariable] |
// exemples pour une séquence appelée "Seq 1-2"
// située dans la 2e page, ligne 2 et colonne 2
// avec Chroma Zoom.fs, en 2e position depuis le bas de la liste
/sequences/seq1-2/shaders/chromazoom/toggle
/sequences/edited/shaders/chromazoom/toggle
/sequences/tabs/2/rows/2/columns/2/shaders/chromazoom/toggle
/sequences/seq1-2/shaders/2/toggle
/sequences/edited/shaders/2/toggle
/sequences/tabs/2/rows/2/columns/2/shaders/2/toggle
/sequences/seq1-2/shaders/chromazoom/master_zoom/value
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/mode
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/min
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/max
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/tempo
/sequences/seq1-2/shaders/chromazoom/master_zoom/lfo/speed
/sequences/edited/shaders/chromazoom/master_zoom/value
...
Tabs ("Pages")
Sélectionner |
/sequences/tabs/[tabName]/select |
1 |
Sélectionner précédente |
/sequences/tabs/selectprevious |
1 |
Sélectionner suivante |
/sequences/tabs/selectnext |
1 |
// exemples pour une page appelée "Draft 1", en 2e position depuis la gauche
/sequences/tabs/draft1/select
/sequences/tabs/2/select
Autopilot
On / Off |
/autopilot/toggle |
1 (on) ou 0 (off) |
Direction |
/autopilot/direction |
0 (gauche à droite) ou 1 (aléatoire) |
Timeline
Play / Pause |
/timeline/play |
1 (play) ou 0 (pause) |
Stop |
/timeline/stop |
1 |
Position tête de lecture |
/timeline/playhead/position |
0.0 (début) ou 1.0 (fin) |
Aller à la cue |
/timeline/cues/[cueName]/goto |
1 |
Aller à la cue suivante |
/timeline/next |
1 |
Aller à la cue précédente |
/timeline/previous |
1 |
Position cue |
/timeline/cues/[cueName]/timestamp |
0.0 (début) ou 1.0 (fin) |
// exemples pour une cue appelée "Play Seq 1-2", en 2e position depuis la gauche
/timeline/cues/playseq1-2/goto
/timeline/cues/2/goto
/timeline/cues/playseq1-2/timestamp
/timeline/cues/2/timestamp
Audio Analysis
On / Off |
/audioanalysis/toggle |
1 (on) ou 0 (off) |
Gain global |
/audioanalysis/gain/global |
0.0 (min) à 1.0 (max) |
Gain "Bass" |
/audioanalysis/gain/bass
|
0.0 (min) à 1.0 (max) |
Gain "Mid" |
/audioanalysis/gain/mid |
0.0 (min) à 1.0 (max) |
Gain "High" |
/audioanalysis/gain/high |
0.0 (min) à 1.0 (max) |
Tempo
Valeur du BPM |
/tempo/bpm |
0.0 (20) à 1.0 (999) |
TAP |
/tempo/tap |
1 |
Resync |
/tempo/resync |
1 |
On / Off Ableton Link |
/abletonlink/toggle |
1 (on) ou 0 (off) |
Groupes
Sélection de groupe
Sélectionner |
/sequences/[seqName]/groups/[groupName]/select |
1 |
Sélectionner au-dessus |
/sequences/edited/groups/selectabove |
1 |
Sélectionner en-dessous |
/sequences/edited/groups/selectbelow |
1 |
// exemple pour un groupe appelé "Group D"
// en 4e position depuis le bas de la liste
// dans une séquence appelée "Seq 1-2"
/sequences/seq1-2/groups/groupd/select
/sequences/edited/groups/4/select
Propriétés de groupe
Opacité |
/sequences/[seqName]/groups/[groupName]/opacity/[variable] |
dépend de [variable] |
// exemple pour un groupe appelé "Group D"
// en 4e position depuis le bas de la liste
// dans une séquence appelée "Seq 1-2"
/sequences/seq1-2/groups/groupd/opacity/value
/sequences/edited/groups/4/opacity/value
/sequences/edited/groups/selected/opacity/value
/sequences/seq1-2/groups/groupd/opacity/lfo/mode
/sequences/seq1-2/groups/groupd/opacity/lfo/min
/sequences/seq1-2/groups/groupd/opacity/lfo/max
/sequences/seq1-2/groups/groupd/opacity/lfo/tempo
/sequences/seq1-2/groups/groupd/opacity/lfo/speed
/sequences/edited/groups/4/opacity/lfo/mode
...
Shaders de groupe
On / Off |
/sequences/[seqName]/groups/[groupName]/shaders/[shaderName]/toggle |
1 (on) ou 0 (off) |
Paramètres |
// Couleur |
dépend de [variable] ou [colorVariable] |
// exemple pour un groupe appelé "Group D"
// en 4e position depuis le bas de la liste
// dans une séquence appelée "Seq 1-2"
// avec Chroma Zoom.fs, en 2e position depuis le bas de la liste
/sequences/seq1-2/groups/groupd/shaders/chromazoom/toggle
/sequences/edited/groups/4/shaders/chromazoom/toggle
/sequences/edited/groups/selected/shaders/chromazoom/toggle
/sequences/seq1-2/groups/groupd/shaders/2/toggle
/sequences/edited/groups/4/shaders/2/toggle
/sequences/edited/groups/selected/shaders/2/toggle
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/value
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/mode
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/min
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/max
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/tempo
/sequences/seq1-2/groups/groupd/shaders/chromazoom/master_zoom/lfo/speed
/sequences/edited/groups/4/shaders/chromazoom/master_zoom/value
...
Effets de groupe
On / Off |
// Les adresses suivent la structure suivante : |
1 (on) ou 0 (off) |
Sélectionner mode |
// Les adresses suivent la structure suivante : |
1 |
Paramètres Border |
// Color (2.13) |
dépend de [variable] ou [colorVariable] |
Paramètres Line |
// Color (2.13) |
dépend de [variable] ou [colorVariable] |
Paramètres Color |
// Color (2.13) |
dépend de [variable] ou [colorVariable] |
Paramètres Special |
// Color (2.13) |
dépend de [variable] ou [colorVariable] |
Paramètres Snake |
// Apply on |
dépend de [variable] |
Paramètres Rotation |
// Path |
dépend de [variable] |
Paramètres Structure |
// Color (2.13) |
dépend de [variable] ou [colorVariable] |
Formes
Coordonnées (2.13)
Coordonnée X (forme) |
/sequences/edited/shapes/selected/x/value |
dépend de [variable] |
Coordonnée Y (forme) |
/sequences/edited/shapes/selected/y/value |
dépend de [variable] |
Coordonnée X (vertex) |
/sequences/edited/vertex/selected/x/value |
dépend de [variable] |
Coordonnée Y (vertex) |
/sequences/edited/vertex/selected/y/value |
dépend de [variable] |
Coordonnée X (center) |
/sequences/edited/shapes/selected/center/x/[variable] |
dépend de [variable] |
Coordonnée Y (center) |
/sequences/edited/shapes/selected/center/y/[variable] |
dépend de [variable] |
// exemples pour une forme appelée "Player 2"
// avec un point appelé “Vertex 192”
// dans une map appelée "Map 1-2"
/sequences/edited/shapes/selected/x/value
/maps/map1-2/shapes/player2/x/value
/sequences/edited/shapes/selected/y/value
/maps/map1-2/shapes/player2/y/value
/sequences/edited/vertex/selected/x/value
/maps/map1-2/shapes/player2/vertex/vertex192/x/value
/sequences/edited/vertex/selected/y/value
/maps/map1-2/shapes/player2/vertex/vertex192/y/value
// adresses possibles pour le center
/sequences/edited/shapes/selected/center/x/value
/sequences/edited/shapes/selected/center/x/lfo/mode
/sequences/edited/shapes/selected/center/x/lfo/min
/sequences/edited/shapes/selected/center/x/lfo/max
/sequences/edited/shapes/selected/center/x/lfo/tempo
/sequences/edited/shapes/selected/center/x/lfo/speed
/sequences/edited/shapes/selected/center/y/value
/sequences/edited/shapes/selected/center/y/lfo/mode
/sequences/edited/shapes/selected/center/y/lfo/min
/sequences/edited/shapes/selected/center/y/lfo/max
/sequences/edited/shapes/selected/center/y/lfo/tempo
/sequences/edited/shapes/selected/center/y/lfo/speed
Dimensions (2.13)
Width (largeur de forme) |
/sequences/edited/shapes/selected/w/value |
dépend de [variable] |
Height (hauteur de forme) |
/sequences/edited/shapes/selected/h/value |
dépend de [variable] |
// exemples pour une forme appelée "Player 2"
// dans une map appelée "Map 1-2"
/sequences/edited/shapes/selected/w/value
/maps/map1-2/shapes/player2/w/value
/sequences/edited/shapes/selected/h/value
/maps/map1-2/shapes/player2/h/value
Shaders de Player
On / Off |
/sequences/[seqName]/shapes/[playerName]/shaders/[shaderName]/toggle |
1 (on) ou 0 (off) |
Paramètres |
// Couleur |
dépend de [variable] ou [colorVariable] |
// exemples pour un player appelé "Player 2"
// dans une séquence appelée "Seq 1-2"
// avec Chroma Zoom.fs, en 2e position depuis le bas de la liste
/sequences/seq1-2/shapes/player2/shaders/chromazoom/toggle
/sequences/edited/shapes/player2/shaders/chromazoom/toggle
/sequences/seq1-2/shapes/player2/shaders/2/toggle
/sequences/edited/shapes/player2/shaders/2/toggle
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/value
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/mode
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/min
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/max
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/tempo
/sequences/seq1-2/shapes/player2/shaders/chromazoom/master_zoom/lfo/speed
/sequences/edited/shapes/player2/shaders/chromazoom/master_zoom/value
...
Sources
Lecture
Mode de lecture |
/sources/[n]/playbackmode |
0.0 Normal |
Cocher "Restart with sequence" |
/sources/[n]/restartwithseq |
1 (on) ou 0 (off) |
Déclencher média |
/sources/[n]/medias/[n]/trigger // pour les sources playlist
|
1 |
Déclencher média suivant |
/sources/[n]/next // pour les sources playlist
|
1 |
Déclencher média précédent |
/sources/[n]/previous // pour les sources playlist
|
1 |
Redémarrer la playlist |
/sources/[n]/restart // pour les sources playlist
|
1 |
Mode de boucle média |
/sources/[n]/loop // pour les sources solo |
0.0 Loop 0.33 Follow (playlist seulement) 0.66 Pause 1.0 Stop |
// exemples pour une source solo en 1e position depuis le coin en haut à gauche
/sources/1/playbackmode
/sources/1/restartwithseq
/sources/1/loop
// exemples pour une source playlist en 2e position depuis le coin en haut à gauche
// contenant au moins 2 médias
/sources/2/playbackmode
/sources/2/restartwithseq
/sources/2/medias/2/trigger
/sources/2/next
/sources/2/previous
/sources/2/restart
/sources/2/loop
/sources/2/medias/2/loop
Vidéo
Play / Pause |
/sources/[n]/play // pour les sources solo |
1 (play) ou 0 (pause) |
Rembobiner |
/sources/[n]/rewind // pour les sources solo |
1 |
Volume |
/sources/[n]/volume // pour les sources solo |
0.0 (muet) à 1.0 (max) |
// exemples pour une source solo vidéo en 1e position depuis le coin en haut à gauche
/sources/1/play
/sources/1/rewind
/sources/1/volume
// exemples pour une source playlist en 2e position depuis le coin en haut à gauche
// avec une vidéo en 1e position
/sources/2/play
/sources/2/rewind
/sources/2/medias/1/volume
Shader
Paramètres |
// Couleur |
dépend de [variable] ou [colorVariable] |
// exemples pour Bricked.fs dans une source solo shader
// en 1e position depuis le coin en haut à gauche
/sources/1/tile/value
/sources/1/tile/lfo/mode
...
// exemples pour une source playlist en 2e position depuis le coin en haut à gauche
// avec Bricked.fs en 1e position
/sources/2/medias/1/tile/value
/sources/2/medias/1/tile/lfo/mode
...
Texte
Paramètres |
/sources/[n]/align // pour les sources solo |
0.0 Gauche 0.5 Centré 1.0 Droite |
// exemples pour une source solo texte en 1e position depuis le coin en haut à gauche
/sources/1/align
// exemples pour une source playlist en 2e position depuis le coin en haut à gauche
// avec un texte en 1e position
/sources/2/medias/1/align