nodeskini 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/clientListe/clientListe.js +11 -0
- package/client/clientListe/clientListebundle.js +1755 -1909
- package/client/score/parto1.js +4 -1
- package/client/score/parto1bundle.js +45 -23
- package/doc/Doc Skini Node english.pdf +0 -0
- package/doc/Mode d'emploi Skini Node.pdf +0 -0
- package/doc/Tuto Skini.pdf +0 -0
- package/doc/quickstart.pdf +0 -0
- package/myReact/orchestrationHH.hh.js +27 -12
- package/myReact/orchestrationHH.mjs +170 -170
- package/myReact/orchestrationHH.mjs.map +1 -1
- package/package.json +11 -8
- package/pieces/tutos/demoAbleton.csv +21 -0
- package/pieces/tutos/demoAbleton.js +100 -0
- package/pieces/tutos/demoAbleton.xml +180 -0
- package/pieces/tutos/demoHH.js +99 -0
- package/pieces/tutos/demoHH.xml +184 -0
- package/pieces/tutos/demoHHwait.js +100 -0
- package/pieces/tutos/demoHHwait.xml +175 -0
- package/pieces/tutos/tuto.csv +10 -0
- package/pieces/tutos/tuto.csv.good +1 -0
- package/pieces/tutos/tuto1.js +105 -0
- package/pieces/tutos/tuto1.xml +147 -0
- package/pieces/tutos/tuto10.back.js +106 -0
- package/pieces/tutos/tuto10.js +107 -0
- package/pieces/tutos/tuto10.xml +199 -0
- package/pieces/tutos/tuto11.js +111 -0
- package/pieces/tutos/tuto11.xml +124 -0
- package/pieces/tutos/tuto12.js +91 -0
- package/pieces/tutos/tuto12.xml +258 -0
- package/pieces/tutos/tuto2.back.js +106 -0
- package/pieces/tutos/tuto2.js +95 -0
- package/pieces/tutos/tuto2.xml +94 -0
- package/pieces/tutos/tuto3-2.js +105 -0
- package/pieces/tutos/tuto3-2.xml +96 -0
- package/pieces/tutos/tuto3.js +97 -0
- package/pieces/tutos/tuto3.xml +49 -0
- package/pieces/tutos/tuto4.js +107 -0
- package/pieces/tutos/tuto4.xml +106 -0
- package/pieces/tutos/tuto5.js +109 -0
- package/pieces/tutos/tuto5.xml +42 -0
- package/pieces/tutos/tuto6.js +105 -0
- package/pieces/tutos/tuto6.xml +26 -0
- package/pieces/tutos/tuto7.js +107 -0
- package/pieces/tutos/tuto7.xml +65 -0
- package/pieces/tutos/tuto8.js +105 -0
- package/pieces/tutos/tuto8.xml +76 -0
- package/pieces/tutos/tuto9.js +107 -0
- package/pieces/tutos/tuto9.xml +90 -0
- package/pieces/tutos/tutoAwait.js +111 -0
- package/pieces/tutos/tutoAwait.xml +171 -0
- package/pieces/tutos/tutoDoubleEmission.js +93 -0
- package/pieces/tutos/tutoDoubleEmission.xml +65 -0
- package/pieces/tutos/tutoESP32.js +104 -0
- package/pieces/tutos/tutoESP32.xml +246 -0
- package/pieces/tutos/tutoGame.js +126 -0
- package/pieces/tutos/tutoGame.xml +109 -0
- package/pieces/tutos/tutoGroups1.js +111 -0
- package/pieces/tutos/tutoGroups1.xml +137 -0
- package/pieces/tutos/tutoGroups2.js +97 -0
- package/pieces/tutos/tutoGroups2.xml +103 -0
- package/pieces/tutos/tutoGroups3.js +111 -0
- package/pieces/tutos/tutoGroups3.xml +128 -0
- package/pieces/tutos/tutoGroups4.js +111 -0
- package/pieces/tutos/tutoGroups4.xml +84 -0
- package/pieces/tutos/tutoIZ.js +95 -0
- package/pieces/tutos/tutoIZ.xml +135 -0
- package/pieces/tutos/tutoIf.js +111 -0
- package/pieces/tutos/tutoIf.xml +126 -0
- package/pieces/tutos/tutoMidi.js +126 -0
- package/pieces/tutos/tutoMidi.xml +62 -0
- package/pieces/tutos/tutoOS.js +121 -0
- package/pieces/tutos/tutoOSC.js +109 -0
- package/pieces/tutos/tutoOSC.xml +223 -0
- package/pieces/tutos/tutoOSCJonathan.js +94 -0
- package/pieces/tutos/tutoOSCJonathan.xml +312 -0
- package/pieces/tutos/tutoPatternInGroup.js +109 -0
- package/pieces/tutos/tutoPatternInGroup.xml +116 -0
- package/pieces/tutos/tutoRandomBlock.js +129 -0
- package/pieces/tutos/tutoRandomBlock.xml +194 -0
- package/pieces/tutos/tutoSuspend.js +107 -0
- package/pieces/tutos/tutoSuspend.xml +139 -0
- package/pieces/tutos/tutoSustain.js +107 -0
- package/pieces/tutos/tutoSustain.xml +109 -0
- package/pieces/tutos/tutoTank.csv +9 -0
- package/pieces/tutos/tutoTank.js +100 -0
- package/pieces/tutos/tutoTank.xml +326 -0
- package/pieces/tutos/tutoTestAll.csv +11 -0
- package/pieces/tutos/tutoTestAll.js +101 -0
- package/pieces/tutos/tutoTestAll.xml +859 -0
- package/serveur/skiniParametres.js +104 -11
- package/blocklySkini/archive/blocklyControleur.js +0 -87
- package/blocklySkini/archive/blocklySkini.js +0 -84
- package/blocklySkini/archive/blocklyhop.js +0 -75
- package/blocklySkini/archive/clientControleurBlocly.js +0 -170
- package/blocklySkini/archive/index.html +0 -76
- package/blocklySkini/archive/testHHsuspend.txt +0 -89
- package/blocklySkini/archive/testHHtrap.txt +0 -262
- package/blocklySkini/archive/testOrchestration.txt +0 -177
- package/blocklySkini/archive/testOrchestration.xml +0 -447
- package/blocklySkini/archive/testOrchestration2.xml +0 -456
- package/blocklySkini/scripts/hiphop_blocks.old.js +0 -3010
- package/blocklySkini/scripts/hiphop_blocks11-2025.js +0 -6104
- package/myReact/archive/Nodeemitvaluedlocal1.hh.js +0 -52
- package/myReact/archive/abort-parNode.js +0 -79
- package/myReact/archive/abroNode.js +0 -169
- package/myReact/archive/abroNode2.js +0 -80
- package/myReact/archive/atom.compile.hh.js +0 -52
- package/myReact/archive/await-countNode.js +0 -67
- package/myReact/archive/await-nowvalNode.js +0 -44
- package/myReact/archive/callHH.js +0 -96
- package/myReact/archive/emit-if2.hh.compiled.js +0 -113
- package/myReact/archive/every1Node.js +0 -35
- package/myReact/archive/if-runNode.js +0 -74
- package/myReact/archive/if1Node.js +0 -43
- package/myReact/archive/makeawait.js +0 -0
- package/myReact/archive/myReact.old.js +0 -684
- package/myReact/archive/orchestration.js +0 -281
- package/myReact/archive/orchestration1.js +0 -132
- package/myReact/archive/orchestration1.xml +0 -465
- package/myReact/archive/orchestration2.js +0 -161
- package/myReact/archive/orchestrationHH.mano.js +0 -280
- package/myReact/archive/orchestrationHHTest.js +0 -428
- package/myReact/archive/orchestrationHHTest.xml +0 -234
- package/myReact/archive/orchestrationHHTestRun.js +0 -104
- package/myReact/archive/orchestrationHHTestRun.xml +0 -34
- package/myReact/archive/orchestrationTest0.js +0 -178
- package/myReact/archive/orchestrationTest1.js +0 -181
- package/myReact/archive/orchestrationTest2.js +0 -281
- package/myReact/archive/run3pointsNode.js +0 -59
- package/myReact/archive/runNode.js +0 -123
- package/myReact/archive/runNode2.js +0 -91
- package/myReact/archive/testAwait1.js +0 -141
- package/myReact/archive/testAwait1.xml +0 -86
- package/myReact/archive/testEvery1.js +0 -122
- package/myReact/archive/testEvery1.xml +0 -79
- package/myReact/archive/testHH1.js +0 -135
- package/myReact/archive/testHH1.xml +0 -86
- package/myReact/archive/testHH1revu.js +0 -104
- package/myReact/archive/testHH2.js +0 -122
- package/myReact/archive/testHH2.xml +0 -79
- package/myReact/archive/testHH3.js +0 -130
- package/myReact/archive/testHH3.xml +0 -86
- package/myReact/archive/testHHabort.js +0 -121
- package/myReact/archive/testHHabort.xml +0 -83
- package/myReact/archive/testMakeawait.js +0 -202
- package/myReact/archive/testRun1.js +0 -168
- package/myReact/archive/testRun1.xml +0 -142
- package/myReact/archive/titi.js +0 -28
- package/myReact/archive/titi.xml +0 -110
- package/myReact/archive/toto.js +0 -73
- package/myReact/archive/toto.xml +0 -198
- package/myReact/archive/trap-await-parallelNode.js +0 -123
- package/myReact/inutiles/hiver2022.xml +0 -804
- package/myReact/inutiles/hopeNode.xml +0 -459
- package/myReact/inutiles/mars2022.xml +0 -871
- package/myReact/inutiles/mystique1.xml +0 -318
- package/myReact/inutiles/mystiqueOSC.xml +0 -277
- package/myReact/inutiles/opus5Node.xml +0 -1271
- package/myReact/inutiles/opus5NodeLinux.xml +0 -1241
- package/myReact/inutiles/orchestrationHH.xml +0 -541
- package/myReact/inutiles/orchestrationHH2.xml +0 -547
- package/myReact/inutiles/testHH.xml +0 -95
- package/myReact/inutiles/trouveLaPercuTenor.xml +0 -349
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict"
|
|
2
|
+
|
|
3
|
+
// Default parameter file
|
|
4
|
+
|
|
5
|
+
// A utiliser si Processing en passerelle
|
|
6
|
+
exports.busMidiDAW = 1;
|
|
7
|
+
|
|
8
|
+
//exports.sessionPath = "./pieces/";
|
|
9
|
+
exports.piecePath = "./pieces/";
|
|
10
|
+
|
|
11
|
+
// Piece Bitwig en OSC si la paramètre est false
|
|
12
|
+
// Sinon Skini parle MIDI
|
|
13
|
+
exports.directMidiON = true;
|
|
14
|
+
|
|
15
|
+
// Pour charger les fonctions et modules de scenes de type GOLEM
|
|
16
|
+
exports.scenesON = false;
|
|
17
|
+
|
|
18
|
+
exports.english = true;
|
|
19
|
+
|
|
20
|
+
/***********************************
|
|
21
|
+
Paramètres du simulateur
|
|
22
|
+
Si ces valeurs ne sont pas données c'est celle qui
|
|
23
|
+
sont dans le simulateur qui sont utilisées
|
|
24
|
+
************************************/
|
|
25
|
+
exports.tempoMax = 500; // En ms
|
|
26
|
+
exports.tempoMin = 500; // En ms
|
|
27
|
+
exports.limiteDureeAttente = 33; // En pulsations
|
|
28
|
+
|
|
29
|
+
/********************************************************
|
|
30
|
+
|
|
31
|
+
AUTOMATE
|
|
32
|
+
|
|
33
|
+
*********************************************************/
|
|
34
|
+
// Pour un automate conforme à un rechargement selon les déclarations de module HipHop
|
|
35
|
+
exports.reactOnPlay = false;
|
|
36
|
+
|
|
37
|
+
/*************************************
|
|
38
|
+
CHEMIN DES FICHIERS SONS MP3 pour les clients
|
|
39
|
+
Le choix se fait sur le client en fonction d'abletonON donc
|
|
40
|
+
de la pièce choisie dans la contrôleur.
|
|
41
|
+
Nom du sous répartoire ./sounds/xxxx
|
|
42
|
+
*************************************/
|
|
43
|
+
exports.soundFilesPath1 = "";
|
|
44
|
+
|
|
45
|
+
/***************************************
|
|
46
|
+
CHEMIN DES PARTITIONS DES PATTERNS ET CONFIG AVEC MUSICIENS
|
|
47
|
+
****************************************/
|
|
48
|
+
exports.avecMusicien = false; // Pour mettre en place les spécificités au jeu avec des musiciens.
|
|
49
|
+
exports.decalageFIFOavecMusicien = 4; // Décalage de la FIFO vide avant le premier pattern dans une FIFO.
|
|
50
|
+
exports.patternScorePath1 = "";
|
|
51
|
+
|
|
52
|
+
/****************************************
|
|
53
|
+
ACTIVATION D'ALGORITHME D'ORGANISATION DES FIFOs
|
|
54
|
+
Si 0 ou undefined pas d'algorithme.
|
|
55
|
+
Si 1 algorithme de réorganisation Début, Milieu, Fin, Neutre (DFMN)
|
|
56
|
+
Dans le csv, D -> 1, M -> 2, F->3, N->4 (c'est fixé dans controleAbleton.js)
|
|
57
|
+
Si autre ... à créer...
|
|
58
|
+
ATTENTION: NE JAMAIS UTILISER EN SITUATION D'INTERACTION SI L'ALGORITHME
|
|
59
|
+
PEUT SUPPRIMER DES PATTERNS DES FIFOs
|
|
60
|
+
*****************************************/
|
|
61
|
+
exports.algoGestionFifo = 0;
|
|
62
|
+
exports.shufflePatterns = false;
|
|
63
|
+
/*****************************************************************************
|
|
64
|
+
|
|
65
|
+
Gestion de la Matrice des possibles
|
|
66
|
+
Automate de gestion de la matrice des possibles
|
|
67
|
+
|
|
68
|
+
******************************************************************************/
|
|
69
|
+
exports.nbeDeGroupesClients = 3;
|
|
70
|
+
exports.simulatorInAseperateGroup = false; // Si true, le dernier groupe client est réservé au simulateur.
|
|
71
|
+
|
|
72
|
+
// Pour un contrôle des Raspberries
|
|
73
|
+
exports.useRaspberries = false;
|
|
74
|
+
exports.playBufferMessage = 'test';
|
|
75
|
+
exports.raspOSCPort = 4000;
|
|
76
|
+
|
|
77
|
+
function setnbeDeGroupesClients(num) {
|
|
78
|
+
this.nbeDeGroupesClients = num;
|
|
79
|
+
}
|
|
80
|
+
exports.setnbeDeGroupesClients = setnbeDeGroupesClients;
|
|
81
|
+
|
|
82
|
+
// La synchro Midi, Link. Synchro Bitwig OSC par défaut si Midi et Link false.
|
|
83
|
+
exports.synchoOnMidiClock = false;
|
|
84
|
+
exports.synchroLink = true;
|
|
85
|
+
exports.synchroSkini = false;
|
|
86
|
+
exports.timer = 500; // Pour une tempo de 110
|
|
87
|
+
|
|
88
|
+
const bleu = "#008CBA";
|
|
89
|
+
const rouge = '#CF1919';
|
|
90
|
+
const vert = "#4CAF50";
|
|
91
|
+
const marron = '#666633';
|
|
92
|
+
const violet = '#797bbf';
|
|
93
|
+
const orange = '#b3712d';
|
|
94
|
+
const rose = '#E0095F';
|
|
95
|
+
const gris = '#5F6262';
|
|
96
|
+
const ocre = '#BCA104';
|
|
97
|
+
const terre = '#A76611';
|
|
98
|
+
const grisvert = '#039879';
|
|
99
|
+
const grisbleu = '#315A93';
|
|
100
|
+
|
|
101
|
+
var groupesDesSons = [
|
|
102
|
+
// Pour group: nom du groupe (0), index du groupe (1), type (2), x(3), y(4), nbe d'éléments(5), color(6), prédécesseurs(7), n° de scène graphique
|
|
103
|
+
];
|
|
104
|
+
exports.groupesDesSons = groupesDesSons;
|
|
105
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
<xml xmlns="https://developers.google.com/blockly/xml">
|
|
2
|
+
<variables>
|
|
3
|
+
<variable id="bas0g%N;lHt[G$*{$R9A">myTrap</variable>
|
|
4
|
+
<variable id="v/G885K)-!Ncv)7oc7@Z">tick</variable>
|
|
5
|
+
</variables>
|
|
6
|
+
<block type="hh_ORCHESTRATION" id="a-M{,,Z8QBPD6S|y-Hm7" x="204" y="75">
|
|
7
|
+
<statement name="BODY">
|
|
8
|
+
<block type="hh_trap" id="KLrXdAAx_fonfz(S=vt#">
|
|
9
|
+
<value name="TRAP">
|
|
10
|
+
<block type="variables_get" id="8Eg_kX7Bz^Dc.;^,adMx">
|
|
11
|
+
<field name="VAR" id="bas0g%N;lHt[G$*{$R9A">myTrap</field>
|
|
12
|
+
</block>
|
|
13
|
+
</value>
|
|
14
|
+
<statement name="BODY">
|
|
15
|
+
<block type="hh_fork" id="u+p.Mbz$%hRW]%BLB#Dd">
|
|
16
|
+
<statement name="BODY">
|
|
17
|
+
<block type="hh_every" id="YGBU^1;RapL3Px?5YF|n">
|
|
18
|
+
<field name="TIMES">1</field>
|
|
19
|
+
<value name="SIGNAL">
|
|
20
|
+
<block type="variables_get" id="9(aL57xd}3nLP8s;Fq#o">
|
|
21
|
+
<field name="VAR" id="v/G885K)-!Ncv)7oc7@Z">tick</field>
|
|
22
|
+
</block>
|
|
23
|
+
</value>
|
|
24
|
+
<statement name="BODY">
|
|
25
|
+
<block type="hh_print_serveur" id="JTODDS1wfa9:v^5`UnIw">
|
|
26
|
+
<value name="TEXT">
|
|
27
|
+
<block type="text" id="MCJX(l1=~vU14+IlcDYQ">
|
|
28
|
+
<field name="TEXT">foo</field>
|
|
29
|
+
</block>
|
|
30
|
+
</value>
|
|
31
|
+
</block>
|
|
32
|
+
</statement>
|
|
33
|
+
</block>
|
|
34
|
+
</statement>
|
|
35
|
+
<next>
|
|
36
|
+
<block type="hh_par" id="vno{b]+Q]-wE@H+=}.Xd">
|
|
37
|
+
<statement name="BODY">
|
|
38
|
+
<block type="hh_sequence" id="`S=?;U!1T[#FEn,9a7vX">
|
|
39
|
+
<statement name="BODY">
|
|
40
|
+
<block type="hh_wait_for" id="JUd%en=HZ5duFj`Vnu!(">
|
|
41
|
+
<field name="TIMES">4</field>
|
|
42
|
+
<value name="SIGNAL">
|
|
43
|
+
<block type="variables_get" id="}5.Z/6qA:]W;7+r{QRXn">
|
|
44
|
+
<field name="VAR" id="v/G885K)-!Ncv)7oc7@Z">tick</field>
|
|
45
|
+
</block>
|
|
46
|
+
</value>
|
|
47
|
+
<next>
|
|
48
|
+
<block type="hh_print_serveur" id="9IqWpFZ^Rx#b(Hz#f@jl">
|
|
49
|
+
<value name="TEXT">
|
|
50
|
+
<block type="text" id="uVb(s|RtbQYy,nK7`f-]">
|
|
51
|
+
<field name="TEXT">Break the trap</field>
|
|
52
|
+
</block>
|
|
53
|
+
</value>
|
|
54
|
+
<next>
|
|
55
|
+
<block type="hh_break" id="Zp%8.kbKwU1dJG]uhr;/">
|
|
56
|
+
<value name="TRAP">
|
|
57
|
+
<block type="variables_get" id="Dq+L{bQMXRndpuUO)$j[">
|
|
58
|
+
<field name="VAR" id="bas0g%N;lHt[G$*{$R9A">myTrap</field>
|
|
59
|
+
</block>
|
|
60
|
+
</value>
|
|
61
|
+
</block>
|
|
62
|
+
</next>
|
|
63
|
+
</block>
|
|
64
|
+
</next>
|
|
65
|
+
</block>
|
|
66
|
+
</statement>
|
|
67
|
+
</block>
|
|
68
|
+
</statement>
|
|
69
|
+
</block>
|
|
70
|
+
</next>
|
|
71
|
+
</block>
|
|
72
|
+
</statement>
|
|
73
|
+
</block>
|
|
74
|
+
</statement>
|
|
75
|
+
</block>
|
|
76
|
+
</xml>
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
|
|
2
|
+
// Generated by Skini: Mon Dec 15 2025 12:09:28 GMT+0100 (heure normale d’Europe centrale)
|
|
3
|
+
"use strict"
|
|
4
|
+
|
|
5
|
+
// Indexation des bus Midi pour OSCmidi. A utiliser si Processing en passerelle
|
|
6
|
+
// Il s'agit de l'index correspondant à l'élément du tableau midiConfig.json
|
|
7
|
+
// qui crée le bus midi pour ces commandes.
|
|
8
|
+
// var midiConfig = require("../serveur/midiConfig.json");
|
|
9
|
+
// var countBusOUT = 0;
|
|
10
|
+
// for (var i = 0; i < midiConfig.length; i++) {
|
|
11
|
+
// if (midiConfig[i].type === "OUT") {
|
|
12
|
+
// if (midiConfig[i].spec === "clipToDAW") {
|
|
13
|
+
// exports.busMidiDAW = countBusOUT;
|
|
14
|
+
// }
|
|
15
|
+
// countBusOUT++;
|
|
16
|
+
// }
|
|
17
|
+
// }
|
|
18
|
+
|
|
19
|
+
// A utiliser si Processing en passerelle
|
|
20
|
+
exports.busMidiDAW = 1;
|
|
21
|
+
|
|
22
|
+
// Piece en OSC si la paramètre est false
|
|
23
|
+
// Sinon Skini parle MIDI
|
|
24
|
+
exports.directMidiON = true;
|
|
25
|
+
|
|
26
|
+
// Pour charger les fonctions et modules de scenes de type GOLEM
|
|
27
|
+
exports.scenesON = false;
|
|
28
|
+
|
|
29
|
+
exports.english = true;
|
|
30
|
+
|
|
31
|
+
/***********************************
|
|
32
|
+
Paramètres du simulateur
|
|
33
|
+
Si ces valeurs ne sont pas données c'est celle qui
|
|
34
|
+
sont dans le simulateur qui sont utilisées
|
|
35
|
+
************************************/
|
|
36
|
+
exports.tempoMax = 500; // En ms
|
|
37
|
+
exports.tempoMin = 500; // En ms
|
|
38
|
+
exports.limiteDureeAttente = 33; // En pulsations
|
|
39
|
+
|
|
40
|
+
/********************************************************
|
|
41
|
+
AUTOMATE
|
|
42
|
+
*********************************************************/
|
|
43
|
+
// Pour un automate conforme à un rechargement selon les déclarations de module HipHop
|
|
44
|
+
exports.reactOnPlay = false;
|
|
45
|
+
|
|
46
|
+
// Pour une réaction à chaque pulsation
|
|
47
|
+
exports.pulsationON = false;
|
|
48
|
+
|
|
49
|
+
/*************************************
|
|
50
|
+
CHEMIN DES FICHIERS SONS MP3 pour les clients
|
|
51
|
+
Nom du sous répartoire ./sounds/xxxx
|
|
52
|
+
*************************************/
|
|
53
|
+
exports.soundFilesPath1 = "";
|
|
54
|
+
|
|
55
|
+
/***************************************
|
|
56
|
+
CHEMIN DES PARTITIONS DES PATTERNS ET CONFIG AVEC MUSICIENS
|
|
57
|
+
****************************************/
|
|
58
|
+
exports.avecMusicien = false; // Pour mettre en place les spécificités au jeu avec des musiciens.
|
|
59
|
+
exports.decalageFIFOavecMusicien = 4; // Décalage de la FIFO vide avant le premier pattern dans une FIFO.
|
|
60
|
+
exports.patternScorePath1 ="";
|
|
61
|
+
|
|
62
|
+
/****************************************
|
|
63
|
+
ACTIVATION D'ALGORITHME D'ORGANISATION DES FIFOs
|
|
64
|
+
Si 0 ou undefined pas d'algorithme.
|
|
65
|
+
Si 1 algorithme de réorganisation Début, Milieu, Fin, Neutre (DFMN)
|
|
66
|
+
Dans le csv, D -> 1, M -> 2, F->3, N->4 (c'est fixé dans controleAbleton.js)
|
|
67
|
+
Si autre ... à créer...
|
|
68
|
+
ATTENTION: NE JAMAIS UTILISER EN SITUATION D'INTERACTION SI L'ALGORITHME
|
|
69
|
+
PEUT SUPPRIMER DES PATTERNS DES FIFOs
|
|
70
|
+
*****************************************/
|
|
71
|
+
exports.algoGestionFifo = 0;
|
|
72
|
+
exports.shufflePatterns = false;
|
|
73
|
+
/*****************************************************************************
|
|
74
|
+
|
|
75
|
+
Gestion de la Matrice des possibles
|
|
76
|
+
Automate de gestion de la matrice des possibles
|
|
77
|
+
|
|
78
|
+
******************************************************************************/
|
|
79
|
+
exports.nbeDeGroupesClients = 3;
|
|
80
|
+
|
|
81
|
+
function setnbeDeGroupesClients(num) {
|
|
82
|
+
this.nbeDeGroupesClients = num;
|
|
83
|
+
}
|
|
84
|
+
exports.setnbeDeGroupesClients = setnbeDeGroupesClients;
|
|
85
|
+
|
|
86
|
+
exports.simulatorInAseperateGroup = false; // Si true, le dernier groupe client est réservé au simulateur.
|
|
87
|
+
|
|
88
|
+
// Pour un contrôle des Raspberries
|
|
89
|
+
exports.useRaspberries = false;
|
|
90
|
+
exports.playBufferMessage = "test";
|
|
91
|
+
exports.raspOSCPort = 4000;
|
|
92
|
+
|
|
93
|
+
// La synchro Midi, Link. Synchro Bitwig OSC par défaut si Midi et Link false.
|
|
94
|
+
exports.synchoOnMidiClock = false;
|
|
95
|
+
exports.synchroLink = true;
|
|
96
|
+
exports.synchroSkini = false;
|
|
97
|
+
exports.timer = 500;
|
|
98
|
+
exports.gameOSCSignals = false;
|
|
99
|
+
|
|
100
|
+
exports.sensorOSC = false;
|
|
101
|
+
exports.tempoSensorsInit = [0,0,0,0,0,0,0,0,0,0,0,0];
|
|
102
|
+
exports.sensorsSensibilities = [0,0,0,0,0,0,0,0,0,0,0,0];
|
|
103
|
+
|
|
104
|
+
const groupesDesSons = [
|
|
105
|
+
[ "toto",1, "group",100,200,2,"",[],1 ],
|
|
106
|
+
];
|
|
107
|
+
exports.groupesDesSons = groupesDesSons;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
<xml xmlns="https://developers.google.com/blockly/xml">
|
|
2
|
+
<variables>
|
|
3
|
+
<variable id="NZckNgPsUGPF`[)1?]MJ">myModule</variable>
|
|
4
|
+
<variable id="#}3K=pkBW|;;f(^-*]WW">foo</variable>
|
|
5
|
+
<variable id="v/G885K)-!Ncv)7oc7@Z">tick</variable>
|
|
6
|
+
</variables>
|
|
7
|
+
<block type="hh_ORCHESTRATION" id="a-M{,,Z8QBPD6S|y-Hm7" x="204" y="75">
|
|
8
|
+
<statement name="MODULES">
|
|
9
|
+
<block type="hh_module" id="JU?FUJVF|`*Uy~s:f_ZY">
|
|
10
|
+
<value name="NAME">
|
|
11
|
+
<block type="variables_get" id="d^wx+y4BY#6$}we2K3F+">
|
|
12
|
+
<field name="VAR" id="NZckNgPsUGPF`[)1?]MJ">myModule</field>
|
|
13
|
+
</block>
|
|
14
|
+
</value>
|
|
15
|
+
<statement name="SIGNALS">
|
|
16
|
+
<block type="hh_declare_signal" id=")K/(h*S}$t#=$;=?k)%;">
|
|
17
|
+
<field name="TYPE">inout</field>
|
|
18
|
+
<value name="signal">
|
|
19
|
+
<block type="variables_get" id="3}I`Z,1Odn7qoiN7+t%3">
|
|
20
|
+
<field name="VAR" id="#}3K=pkBW|;;f(^-*]WW">foo</field>
|
|
21
|
+
</block>
|
|
22
|
+
</value>
|
|
23
|
+
</block>
|
|
24
|
+
</statement>
|
|
25
|
+
<statement name="BODY">
|
|
26
|
+
<block type="hh_wait_for_immediate" id="EnQ:3s{#z#}z|e=gUeTR">
|
|
27
|
+
<value name="SIGNAL">
|
|
28
|
+
<block type="variables_get" id="INkP0!4gN8KG5[z5{v]/">
|
|
29
|
+
<field name="VAR" id="#}3K=pkBW|;;f(^-*]WW">foo</field>
|
|
30
|
+
</block>
|
|
31
|
+
</value>
|
|
32
|
+
<next>
|
|
33
|
+
<block type="hh_print_serveur" id="ym{L*WsZFzihSJr!$AWJ">
|
|
34
|
+
<value name="TEXT">
|
|
35
|
+
<block type="text" id="MCJX(l1=~vU14+IlcDYQ">
|
|
36
|
+
<field name="TEXT">foo tuto</field>
|
|
37
|
+
</block>
|
|
38
|
+
</value>
|
|
39
|
+
</block>
|
|
40
|
+
</next>
|
|
41
|
+
</block>
|
|
42
|
+
</statement>
|
|
43
|
+
</block>
|
|
44
|
+
</statement>
|
|
45
|
+
<statement name="SIGNALS">
|
|
46
|
+
<block type="hh_declare_signal" id=")ZJ/R2WEsW4@$b0dTo{b">
|
|
47
|
+
<field name="TYPE">inout</field>
|
|
48
|
+
<value name="signal">
|
|
49
|
+
<block type="variables_get" id=";E[L7^*7o5ff;$t8ykmM">
|
|
50
|
+
<field name="VAR" id="#}3K=pkBW|;;f(^-*]WW">foo</field>
|
|
51
|
+
</block>
|
|
52
|
+
</value>
|
|
53
|
+
</block>
|
|
54
|
+
</statement>
|
|
55
|
+
<statement name="BODY">
|
|
56
|
+
<block type="hh_loopeach" id="%J`/$#=im`+_J|,,7NzX">
|
|
57
|
+
<field name="TIMES">4</field>
|
|
58
|
+
<value name="SIGNAL">
|
|
59
|
+
<block type="variables_get" id="sE_7x7)oOz+sL$hk%/Gl">
|
|
60
|
+
<field name="VAR" id="v/G885K)-!Ncv)7oc7@Z">tick</field>
|
|
61
|
+
</block>
|
|
62
|
+
</value>
|
|
63
|
+
<statement name="BODY">
|
|
64
|
+
<block type="hh_emit_value" id="c.@WrIOZ|fA=4L8~NqY+">
|
|
65
|
+
<field name="Signal_Value">0</field>
|
|
66
|
+
<value name="SIGNAL">
|
|
67
|
+
<block type="variables_get" id="uXM[aL7um2nCPNZZ(-XJ">
|
|
68
|
+
<field name="VAR" id="#}3K=pkBW|;;f(^-*]WW">foo</field>
|
|
69
|
+
</block>
|
|
70
|
+
</value>
|
|
71
|
+
<next>
|
|
72
|
+
<block type="hh_run" id="j/9gzi6yztJ,Z=QAC^pG">
|
|
73
|
+
<value name="MODULE">
|
|
74
|
+
<block type="variables_get" id="27)OA_B=2%SSBEWrOT_?">
|
|
75
|
+
<field name="VAR" id="NZckNgPsUGPF`[)1?]MJ">myModule</field>
|
|
76
|
+
</block>
|
|
77
|
+
</value>
|
|
78
|
+
<value name="SIGNALS">
|
|
79
|
+
<block type="variables_get" id="Ovd@d^p0pg0PS.KvUMN[">
|
|
80
|
+
<field name="VAR" id="#}3K=pkBW|;;f(^-*]WW">foo</field>
|
|
81
|
+
</block>
|
|
82
|
+
</value>
|
|
83
|
+
</block>
|
|
84
|
+
</next>
|
|
85
|
+
</block>
|
|
86
|
+
</statement>
|
|
87
|
+
</block>
|
|
88
|
+
</statement>
|
|
89
|
+
</block>
|
|
90
|
+
</xml>
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
|
|
2
|
+
// Generated by Skini: Thu Dec 18 2025 09:07:20 GMT+0100 (heure normale d’Europe centrale)
|
|
3
|
+
"use strict"
|
|
4
|
+
|
|
5
|
+
// Indexation des bus Midi pour OSCmidi. A utiliser si Processing en passerelle
|
|
6
|
+
// Il s'agit de l'index correspondant à l'élément du tableau midiConfig.json
|
|
7
|
+
// qui crée le bus midi pour ces commandes.
|
|
8
|
+
// var midiConfig = require("../serveur/midiConfig.json");
|
|
9
|
+
// var countBusOUT = 0;
|
|
10
|
+
// for (var i = 0; i < midiConfig.length; i++) {
|
|
11
|
+
// if (midiConfig[i].type === "OUT") {
|
|
12
|
+
// if (midiConfig[i].spec === "clipToDAW") {
|
|
13
|
+
// exports.busMidiDAW = countBusOUT;
|
|
14
|
+
// }
|
|
15
|
+
// countBusOUT++;
|
|
16
|
+
// }
|
|
17
|
+
// }
|
|
18
|
+
|
|
19
|
+
// A utiliser si Processing en passerelle
|
|
20
|
+
exports.busMidiDAW = 1;
|
|
21
|
+
|
|
22
|
+
// Piece en OSC si la paramètre est false
|
|
23
|
+
// Sinon Skini parle MIDI
|
|
24
|
+
exports.directMidiON = true;
|
|
25
|
+
|
|
26
|
+
// Pour charger les fonctions et modules de scenes de type GOLEM
|
|
27
|
+
exports.scenesON = false;
|
|
28
|
+
|
|
29
|
+
exports.english = true;
|
|
30
|
+
|
|
31
|
+
/***********************************
|
|
32
|
+
Paramètres du simulateur
|
|
33
|
+
Si ces valeurs ne sont pas données c'est celle qui
|
|
34
|
+
sont dans le simulateur qui sont utilisées
|
|
35
|
+
************************************/
|
|
36
|
+
exports.tempoMax = 500; // En ms
|
|
37
|
+
exports.tempoMin = 400; // En ms
|
|
38
|
+
exports.limiteDureeAttente = 33; // En pulsations
|
|
39
|
+
|
|
40
|
+
/********************************************************
|
|
41
|
+
AUTOMATE
|
|
42
|
+
*********************************************************/
|
|
43
|
+
// Pour un automate conforme à un rechargement selon les déclarations de module HipHop
|
|
44
|
+
exports.reactOnPlay = false;
|
|
45
|
+
|
|
46
|
+
// Pour une réaction à chaque pulsation
|
|
47
|
+
exports.pulsationON = false;
|
|
48
|
+
|
|
49
|
+
/*************************************
|
|
50
|
+
CHEMIN DES FICHIERS SONS MP3 pour les clients
|
|
51
|
+
Nom du sous répartoire ./sounds/xxxx
|
|
52
|
+
*************************************/
|
|
53
|
+
exports.soundFilesPath1 = "";
|
|
54
|
+
|
|
55
|
+
/***************************************
|
|
56
|
+
CHEMIN DES PARTITIONS DES PATTERNS ET CONFIG AVEC MUSICIENS
|
|
57
|
+
****************************************/
|
|
58
|
+
exports.avecMusicien = false; // Pour mettre en place les spécificités au jeu avec des musiciens.
|
|
59
|
+
exports.decalageFIFOavecMusicien = 4; // Décalage de la FIFO vide avant le premier pattern dans une FIFO.
|
|
60
|
+
exports.patternScorePath1 ="";
|
|
61
|
+
|
|
62
|
+
/****************************************
|
|
63
|
+
ACTIVATION D'ALGORITHME D'ORGANISATION DES FIFOs
|
|
64
|
+
Si 0 ou undefined pas d'algorithme.
|
|
65
|
+
Si 1 algorithme de réorganisation Début, Milieu, Fin, Neutre (DFMN)
|
|
66
|
+
Dans le csv, D -> 1, M -> 2, F->3, N->4 (c'est fixé dans controleAbleton.js)
|
|
67
|
+
Si autre ... à créer...
|
|
68
|
+
ATTENTION: NE JAMAIS UTILISER EN SITUATION D'INTERACTION SI L'ALGORITHME
|
|
69
|
+
PEUT SUPPRIMER DES PATTERNS DES FIFOs
|
|
70
|
+
*****************************************/
|
|
71
|
+
exports.algoGestionFifo = 0;
|
|
72
|
+
exports.shufflePatterns = false;
|
|
73
|
+
/*****************************************************************************
|
|
74
|
+
|
|
75
|
+
Gestion de la Matrice des possibles
|
|
76
|
+
Automate de gestion de la matrice des possibles
|
|
77
|
+
|
|
78
|
+
******************************************************************************/
|
|
79
|
+
exports.nbeDeGroupesClients = 3;
|
|
80
|
+
|
|
81
|
+
function setnbeDeGroupesClients(num) {
|
|
82
|
+
this.nbeDeGroupesClients = num;
|
|
83
|
+
}
|
|
84
|
+
exports.setnbeDeGroupesClients = setnbeDeGroupesClients;
|
|
85
|
+
|
|
86
|
+
exports.simulatorInAseperateGroup = false; // Si true, le dernier groupe client est réservé au simulateur.
|
|
87
|
+
|
|
88
|
+
// Pour un contrôle des Raspberries
|
|
89
|
+
exports.useRaspberries = false;
|
|
90
|
+
exports.playBufferMessage = "test";
|
|
91
|
+
exports.raspOSCPort = 4000;
|
|
92
|
+
|
|
93
|
+
// La synchro Midi, Link. Synchro Bitwig OSC par défaut si Midi et Link false.
|
|
94
|
+
exports.synchoOnMidiClock = false;
|
|
95
|
+
exports.synchroLink = true;
|
|
96
|
+
exports.synchroSkini = false;
|
|
97
|
+
exports.timer = 500;
|
|
98
|
+
exports.gameOSCSignals = false;
|
|
99
|
+
|
|
100
|
+
exports.sensorOSC = false;
|
|
101
|
+
exports.tempoSensorsInit = [0,0,0,0,0,0,0,0,0,0,0,0];
|
|
102
|
+
exports.sensorsSensibilities = [5,5,5,5,5,5,5,5,5,5,5,5];
|
|
103
|
+
|
|
104
|
+
const groupesDesSons = [
|
|
105
|
+
[ "groupe0",0, "group",100,100,20,"#5F6262",[],1 ],
|
|
106
|
+
[ "groupe1",1, "group",200,200,20,"#5F6262",[],1 ],
|
|
107
|
+
[ "groupe2",2, "group",300,300,20,"#5F6262",[],1 ],
|
|
108
|
+
[ "groupe3",3, "group",100,400,20,"#5F6262",[],1 ],
|
|
109
|
+
[ "groupe4",4, "group",100,500,20,"#5F6262",[],1 ],
|
|
110
|
+
];
|
|
111
|
+
exports.groupesDesSons = groupesDesSons;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
<xml xmlns="https://developers.google.com/blockly/xml">
|
|
2
|
+
<variables>
|
|
3
|
+
<variable id="s${ep-?H7|lVi1|X{*#W">foo</variable>
|
|
4
|
+
<variable id="$FMJ]Fc^$N=ZL$NSL+;r">bar</variable>
|
|
5
|
+
<variable id="-wovtd|3i+qZb$B+)J*`">groupe4</variable>
|
|
6
|
+
<variable id="x8|omDav4DL{,3uj4qt(">tick</variable>
|
|
7
|
+
</variables>
|
|
8
|
+
<block type="hh_ORCHESTRATION" id="a-M{,,Z8QBPD6S|y-Hm7" x="101" y="65">
|
|
9
|
+
<comment pinned="true" h="80" w="160">avec demoAbleton.als dans Live</comment>
|
|
10
|
+
<statement name="SIGNALS">
|
|
11
|
+
<block type="hh_declare_signal" id="2{I~,=oR`tdBVYPno:+|">
|
|
12
|
+
<field name="TYPE">inout</field>
|
|
13
|
+
<value name="signal">
|
|
14
|
+
<block type="variables_get" id="K{$fPb8LZ.cd)C^APoz=">
|
|
15
|
+
<field name="VAR" id="s${ep-?H7|lVi1|X{*#W">foo</field>
|
|
16
|
+
</block>
|
|
17
|
+
</value>
|
|
18
|
+
<next>
|
|
19
|
+
<block type="hh_declare_signal" id=",xLY0)^Y^;wL9PF|H$8?">
|
|
20
|
+
<field name="TYPE">inout</field>
|
|
21
|
+
<value name="signal">
|
|
22
|
+
<block type="variables_get" id="!J,wX;Z`yYuRy+A5LXPd">
|
|
23
|
+
<field name="VAR" id="$FMJ]Fc^$N=ZL$NSL+;r">bar</field>
|
|
24
|
+
</block>
|
|
25
|
+
</value>
|
|
26
|
+
</block>
|
|
27
|
+
</next>
|
|
28
|
+
</block>
|
|
29
|
+
</statement>
|
|
30
|
+
<statement name="BODY">
|
|
31
|
+
<block type="addSceneScore" id="0v.GvC^qK/hRqEAKF+_|">
|
|
32
|
+
<field name="number">1</field>
|
|
33
|
+
<next>
|
|
34
|
+
<block type="hh_sequence" id="UDYo0:}@qC0KBDcyVLAC" disabled="true">
|
|
35
|
+
<statement name="BODY">
|
|
36
|
+
<block type="set_group" id="TOXyS(+-rfiMkq1tXd%1">
|
|
37
|
+
<field name="groupe">255</field>
|
|
38
|
+
<value name="GROUPS">
|
|
39
|
+
<block type="variables_get" id="[*{I(=*(Uu.n6n`vgo=t">
|
|
40
|
+
<field name="VAR" id="-wovtd|3i+qZb$B+)J*`">groupe4</field>
|
|
41
|
+
</block>
|
|
42
|
+
</value>
|
|
43
|
+
<next>
|
|
44
|
+
<block type="await_pattern" id="H5?b#FXm/q`-9;.l_;)T">
|
|
45
|
+
<value name="message">
|
|
46
|
+
<block type="text" id="Jd:@c1SVMA878`t~0)/%">
|
|
47
|
+
<field name="TEXT">Loop3</field>
|
|
48
|
+
</block>
|
|
49
|
+
</value>
|
|
50
|
+
<next>
|
|
51
|
+
<block type="alertInfoScoreON" id="}Jv?{Lx2W[94~V;/Ctvh">
|
|
52
|
+
<value name="message">
|
|
53
|
+
<block type="text" id="kii07qpB1SQIvKu;7VFc">
|
|
54
|
+
<field name="TEXT">Loop3</field>
|
|
55
|
+
</block>
|
|
56
|
+
</value>
|
|
57
|
+
<next>
|
|
58
|
+
<block type="hh_wait_for" id="FYb5C3vEK}|wU9Lo[vST">
|
|
59
|
+
<field name="TIMES">5</field>
|
|
60
|
+
<value name="SIGNAL">
|
|
61
|
+
<block type="variables_get" id="~`kJAe)A7]/e~jVJ]rdY">
|
|
62
|
+
<field name="VAR" id="x8|omDav4DL{,3uj4qt(">tick</field>
|
|
63
|
+
</block>
|
|
64
|
+
</value>
|
|
65
|
+
<next>
|
|
66
|
+
<block type="alertInfoScoreOFF" id="jwarLRi8PW+3K].p)1SW">
|
|
67
|
+
<next>
|
|
68
|
+
<block type="unset_group" id="`d?Pt1Xo5mA712T4Gul?">
|
|
69
|
+
<field name="groupe">255</field>
|
|
70
|
+
<value name="GROUPS">
|
|
71
|
+
<block type="variables_get" id="iJ;#rGwK;a=_[S-u[MY]">
|
|
72
|
+
<field name="VAR" id="-wovtd|3i+qZb$B+)J*`">groupe4</field>
|
|
73
|
+
</block>
|
|
74
|
+
</value>
|
|
75
|
+
</block>
|
|
76
|
+
</next>
|
|
77
|
+
</block>
|
|
78
|
+
</next>
|
|
79
|
+
</block>
|
|
80
|
+
</next>
|
|
81
|
+
</block>
|
|
82
|
+
</next>
|
|
83
|
+
</block>
|
|
84
|
+
</next>
|
|
85
|
+
</block>
|
|
86
|
+
</statement>
|
|
87
|
+
<next>
|
|
88
|
+
<block type="hh_sequence" id="*mj?/XO0#JdmE7;p)p1P">
|
|
89
|
+
<statement name="BODY">
|
|
90
|
+
<block type="hh_fork" id="C/7Dkf?B=,NH/+lz/qI/">
|
|
91
|
+
<statement name="BODY">
|
|
92
|
+
<block type="alertInfoScoreON" id="SJSQ5BicWmdkfYb_P/^O">
|
|
93
|
+
<value name="message">
|
|
94
|
+
<block type="text" id="yoLGI2RyR2hVZe*~oVl{">
|
|
95
|
+
<field name="TEXT">Debut</field>
|
|
96
|
+
</block>
|
|
97
|
+
</value>
|
|
98
|
+
<next>
|
|
99
|
+
<block type="hh_wait_for" id="(3BgYcq;u%TpbdJaA%jP">
|
|
100
|
+
<field name="TIMES">5</field>
|
|
101
|
+
<value name="SIGNAL">
|
|
102
|
+
<block type="variables_get" id="0]ss,/MQ,T+,xro3BT*f">
|
|
103
|
+
<field name="VAR" id="x8|omDav4DL{,3uj4qt(">tick</field>
|
|
104
|
+
</block>
|
|
105
|
+
</value>
|
|
106
|
+
<next>
|
|
107
|
+
<block type="hh_emit_value" id="8$^5)X4qrN*nQ)Q8jT@5">
|
|
108
|
+
<field name="Signal_Value">0</field>
|
|
109
|
+
<value name="SIGNAL">
|
|
110
|
+
<block type="variables_get" id="2UKhVt9bXR;mIx,ko+cb">
|
|
111
|
+
<field name="VAR" id="s${ep-?H7|lVi1|X{*#W">foo</field>
|
|
112
|
+
</block>
|
|
113
|
+
</value>
|
|
114
|
+
</block>
|
|
115
|
+
</next>
|
|
116
|
+
</block>
|
|
117
|
+
</next>
|
|
118
|
+
</block>
|
|
119
|
+
</statement>
|
|
120
|
+
<next>
|
|
121
|
+
<block type="hh_par" id="fir5/n-M}oRM08L*:W96">
|
|
122
|
+
<statement name="BODY">
|
|
123
|
+
<block type="hh_wait_for" id="p9amAaIO2?1b:tAtdd+P">
|
|
124
|
+
<field name="TIMES">1</field>
|
|
125
|
+
<value name="SIGNAL">
|
|
126
|
+
<block type="variables_get" id="IBh#g^BiW}nYPCY==9C4">
|
|
127
|
+
<field name="VAR" id="s${ep-?H7|lVi1|X{*#W">foo</field>
|
|
128
|
+
</block>
|
|
129
|
+
</value>
|
|
130
|
+
<next>
|
|
131
|
+
<block type="hh_if_signal_value" id="RQ%@H}Jd#ezT//~MDEB,">
|
|
132
|
+
<field name="Signal_Value">0</field>
|
|
133
|
+
<value name="SIGNAL">
|
|
134
|
+
<block type="variables_get" id="a`Y@dyI]e`.@d6,kNXQb">
|
|
135
|
+
<field name="VAR" id="s${ep-?H7|lVi1|X{*#W">foo</field>
|
|
136
|
+
</block>
|
|
137
|
+
</value>
|
|
138
|
+
<statement name="BODY">
|
|
139
|
+
<block type="alertInfoScoreON" id="v#xvUSn@UJZxKVWq,(Ex">
|
|
140
|
+
<value name="message">
|
|
141
|
+
<block type="text" id="*VDZDAnMl1Fztl)G+wix">
|
|
142
|
+
<field name="TEXT">FOO</field>
|
|
143
|
+
</block>
|
|
144
|
+
</value>
|
|
145
|
+
<next>
|
|
146
|
+
<block type="hh_print_serveur" id=":?v(!}YENF)n/%`ZrRv)">
|
|
147
|
+
<value name="TEXT">
|
|
148
|
+
<block type="text" id="lOz49pcMjz`@@uKK.cTA">
|
|
149
|
+
<field name="TEXT">FOO</field>
|
|
150
|
+
</block>
|
|
151
|
+
</value>
|
|
152
|
+
</block>
|
|
153
|
+
</next>
|
|
154
|
+
</block>
|
|
155
|
+
</statement>
|
|
156
|
+
</block>
|
|
157
|
+
</next>
|
|
158
|
+
</block>
|
|
159
|
+
</statement>
|
|
160
|
+
</block>
|
|
161
|
+
</next>
|
|
162
|
+
</block>
|
|
163
|
+
</statement>
|
|
164
|
+
</block>
|
|
165
|
+
</next>
|
|
166
|
+
</block>
|
|
167
|
+
</next>
|
|
168
|
+
</block>
|
|
169
|
+
</statement>
|
|
170
|
+
</block>
|
|
171
|
+
</xml>
|