nodeskini 1.0.5 → 1.0.7

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.
Files changed (179) hide show
  1. package/blocklySkini/blocklySkini.html +5 -1
  2. package/blocklySkini/scripts/hiphop_blocks.js +5 -6
  3. package/client/clientListe/clientListe.js +11 -0
  4. package/client/clientListe/clientListebundle.js +1755 -1909
  5. package/client/controleurHH/controleurHH.html +4 -0
  6. package/client/queueViewer/queue.html +34 -0
  7. package/client/queueViewer/queue.js +187 -0
  8. package/client/queueViewer/style.css +26 -0
  9. package/client/score/parto1.js +14 -11
  10. package/client/score/parto1bundle.js +55 -33
  11. package/client/score/score.html +8 -7
  12. package/doc/Doc Skini Node english.pdf +0 -0
  13. package/doc/Mode d'emploi Skini Node.pdf +0 -0
  14. package/doc/Tuto Skini.pdf +0 -0
  15. package/doc/quickstart.pdf +0 -0
  16. package/myReact/orchestrationHH.hh.js +147 -1843
  17. package/myReact/orchestrationHH.mjs +50 -231
  18. package/myReact/orchestrationHH.mjs.map +1 -1
  19. package/package.json +11 -8
  20. package/pieces/tutos/demoAbleton.csv +21 -0
  21. package/pieces/tutos/demoAbleton.js +100 -0
  22. package/pieces/tutos/demoAbleton.xml +180 -0
  23. package/pieces/tutos/demoHH.js +99 -0
  24. package/pieces/tutos/demoHH.xml +184 -0
  25. package/pieces/tutos/demoHHwait.js +100 -0
  26. package/pieces/tutos/demoHHwait.xml +175 -0
  27. package/pieces/tutos/tuto.csv +10 -0
  28. package/pieces/tutos/tuto.csv.good +1 -0
  29. package/pieces/tutos/tuto1.js +105 -0
  30. package/pieces/tutos/tuto1.xml +147 -0
  31. package/pieces/tutos/tuto10.back.js +106 -0
  32. package/pieces/tutos/tuto10.js +107 -0
  33. package/pieces/tutos/tuto10.xml +199 -0
  34. package/pieces/tutos/tuto11.js +111 -0
  35. package/pieces/tutos/tuto11.xml +124 -0
  36. package/pieces/tutos/tuto12.js +91 -0
  37. package/pieces/tutos/tuto12.xml +258 -0
  38. package/pieces/tutos/tuto2.back.js +106 -0
  39. package/pieces/tutos/tuto2.js +95 -0
  40. package/pieces/tutos/tuto2.xml +94 -0
  41. package/pieces/tutos/tuto3-2.js +105 -0
  42. package/pieces/tutos/tuto3-2.xml +96 -0
  43. package/pieces/tutos/tuto3.js +97 -0
  44. package/pieces/tutos/tuto3.xml +49 -0
  45. package/pieces/tutos/tuto4.js +107 -0
  46. package/pieces/tutos/tuto4.xml +106 -0
  47. package/pieces/tutos/tuto5.js +109 -0
  48. package/pieces/tutos/tuto5.xml +42 -0
  49. package/pieces/tutos/tuto6.js +105 -0
  50. package/pieces/tutos/tuto6.xml +26 -0
  51. package/pieces/tutos/tuto7.js +107 -0
  52. package/pieces/tutos/tuto7.xml +65 -0
  53. package/pieces/tutos/tuto8.js +105 -0
  54. package/pieces/tutos/tuto8.xml +76 -0
  55. package/pieces/tutos/tuto9.js +107 -0
  56. package/pieces/tutos/tuto9.xml +90 -0
  57. package/pieces/tutos/tutoAwait.js +111 -0
  58. package/pieces/tutos/tutoAwait.xml +171 -0
  59. package/pieces/tutos/tutoDoubleEmission.js +93 -0
  60. package/pieces/tutos/tutoDoubleEmission.xml +65 -0
  61. package/pieces/tutos/tutoESP32.js +104 -0
  62. package/pieces/tutos/tutoESP32.xml +246 -0
  63. package/pieces/tutos/tutoGame.js +126 -0
  64. package/pieces/tutos/tutoGame.xml +109 -0
  65. package/pieces/tutos/tutoGroups1.js +111 -0
  66. package/pieces/tutos/tutoGroups1.xml +137 -0
  67. package/pieces/tutos/tutoGroups2.js +97 -0
  68. package/pieces/tutos/tutoGroups2.xml +103 -0
  69. package/pieces/tutos/tutoGroups3.js +111 -0
  70. package/pieces/tutos/tutoGroups3.xml +128 -0
  71. package/pieces/tutos/tutoGroups4.js +111 -0
  72. package/pieces/tutos/tutoGroups4.xml +84 -0
  73. package/pieces/tutos/tutoIZ.js +95 -0
  74. package/pieces/tutos/tutoIZ.xml +135 -0
  75. package/pieces/tutos/tutoIf.js +111 -0
  76. package/pieces/tutos/tutoIf.xml +126 -0
  77. package/pieces/tutos/tutoMidi.js +126 -0
  78. package/pieces/tutos/tutoMidi.xml +62 -0
  79. package/pieces/tutos/tutoOS.js +121 -0
  80. package/pieces/tutos/tutoOSC.js +109 -0
  81. package/pieces/tutos/tutoOSC.xml +223 -0
  82. package/pieces/tutos/tutoOSCJonathan.js +94 -0
  83. package/pieces/tutos/tutoOSCJonathan.xml +312 -0
  84. package/pieces/tutos/tutoPatternInGroup.js +109 -0
  85. package/pieces/tutos/tutoPatternInGroup.xml +116 -0
  86. package/pieces/tutos/tutoRandomBlock.js +129 -0
  87. package/pieces/tutos/tutoRandomBlock.xml +194 -0
  88. package/pieces/tutos/tutoSuspend.js +107 -0
  89. package/pieces/tutos/tutoSuspend.xml +139 -0
  90. package/pieces/tutos/tutoSustain.js +107 -0
  91. package/pieces/tutos/tutoSustain.xml +109 -0
  92. package/pieces/tutos/tutoTank.csv +9 -0
  93. package/pieces/tutos/tutoTank.js +100 -0
  94. package/pieces/tutos/tutoTank.xml +326 -0
  95. package/pieces/tutos/tutoTestAll.csv +11 -0
  96. package/pieces/tutos/tutoTestAll.hh.js +401 -0
  97. package/pieces/tutos/tutoTestAll.js +101 -0
  98. package/pieces/tutos/tutoTestAll.xml +866 -0
  99. package/serveur/OSCandMidi.mjs +27 -3
  100. package/serveur/controleDAW.mjs +2 -1
  101. package/serveur/groupeClientsSons.mjs +27 -3
  102. package/serveur/ipConfig.json +2 -2
  103. package/serveur/skiniParametres.js +55 -10
  104. package/serveur/utilsSkini.mjs +1 -1
  105. package/serveur/websocketServer.mjs +14 -4
  106. package/skini.mjs +4 -0
  107. package/blocklySkini/archive/blocklyControleur.js +0 -87
  108. package/blocklySkini/archive/blocklySkini.js +0 -84
  109. package/blocklySkini/archive/blocklyhop.js +0 -75
  110. package/blocklySkini/archive/clientControleurBlocly.js +0 -170
  111. package/blocklySkini/archive/index.html +0 -76
  112. package/blocklySkini/archive/testHHsuspend.txt +0 -89
  113. package/blocklySkini/archive/testHHtrap.txt +0 -262
  114. package/blocklySkini/archive/testOrchestration.txt +0 -177
  115. package/blocklySkini/archive/testOrchestration.xml +0 -447
  116. package/blocklySkini/archive/testOrchestration2.xml +0 -456
  117. package/blocklySkini/scripts/hiphop_blocks.old.js +0 -3010
  118. package/blocklySkini/scripts/hiphop_blocks11-2025.js +0 -6104
  119. package/myReact/archive/Nodeemitvaluedlocal1.hh.js +0 -52
  120. package/myReact/archive/abort-parNode.js +0 -79
  121. package/myReact/archive/abroNode.js +0 -169
  122. package/myReact/archive/abroNode2.js +0 -80
  123. package/myReact/archive/atom.compile.hh.js +0 -52
  124. package/myReact/archive/await-countNode.js +0 -67
  125. package/myReact/archive/await-nowvalNode.js +0 -44
  126. package/myReact/archive/callHH.js +0 -96
  127. package/myReact/archive/emit-if2.hh.compiled.js +0 -113
  128. package/myReact/archive/every1Node.js +0 -35
  129. package/myReact/archive/if-runNode.js +0 -74
  130. package/myReact/archive/if1Node.js +0 -43
  131. package/myReact/archive/makeawait.js +0 -0
  132. package/myReact/archive/myReact.old.js +0 -684
  133. package/myReact/archive/orchestration.js +0 -281
  134. package/myReact/archive/orchestration1.js +0 -132
  135. package/myReact/archive/orchestration1.xml +0 -465
  136. package/myReact/archive/orchestration2.js +0 -161
  137. package/myReact/archive/orchestrationHH.mano.js +0 -280
  138. package/myReact/archive/orchestrationHHTest.js +0 -428
  139. package/myReact/archive/orchestrationHHTest.xml +0 -234
  140. package/myReact/archive/orchestrationHHTestRun.js +0 -104
  141. package/myReact/archive/orchestrationHHTestRun.xml +0 -34
  142. package/myReact/archive/orchestrationTest0.js +0 -178
  143. package/myReact/archive/orchestrationTest1.js +0 -181
  144. package/myReact/archive/orchestrationTest2.js +0 -281
  145. package/myReact/archive/run3pointsNode.js +0 -59
  146. package/myReact/archive/runNode.js +0 -123
  147. package/myReact/archive/runNode2.js +0 -91
  148. package/myReact/archive/testAwait1.js +0 -141
  149. package/myReact/archive/testAwait1.xml +0 -86
  150. package/myReact/archive/testEvery1.js +0 -122
  151. package/myReact/archive/testEvery1.xml +0 -79
  152. package/myReact/archive/testHH1.js +0 -135
  153. package/myReact/archive/testHH1.xml +0 -86
  154. package/myReact/archive/testHH1revu.js +0 -104
  155. package/myReact/archive/testHH2.js +0 -122
  156. package/myReact/archive/testHH2.xml +0 -79
  157. package/myReact/archive/testHH3.js +0 -130
  158. package/myReact/archive/testHH3.xml +0 -86
  159. package/myReact/archive/testHHabort.js +0 -121
  160. package/myReact/archive/testHHabort.xml +0 -83
  161. package/myReact/archive/testMakeawait.js +0 -202
  162. package/myReact/archive/testRun1.js +0 -168
  163. package/myReact/archive/testRun1.xml +0 -142
  164. package/myReact/archive/titi.js +0 -28
  165. package/myReact/archive/titi.xml +0 -110
  166. package/myReact/archive/toto.js +0 -73
  167. package/myReact/archive/toto.xml +0 -198
  168. package/myReact/archive/trap-await-parallelNode.js +0 -123
  169. package/myReact/inutiles/hiver2022.xml +0 -804
  170. package/myReact/inutiles/hopeNode.xml +0 -459
  171. package/myReact/inutiles/mars2022.xml +0 -871
  172. package/myReact/inutiles/mystique1.xml +0 -318
  173. package/myReact/inutiles/mystiqueOSC.xml +0 -277
  174. package/myReact/inutiles/opus5Node.xml +0 -1271
  175. package/myReact/inutiles/opus5NodeLinux.xml +0 -1241
  176. package/myReact/inutiles/orchestrationHH.xml +0 -541
  177. package/myReact/inutiles/orchestrationHH2.xml +0 -547
  178. package/myReact/inutiles/testHH.xml +0 -95
  179. package/myReact/inutiles/trouveLaPercuTenor.xml +0 -349
