nodeskini 1.0.0

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 (215) hide show
  1. package/README.md +31 -0
  2. package/client/archive/bundle.js +11528 -0
  3. package/client/archive/golem.html +60 -0
  4. package/client/archive/golemClient.js +595 -0
  5. package/client/archive/golembundle.js +11634 -0
  6. package/client/archive/sequencer.html +43 -0
  7. package/client/archive/sequenceurClient.js +815 -0
  8. package/client/archive/stylegolem.css +158 -0
  9. package/client/archive/stylesequenceur.css +204 -0
  10. package/client/clientListe/Sortable-master/.circleci/config.yml +33 -0
  11. package/client/clientListe/Sortable-master/.editorconfig +15 -0
  12. package/client/clientListe/Sortable-master/.github/ISSUE_TEMPLATE/bug-report.md +73 -0
  13. package/client/clientListe/Sortable-master/.github/ISSUE_TEMPLATE/custom-template.md +48 -0
  14. package/client/clientListe/Sortable-master/.github/ISSUE_TEMPLATE/feature-request.md +41 -0
  15. package/client/clientListe/Sortable-master/.jshintrc +25 -0
  16. package/client/clientListe/Sortable-master/.testcaferc.json +7 -0
  17. package/client/clientListe/Sortable-master/CONTRIBUTING.md +26 -0
  18. package/client/clientListe/Sortable-master/LICENSE +21 -0
  19. package/client/clientListe/Sortable-master/README.md +813 -0
  20. package/client/clientListe/Sortable-master/Sortable.js +3709 -0
  21. package/client/clientListe/Sortable-master/Sortable.min.js +2 -0
  22. package/client/clientListe/Sortable-master/Sortable.min.old.js +2 -0
  23. package/client/clientListe/Sortable-master/Sortable.min.old.old.js +2 -0
  24. package/client/clientListe/Sortable-master/babel.config.js +27 -0
  25. package/client/clientListe/Sortable-master/bower.json +30 -0
  26. package/client/clientListe/Sortable-master/entry/entry-complete.js +8 -0
  27. package/client/clientListe/Sortable-master/entry/entry-core.js +19 -0
  28. package/client/clientListe/Sortable-master/entry/entry-defaults.js +19 -0
  29. package/client/clientListe/Sortable-master/index.html +460 -0
  30. package/client/clientListe/Sortable-master/modular/sortable.complete.esm.js +3701 -0
  31. package/client/clientListe/Sortable-master/modular/sortable.core.esm.js +3698 -0
  32. package/client/clientListe/Sortable-master/modular/sortable.esm.js +3699 -0
  33. package/client/clientListe/Sortable-master/package-lock.json +5704 -0
  34. package/client/clientListe/Sortable-master/package.json +56 -0
  35. package/client/clientListe/Sortable-master/plugins/AutoScroll/AutoScroll.js +270 -0
  36. package/client/clientListe/Sortable-master/plugins/AutoScroll/README.md +80 -0
  37. package/client/clientListe/Sortable-master/plugins/AutoScroll/index.js +1 -0
  38. package/client/clientListe/Sortable-master/plugins/MultiDrag/MultiDrag.js +617 -0
  39. package/client/clientListe/Sortable-master/plugins/MultiDrag/README.md +96 -0
  40. package/client/clientListe/Sortable-master/plugins/MultiDrag/index.js +1 -0
  41. package/client/clientListe/Sortable-master/plugins/OnSpill/OnSpill.js +79 -0
  42. package/client/clientListe/Sortable-master/plugins/OnSpill/README.md +60 -0
  43. package/client/clientListe/Sortable-master/plugins/OnSpill/index.js +1 -0
  44. package/client/clientListe/Sortable-master/plugins/README.md +178 -0
  45. package/client/clientListe/Sortable-master/plugins/Swap/README.md +55 -0
  46. package/client/clientListe/Sortable-master/plugins/Swap/Swap.js +90 -0
  47. package/client/clientListe/Sortable-master/plugins/Swap/index.js +1 -0
  48. package/client/clientListe/Sortable-master/scripts/banner.js +8 -0
  49. package/client/clientListe/Sortable-master/scripts/build.js +17 -0
  50. package/client/clientListe/Sortable-master/scripts/esm-build.js +28 -0
  51. package/client/clientListe/Sortable-master/scripts/minify.js +11 -0
  52. package/client/clientListe/Sortable-master/scripts/test-compat.js +30 -0
  53. package/client/clientListe/Sortable-master/scripts/test.js +21 -0
  54. package/client/clientListe/Sortable-master/scripts/umd-build.js +15 -0
  55. package/client/clientListe/Sortable-master/src/Animation.js +175 -0
  56. package/client/clientListe/Sortable-master/src/BrowserInfo.js +12 -0
  57. package/client/clientListe/Sortable-master/src/EventDispatcher.js +57 -0
  58. package/client/clientListe/Sortable-master/src/PluginManager.js +87 -0
  59. package/client/clientListe/Sortable-master/src/Sortable.js +1971 -0
  60. package/client/clientListe/Sortable-master/src/utils.js +556 -0
  61. package/client/clientListe/Sortable-master/st/app.js +224 -0
  62. package/client/clientListe/Sortable-master/st/iframe/frame.html +32 -0
  63. package/client/clientListe/Sortable-master/st/iframe/index.html +49 -0
  64. package/client/clientListe/Sortable-master/st/logo.png +0 -0
  65. package/client/clientListe/Sortable-master/st/og-image.png +0 -0
  66. package/client/clientListe/Sortable-master/st/prettify/prettify.css +1 -0
  67. package/client/clientListe/Sortable-master/st/prettify/prettify.js +46 -0
  68. package/client/clientListe/Sortable-master/st/prettify/run_prettify.js +64 -0
  69. package/client/clientListe/Sortable-master/st/saucelabs.svg +1 -0
  70. package/client/clientListe/Sortable-master/st/theme.css +254 -0
  71. package/client/clientListe/Sortable-master/tests/Sortable.compat.test.js +39 -0
  72. package/client/clientListe/Sortable-master/tests/Sortable.test.js +386 -0
  73. package/client/clientListe/Sortable-master/tests/dual-list.html +34 -0
  74. package/client/clientListe/Sortable-master/tests/empty-list.html +30 -0
  75. package/client/clientListe/Sortable-master/tests/filter.html +27 -0
  76. package/client/clientListe/Sortable-master/tests/handles.html +27 -0
  77. package/client/clientListe/Sortable-master/tests/nested.html +67 -0
  78. package/client/clientListe/Sortable-master/tests/single-list.html +25 -0
  79. package/client/clientListe/Sortable-master/tests/style.css +18 -0
  80. package/client/clientListe/clientListe.html +148 -0
  81. package/client/clientListe/clientListe.js +1508 -0
  82. package/client/clientListe/clientListebundle.js +13164 -0
  83. package/client/clientListe/images/poubelle.png +0 -0
  84. package/client/clientListe/images/start.png +0 -0
  85. package/client/clientListe/images/stop.png +0 -0
  86. package/client/clientListe/images/submit.png +0 -0
  87. package/client/clientListe/sortable-theme-bootstrap.css +90 -0
  88. package/client/configurateur/configReact.js +273 -0
  89. package/client/configurateur/configReactbundle.js +295 -0
  90. package/client/configurateur/configurateur.css +95 -0
  91. package/client/configurateur/configurateur.html +48 -0
  92. package/client/configurateur/lib/jexcel.css +755 -0
  93. package/client/configurateur/lib/jexcel.js +14970 -0
  94. package/client/configurateur/lib/jsuites.css +2801 -0
  95. package/client/configurateur/lib/jsuites.js +11822 -0
  96. package/client/configurateur/lib/react-dom.production.min.js +239 -0
  97. package/client/configurateur/lib/react.production.min.js +32 -0
  98. package/client/configurateur/src/configReact.js +247 -0
  99. package/client/controleur/clientcontroleur.js +536 -0
  100. package/client/controleur/clientcontroleur.test.js +282 -0
  101. package/client/controleur/controleur.html +51 -0
  102. package/client/controleur/controleurbundle.js +565 -0
  103. package/client/controleur/stylecontroleur.css +236 -0
  104. package/client/controleurHH/controleurHH.html +71 -0
  105. package/client/controleurHH/controleurHH.js +252 -0
  106. package/client/controleurHH/styles/index.css +320 -0
  107. package/client/controleurHH/styles/material.css +11552 -0
  108. package/client/parametrage/paramReact.js +473 -0
  109. package/client/parametrage/paramReactbundle.js +500 -0
  110. package/client/parametrage/parametrage.css +111 -0
  111. package/client/parametrage/parametrage.html +163 -0
  112. package/client/parametrage/src/paramReact.js +459 -0
  113. package/client/score/hash.js +83 -0
  114. package/client/score/p5.min.js +3 -0
  115. package/client/score/parto1.js +1171 -0
  116. package/client/score/parto1bundle.js +1181 -0
  117. package/client/score/processing.min.js +431 -0
  118. package/client/score/score.html +15 -0
  119. package/client/score/score.js +34 -0
  120. package/client/simulateurListe/simulateurFork.js +750 -0
  121. package/client/simulateurListe/simulateurFork.mjs +681 -0
  122. package/client/simulateurListe/simulateurForkSansReorg.js +569 -0
  123. package/client/simulateurListe/simulateurListe.js +628 -0
  124. package/myReact/archive/Nodeemitvaluedlocal1.hh.js +52 -0
  125. package/myReact/archive/abort-parNode.js +79 -0
  126. package/myReact/archive/abroNode.js +169 -0
  127. package/myReact/archive/abroNode2.js +80 -0
  128. package/myReact/archive/atom.compile.hh.js +51 -0
  129. package/myReact/archive/await-countNode.js +67 -0
  130. package/myReact/archive/await-nowvalNode.js +44 -0
  131. package/myReact/archive/callHH.js +96 -0
  132. package/myReact/archive/emit-if2.hh.compiled.js +113 -0
  133. package/myReact/archive/every1Node.js +35 -0
  134. package/myReact/archive/if-runNode.js +74 -0
  135. package/myReact/archive/if1Node.js +43 -0
  136. package/myReact/archive/makeawait.js +0 -0
  137. package/myReact/archive/myReact.old.js +684 -0
  138. package/myReact/archive/orchestration.js +281 -0
  139. package/myReact/archive/orchestration1.js +132 -0
  140. package/myReact/archive/orchestration1.xml +465 -0
  141. package/myReact/archive/orchestration2.js +161 -0
  142. package/myReact/archive/orchestrationHH.mano.js +280 -0
  143. package/myReact/archive/orchestrationHHTest.js +428 -0
  144. package/myReact/archive/orchestrationHHTest.xml +234 -0
  145. package/myReact/archive/orchestrationHHTestRun.js +104 -0
  146. package/myReact/archive/orchestrationHHTestRun.xml +34 -0
  147. package/myReact/archive/orchestrationTest0.js +178 -0
  148. package/myReact/archive/orchestrationTest1.js +181 -0
  149. package/myReact/archive/orchestrationTest2.js +281 -0
  150. package/myReact/archive/run3pointsNode.js +59 -0
  151. package/myReact/archive/runNode.js +123 -0
  152. package/myReact/archive/runNode2.js +91 -0
  153. package/myReact/archive/testAwait1.js +141 -0
  154. package/myReact/archive/testAwait1.xml +86 -0
  155. package/myReact/archive/testEvery1.js +122 -0
  156. package/myReact/archive/testEvery1.xml +79 -0
  157. package/myReact/archive/testHH1.js +135 -0
  158. package/myReact/archive/testHH1.xml +86 -0
  159. package/myReact/archive/testHH1revu.js +104 -0
  160. package/myReact/archive/testHH2.js +122 -0
  161. package/myReact/archive/testHH2.xml +79 -0
  162. package/myReact/archive/testHH3.js +130 -0
  163. package/myReact/archive/testHH3.xml +86 -0
  164. package/myReact/archive/testHHabort.js +121 -0
  165. package/myReact/archive/testHHabort.xml +83 -0
  166. package/myReact/archive/testMakeawait.js +202 -0
  167. package/myReact/archive/testRun1.js +168 -0
  168. package/myReact/archive/testRun1.xml +142 -0
  169. package/myReact/archive/titi.js +28 -0
  170. package/myReact/archive/titi.xml +110 -0
  171. package/myReact/archive/toto.js +73 -0
  172. package/myReact/archive/toto.xml +198 -0
  173. package/myReact/archive/trap-await-parallelNode.js +123 -0
  174. package/myReact/inutiles/hiver2022.xml +804 -0
  175. package/myReact/inutiles/hopeNode.xml +459 -0
  176. package/myReact/inutiles/mars2022.xml +871 -0
  177. package/myReact/inutiles/mystique1.xml +318 -0
  178. package/myReact/inutiles/mystiqueOSC.xml +277 -0
  179. package/myReact/inutiles/opus5Node.xml +1271 -0
  180. package/myReact/inutiles/opus5NodeLinux.xml +1241 -0
  181. package/myReact/inutiles/orchestrationHH.xml +541 -0
  182. package/myReact/inutiles/orchestrationHH2.xml +547 -0
  183. package/myReact/inutiles/testHH.xml +95 -0
  184. package/myReact/inutiles/trouveLaPercuTenor.xml +349 -0
  185. package/myReact/myReact.js +744 -0
  186. package/myReact/myReact.min.js +1 -0
  187. package/myReact/orchestrationHH.js +311 -0
  188. package/myReact/orchestrationHH.mjs +436 -0
  189. package/myReact/orchestrationHH.mjs.map +1 -0
  190. package/package.json +46 -0
  191. package/serveur/OSCandMidi.mjs +361 -0
  192. package/serveur/computeScore.mjs +415 -0
  193. package/serveur/controleDAW.mjs +1149 -0
  194. package/serveur/defaultSession.csv +2 -0
  195. package/serveur/defaultSkiniParametres.js +119 -0
  196. package/serveur/gameOSC.mjs +96 -0
  197. package/serveur/groupeClientsSons.mjs +1014 -0
  198. package/serveur/ipConfig.json +24 -0
  199. package/serveur/ipConfig127.json +19 -0
  200. package/serveur/ipConfig75.json +17 -0
  201. package/serveur/ipConfigBH.json +19 -0
  202. package/serveur/ipConfigLocal.json +19 -0
  203. package/serveur/midiConfig.json +26 -0
  204. package/serveur/midiConfigBH.json +26 -0
  205. package/serveur/midiConfigVoid.json +3 -0
  206. package/serveur/midimix.mjs +570 -0
  207. package/serveur/saveParam.mjs +159 -0
  208. package/serveur/skiniParametres.good.js +132 -0
  209. package/serveur/skiniParametres.js +106 -0
  210. package/serveur/utilsHHSkini.hh.js +64 -0
  211. package/serveur/utilsSkini.mjs +137 -0
  212. package/serveur/websocketServer.mjs +2052 -0
  213. package/serveur/workerInterfaceZ.mjs +327 -0
  214. package/serveur/workerSynchro.mjs +49 -0
  215. package/skini.mjs +141 -0
