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,111 @@
|
|
|
1
|
+
|
|
2
|
+
// Generated by Skini: Fri Nov 28 2025 16:28:53 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 = [0,0,0,0,0,0,0,0,0,0,0,0];
|
|
103
|
+
|
|
104
|
+
const groupesDesSons = [
|
|
105
|
+
[ "groupe0",0, "group",170,100,20,"#CF1919",[],1 ],
|
|
106
|
+
[ "groupe1",1, "group",20,240,20,"#008CBA",[],1 ],
|
|
107
|
+
[ "groupe2",2, "group",170,580,20,"#4CAF50",[],1 ],
|
|
108
|
+
[ "groupe3",3, "group",350,100,20,"#5F6262",[],1 ],
|
|
109
|
+
[ "groupe4",4, "group",20,380,20,"#797bbf",[],1 ],
|
|
110
|
+
];
|
|
111
|
+
exports.groupesDesSons = groupesDesSons;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
<xml xmlns="https://developers.google.com/blockly/xml">
|
|
2
|
+
<variables>
|
|
3
|
+
<variable id="-aR6/v=)]dKS0SM0G;z5">tick</variable>
|
|
4
|
+
<variable id="0xTjR,ZU%i?HgU/%+Emz">groupe4</variable>
|
|
5
|
+
<variable id="~v-U?0Aw-~LO~K(l}_OK">groupe0</variable>
|
|
6
|
+
<variable id="NRd.r{X8K{5ou;XOjCHf">groupe1</variable>
|
|
7
|
+
<variable id="-V0!mkHZVfLb:/i64^:.">groupe2</variable>
|
|
8
|
+
<variable id="WUT;K|L6]cR}*uBdtP^#">groupe3</variable>
|
|
9
|
+
</variables>
|
|
10
|
+
<block type="hh_ORCHESTRATION" id="M)ZKyxG8S)|LJFqE+^ty" x="78" y="-501">
|
|
11
|
+
<statement name="BODY">
|
|
12
|
+
<block type="set_timer_division" id="q`^q.uCd}W2Y]!1O)7{e">
|
|
13
|
+
<field name="timer">1</field>
|
|
14
|
+
<next>
|
|
15
|
+
<block type="set_tempo" id="lGMuKLb6p#H3,PV:BHn]">
|
|
16
|
+
<field name="tempo">110</field>
|
|
17
|
+
<next>
|
|
18
|
+
<block type="addSceneScore" id="Y8d};Ic6L]3`I5Z6hbvA">
|
|
19
|
+
<field name="number">1</field>
|
|
20
|
+
<next>
|
|
21
|
+
<block type="alertInfoScoreON" id="VzC-LpAcvG[y/_ZQ$KeS">
|
|
22
|
+
<value name="message">
|
|
23
|
+
<block type="text" id="@v8p3}b1Z|z5uDBxeSz0">
|
|
24
|
+
<field name="TEXT">Tuto group 3</field>
|
|
25
|
+
</block>
|
|
26
|
+
</value>
|
|
27
|
+
<next>
|
|
28
|
+
<block type="hh_wait_for" id="*n58ZvJoG9.}_AnW*GkJ">
|
|
29
|
+
<field name="TIMES">3</field>
|
|
30
|
+
<value name="SIGNAL">
|
|
31
|
+
<block type="variables_get" id="jw}z$XQ8p9^UZx};/`DB">
|
|
32
|
+
<field name="VAR" id="-aR6/v=)]dKS0SM0G;z5">tick</field>
|
|
33
|
+
</block>
|
|
34
|
+
</value>
|
|
35
|
+
<next>
|
|
36
|
+
<block type="alertInfoScoreOFF" id="@K1|HI.V7V6rqb1gBE7m">
|
|
37
|
+
<next>
|
|
38
|
+
<block type="set_groups_during_patterns" id="C7FBF5i{Pv6i[#jJdB%%">
|
|
39
|
+
<field name="user_group">255</field>
|
|
40
|
+
<field name="number_of_patterns">4</field>
|
|
41
|
+
<value name="GROUPS">
|
|
42
|
+
<block type="lists_create_with" id="po_Q(Tcnj~JHR(yxfwr6">
|
|
43
|
+
<mutation items="5"></mutation>
|
|
44
|
+
<value name="ADD0">
|
|
45
|
+
<block type="variables_get" id="Qr=FA%f^Zv}JWdqHyAz?">
|
|
46
|
+
<field name="VAR" id="~v-U?0Aw-~LO~K(l}_OK">groupe0</field>
|
|
47
|
+
</block>
|
|
48
|
+
</value>
|
|
49
|
+
<value name="ADD1">
|
|
50
|
+
<block type="variables_get" id="NaZ-c.ESg40W_jbJ()`[">
|
|
51
|
+
<field name="VAR" id="NRd.r{X8K{5ou;XOjCHf">groupe1</field>
|
|
52
|
+
</block>
|
|
53
|
+
</value>
|
|
54
|
+
<value name="ADD2">
|
|
55
|
+
<block type="variables_get" id="HR*kHsmhT#d)dd3cyBep">
|
|
56
|
+
<field name="VAR" id="-V0!mkHZVfLb:/i64^:.">groupe2</field>
|
|
57
|
+
</block>
|
|
58
|
+
</value>
|
|
59
|
+
<value name="ADD3">
|
|
60
|
+
<block type="variables_get" id="ieRILuot6B]`klbfb;!L">
|
|
61
|
+
<field name="VAR" id="WUT;K|L6]cR}*uBdtP^#">groupe3</field>
|
|
62
|
+
</block>
|
|
63
|
+
</value>
|
|
64
|
+
<value name="ADD4">
|
|
65
|
+
<block type="variables_get" id="[HU8Qz|/i~Y4f-AB?TJc">
|
|
66
|
+
<field name="VAR" id="0xTjR,ZU%i?HgU/%+Emz">groupe4</field>
|
|
67
|
+
</block>
|
|
68
|
+
</value>
|
|
69
|
+
</block>
|
|
70
|
+
</value>
|
|
71
|
+
<value name="IN_GROUPS">
|
|
72
|
+
<block type="variables_get" id="mwz#@,o9?MhZhyk;n$GH">
|
|
73
|
+
<field name="VAR" id="0xTjR,ZU%i?HgU/%+Emz">groupe4</field>
|
|
74
|
+
</block>
|
|
75
|
+
</value>
|
|
76
|
+
<next>
|
|
77
|
+
<block type="alertInfoScoreON" id="0Nh.|P!a;}Zyx]tA[orl">
|
|
78
|
+
<value name="message">
|
|
79
|
+
<block type="text" id="wcd,h:D|LgeOK#gR2/[M">
|
|
80
|
+
<field name="TEXT">Fin 1er set group</field>
|
|
81
|
+
</block>
|
|
82
|
+
</value>
|
|
83
|
+
<next>
|
|
84
|
+
<block type="set_groups_waiting_for_patterns" id="_+F`G_;IXanq~;]K;b[[">
|
|
85
|
+
<field name="user_group">255</field>
|
|
86
|
+
<comment pinned="true" h="80" w="160">Fonctionne si Ableton tourne pour envoyer les signaux</comment>
|
|
87
|
+
<value name="GROUPS">
|
|
88
|
+
<block type="variables_get" id="HU:q+Dc;4-q/uVX`?Jl!">
|
|
89
|
+
<field name="VAR" id="0xTjR,ZU%i?HgU/%+Emz">groupe4</field>
|
|
90
|
+
</block>
|
|
91
|
+
</value>
|
|
92
|
+
<value name="IN_PATTERNS_LIST">
|
|
93
|
+
<block type="text" id="[f$s]Sn0+YuZ9ka$v`R/">
|
|
94
|
+
<field name="TEXT">Loop3</field>
|
|
95
|
+
</block>
|
|
96
|
+
</value>
|
|
97
|
+
<next>
|
|
98
|
+
<block type="alertInfoScoreON" id="Zt.4aYaBJ53WXV1FA4Sj">
|
|
99
|
+
<value name="message">
|
|
100
|
+
<block type="text" id="8@914pyNxRN!N)P;:Hxf">
|
|
101
|
+
<field name="TEXT">Fin Tuto group 3</field>
|
|
102
|
+
</block>
|
|
103
|
+
</value>
|
|
104
|
+
<next>
|
|
105
|
+
<block type="cleanqueues" id="Y|;wU.}jwMz[1FDo#eUB"></block>
|
|
106
|
+
</next>
|
|
107
|
+
</block>
|
|
108
|
+
</next>
|
|
109
|
+
</block>
|
|
110
|
+
</next>
|
|
111
|
+
</block>
|
|
112
|
+
</next>
|
|
113
|
+
</block>
|
|
114
|
+
</next>
|
|
115
|
+
</block>
|
|
116
|
+
</next>
|
|
117
|
+
</block>
|
|
118
|
+
</next>
|
|
119
|
+
</block>
|
|
120
|
+
</next>
|
|
121
|
+
</block>
|
|
122
|
+
</next>
|
|
123
|
+
</block>
|
|
124
|
+
</next>
|
|
125
|
+
</block>
|
|
126
|
+
</statement>
|
|
127
|
+
</block>
|
|
128
|
+
</xml>
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
|
|
2
|
+
// Generated by Skini: Fri Nov 28 2025 16:28:53 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 = [0,0,0,0,0,0,0,0,0,0,0,0];
|
|
103
|
+
|
|
104
|
+
const groupesDesSons = [
|
|
105
|
+
[ "groupe0",0, "group",170,100,20,"#CF1919",[],1 ],
|
|
106
|
+
[ "groupe1",1, "group",20,240,20,"#008CBA",[],1 ],
|
|
107
|
+
[ "groupe2",2, "group",170,580,20,"#4CAF50",[],1 ],
|
|
108
|
+
[ "groupe3",3, "group",350,100,20,"#5F6262",[],1 ],
|
|
109
|
+
[ "groupe4",4, "group",20,380,20,"#797bbf",[],1 ],
|
|
110
|
+
];
|
|
111
|
+
exports.groupesDesSons = groupesDesSons;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<xml xmlns="https://developers.google.com/blockly/xml">
|
|
2
|
+
<variables>
|
|
3
|
+
<variable id="~v-U?0Aw-~LO~K(l}_OK">groupe0</variable>
|
|
4
|
+
<variable id="NRd.r{X8K{5ou;XOjCHf">groupe1</variable>
|
|
5
|
+
<variable id="-V0!mkHZVfLb:/i64^:.">groupe2</variable>
|
|
6
|
+
<variable id="WUT;K|L6]cR}*uBdtP^#">groupe3</variable>
|
|
7
|
+
<variable id="0xTjR,ZU%i?HgU/%+Emz">groupe4</variable>
|
|
8
|
+
</variables>
|
|
9
|
+
<block type="hh_ORCHESTRATION" id="M)ZKyxG8S)|LJFqE+^ty" x="79" y="-256">
|
|
10
|
+
<statement name="BODY">
|
|
11
|
+
<block type="hh_print_serveur" id="^qobTNF+:9c(gC_i|]BM">
|
|
12
|
+
<value name="TEXT">
|
|
13
|
+
<block type="text" id="0iqC2{b5bgUA~}.@3)`E">
|
|
14
|
+
<field name="TEXT">Demo Ableton</field>
|
|
15
|
+
</block>
|
|
16
|
+
</value>
|
|
17
|
+
<next>
|
|
18
|
+
<block type="set_timer_division" id="q`^q.uCd}W2Y]!1O)7{e">
|
|
19
|
+
<field name="timer">1</field>
|
|
20
|
+
<next>
|
|
21
|
+
<block type="set_tempo" id="lGMuKLb6p#H3,PV:BHn]">
|
|
22
|
+
<field name="tempo">110</field>
|
|
23
|
+
<next>
|
|
24
|
+
<block type="addSceneScore" id="Y8d};Ic6L]3`I5Z6hbvA">
|
|
25
|
+
<field name="number">1</field>
|
|
26
|
+
<next>
|
|
27
|
+
<block type="random_group" id="{Tk#9vToVY$(JM~PqzC+">
|
|
28
|
+
<field name="number_of_groups">2</field>
|
|
29
|
+
<field name="user_group">255</field>
|
|
30
|
+
<field name="number_of_ticks">10</field>
|
|
31
|
+
<value name="GROUPS">
|
|
32
|
+
<block type="lists_create_with" id="po_Q(Tcnj~JHR(yxfwr6">
|
|
33
|
+
<mutation items="5"></mutation>
|
|
34
|
+
<value name="ADD0">
|
|
35
|
+
<block type="variables_get" id="Qr=FA%f^Zv}JWdqHyAz?">
|
|
36
|
+
<field name="VAR" id="~v-U?0Aw-~LO~K(l}_OK">groupe0</field>
|
|
37
|
+
</block>
|
|
38
|
+
</value>
|
|
39
|
+
<value name="ADD1">
|
|
40
|
+
<block type="variables_get" id="NaZ-c.ESg40W_jbJ()`[">
|
|
41
|
+
<field name="VAR" id="NRd.r{X8K{5ou;XOjCHf">groupe1</field>
|
|
42
|
+
</block>
|
|
43
|
+
</value>
|
|
44
|
+
<value name="ADD2">
|
|
45
|
+
<block type="variables_get" id="HR*kHsmhT#d)dd3cyBep">
|
|
46
|
+
<field name="VAR" id="-V0!mkHZVfLb:/i64^:.">groupe2</field>
|
|
47
|
+
</block>
|
|
48
|
+
</value>
|
|
49
|
+
<value name="ADD3">
|
|
50
|
+
<block type="variables_get" id="ieRILuot6B]`klbfb;!L">
|
|
51
|
+
<field name="VAR" id="WUT;K|L6]cR}*uBdtP^#">groupe3</field>
|
|
52
|
+
</block>
|
|
53
|
+
</value>
|
|
54
|
+
<value name="ADD4">
|
|
55
|
+
<block type="variables_get" id="[HU8Qz|/i~Y4f-AB?TJc">
|
|
56
|
+
<field name="VAR" id="0xTjR,ZU%i?HgU/%+Emz">groupe4</field>
|
|
57
|
+
</block>
|
|
58
|
+
</value>
|
|
59
|
+
</block>
|
|
60
|
+
</value>
|
|
61
|
+
<next>
|
|
62
|
+
<block type="alertInfoScoreON" id="Zt.4aYaBJ53WXV1FA4Sj">
|
|
63
|
+
<value name="message">
|
|
64
|
+
<block type="text" id="8@914pyNxRN!N)P;:Hxf">
|
|
65
|
+
<field name="TEXT">Fin demo Ableton</field>
|
|
66
|
+
</block>
|
|
67
|
+
</value>
|
|
68
|
+
<next>
|
|
69
|
+
<block type="cleanqueues" id="Y|;wU.}jwMz[1FDo#eUB"></block>
|
|
70
|
+
</next>
|
|
71
|
+
</block>
|
|
72
|
+
</next>
|
|
73
|
+
</block>
|
|
74
|
+
</next>
|
|
75
|
+
</block>
|
|
76
|
+
</next>
|
|
77
|
+
</block>
|
|
78
|
+
</next>
|
|
79
|
+
</block>
|
|
80
|
+
</next>
|
|
81
|
+
</block>
|
|
82
|
+
</statement>
|
|
83
|
+
</block>
|
|
84
|
+
</xml>
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
|
|
2
|
+
// Generated by Skini: Tue Dec 23 2025 18:00:58 GMT+0100 (heure normale d’Europe centrale)
|
|
3
|
+
"use strict"
|
|
4
|
+
|
|
5
|
+
// A utiliser si Processing en passerelle
|
|
6
|
+
exports.busMidiDAW = 1;
|
|
7
|
+
|
|
8
|
+
// Piece en OSC si la paramètre est false
|
|
9
|
+
// Sinon Skini parle MIDI
|
|
10
|
+
exports.directMidiON = true;
|
|
11
|
+
|
|
12
|
+
// Pour charger les fonctions et modules de scenes de type GOLEM
|
|
13
|
+
exports.scenesON = false;
|
|
14
|
+
|
|
15
|
+
exports.english = true;
|
|
16
|
+
|
|
17
|
+
/***********************************
|
|
18
|
+
Paramètres du simulateur
|
|
19
|
+
Si ces valeurs ne sont pas données c'est celle qui
|
|
20
|
+
sont dans le simulateur qui sont utilisées
|
|
21
|
+
************************************/
|
|
22
|
+
exports.tempoMax = 500; // En ms
|
|
23
|
+
exports.tempoMin = 400; // En ms
|
|
24
|
+
exports.limiteDureeAttente = 33; // En pulsations
|
|
25
|
+
|
|
26
|
+
/********************************************************
|
|
27
|
+
AUTOMATE
|
|
28
|
+
*********************************************************/
|
|
29
|
+
// Pour un automate conforme à un rechargement selon les déclarations de module HipHop
|
|
30
|
+
exports.reactOnPlay = false;
|
|
31
|
+
|
|
32
|
+
// Pour une réaction à chaque pulsation
|
|
33
|
+
exports.pulsationON = false;
|
|
34
|
+
|
|
35
|
+
/*************************************
|
|
36
|
+
CHEMIN DES FICHIERS SONS MP3 pour les clients
|
|
37
|
+
Nom du sous répartoire ./sounds/xxxx
|
|
38
|
+
*************************************/
|
|
39
|
+
exports.soundFilesPath1 = "";
|
|
40
|
+
|
|
41
|
+
/***************************************
|
|
42
|
+
CHEMIN DES PARTITIONS DES PATTERNS ET CONFIG AVEC MUSICIENS
|
|
43
|
+
****************************************/
|
|
44
|
+
exports.avecMusicien = false; // Pour mettre en place les spécificités au jeu avec des musiciens.
|
|
45
|
+
exports.decalageFIFOavecMusicien = 4; // Décalage de la FIFO vide avant le premier pattern dans une FIFO.
|
|
46
|
+
exports.patternScorePath1 ="";
|
|
47
|
+
|
|
48
|
+
/****************************************
|
|
49
|
+
ACTIVATION D'ALGORITHME D'ORGANISATION DES FIFOs
|
|
50
|
+
Si 0 ou undefined pas d'algorithme.
|
|
51
|
+
Si 1 algorithme de réorganisation Début, Milieu, Fin, Neutre (DFMN)
|
|
52
|
+
Dans le csv, D -> 1, M -> 2, F->3, N->4 (c'est fixé dans controleAbleton.js)
|
|
53
|
+
Si autre ... à créer...
|
|
54
|
+
ATTENTION: NE JAMAIS UTILISER EN SITUATION D'INTERACTION SI L'ALGORITHME
|
|
55
|
+
PEUT SUPPRIMER DES PATTERNS DES FIFOs
|
|
56
|
+
*****************************************/
|
|
57
|
+
exports.algoGestionFifo = 0;
|
|
58
|
+
exports.shufflePatterns = false;
|
|
59
|
+
/*****************************************************************************
|
|
60
|
+
|
|
61
|
+
Gestion de la Matrice des possibles
|
|
62
|
+
Automate de gestion de la matrice des possibles
|
|
63
|
+
|
|
64
|
+
******************************************************************************/
|
|
65
|
+
exports.nbeDeGroupesClients = 3;
|
|
66
|
+
|
|
67
|
+
function setnbeDeGroupesClients(num) {
|
|
68
|
+
this.nbeDeGroupesClients = num;
|
|
69
|
+
}
|
|
70
|
+
exports.setnbeDeGroupesClients = setnbeDeGroupesClients;
|
|
71
|
+
|
|
72
|
+
exports.simulatorInAseperateGroup = false; // Si true, le dernier groupe client est réservé au simulateur.
|
|
73
|
+
|
|
74
|
+
// Pour un contrôle des Raspberries
|
|
75
|
+
exports.useRaspberries = false;
|
|
76
|
+
exports.playBufferMessage = "test";
|
|
77
|
+
exports.raspOSCPort = 4000;
|
|
78
|
+
|
|
79
|
+
// La synchro Midi, Link. Synchro Bitwig OSC par défaut si Midi et Link false.
|
|
80
|
+
exports.synchoOnMidiClock = false;
|
|
81
|
+
exports.synchroLink = true;
|
|
82
|
+
exports.synchroSkini = false;
|
|
83
|
+
exports.timer = 500;
|
|
84
|
+
exports.gameOSCSignals = false;
|
|
85
|
+
|
|
86
|
+
exports.sensorOSC = true;
|
|
87
|
+
exports.tempoSensorsInit = [100,100,100,100,20,20,20,20,20,20,20,20];
|
|
88
|
+
exports.sensorsSensibilities = [200,200,200,200,200,5,5,5,5,5,5,5];
|
|
89
|
+
|
|
90
|
+
const groupesDesSons = [
|
|
91
|
+
[ "toto",1, "group",100,100,3,"",[],1 ],
|
|
92
|
+
[ "titi",2, "group",200,200,3,"",[],1 ],
|
|
93
|
+
[ "tutu",2, "group",300,300,3,"",[],1 ],
|
|
94
|
+
];
|
|
95
|
+
exports.groupesDesSons = groupesDesSons;
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
<xml xmlns="https://developers.google.com/blockly/xml">
|
|
2
|
+
<variables>
|
|
3
|
+
<variable id="*(4%y|y]R}b,F6[a?ZUv">INTERFACEZ_RC4</variable>
|
|
4
|
+
<variable id="z.?[/s;vt1YREV-K7a~G">tick</variable>
|
|
5
|
+
</variables>
|
|
6
|
+
<block type="hh_ORCHESTRATION" id="a-M{,,Z8QBPD6S|y-Hm7" x="101" y="65">
|
|
7
|
+
<statement name="BODY">
|
|
8
|
+
<block type="hh_loop" id="BVo9cUUdHufww0yaVK`J" disabled="true">
|
|
9
|
+
<statement name="BODY">
|
|
10
|
+
<block type="hh_await_interfaceZ_sensor" id="(i%J}Czmyvw`tl/B+9-q">
|
|
11
|
+
<field name="TIMES">1</field>
|
|
12
|
+
<field name="sensor">4</field>
|
|
13
|
+
<field name="lowValue">0</field>
|
|
14
|
+
<field name="highValue">5000</field>
|
|
15
|
+
<next>
|
|
16
|
+
<block type="hh_print_serveur" id="XPSNuJ2N_PoI_F^-sSct">
|
|
17
|
+
<value name="TEXT">
|
|
18
|
+
<block type="text" id="R=E?KMd36BXZ{3#OEaA3">
|
|
19
|
+
<field name="TEXT">sensor 4 </field>
|
|
20
|
+
</block>
|
|
21
|
+
</value>
|
|
22
|
+
</block>
|
|
23
|
+
</next>
|
|
24
|
+
</block>
|
|
25
|
+
</statement>
|
|
26
|
+
<next>
|
|
27
|
+
<block type="hh_loop" id="|g/dd4nYLk$i@Zd_zj}a" disabled="true">
|
|
28
|
+
<statement name="BODY">
|
|
29
|
+
<block type="hh_wait_for_immediate" id="[D)~cQVW%|t~GaGN@m#D">
|
|
30
|
+
<value name="SIGNAL">
|
|
31
|
+
<block type="variables_get" id="uRL!_=yE)usYl*sBg$5M">
|
|
32
|
+
<field name="VAR" id="*(4%y|y]R}b,F6[a?ZUv">INTERFACEZ_RC4</field>
|
|
33
|
+
</block>
|
|
34
|
+
</value>
|
|
35
|
+
<next>
|
|
36
|
+
<block type="hh_if_interfaceZ_sensor" id="vSnT9`kz8-L7}{BiJ{6n">
|
|
37
|
+
<field name="sensor">4</field>
|
|
38
|
+
<field name="lowValue">0</field>
|
|
39
|
+
<field name="highValue">5000</field>
|
|
40
|
+
<statement name="BODY">
|
|
41
|
+
<block type="hh_print_serveur" id="-qdoev(.V#`i6{8jdq(%">
|
|
42
|
+
<value name="TEXT">
|
|
43
|
+
<block type="text" id="#l^+El`GB~A/)SnL7VyQ">
|
|
44
|
+
<field name="TEXT">sensor 4 </field>
|
|
45
|
+
</block>
|
|
46
|
+
</value>
|
|
47
|
+
</block>
|
|
48
|
+
</statement>
|
|
49
|
+
<next>
|
|
50
|
+
<block type="hh_pause" id=";;MEOf/oL0b3sO`:2KUq"></block>
|
|
51
|
+
</next>
|
|
52
|
+
</block>
|
|
53
|
+
</next>
|
|
54
|
+
</block>
|
|
55
|
+
</statement>
|
|
56
|
+
<next>
|
|
57
|
+
<block type="hh_loopeach_interfaceZ_sensor" id="_5*n;63f,H$CM2X{O58|" disabled="true">
|
|
58
|
+
<field name="TIMES">1</field>
|
|
59
|
+
<field name="sensor">4</field>
|
|
60
|
+
<field name="lowValue">0</field>
|
|
61
|
+
<field name="highValue">5000</field>
|
|
62
|
+
<statement name="BODY">
|
|
63
|
+
<block type="hh_print_serveur" id="*tiy={*CxPwF@FFxsO6O">
|
|
64
|
+
<value name="TEXT">
|
|
65
|
+
<block type="text" id="![@Dx*D`?vg_|9z{3~CS">
|
|
66
|
+
<field name="TEXT">sensor 4 </field>
|
|
67
|
+
</block>
|
|
68
|
+
</value>
|
|
69
|
+
</block>
|
|
70
|
+
</statement>
|
|
71
|
+
<next>
|
|
72
|
+
<block type="hh_every_interfaceZ_sensor" id="5OUKpOON0Cfcz;eRCRYG" disabled="true">
|
|
73
|
+
<field name="TIMES">1</field>
|
|
74
|
+
<field name="sensor">4</field>
|
|
75
|
+
<field name="lowValue">0</field>
|
|
76
|
+
<field name="highValue">5000</field>
|
|
77
|
+
<statement name="BODY">
|
|
78
|
+
<block type="hh_print_serveur" id="cNE/]_Wk;,*uwgoWD6L^">
|
|
79
|
+
<value name="TEXT">
|
|
80
|
+
<block type="text" id="_yOosi:.C|rvZH#~eu*Q">
|
|
81
|
+
<field name="TEXT">sensor 4 </field>
|
|
82
|
+
</block>
|
|
83
|
+
</value>
|
|
84
|
+
</block>
|
|
85
|
+
</statement>
|
|
86
|
+
<next>
|
|
87
|
+
<block type="hh_abort_interfaceZ_sensor" id="%sa|56c;l|~@*_wxOMA/">
|
|
88
|
+
<field name="TIMES">5</field>
|
|
89
|
+
<field name="sensor">4</field>
|
|
90
|
+
<field name="lowValue">0</field>
|
|
91
|
+
<field name="highValue">5000</field>
|
|
92
|
+
<statement name="BODY">
|
|
93
|
+
<block type="hh_loop" id="@-=c!HFik.#%Bzs929B^">
|
|
94
|
+
<statement name="BODY">
|
|
95
|
+
<block type="hh_wait_for" id="?Bq0H*dEt1+C^9n:B48%">
|
|
96
|
+
<field name="TIMES">1</field>
|
|
97
|
+
<value name="SIGNAL">
|
|
98
|
+
<block type="variables_get" id="E3k_X%NQ!|1f{P#Xw.R_">
|
|
99
|
+
<field name="VAR" id="z.?[/s;vt1YREV-K7a~G">tick</field>
|
|
100
|
+
</block>
|
|
101
|
+
</value>
|
|
102
|
+
<next>
|
|
103
|
+
<block type="hh_print_serveur" id="97p4V~7o}Xi%$2EZYKS#">
|
|
104
|
+
<value name="TEXT">
|
|
105
|
+
<block type="text" id="d}iJ!k^~nxSSB7;*(6kF">
|
|
106
|
+
<field name="TEXT">sensor 4 </field>
|
|
107
|
+
</block>
|
|
108
|
+
</value>
|
|
109
|
+
</block>
|
|
110
|
+
</next>
|
|
111
|
+
</block>
|
|
112
|
+
</statement>
|
|
113
|
+
</block>
|
|
114
|
+
</statement>
|
|
115
|
+
<next>
|
|
116
|
+
<block type="hh_print_serveur" id="R%Q3i/@93(F[@P^`j$;[">
|
|
117
|
+
<value name="TEXT">
|
|
118
|
+
<block type="text" id="L4Ucv#1-Gm@Ys~`i5s`Z">
|
|
119
|
+
<field name="TEXT">FIN</field>
|
|
120
|
+
</block>
|
|
121
|
+
</value>
|
|
122
|
+
</block>
|
|
123
|
+
</next>
|
|
124
|
+
</block>
|
|
125
|
+
</next>
|
|
126
|
+
</block>
|
|
127
|
+
</next>
|
|
128
|
+
</block>
|
|
129
|
+
</next>
|
|
130
|
+
</block>
|
|
131
|
+
</next>
|
|
132
|
+
</block>
|
|
133
|
+
</statement>
|
|
134
|
+
</block>
|
|
135
|
+
</xml>
|