@@ -1,170 +0,0 @@
1
-
2
- /**************************************************
3
-
4
- Pour compiler et lancer l'orchestration depuis
5
- le client Blockly.
6
- Permet de se passer du contrôleur pendant le
7
- développement.
8
-
9
- © Copyright 2017-2021, Bertrand Petit-Hédelin
10
-
11
- ****************************************************/
12
- "use strict"
13
- "use hopscript"
14
-
15
- var port;
16
- var par;
17
- var ws;
18
- var id = Math.floor((Math.random() * 1000000) + 1 ); // Pour identifier le client;
19
-
20
- var debug = false;
21
- var debug1 = true;
22
-
23
- var abletonTableEnCours = 0;
24
- var automateEncours = false;
25
-
26
- // Autres déclarations
27
-
28
- var msg = { // On met des valeurs pas defaut, mais ce n'est pas nécessaire.
29
- type: "configuration",
30
- };
31
-
32
- service controleur();
33
- service controleurPing();
34
-
35
- function cleanQueues() {
36
- var msg = {
37
- type: "cleanQueues",
38
- };
39
- ws.send(JSON.stringify(msg));
40
- }
41
- exports.cleanQueues = cleanQueues;
42
-
43
- //****** Lancement des opérations et fermeture *********
44
-
45
- function init(port, p) {
46
- par = p;
47
- initWSSocket( port );
48
- }
49
- exports.init = init;
50
-
51
- // Gestion de la fermeture du browser
52
- window.onbeforeunload = function () {
53
- msg.type = "closeSpectateur";
54
- msg.text = "DISCONNECT_SPECTATEUR";
55
- ws.send(JSON.stringify(msg));
56
- ws.close();
57
- }
58
-
59
- function loadAbleton(val) {
60
- if ( !automateEncours) {
61
- console.log("clientControleur:loadAbleton:", val);
62
- msg.type = "loadAbletonTable";
63
- msg.value = val -1; // Pour envoyer un index
64
- abletonTableEnCours = val;
65
- ws.send(JSON.stringify(msg));
66
- } else {
67
- alert("WARNING: Orchestration running, stop before selecting another one.")
68
- }
69
- }
70
- exports.loadAbleton = loadAbleton;
71
-
72
- function startAutomate() {
73
- msg.type = "setAbletonON";
74
- if (abletonTableEnCours !== 0 && !automateEncours) {
75
- msg.value = abletonTableEnCours;
76
- ws.send(JSON.stringify(msg));
77
- document.getElementById( "buttonStartAutomate").style.display = "none";
78
- document.getElementById( "buttonStopAutomate").style.display = "inline";
79
- msg.type = "startAutomate";
80
- ws.send(JSON.stringify(msg));
81
- automateEncours = true;
82
- } else {
83
- alert("WARNING: No orchestration selected or one is running ");
84
- }
85
- }
86
- exports.startAutomate = startAutomate;
87
-
88
- function stopAutomate() {
89
- document.getElementById( "buttonStartAutomate").style.display = "inline";
90
- document.getElementById( "buttonStopAutomate").style.display = "none";
91
- msg.type = "stopAutomate";
92
- ws.send(JSON.stringify(msg));
93
- automateEncours = false;
94
- cleanQueues();
95
- }
96
- exports.stopAutomate = stopAutomate;
97
-
98
- //************ WEBSOCKET HOP et listener BROADCAST ******************************
99
- function initWSSocket(port) {
100
-
101
- ws = new WebSocket( "ws://" + par.serverIPAddress + ":" + port + "/hop/serv", [ "bar", "foo" ] );
102
-
103
- if (debug) console.log("clientcontroleur.js WS: ", "ws://" + par.serverIPAddress + ":" + port + "/hop/serv" );
104
- ws.onopen = function( event ) {
105
- msg.type = "startSpectateur";
106
- msg.text = "controleur";
107
- msg.id = id;
108
- console.log("ID sent to server:", msg.id);
109
- ws.send(JSON.stringify(msg));
110
- };
111
-
112
- //Traitement de la Réception sur le client
113
- ws.onmessage = function( event ) {
114
- //console.log( "Client: received [%s]", event.data );
115
-
116
- var msgRecu = JSON.parse(event.data);
117
-
118
- switch(msgRecu.type) {
119
- case "abletonTableNotReady": // Si la table n'est pas chargée on garde le bouton start
120
- alert("Orchestration not ready");
121
- document.getElementById( "buttonStartAutomate").style.display = "inline";
122
- document.getElementById( "buttonStopAutomate").style.display = "none";
123
- automateEncours = false;
124
- break;
125
-
126
- case "groupesClientLength":
127
- break;
128
-
129
- case "noAutomaton":
130
- //document.getElementById("consoleArea").innerHTML = "No automaton at this position";
131
- console.log("No automaton at this position");
132
- automateEncours = false;
133
- break;
134
-
135
- case "sessionLoaded":
136
- document.getElementById("consoleArea").innerHTML = "Orchestration loaded :" + msgRecu.fileName;
137
- break;
138
-
139
- case "message":
140
- if (debug) console.log(msgRecu.text);
141
- break;
142
-
143
- default: if (debug) console.log("Le Client reçoit un message inconnu", msgRecu );
144
- }
145
- };
146
-
147
- ws.onerror = function (event) {
148
- if (debug) console.log( "clientcontroleur.js : received error on WS", ws.socket, " ", event );
149
- }
150
-
151
- // Mécanisme de reconnexion automatique si le serveur est tombé.
152
- // Le service Ping permet de vérifier le présence du serveur
153
- ws.onclose = function( event ) {
154
- if (debug1) console.log( "clientcontroleur.js : ON CLOSE");
155
-
156
- /* (function loop() {
157
- if (!debug) {
158
- controleurPing()
159
- .post()
160
- .then(function(){ // Si serveur présent
161
- document.location=controleur();
162
- },
163
- function(){ // Si serveur absent
164
- if (debug) console.log( "reconnecting..." );
165
- setTimeout( loop, 2000 );
166
- } );
167
- }
168
- })();*/
169
- }
170
- }
@@ -1,76 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
-
8
- <title>Blockly for the Web Codelab modified for test</title>
9
- <link rel="stylesheet" href="styles/material.css">
10
- <link rel="stylesheet" href="styles/index.css">
11
- </head>
12
-
13
- <body mode="maker">
14
- <header class="mdl-color--cyan-500">
15
- <h1 class="mode-maker">Music Maker</h1>
16
- <h1 class="mode-edit mode-blockly">Music Maker Configuration</h1>
17
- </header>
18
-
19
- <main>
20
- <button class="mode-maker mdl-button" id="edit">Edit</button>
21
- <button class="mode-edit mdl-button mdl-js-button" id="done">Done</button>
22
- <button class="mode-blockly mdl-button mdl-js-button" id="save">Save</button>
23
- <p class="hint mode-edit">Tap any button to edit its code. <br/>When complete, press Done.</p>
24
-
25
- <div class="maker">
26
- <div>
27
- <div class="button mdl-color--amber-500">1</div>
28
- <div class="button mdl-color--yellow-500">2</div>
29
- <div class="button mdl-color--lime-500">3</div>
30
- </div>
31
- <div>
32
- <div class="button mdl-color--pink-500">4</div>
33
- <div class="button mdl-color--red-500">5</div>
34
- <div class="button mdl-color--light-green-500">6</div>
35
- </div>
36
- <div>
37
- <div class="button mdl-color--cyan-500">7</div>
38
- <div class="button mdl-color--teal-500">8</div>
39
- <div class="button mdl-color--green-500">9</div>
40
- </div>
41
- </div>
42
-
43
- <div id="textarea" style="height: 480px; width: 600px;">TATU</div>
44
-
45
- <div class="blockly-editor">
46
- <div id="blocklyDiv" style="height: 480px; width: 400px;"></div>
47
- <xml id="toolbox" style="display: none">
48
- <block type="controls_repeat_ext">
49
- <value name="TIMES">
50
- <shadow type="math_number">
51
- <field name="NUM">5</field>
52
- </shadow>
53
- </value>
54
- </block>
55
-
56
- <block type="play_sound"></block>
57
- <block type="controls_if"></block>
58
- <block type="controls_whileUntil"></block>
59
- <block type="logic_compare"></block>
60
- <block type="math_number"></block>
61
- <block type="math_arithmetic"></block>
62
- <block type="text"></block>
63
- <block type="text_print"></block>
64
- <block type="testblock"></block>
65
- </xml>
66
- </div>
67
- </main>
68
-
69
- <script src="../../node_modules/blockly/blockly.min.js"></script>
70
- <script src="../../node_modules/blockly/javascript_compressed.js"></script>
71
- <script src="scripts/music_maker.js"></script>
72
- <script src="scripts/sound_blocks.js"></script>
73
- <script src="scripts/main.js"></script>
74
-
75
- </body>
76
- </html>
@@ -1,89 +0,0 @@
1
- <xml xmlns="https://developers.google.com/blockly/xml">
2
- <block type="moduleHH" id="v2t[RRH#q_s+cS#zYW[w" x="-269" y="-428">
3
- <statement name="SIGNAL">
4
- <block type="declare_signal" id="r5#cGH7)be]}33gDk#LQ">
5
- <value name="signal">
6
- <block type="text" id="=*1X^P*hecyI3Pm{LVX@">
7
- <field name="TEXT">toto</field>
8
- </block>
9
- </value>
10
- <next>
11
- <block type="declare_signal" id="6}HV-=4(!wb[DgY2ei:g">
12
- <value name="signal">
13
- <block type="text" id="6kyaz#cw:tfXW[{FX,z|">
14
- <field name="TEXT">tata</field>
15
- </block>
16
- </value>
17
- <next>
18
- <block type="declare_signal" id="2GEjT/j80ScG,bZwM5Zn">
19
- <value name="signal">
20
- <block type="text" id="k=3eY*di35K{~G;d/_Kn">
21
- <field name="TEXT">titi</field>
22
- </block>
23
- </value>
24
- </block>
25
- </next>
26
- </block>
27
- </next>
28
- </block>
29
- </statement>
30
- <statement name="NAME">
31
- <block type="suspend" id="_hiP[PvG)Qsyov@);K^D">
32
- <value name="SUSPEND0">
33
- <block type="count_signal" id="aY6z%g(BnS6:7*@)%~Bo">
34
- <field name="count">1</field>
35
- <value name="signal">
36
- <block type="now" id="|V0^AVl/^u.yc$ln~e7H">
37
- <value name="signal">
38
- <block type="text" id="(s*O/+jD@kNR~!?9Z#0W">
39
- <field name="TEXT">titi</field>
40
- </block>
41
- </value>
42
- </block>
43
- </value>
44
- </block>
45
- </value>
46
- <statement name="DO0">
47
- <block type="every" id="Y4cv--DzCMqxEGKV+EJw">
48
- <value name="EVERY0">
49
- <block type="logic_operation" id="Ds;ROw(=gBCxli2=F]Wq">
50
- <field name="OP">AND</field>
51
- <value name="A">
52
- <block type="now" id="mk=y@N@WWSbwGorKdefk">
53
- <value name="signal">
54
- <block type="text" id="fy|bnElL?ZdNN-:9.0w%">
55
- <field name="TEXT">toto</field>
56
- </block>
57
- </value>
58
- </block>
59
- </value>
60
- <value name="B">
61
- <block type="now" id="v1sPM(9dU64_KGhT6s;6">
62
- <value name="signal">
63
- <block type="text" id="*nJ,4h#W:24A=iIP;I|a">
64
- <field name="TEXT">tata</field>
65
- </block>
66
- </value>
67
- </block>
68
- </value>
69
- </block>
70
- </value>
71
- <statement name="DO0">
72
- <block type="JS_statement" id="I|hNEBc+bF~pq5wT[#Xm">
73
- <statement name="NAME">
74
- <block type="print_serveur" id="mXXfJ;^sU#5$gCCTz?(K">
75
- <value name="signal">
76
- <block type="text" id="SrtV1(=LU2R/zpS2hEgd">
77
- <field name="TEXT">toto</field>
78
- </block>
79
- </value>
80
- </block>
81
- </statement>
82
- </block>
83
- </statement>
84
- </block>
85
- </statement>
86
- </block>
87
- </statement>
88
- </block>
89
- </xml>
@@ -1,262 +0,0 @@
1
- <xml xmlns="https://developers.google.com/blockly/xml">
2
- <variables>
3
- <variable id="Z^1H[PGB!4G6n[5fW1G}">tempo</variable>
4
- <variable id="Es8:x4zFN6Rq!CQ+8n~5">Value</variable>
5
- <variable id="?qeVehBDiz#J.7^IG+he">tempoMax</variable>
6
- <variable id="54U-Pms2LNZ!.L!-ls[K">tempoMin</variable>
7
- </variables>
8
- <block type="procedures_defnoreturn" id="F?EusVajWGOIecCl)Gz(" x="-34" y="-794">
9
- <mutation>
10
- <arg name="Value" varid="Es8:x4zFN6Rq!CQ+8n~5"></arg>
11
- </mutation>
12
- <field name="NAME">timer</field>
13
- <comment pinned="false" h="80" w="160">Fonction Javascript</comment>
14
- <statement name="STACK">
15
- <block type="print_serveur" id="A.#KPdtnuSz@[X;AqWE6">
16
- <value name="signal">
17
- <block type="variables_get" id="PST]n~2FAbZW]HRi3kW,">
18
- <field name="VAR" id="Es8:x4zFN6Rq!CQ+8n~5">Value</field>
19
- </block>
20
- </value>
21
- </block>
22
- </statement>
23
- </block>
24
- <block type="procedures_defreturn" id="VJOoN^JMEA6Pt55_YH0G" x="287" y="-796">
25
- <mutation>
26
- <arg name="Value" varid="Es8:x4zFN6Rq!CQ+8n~5"></arg>
27
- </mutation>
28
- <field name="NAME">fonc1</field>
29
- <comment pinned="false" h="80" w="160">fonc1</comment>
30
- <statement name="STACK">
31
- <block type="print_serveur" id="n}53F{4cju.0DeoYH~OH">
32
- <value name="signal">
33
- <block type="variables_get" id="0m}bMInGw,qO/kJ-N3$(">
34
- <field name="VAR" id="Es8:x4zFN6Rq!CQ+8n~5">Value</field>
35
- </block>
36
- </value>
37
- </block>
38
- </statement>
39
- <value name="RETURN">
40
- <block type="variables_get" id="E~kubQkL,)HDdx~p6zeI">
41
- <field name="VAR" id="Es8:x4zFN6Rq!CQ+8n~5">Value</field>
42
- </block>
43
- </value>
44
- </block>
45
- <block type="moduleHH" id="v2t[RRH#q_s+cS#zYW[w" x="-31" y="-647">
46
- <statement name="SIGNAL">
47
- <block type="declare_signal" id="r5#cGH7)be]}33gDk#LQ">
48
- <value name="signal">
49
- <block type="text" id="=*1X^P*hecyI3Pm{LVX@">
50
- <field name="TEXT">toto</field>
51
- </block>
52
- </value>
53
- <next>
54
- <block type="declare_signal" id="6}HV-=4(!wb[DgY2ei:g">
55
- <value name="signal">
56
- <block type="text" id="6kyaz#cw:tfXW[{FX,z|">
57
- <field name="TEXT">tata</field>
58
- </block>
59
- </value>
60
- <next>
61
- <block type="declare_signal" id="2GEjT/j80ScG,bZwM5Zn">
62
- <value name="signal">
63
- <block type="text" id="k=3eY*di35K{~G;d/_Kn">
64
- <field name="TEXT">titi</field>
65
- </block>
66
- </value>
67
- </block>
68
- </next>
69
- </block>
70
- </next>
71
- </block>
72
- </statement>
73
- <statement name="NAME">
74
- <block type="JS_statement" id="2j{JIfZa($A+W5FhE6h5">
75
- <statement name="NAME">
76
- <block type="procedures_callnoreturn" id="^Q5/RL,)1VetCbP;Sr5G">
77
- <mutation name="setTempo2">
78
- <arg name="tempo"></arg>
79
- </mutation>
80
- <value name="ARG0">
81
- <block type="math_number" id="C*UTw87PPE;~PnH7h_lF">
82
- <field name="NUM">150</field>
83
- </block>
84
- </value>
85
- </block>
86
- </statement>
87
- <next>
88
- <block type="trap" id="]=.C^*m6JYsp{2a#_N9S">
89
- <value name="TRAP_NAME">
90
- <block type="text" id="N!ebq*_q84;9GwDV8I12">
91
- <field name="TEXT">trap</field>
92
- </block>
93
- </value>
94
- <statement name="BODY">
95
- <block type="fork_body" id="Iu?O7m[{~N`Sx$al)?kV">
96
- <statement name="fork">
97
- <block type="every" id="Y4cv--DzCMqxEGKV+EJw">
98
- <value name="EVERY0">
99
- <block type="logic_operation" id="Ds;ROw(=gBCxli2=F]Wq">
100
- <field name="OP">AND</field>
101
- <value name="A">
102
- <block type="now" id="mk=y@N@WWSbwGorKdefk">
103
- <value name="signal">
104
- <block type="text" id="fy|bnElL?ZdNN-:9.0w%">
105
- <field name="TEXT">toto</field>
106
- </block>
107
- </value>
108
- </block>
109
- </value>
110
- <value name="B">
111
- <block type="now" id="v1sPM(9dU64_KGhT6s;6">
112
- <value name="signal">
113
- <block type="text" id="*nJ,4h#W:24A=iIP;I|a">
114
- <field name="TEXT">tata</field>
115
- </block>
116
- </value>
117
- </block>
118
- </value>
119
- </block>
120
- </value>
121
- <statement name="DO0">
122
- <block type="JS_statement" id="41g398zgnmp(@^QWoD3?">
123
- <statement name="NAME">
124
- <block type="print_serveur" id="mXXfJ;^sU#5$gCCTz?(K">
125
- <value name="signal">
126
- <block type="text" id="SrtV1(=LU2R/zpS2hEgd">
127
- <field name="TEXT">toto</field>
128
- </block>
129
- </value>
130
- <next>
131
- <block type="procedures_callnoreturn" id="nx{))@{|qh+)/IgtDwSU">
132
- <mutation name="timer">
133
- <arg name="Value"></arg>
134
- </mutation>
135
- <value name="ARG0">
136
- <block type="math_number" id="PMckxN51QQHC*$}gH}dc">
137
- <field name="NUM">1234</field>
138
- </block>
139
- </value>
140
- </block>
141
- </next>
142
- </block>
143
- </statement>
144
- </block>
145
- </statement>
146
- </block>
147
- </statement>
148
- <statement name="par">
149
- <block type="await" id="8?4{QE)V$kJf%7#u%mb_">
150
- <value name="AWAIT0">
151
- <block type="now" id="BDPbz~@z:(6`tou{!)wm">
152
- <value name="signal">
153
- <block type="text" id="*%vm9@R!s@xgi1]0J}P@">
154
- <field name="TEXT">titi</field>
155
- </block>
156
- </value>
157
- </block>
158
- </value>
159
- <next>
160
- <block type="break" id=":w$r*8iO_~ME$t`/C3+T">
161
- <value name="TRAP_NAME">
162
- <block type="text" id="l=Grk]f9IBgFP+;}[saQ">
163
- <field name="TEXT">trap</field>
164
- </block>
165
- </value>
166
- </block>
167
- </next>
168
- </block>
169
- </statement>
170
- </block>
171
- </statement>
172
- </block>
173
- </next>
174
- </block>
175
- </statement>
176
- </block>
177
- <block type="procedures_defnoreturn" id="(]W];RD5_;Q6hYG!/cu*" collapsed="true" x="435" y="-552">
178
- <mutation>
179
- <arg name="tempo" varid="Z^1H[PGB!4G6n[5fW1G}"></arg>
180
- </mutation>
181
- <field name="NAME">setTempo2</field>
182
- <comment pinned="false" h="80" w="160">Pour fixer le tempo</comment>
183
- <statement name="STACK">
184
- <block type="variables_set" id="]tGIWSaN!!|Xv.1ILjdG">
185
- <field name="VAR" id="?qeVehBDiz#J.7^IG+he">tempoMax</field>
186
- <value name="VALUE">
187
- <block type="math_number" id="p=^3Y?=m:BxMZ3]q0ZeA">
188
- <field name="NUM">200</field>
189
- </block>
190
- </value>
191
- <next>
192
- <block type="variables_set" id="rI+X=^dh/hHUYV@^}Y`9">
193
- <field name="VAR" id="54U-Pms2LNZ!.L!-ls[K">tempoMin</field>
194
- <value name="VALUE">
195
- <block type="math_number" id="?1:$ON:i|4tqhkf/6,#R">
196
- <field name="NUM">30</field>
197
- </block>
198
- </value>
199
- <next>
200
- <block type="procedures_ifreturn" id="2ik;S5p;O6!d;K]Exj.S">
201
- <mutation value="0"></mutation>
202
- <value name="CONDITION">
203
- <block type="logic_operation" id="_sQvVRT`B4h0y~!@vv]6">
204
- <field name="OP">AND</field>
205
- <value name="A">
206
- <block type="logic_compare" id="ll,CP-Oo!gOTLg-i.#d3">
207
- <field name="OP">GT</field>
208
- <value name="A">
209
- <block type="variables_get" id="P(#Fcap2e}P@@637k#Vd">
210
- <field name="VAR" id="Z^1H[PGB!4G6n[5fW1G}">tempo</field>
211
- </block>
212
- </value>
213
- <value name="B">
214
- <block type="variables_get" id="4D2{6136Tuu^]iBpQYQ/">
215
- <field name="VAR" id="?qeVehBDiz#J.7^IG+he">tempoMax</field>
216
- </block>
217
- </value>
218
- </block>
219
- </value>
220
- <value name="B">
221
- <block type="logic_compare" id="(,$dUz0,xtvCwI=F-X)b">
222
- <field name="OP">LT</field>
223
- <value name="A">
224
- <block type="variables_get" id="H?V[8[kd+M@$(~*S43mS">
225
- <field name="VAR" id="Z^1H[PGB!4G6n[5fW1G}">tempo</field>
226
- </block>
227
- </value>
228
- <value name="B">
229
- <block type="variables_get" id="}~W`-yU!Cb_*_moPMi*j">
230
- <field name="VAR" id="54U-Pms2LNZ!.L!-ls[K">tempoMin</field>
231
- </block>
232
- </value>
233
- </block>
234
- </value>
235
- </block>
236
- </value>
237
- <next>
238
- <block type="print_serveur" id="QqNyb4/@6$3wM%ZN!ey~">
239
- <value name="signal">
240
- <block type="text" id="NVD#YC9NOc|6@;Q9$^mT">
241
- <field name="TEXT">Tempo set to:</field>
242
- </block>
243
- </value>
244
- <next>
245
- <block type="print_serveur" id="x^9Ca9s`]48v(K0l$CKx">
246
- <value name="signal">
247
- <block type="variables_get" id="RUTh(aM#of|0]J9i)xWw">
248
- <field name="VAR" id="Z^1H[PGB!4G6n[5fW1G}">tempo</field>
249
- </block>
250
- </value>
251
- </block>
252
- </next>
253
- </block>
254
- </next>
255
- </block>
256
- </next>
257
- </block>
258
- </next>
259
- </block>
260
- </statement>
261
- </block>
262
- </xml>