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.
Files changed (164) hide show
  1. package/client/clientListe/clientListe.js +11 -0
  2. package/client/clientListe/clientListebundle.js +1755 -1909
  3. package/client/score/parto1.js +4 -1
  4. package/client/score/parto1bundle.js +45 -23
  5. package/doc/Doc Skini Node english.pdf +0 -0
  6. package/doc/Mode d'emploi Skini Node.pdf +0 -0
  7. package/doc/Tuto Skini.pdf +0 -0
  8. package/doc/quickstart.pdf +0 -0
  9. package/myReact/orchestrationHH.hh.js +27 -12
  10. package/myReact/orchestrationHH.mjs +170 -170
  11. package/myReact/orchestrationHH.mjs.map +1 -1
  12. package/package.json +11 -8
  13. package/pieces/tutos/demoAbleton.csv +21 -0
  14. package/pieces/tutos/demoAbleton.js +100 -0
  15. package/pieces/tutos/demoAbleton.xml +180 -0
  16. package/pieces/tutos/demoHH.js +99 -0
  17. package/pieces/tutos/demoHH.xml +184 -0
  18. package/pieces/tutos/demoHHwait.js +100 -0
  19. package/pieces/tutos/demoHHwait.xml +175 -0
  20. package/pieces/tutos/tuto.csv +10 -0
  21. package/pieces/tutos/tuto.csv.good +1 -0
  22. package/pieces/tutos/tuto1.js +105 -0
  23. package/pieces/tutos/tuto1.xml +147 -0
  24. package/pieces/tutos/tuto10.back.js +106 -0
  25. package/pieces/tutos/tuto10.js +107 -0
  26. package/pieces/tutos/tuto10.xml +199 -0
  27. package/pieces/tutos/tuto11.js +111 -0
  28. package/pieces/tutos/tuto11.xml +124 -0
  29. package/pieces/tutos/tuto12.js +91 -0
  30. package/pieces/tutos/tuto12.xml +258 -0
  31. package/pieces/tutos/tuto2.back.js +106 -0
  32. package/pieces/tutos/tuto2.js +95 -0
  33. package/pieces/tutos/tuto2.xml +94 -0
  34. package/pieces/tutos/tuto3-2.js +105 -0
  35. package/pieces/tutos/tuto3-2.xml +96 -0
  36. package/pieces/tutos/tuto3.js +97 -0
  37. package/pieces/tutos/tuto3.xml +49 -0
  38. package/pieces/tutos/tuto4.js +107 -0
  39. package/pieces/tutos/tuto4.xml +106 -0
  40. package/pieces/tutos/tuto5.js +109 -0
  41. package/pieces/tutos/tuto5.xml +42 -0
  42. package/pieces/tutos/tuto6.js +105 -0
  43. package/pieces/tutos/tuto6.xml +26 -0
  44. package/pieces/tutos/tuto7.js +107 -0
  45. package/pieces/tutos/tuto7.xml +65 -0
  46. package/pieces/tutos/tuto8.js +105 -0
  47. package/pieces/tutos/tuto8.xml +76 -0
  48. package/pieces/tutos/tuto9.js +107 -0
  49. package/pieces/tutos/tuto9.xml +90 -0
  50. package/pieces/tutos/tutoAwait.js +111 -0
  51. package/pieces/tutos/tutoAwait.xml +171 -0
  52. package/pieces/tutos/tutoDoubleEmission.js +93 -0
  53. package/pieces/tutos/tutoDoubleEmission.xml +65 -0
  54. package/pieces/tutos/tutoESP32.js +104 -0
  55. package/pieces/tutos/tutoESP32.xml +246 -0
  56. package/pieces/tutos/tutoGame.js +126 -0
  57. package/pieces/tutos/tutoGame.xml +109 -0
  58. package/pieces/tutos/tutoGroups1.js +111 -0
  59. package/pieces/tutos/tutoGroups1.xml +137 -0
  60. package/pieces/tutos/tutoGroups2.js +97 -0
  61. package/pieces/tutos/tutoGroups2.xml +103 -0
  62. package/pieces/tutos/tutoGroups3.js +111 -0
  63. package/pieces/tutos/tutoGroups3.xml +128 -0
  64. package/pieces/tutos/tutoGroups4.js +111 -0
  65. package/pieces/tutos/tutoGroups4.xml +84 -0
  66. package/pieces/tutos/tutoIZ.js +95 -0
  67. package/pieces/tutos/tutoIZ.xml +135 -0
  68. package/pieces/tutos/tutoIf.js +111 -0
  69. package/pieces/tutos/tutoIf.xml +126 -0
  70. package/pieces/tutos/tutoMidi.js +126 -0
  71. package/pieces/tutos/tutoMidi.xml +62 -0
  72. package/pieces/tutos/tutoOS.js +121 -0
  73. package/pieces/tutos/tutoOSC.js +109 -0
  74. package/pieces/tutos/tutoOSC.xml +223 -0
  75. package/pieces/tutos/tutoOSCJonathan.js +94 -0
  76. package/pieces/tutos/tutoOSCJonathan.xml +312 -0
  77. package/pieces/tutos/tutoPatternInGroup.js +109 -0
  78. package/pieces/tutos/tutoPatternInGroup.xml +116 -0
  79. package/pieces/tutos/tutoRandomBlock.js +129 -0
  80. package/pieces/tutos/tutoRandomBlock.xml +194 -0
  81. package/pieces/tutos/tutoSuspend.js +107 -0
  82. package/pieces/tutos/tutoSuspend.xml +139 -0
  83. package/pieces/tutos/tutoSustain.js +107 -0
  84. package/pieces/tutos/tutoSustain.xml +109 -0
  85. package/pieces/tutos/tutoTank.csv +9 -0
  86. package/pieces/tutos/tutoTank.js +100 -0
  87. package/pieces/tutos/tutoTank.xml +326 -0
  88. package/pieces/tutos/tutoTestAll.csv +11 -0
  89. package/pieces/tutos/tutoTestAll.js +101 -0
  90. package/pieces/tutos/tutoTestAll.xml +859 -0
  91. package/serveur/skiniParametres.js +104 -11
  92. package/blocklySkini/archive/blocklyControleur.js +0 -87
  93. package/blocklySkini/archive/blocklySkini.js +0 -84
  94. package/blocklySkini/archive/blocklyhop.js +0 -75
  95. package/blocklySkini/archive/clientControleurBlocly.js +0 -170
  96. package/blocklySkini/archive/index.html +0 -76
  97. package/blocklySkini/archive/testHHsuspend.txt +0 -89
  98. package/blocklySkini/archive/testHHtrap.txt +0 -262
  99. package/blocklySkini/archive/testOrchestration.txt +0 -177
  100. package/blocklySkini/archive/testOrchestration.xml +0 -447
  101. package/blocklySkini/archive/testOrchestration2.xml +0 -456
  102. package/blocklySkini/scripts/hiphop_blocks.old.js +0 -3010
  103. package/blocklySkini/scripts/hiphop_blocks11-2025.js +0 -6104
  104. package/myReact/archive/Nodeemitvaluedlocal1.hh.js +0 -52
  105. package/myReact/archive/abort-parNode.js +0 -79
  106. package/myReact/archive/abroNode.js +0 -169
  107. package/myReact/archive/abroNode2.js +0 -80
  108. package/myReact/archive/atom.compile.hh.js +0 -52
  109. package/myReact/archive/await-countNode.js +0 -67
  110. package/myReact/archive/await-nowvalNode.js +0 -44
  111. package/myReact/archive/callHH.js +0 -96
  112. package/myReact/archive/emit-if2.hh.compiled.js +0 -113
  113. package/myReact/archive/every1Node.js +0 -35
  114. package/myReact/archive/if-runNode.js +0 -74
  115. package/myReact/archive/if1Node.js +0 -43
  116. package/myReact/archive/makeawait.js +0 -0
  117. package/myReact/archive/myReact.old.js +0 -684
  118. package/myReact/archive/orchestration.js +0 -281
  119. package/myReact/archive/orchestration1.js +0 -132
  120. package/myReact/archive/orchestration1.xml +0 -465
  121. package/myReact/archive/orchestration2.js +0 -161
  122. package/myReact/archive/orchestrationHH.mano.js +0 -280
  123. package/myReact/archive/orchestrationHHTest.js +0 -428
  124. package/myReact/archive/orchestrationHHTest.xml +0 -234
  125. package/myReact/archive/orchestrationHHTestRun.js +0 -104
  126. package/myReact/archive/orchestrationHHTestRun.xml +0 -34
  127. package/myReact/archive/orchestrationTest0.js +0 -178
  128. package/myReact/archive/orchestrationTest1.js +0 -181
  129. package/myReact/archive/orchestrationTest2.js +0 -281
  130. package/myReact/archive/run3pointsNode.js +0 -59
  131. package/myReact/archive/runNode.js +0 -123
  132. package/myReact/archive/runNode2.js +0 -91
  133. package/myReact/archive/testAwait1.js +0 -141
  134. package/myReact/archive/testAwait1.xml +0 -86
  135. package/myReact/archive/testEvery1.js +0 -122
  136. package/myReact/archive/testEvery1.xml +0 -79
  137. package/myReact/archive/testHH1.js +0 -135
  138. package/myReact/archive/testHH1.xml +0 -86
  139. package/myReact/archive/testHH1revu.js +0 -104
  140. package/myReact/archive/testHH2.js +0 -122
  141. package/myReact/archive/testHH2.xml +0 -79
  142. package/myReact/archive/testHH3.js +0 -130
  143. package/myReact/archive/testHH3.xml +0 -86
  144. package/myReact/archive/testHHabort.js +0 -121
  145. package/myReact/archive/testHHabort.xml +0 -83
  146. package/myReact/archive/testMakeawait.js +0 -202
  147. package/myReact/archive/testRun1.js +0 -168
  148. package/myReact/archive/testRun1.xml +0 -142
  149. package/myReact/archive/titi.js +0 -28
  150. package/myReact/archive/titi.xml +0 -110
  151. package/myReact/archive/toto.js +0 -73
  152. package/myReact/archive/toto.xml +0 -198
  153. package/myReact/archive/trap-await-parallelNode.js +0 -123
  154. package/myReact/inutiles/hiver2022.xml +0 -804
  155. package/myReact/inutiles/hopeNode.xml +0 -459
  156. package/myReact/inutiles/mars2022.xml +0 -871
  157. package/myReact/inutiles/mystique1.xml +0 -318
  158. package/myReact/inutiles/mystiqueOSC.xml +0 -277
  159. package/myReact/inutiles/opus5Node.xml +0 -1271
  160. package/myReact/inutiles/opus5NodeLinux.xml +0 -1241
  161. package/myReact/inutiles/orchestrationHH.xml +0 -541
  162. package/myReact/inutiles/orchestrationHH2.xml +0 -547
  163. package/myReact/inutiles/testHH.xml +0 -95
  164. 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>