@@ -0,0 +1,90 @@
1
+ /* line 2, ../sass/_sortable.sass */
2
+ table[data-sortable] {
3
+ border-collapse: collapse;
4
+ border-spacing: 0;
5
+ }
6
+ /* line 6, ../sass/_sortable.sass */
7
+ table[data-sortable] th {
8
+ vertical-align: bottom;
9
+ font-weight: bold;
10
+ }
11
+ /* line 10, ../sass/_sortable.sass */
12
+ table[data-sortable] th, table[data-sortable] td {
13
+ text-align: left;
14
+ padding: 10px;
15
+ }
16
+ /* line 14, ../sass/_sortable.sass */
17
+ table[data-sortable] th:not([data-sortable="false"]) {
18
+ -webkit-user-select: none;
19
+ -moz-user-select: none;
20
+ -ms-user-select: none;
21
+ -o-user-select: none;
22
+ user-select: none;
23
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
24
+ -webkit-touch-callout: none;
25
+ cursor: pointer;
26
+ }
27
+ /* line 26, ../sass/_sortable.sass */
28
+ table[data-sortable] th:after {
29
+ content: "";
30
+ visibility: hidden;
31
+ display: inline-block;
32
+ vertical-align: inherit;
33
+ height: 0;
34
+ width: 0;
35
+ border-width: 5px;
36
+ border-style: solid;
37
+ border-color: transparent;
38
+ margin-right: 1px;
39
+ margin-left: 10px;
40
+ float: right;
41
+ }
42
+ /* line 40, ../sass/_sortable.sass */
43
+ table[data-sortable] th[data-sorted="true"]:after {
44
+ visibility: visible;
45
+ }
46
+ /* line 43, ../sass/_sortable.sass */
47
+ table[data-sortable] th[data-sorted-direction="descending"]:after {
48
+ border-top-color: inherit;
49
+ margin-top: 8px;
50
+ }
51
+ /* line 47, ../sass/_sortable.sass */
52
+ table[data-sortable] th[data-sorted-direction="ascending"]:after {
53
+ border-bottom-color: inherit;
54
+ margin-top: 3px;
55
+ }
56
+
57
+ /* line 5, ../sass/sortable-theme-bootstrap.sass */
58
+ table[data-sortable].sortable-theme-bootstrap {
59
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
60
+ font-size: 14px;
61
+ line-height: 20px;
62
+ color: #333333;
63
+ background: white;
64
+ }
65
+ /* line 12, ../sass/sortable-theme-bootstrap.sass */
66
+ table[data-sortable].sortable-theme-bootstrap thead th {
67
+ border-bottom: 2px solid #e0e0e0;
68
+ }
69
+ /* line 15, ../sass/sortable-theme-bootstrap.sass */
70
+ table[data-sortable].sortable-theme-bootstrap tbody td {
71
+ border-top: 1px solid #e0e0e0;
72
+ }
73
+ /* line 18, ../sass/sortable-theme-bootstrap.sass */
74
+ table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"] {
75
+ color: #3a87ad;
76
+ background: #d9edf7;
77
+ border-bottom-color: #bce8f1;
78
+ }
79
+ /* line 23, ../sass/sortable-theme-bootstrap.sass */
80
+ table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="descending"]:after {
81
+ border-top-color: #3a87ad;
82
+ }
83
+ /* line 26, ../sass/sortable-theme-bootstrap.sass */
84
+ table[data-sortable].sortable-theme-bootstrap th[data-sorted="true"][data-sorted-direction="ascending"]:after {
85
+ border-bottom-color: #3a87ad;
86
+ }
87
+ /* line 31, ../sass/sortable-theme-bootstrap.sass */
88
+ table[data-sortable].sortable-theme-bootstrap.sortable-theme-bootstrap-striped tbody > tr:nth-child(odd) > td {
89
+ background-color: #f9f9f9;
90
+ }
@@ -0,0 +1,273 @@
1
+ 'use strict';
2
+ /**
3
+ * @fileOverview Configurateur in React.js
4
+ * compile JSX to js, launch this in the terminal, in ./client/configurateur
5
+ * npx babel --watch src --out-dir . --presets react-app/prod
6
+ * Do also: browserify configReact.js -o configReactbundle.js
7
+ *
8
+ * @copyright (C) 2022 Bertrand Petit-Hédelin
9
+ *
10
+ * This program is free software: you can redistribute it and/or modify
11
+ * it under the terms of the GNU General Public License as published by
12
+ * the Free Software Foundation, either version 3 of the License, or
13
+ * any later version.
14
+ *
15
+ * This program is distributed in the hope that it will be useful,
16
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
+ * GNU General Public License for more details.
19
+ *
20
+ * You should have received a copy of the GNU General Public License
21
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
22
+ *
23
+ * @version 1.2
24
+ * @author Bertrand Petit-Hédelin <bertrand@hedelin.fr>
25
+ */
26
+
27
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
28
+
29
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
30
+
31
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
32
+
33
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
34
+
35
+ var par;
36
+ var ipConfig = require("../../serveur/ipConfig.json");
37
+
38
+ var index = Math.floor(Math.random() * 10000 + 1); // Pour identifier le client
39
+ var ws;
40
+
41
+ var msg = { // On met des valeurs pas defaut
42
+ type: "configuration",
43
+ text: "ECRAN_NOIR",
44
+ pseudo: "Anonyme",
45
+ value: 0
46
+ };
47
+
48
+ function saisiClip() {
49
+ var DAWNote = document.getElementById("numClip").value;
50
+ var DAWChannel = Math.floor(DAWNote / 127) + 1;
51
+ DAWNote = DAWNote % 127;
52
+ if (DAWChannel > 15) {
53
+ console.log("Web Socket Server.js : pushNoteOnDAW: Nombre de canaux midi dépassé.");
54
+ return;
55
+ }
56
+
57
+ var msg = {
58
+ type: "configDAWMidiNote",
59
+ bus: par.busMidiDAW,
60
+ channel: DAWChannel,
61
+ note: DAWNote
62
+ };
63
+ ws.send(JSON.stringify(msg));
64
+ }
65
+ window.saisiClip = saisiClip;
66
+
67
+ function saisiCC() {
68
+ var controlChange = parseFloat(document.getElementById("numCC").value);
69
+ var controlChangeValue = parseFloat(document.getElementById("valueCC").value);
70
+ var DAWChannel = 1;
71
+ if (controlChange != undefined && controlChangeValue != undefined) {
72
+ var msg = {
73
+ type: "configDAWCC",
74
+ bus: par.busMidiDAW,
75
+ channel: DAWChannel,
76
+ CC: controlChange,
77
+ CCValue: controlChangeValue
78
+ };
79
+ ws.send(JSON.stringify(msg));
80
+ } else {
81
+ alert("CC or CC value undefined:", controlChange, controlChangeValue);
82
+ }
83
+ }
84
+ window.saisiCC = saisiCC;
85
+
86
+ function saisiOSC() {
87
+ var IpOSC = document.getElementById("IpOSC").value;
88
+ var messageOSC = document.getElementById("messageOSC").value;
89
+ var value1OSC = document.getElementById("val1OSC").value;
90
+
91
+ if (IpOSC != '' && messageOSC != '' && value1OSC != '') {
92
+ var msg = {
93
+ type: "sendOSC",
94
+ IpAddress: IpOSC,
95
+ message: messageOSC,
96
+ value1: value1OSC
97
+ };
98
+ ws.send(JSON.stringify(msg));
99
+ } else {
100
+ alert("OSC command incomplete");
101
+ }
102
+ }
103
+ window.saisiOSC = saisiOSC;
104
+
105
+ function initWSSocket(host) {
106
+
107
+ window.resizeTo(900, 600);
108
+
109
+ ws = new WebSocket("ws://" + host + ":" + ipConfig.websocketServeurPort);
110
+ console.log("configurateur ws://" + host + ":" + ipConfig.websocketServeurPort);
111
+
112
+ ws.onopen = function (event) {
113
+ var msg = {
114
+ type: "startSpectateur",
115
+ text: "configurateur",
116
+ id: index
117
+ };
118
+ console.log("ID sent to server:", msg.id);
119
+ ws.send(JSON.stringify(msg));
120
+ };
121
+
122
+ //Traitement de la Réception sur le client
123
+ ws.onmessage = function (event) {
124
+ var msgRecu = JSON.parse(event.data);
125
+ switch (msgRecu.type) {
126
+
127
+ case "message":
128
+ console.log(msgRecu);
129
+ //document.getElementById("MessageDuServeur").innerHTML = msgRecu.value;
130
+ break;
131
+
132
+ case "skiniParametres":
133
+ console.log("skiniParametres:", msgRecu.value);
134
+ console.log("skiniParametres:", msgRecu.descriptors);
135
+ par = msgRecu.value;
136
+ var options = {
137
+ data: msgRecu.descriptors,
138
+ minDimensions: [14, 14],
139
+ columns: [{ type: 'text', width: 80, title: 'Note' }, { type: 'text', width: 80, title: 'Note stop' }, { type: 'text', width: 80, title: 'Flag' }, { type: 'text', width: 120, title: 'Text' }, { type: 'text', width: 120, title: 'Sound file' }, { type: 'text', width: 80, title: 'Fifo' }, { type: 'text', width: 80, title: 'Slot' }, { type: 'text', width: 80, title: 'Type' }, { type: 'text', width: 80, title: 'Vert. type' }, { type: 'text', width: 90, title: 'Group Index' }, { type: 'text', width: 80, title: 'Duration' }, { type: 'text', width: 100, title: 'IP address' }, { type: 'text', width: 80, title: 'Buffer num' }, { type: 'text', width: 80, title: 'Level' }]
140
+ };
141
+ ReactDOM.render(React.createElement(Jspreadsheet, { options: options }), document.getElementById('spreadsheet'));
142
+ break;
143
+
144
+ default:
145
+ console.log("Client reçoit un message inconnu");
146
+ }
147
+ };
148
+
149
+ ws.onclose = function (event) {
150
+ console.log("Client: websocket closed for :", index);
151
+ };
152
+
153
+ window.onbeforeunload = function () {
154
+ msg.type = "closeSpectateur";
155
+ msg.text = "DISCONNECT_SPECTATEUR";
156
+ ws.send(JSON.stringify(msg));
157
+ ws.close();
158
+ };
159
+ }
160
+ window.initWSSocket = initWSSocket;
161
+
162
+ // Pour test, inutile sinon
163
+
164
+ var LikeButton = function (_React$Component) {
165
+ _inherits(LikeButton, _React$Component);
166
+
167
+ function LikeButton(props) {
168
+ _classCallCheck(this, LikeButton);
169
+
170
+ var _this = _possibleConstructorReturn(this, (LikeButton.__proto__ || Object.getPrototypeOf(LikeButton)).call(this, props));
171
+
172
+ _this.state = { liked: false };
173
+ return _this;
174
+ }
175
+
176
+ _createClass(LikeButton, [{
177
+ key: "render",
178
+ value: function render() {
179
+ var _this2 = this;
180
+
181
+ if (this.state.liked) {
182
+ return ipConfig.websocketServeurPort;
183
+ }
184
+
185
+ return React.createElement(
186
+ "button",
187
+ { onClick: function onClick() {
188
+ return _this2.setState({ liked: true });
189
+ } },
190
+ "Like"
191
+ );
192
+ }
193
+ }]);
194
+
195
+ return LikeButton;
196
+ }(React.Component);
197
+
198
+ var Jspreadsheet = function (_React$Component2) {
199
+ _inherits(Jspreadsheet, _React$Component2);
200
+
201
+ function Jspreadsheet(props) {
202
+ _classCallCheck(this, Jspreadsheet);
203
+
204
+ var _this3 = _possibleConstructorReturn(this, (Jspreadsheet.__proto__ || Object.getPrototypeOf(Jspreadsheet)).call(this, props));
205
+
206
+ _this3.hideSomeColumns = function (obj) {
207
+ //obj.hideColumn(2);
208
+ //obj.hideColumn(6);
209
+ //obj.hideColumn(8);
210
+ //obj.hideColumn(11);
211
+ //obj.hideColumn(12);
212
+ };
213
+
214
+ _this3.componentDidMount = function () {
215
+ this.el = jspreadsheet(this.wrapper.current, this.options);
216
+ this.hideSomeColumns(this.el);
217
+ };
218
+
219
+ _this3.addRow = function () {
220
+ this.el.insertRow();
221
+ };
222
+
223
+ _this3.updateDescriptors = function () {
224
+ var descr = void 0;
225
+ descr = this.el.getData();
226
+ console.log(descr);
227
+ var msg = {
228
+ type: "updateSession",
229
+ data: descr
230
+ };
231
+ ws.send(JSON.stringify(msg));
232
+ };
233
+
234
+ _this3.options = props.options;
235
+ _this3.wrapper = React.createRef();
236
+ return _this3;
237
+ }
238
+
239
+ _createClass(Jspreadsheet, [{
240
+ key: "render",
241
+ value: function render() {
242
+ var _this4 = this;
243
+
244
+ return React.createElement(
245
+ "div",
246
+ null,
247
+ React.createElement("div", { ref: this.wrapper }),
248
+ React.createElement("br", null),
249
+ React.createElement("input", {
250
+ className: "button",
251
+ type: "button",
252
+ value: "Add new row",
253
+ onClick: function onClick() {
254
+ return _this4.addRow();
255
+ }
256
+ }),
257
+ React.createElement("input", {
258
+ className: "button",
259
+ type: "button",
260
+ value: "Update descriptors",
261
+ onClick: function onClick() {
262
+ return _this4.updateDescriptors();
263
+ }
264
+ })
265
+ );
266
+ }
267
+ }]);
268
+
269
+ return Jspreadsheet;
270
+ }(React.Component);
271
+
272
+ //let domContainer = document.querySelector('#like_button_container');
273
+ //ReactDOM.render(<LikeButton />, domContainer);
@@ -0,0 +1,295 @@
1
+ (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
2
+ 'use strict';
3
+ /**
4
+ * @fileOverview Configurateur in React.js
5
+ * compile JSX to js, launch this in the terminal, in ./client/configurateur
6
+ * npx babel --watch src --out-dir . --presets react-app/prod
7
+ * Do also: browserify configReact.js -o configReactbundle.js
8
+ *
9
+ * @copyright (C) 2022 Bertrand Petit-Hédelin
10
+ *
11
+ * This program is free software: you can redistribute it and/or modify
12
+ * it under the terms of the GNU General Public License as published by
13
+ * the Free Software Foundation, either version 3 of the License, or
14
+ * any later version.
15
+ *
16
+ * This program is distributed in the hope that it will be useful,
17
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ * GNU General Public License for more details.
20
+ *
21
+ * You should have received a copy of the GNU General Public License
22
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
23
+ *
24
+ * @version 1.2
25
+ * @author Bertrand Petit-Hédelin <bertrand@hedelin.fr>
26
+ */
27
+
28
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
29
+
30
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
31
+
32
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
33
+
34
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
35
+
36
+ var par;
37
+ var ipConfig = require("../../serveur/ipConfig.json");
38
+
39
+ var index = Math.floor(Math.random() * 10000 + 1); // Pour identifier le client
40
+ var ws;
41
+
42
+ var msg = { // On met des valeurs pas defaut
43
+ type: "configuration",
44
+ text: "ECRAN_NOIR",
45
+ pseudo: "Anonyme",
46
+ value: 0
47
+ };
48
+
49
+ function saisiClip() {
50
+ var DAWNote = document.getElementById("numClip").value;
51
+ var DAWChannel = Math.floor(DAWNote / 127) + 1;
52
+ DAWNote = DAWNote % 127;
53
+ if (DAWChannel > 15) {
54
+ console.log("Web Socket Server.js : pushNoteOnDAW: Nombre de canaux midi dépassé.");
55
+ return;
56
+ }
57
+
58
+ var msg = {
59
+ type: "configDAWMidiNote",
60
+ bus: par.busMidiDAW,
61
+ channel: DAWChannel,
62
+ note: DAWNote
63
+ };
64
+ ws.send(JSON.stringify(msg));
65
+ }
66
+ window.saisiClip = saisiClip;
67
+
68
+ function saisiCC() {
69
+ var controlChange = parseFloat(document.getElementById("numCC").value);
70
+ var controlChangeValue = parseFloat(document.getElementById("valueCC").value);
71
+ var DAWChannel = 1;
72
+ if (controlChange != undefined && controlChangeValue != undefined) {
73
+ var msg = {
74
+ type: "configDAWCC",
75
+ bus: par.busMidiDAW,
76
+ channel: DAWChannel,
77
+ CC: controlChange,
78
+ CCValue: controlChangeValue
79
+ };
80
+ ws.send(JSON.stringify(msg));
81
+ } else {
82
+ alert("CC or CC value undefined:", controlChange, controlChangeValue);
83
+ }
84
+ }
85
+ window.saisiCC = saisiCC;
86
+
87
+ function saisiOSC() {
88
+ var IpOSC = document.getElementById("IpOSC").value;
89
+ var messageOSC = document.getElementById("messageOSC").value;
90
+ var value1OSC = document.getElementById("val1OSC").value;
91
+
92
+ if (IpOSC != '' && messageOSC != '' && value1OSC != '') {
93
+ var msg = {
94
+ type: "sendOSC",
95
+ IpAddress: IpOSC,
96
+ message: messageOSC,
97
+ value1: value1OSC
98
+ };
99
+ ws.send(JSON.stringify(msg));
100
+ } else {
101
+ alert("OSC command incomplete");
102
+ }
103
+ }
104
+ window.saisiOSC = saisiOSC;
105
+
106
+ function initWSSocket(host) {
107
+
108
+ window.resizeTo(900, 600);
109
+
110
+ ws = new WebSocket("ws://" + host + ":" + ipConfig.websocketServeurPort);
111
+ console.log("configurateur ws://" + host + ":" + ipConfig.websocketServeurPort);
112
+
113
+ ws.onopen = function (event) {
114
+ var msg = {
115
+ type: "startSpectateur",
116
+ text: "configurateur",
117
+ id: index
118
+ };
119
+ console.log("ID sent to server:", msg.id);
120
+ ws.send(JSON.stringify(msg));
121
+ };
122
+
123
+ //Traitement de la Réception sur le client
124
+ ws.onmessage = function (event) {
125
+ var msgRecu = JSON.parse(event.data);
126
+ switch (msgRecu.type) {
127
+
128
+ case "message":
129
+ console.log(msgRecu);
130
+ //document.getElementById("MessageDuServeur").innerHTML = msgRecu.value;
131
+ break;
132
+
133
+ case "skiniParametres":
134
+ console.log("skiniParametres:", msgRecu.value);
135
+ console.log("skiniParametres:", msgRecu.descriptors);
136
+ par = msgRecu.value;
137
+ var options = {
138
+ data: msgRecu.descriptors,
139
+ minDimensions: [14, 14],
140
+ columns: [{ type: 'text', width: 80, title: 'Note' }, { type: 'text', width: 80, title: 'Note stop' }, { type: 'text', width: 80, title: 'Flag' }, { type: 'text', width: 120, title: 'Text' }, { type: 'text', width: 120, title: 'Sound file' }, { type: 'text', width: 80, title: 'Fifo' }, { type: 'text', width: 80, title: 'Slot' }, { type: 'text', width: 80, title: 'Type' }, { type: 'text', width: 80, title: 'Vert. type' }, { type: 'text', width: 90, title: 'Group Index' }, { type: 'text', width: 80, title: 'Duration' }, { type: 'text', width: 100, title: 'IP address' }, { type: 'text', width: 80, title: 'Buffer num' }, { type: 'text', width: 80, title: 'Level' }]
141
+ };
142
+ ReactDOM.render(React.createElement(Jspreadsheet, { options: options }), document.getElementById('spreadsheet'));
143
+ break;
144
+
145
+ default:
146
+ console.log("Client reçoit un message inconnu");
147
+ }
148
+ };
149
+
150
+ ws.onclose = function (event) {
151
+ console.log("Client: websocket closed for :", index);
152
+ };
153
+
154
+ window.onbeforeunload = function () {
155
+ msg.type = "closeSpectateur";
156
+ msg.text = "DISCONNECT_SPECTATEUR";
157
+ ws.send(JSON.stringify(msg));
158
+ ws.close();
159
+ };
160
+ }
161
+ window.initWSSocket = initWSSocket;
162
+
163
+ // Pour test, inutile sinon
164
+
165
+ var LikeButton = function (_React$Component) {
166
+ _inherits(LikeButton, _React$Component);
167
+
168
+ function LikeButton(props) {
169
+ _classCallCheck(this, LikeButton);
170
+
171
+ var _this = _possibleConstructorReturn(this, (LikeButton.__proto__ || Object.getPrototypeOf(LikeButton)).call(this, props));
172
+
173
+ _this.state = { liked: false };
174
+ return _this;
175
+ }
176
+
177
+ _createClass(LikeButton, [{
178
+ key: "render",
179
+ value: function render() {
180
+ var _this2 = this;
181
+
182
+ if (this.state.liked) {
183
+ return ipConfig.websocketServeurPort;
184
+ }
185
+
186
+ return React.createElement(
187
+ "button",
188
+ { onClick: function onClick() {
189
+ return _this2.setState({ liked: true });
190
+ } },
191
+ "Like"
192
+ );
193
+ }
194
+ }]);
195
+
196
+ return LikeButton;
197
+ }(React.Component);
198
+
199
+ var Jspreadsheet = function (_React$Component2) {
200
+ _inherits(Jspreadsheet, _React$Component2);
201
+
202
+ function Jspreadsheet(props) {
203
+ _classCallCheck(this, Jspreadsheet);
204
+
205
+ var _this3 = _possibleConstructorReturn(this, (Jspreadsheet.__proto__ || Object.getPrototypeOf(Jspreadsheet)).call(this, props));
206
+
207
+ _this3.hideSomeColumns = function (obj) {
208
+ //obj.hideColumn(2);
209
+ //obj.hideColumn(6);
210
+ //obj.hideColumn(8);
211
+ //obj.hideColumn(11);
212
+ //obj.hideColumn(12);
213
+ };
214
+
215
+ _this3.componentDidMount = function () {
216
+ this.el = jspreadsheet(this.wrapper.current, this.options);
217
+ this.hideSomeColumns(this.el);
218
+ };
219
+
220
+ _this3.addRow = function () {
221
+ this.el.insertRow();
222
+ };
223
+
224
+ _this3.updateDescriptors = function () {
225
+ var descr = void 0;
226
+ descr = this.el.getData();
227
+ console.log(descr);
228
+ var msg = {
229
+ type: "updateSession",
230
+ data: descr
231
+ };
232
+ ws.send(JSON.stringify(msg));
233
+ };
234
+
235
+ _this3.options = props.options;
236
+ _this3.wrapper = React.createRef();
237
+ return _this3;
238
+ }
239
+
240
+ _createClass(Jspreadsheet, [{
241
+ key: "render",
242
+ value: function render() {
243
+ var _this4 = this;
244
+
245
+ return React.createElement(
246
+ "div",
247
+ null,
248
+ React.createElement("div", { ref: this.wrapper }),
249
+ React.createElement("br", null),
250
+ React.createElement("input", {
251
+ className: "button",
252
+ type: "button",
253
+ value: "Add new row",
254
+ onClick: function onClick() {
255
+ return _this4.addRow();
256
+ }
257
+ }),
258
+ React.createElement("input", {
259
+ className: "button",
260
+ type: "button",
261
+ value: "Update descriptors",
262
+ onClick: function onClick() {
263
+ return _this4.updateDescriptors();
264
+ }
265
+ })
266
+ );
267
+ }
268
+ }]);
269
+
270
+ return Jspreadsheet;
271
+ }(React.Component);
272
+
273
+ //let domContainer = document.querySelector('#like_button_container');
274
+ //ReactDOM.render(<LikeButton />, domContainer);
275
+ },{"../../serveur/ipConfig.json":2}],2:[function(require,module,exports){
276
+ module.exports={
277
+ "remoteIPAddressImage": "192.168.1.251",
278
+ "remoteIPAddressSound": "localhost",
279
+ "remoteIPAddressLumiere": "localhost",
280
+ "remoteIPAddressGame": "localhost",
281
+ "serverIPAddress": "localhost",
282
+ "webserveurPort": 8080,
283
+ "websocketServeurPort": 8383,
284
+ "InPortOSCMIDIfromDAW": 13000,
285
+ "OutPortOSCMIDItoDAW": 12000,
286
+ "portOSCToGame": 3005,
287
+ "portOSCFromGame": 1000,
288
+ "distribSequencerPort": 8888,
289
+ "outportProcessing": 10000,
290
+ "outportLumiere": 7700,
291
+ "inportLumiere": 9000,
292
+ "sessionPath": "./pieces/",
293
+ "piecePath" : "./pieces/"
294
+ }
295
+ },{}]},{},[1]);