@ircam/comote-helpers 0.3.3 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +5 -0
- package/.github/workflows/main.yml +3 -3
- package/.history/.gitignore_20250415160643 +6 -0
- package/.history/.gitignore_20250415160723 +6 -0
- package/.history/examples/simple-webview/package-lock_20250415130242.json +5109 -0
- package/.history/examples/simple-webview/package-lock_20250416103557.json +5109 -0
- package/.history/examples/simple-webview/package_20250415130704.json +26 -0
- package/.history/examples/simple-webview/package_20250415184837.json +26 -0
- package/.history/examples/simple-webview/package_20250415190300.json +23 -0
- package/.history/examples/simple-webview/src/server_20250415105733.js +20 -0
- package/.history/examples/simple-webview/src/server_20250415184604.js +20 -0
- package/.history/examples/soundworks/package_20250415132431.json +35 -0
- package/.history/examples/soundworks/package_20250416105956.json +35 -0
- package/.history/max/CoMote/examples/simple-webview/package_20250415184836.json +26 -0
- package/.history/max/CoMote/examples/simple-webview/package_20250415185949.json +23 -0
- package/.history/max/CoMote/examples/simple-webview/package_20250415185950.json +23 -0
- package/.history/max/CoMote/package-info_20241018173608.json +41 -0
- package/.history/max/CoMote/package-info_20250416105743.json +27 -0
- package/.history/max/CoMote/package-info_20250416105826.json +27 -0
- package/.history/max/CoMote/source/comote-connect/package_20250415132759.json +19 -0
- package/.history/max/CoMote/source/comote-connect/package_20250416110158.json +19 -0
- package/.history/max/CoMote/source/comote-connect/server_20250414175059.js +193 -0
- package/.history/max/CoMote/source/comote-connect/server_20250415180549.js +193 -0
- package/.history/package_20250415143437.json +26 -0
- package/.history/package_20250416105907.json +26 -0
- package/LICENSE +2 -2
- package/examples/simple-webview/README.md +10 -0
- package/examples/simple-webview/build/comote-simple-webview-server.js +44 -0
- package/examples/simple-webview/package-lock.json +5109 -0
- package/examples/simple-webview/package.json +23 -0
- package/examples/simple-webview/public/favicon.ico +0 -0
- package/examples/simple-webview/public/index.html +13 -0
- package/examples/simple-webview/public/index.mjs +3623 -0
- package/examples/simple-webview/public/styles.css +99 -0
- package/examples/simple-webview/src/client.js +35 -0
- package/examples/simple-webview/src/server.js +20 -0
- package/examples/soundworks/.build/clients/components/sw-audit.js +64 -0
- package/examples/soundworks/.build/clients/components/sw-audit.js.map +1 -0
- package/examples/soundworks/.build/clients/components/sw-credits.js +73 -0
- package/examples/soundworks/.build/clients/components/sw-credits.js.map +1 -0
- package/examples/soundworks/.build/clients/player/.editorbackup/PlayerExperience.js~ +131 -0
- package/examples/soundworks/.build/clients/player/index.js +116 -0
- package/examples/soundworks/.build/clients/player/index.js.map +1 -0
- package/examples/soundworks/.build/clients/styles/app.scss +79 -0
- package/examples/soundworks/.build/clients/styles/normalize.scss +359 -0
- package/examples/soundworks/.build/clients/webview/index.js +72 -0
- package/examples/soundworks/.build/clients/webview/index.js.map +1 -0
- package/examples/soundworks/.build/public/css/app.css +76 -0
- package/examples/soundworks/.build/public/css/app.css.map +1 -0
- package/examples/soundworks/.build/public/css/normalize.css +321 -0
- package/examples/soundworks/.build/public/css/normalize.css.map +1 -0
- package/examples/soundworks/.build/public/player.js +98098 -0
- package/examples/soundworks/.build/public/player.js.map +1 -0
- package/examples/soundworks/.build/public/webview.js +50725 -0
- package/examples/soundworks/.build/public/webview.js.map +1 -0
- package/examples/soundworks/.build/server/index.js +57 -0
- package/examples/soundworks/.build/server/index.js.map +1 -0
- package/examples/soundworks/.build/server/schemas/.gitkeep +1 -0
- package/examples/soundworks/.build/server/schemas/global.js +19 -0
- package/examples/soundworks/.build/server/schemas/global.js.map +1 -0
- package/examples/soundworks/.build/server/tmpl/default.tmpl +27 -0
- package/examples/soundworks/.build/utils/catch-unhandled-errors.js +9 -0
- package/examples/soundworks/.build/utils/catch-unhandled-errors.js.map +1 -0
- package/examples/soundworks/.editorconfig +12 -0
- package/examples/soundworks/.eslintrc +3 -0
- package/examples/soundworks/.soundworks +7 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/CHANGELOG.md +76 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/LICENSE.md +19 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/README.md +259 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-ce.js +63 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-ce.js.map +1 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-pf_dom.js +62 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-pf_dom.js.map +1 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-pf_js.js +95 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-pf_js.js.map +1 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js +374 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js.map +1 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-sd-ce.js +240 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-sd-ce.js.map +1 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-sd.js +196 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/bundles/webcomponents-sd.js.map +1 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/custom-elements-es5-adapter.js +15 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/package.json +51 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/entrypoints/custom-elements-es5-adapter-index.js +16 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/entrypoints/webcomponents-bundle-index.js +55 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/entrypoints/webcomponents-ce-index.js +17 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/entrypoints/webcomponents-pf_dom-index.js +19 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/entrypoints/webcomponents-pf_js-index.js +13 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-index.js +19 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/entrypoints/webcomponents-sd-ce-pf-index.js +25 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/entrypoints/webcomponents-sd-index.js +18 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/flag-parser.js +69 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/baseuri.js +28 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/child-node/after.js +47 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/child-node/before.js +40 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/child-node/index.js +14 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/child-node/remove.js +37 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/child-node/replace-with.js +42 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/custom-event.js +79 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/es6-misc.js +38 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/event-listener-options.js +122 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/get-attribute-names.js +27 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/matches.js +21 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/parent-node/append.js +31 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/parent-node/index.js +13 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/parent-node/prepend.js +42 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/parent-node/replace-children.js +45 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/promise.js +50 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/svg-element-class-list.js +28 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/symbol.js +64 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/platform/toggle-attribute.js +39 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/src/unresolved.js +32 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/webcomponents-bundle.d.ts +175 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/webcomponents-bundle.js +384 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/webcomponents-bundle.js.map +1 -0
- package/examples/soundworks/.vendors/public/webcomponentsjs/webcomponents-loader.js +238 -0
- package/examples/soundworks/LICENSE +28 -0
- package/examples/soundworks/README.md +26 -0
- package/examples/soundworks/config/application.yaml +8 -0
- package/examples/soundworks/config/env-default.yaml +12 -0
- package/examples/soundworks/package.json +35 -0
- package/examples/soundworks/public/favicon.ico +0 -0
- package/examples/soundworks/public/images/loader.gif +0 -0
- package/examples/soundworks/src/clients/components/sw-audit.js +78 -0
- package/examples/soundworks/src/clients/components/sw-credits.js +80 -0
- package/examples/soundworks/src/clients/player/.editorbackup/PlayerExperience.js~ +131 -0
- package/examples/soundworks/src/clients/player/index.js +118 -0
- package/examples/soundworks/src/clients/styles/app.scss +79 -0
- package/examples/soundworks/src/clients/styles/normalize.scss +359 -0
- package/examples/soundworks/src/clients/webview/index.js +78 -0
- package/examples/soundworks/src/server/index.js +62 -0
- package/examples/soundworks/src/server/schemas/.gitkeep +1 -0
- package/examples/soundworks/src/server/schemas/global.js +18 -0
- package/examples/soundworks/src/server/tmpl/default.tmpl +27 -0
- package/examples/soundworks/src/utils/catch-unhandled-errors.js +9 -0
- package/index.html +51 -0
- package/max/CoMote/docs/sw.shared-state.maxref.xml +95 -0
- package/max/CoMote/examples/simple-webview/README.md +10 -0
- package/max/CoMote/examples/simple-webview/build/comote-simple-webview-server.js +44 -0
- package/max/CoMote/examples/simple-webview/comote-simple-webview-server.maxpat +186 -0
- package/max/CoMote/examples/simple-webview/package-lock.json +5109 -0
- package/max/CoMote/examples/simple-webview/package.json +23 -0
- package/max/CoMote/examples/simple-webview/public/favicon.ico +0 -0
- package/max/CoMote/examples/simple-webview/public/index.html +13 -0
- package/max/CoMote/examples/simple-webview/public/index.mjs +3623 -0
- package/max/CoMote/examples/simple-webview/public/styles.css +99 -0
- package/max/CoMote/examples/simple-webview/src/client.js +35 -0
- package/max/CoMote/examples/simple-webview/src/server.js +20 -0
- package/max/CoMote/examples/soundworks/.editorconfig +12 -0
- package/max/CoMote/examples/soundworks/.eslintrc +3 -0
- package/max/CoMote/examples/soundworks/.soundworks +7 -0
- package/max/CoMote/examples/soundworks/LICENSE +28 -0
- package/max/CoMote/examples/soundworks/README.md +26 -0
- package/max/CoMote/examples/soundworks/config/application.yaml +8 -0
- package/max/CoMote/examples/soundworks/config/env-default.yaml +12 -0
- package/max/CoMote/examples/soundworks/package.json +35 -0
- package/max/CoMote/examples/soundworks/public/favicon.ico +0 -0
- package/max/CoMote/examples/soundworks/public/images/loader.gif +0 -0
- package/max/CoMote/examples/soundworks/src/clients/components/sw-audit.js +78 -0
- package/max/CoMote/examples/soundworks/src/clients/components/sw-credits.js +80 -0
- package/max/CoMote/examples/soundworks/src/clients/player/.editorbackup/PlayerExperience.js~ +131 -0
- package/max/CoMote/examples/soundworks/src/clients/player/index.js +118 -0
- package/max/CoMote/examples/soundworks/src/clients/styles/app.scss +79 -0
- package/max/CoMote/examples/soundworks/src/clients/styles/normalize.scss +359 -0
- package/max/CoMote/examples/soundworks/src/clients/webview/index.js +78 -0
- package/max/CoMote/examples/soundworks/src/server/index.js +62 -0
- package/max/CoMote/examples/soundworks/src/server/schemas/.gitkeep +1 -0
- package/max/CoMote/examples/soundworks/src/server/schemas/global.js +18 -0
- package/max/CoMote/examples/soundworks/src/server/tmpl/default.tmpl +27 -0
- package/max/CoMote/examples/soundworks/src/utils/catch-unhandled-errors.js +9 -0
- package/max/CoMote/extras/CoMote.maxpat +1994 -0
- package/max/CoMote/help/comote_osc_receive.maxhelp +946 -0
- package/max/CoMote/icon.png +0 -0
- package/max/CoMote/init/objectmappings.txt +2 -0
- package/max/CoMote/media/comote-screenshot.png +0 -0
- package/max/CoMote/package-info.json +27 -0
- package/max/CoMote/patchers/comote-connect/comote-connect-public/comote-connect-client.mjs +2821 -0
- package/max/CoMote/patchers/comote-connect/comote-connect-public/favicon.ico +0 -0
- package/max/CoMote/patchers/comote-connect/comote-connect-public/index.html +22 -0
- package/max/CoMote/patchers/comote-connect/comote-connect-server.js +24775 -0
- package/max/CoMote/patchers/comote-connect/comote-connect.maxpat +1048 -0
- package/max/CoMote/patchers/comote-connect/package.json +4 -0
- package/max/CoMote/patchers/comote_format_from_comote_v2.maxpat +613 -0
- package/max/CoMote/patchers/comote_format_from_v3.maxpat +443 -0
- package/max/CoMote/patchers/comote_format_gyro_v2_to_v3.maxpat +240 -0
- package/max/CoMote/patchers/comote_format_gyro_v3_to_v2.maxpat +240 -0
- package/max/CoMote/patchers/comote_format_heading_v2_to_v3.maxpat +171 -0
- package/max/CoMote/patchers/comote_osc_receive.maxpat +440 -0
- package/max/CoMote/patchers/comote_osc_to_list.maxpat +161 -0
- package/max/CoMote/readme.md +22 -0
- package/max/CoMote/source/comote-connect/client.js +104 -0
- package/max/CoMote/source/comote-connect/package-lock.json +591 -0
- package/max/CoMote/source/comote-connect/package.json +19 -0
- package/max/CoMote/source/comote-connect/server.js +193 -0
- package/max-update.bash +44 -0
- package/package.json +10 -29
- package/src/.editorbackup/network-infos.js~ +60 -0
- package/src/.editorbackup/wifi-infos.js~ +33 -0
- package/{network-infos.js → src/network-infos.js} +25 -16
- package/{qrcode.js → src/qrcode.js} +32 -30
- package/{server.js → src/server.js} +60 -47
- package/{wifi-infos.js → src/wifi-infos.js} +8 -12
- package/README.md +0 -160
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-example-simple-webview",
|
|
3
|
+
"description": "CoMote simple WebView example",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "commonjs",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "concurrently \"npm run build:client -- --watch\" \"npm run build:server -- --watch\" \"npm run serve -- --watch\"",
|
|
11
|
+
"serve": "node ./build/comote-simple-webview-server.js",
|
|
12
|
+
"build": "concurrently \"npm run build:client\" \"npm run build:server\"",
|
|
13
|
+
"build:client": "esbuild ./src/client.js --bundle --minify --format=esm --outfile=./public/index.mjs",
|
|
14
|
+
"build:server": "esbuild ./src/server.js --bundle --minify --format=cjs --platform=node --outfile=./build/comote-simple-webview-server.js"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"concurrently": "^8.2.2",
|
|
18
|
+
"esbuild": "^0.21.5",
|
|
19
|
+
"serve": "^14.2.3"
|
|
20
|
+
},
|
|
21
|
+
"dependencies": {
|
|
22
|
+
"@ircam/sc-components": "^3.0.0-alpha.61",
|
|
23
|
+
"lit": "^3.1.4",
|
|
24
|
+
"serve-handler": "^6.1.6"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-example-simple-webview",
|
|
3
|
+
"description": "CoMote simple WebView example",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "commonjs",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "concurrently \"npm run build:client -- --watch\" \"npm run build:server -- --watch\" \"npm run serve -- --watch\"",
|
|
11
|
+
"serve": "node ./build/comote-simple-webview-server.js",
|
|
12
|
+
"build": "concurrently \"npm run build:client\" \"npm run build:server\"",
|
|
13
|
+
"build:client": "esbuild ./src/client.js --bundle --minify --format=esm --outfile=./public/index.mjs",
|
|
14
|
+
"build:server": "esbuild ./src/server.js --bundle --minify --format=cjs --platform=node --outfile=./build/comote-simple-webview-server.js"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@ircam/sc-components": "^3.0.0-alpha.61",
|
|
18
|
+
"concurrently": "^8.2.2",
|
|
19
|
+
"esbuild": "^0.21.5",
|
|
20
|
+
"lit": "^3.1.4",
|
|
21
|
+
"serve": "^14.2.3"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"serve-handler": "^6.1.6"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-example-simple-webview",
|
|
3
|
+
"description": "CoMote simple WebView example",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "commonjs",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "concurrently \"npm run build:client -- --watch\" \"npm run build:server -- --watch\" \"npm run serve -- --watch\"",
|
|
11
|
+
"serve": "node ./build/comote-simple-webview-server.js",
|
|
12
|
+
"build": "concurrently \"npm run build:client\" \"npm run build:server\"",
|
|
13
|
+
"build:client": "esbuild ./src/client.js --bundle --minify --format=esm --outfile=./public/index.mjs",
|
|
14
|
+
"build:server": "esbuild ./src/server.js --bundle --minify --format=cjs --platform=node --outfile=./build/comote-simple-webview-server.js"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@ircam/sc-components": "^3.0.0-alpha.61",
|
|
18
|
+
"concurrently": "^8.2.2",
|
|
19
|
+
"esbuild": "^0.21.5",
|
|
20
|
+
"lit": "^3.1.4",
|
|
21
|
+
"serve-handler": "^6.1.6"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const handler = require('serve-handler');
|
|
2
|
+
const http = require('http');
|
|
3
|
+
const path = require('node:path');
|
|
4
|
+
|
|
5
|
+
const port = 8001;
|
|
6
|
+
const publicPath = '../public'; // relative to this file
|
|
7
|
+
|
|
8
|
+
const server = http.createServer((request, response) => {
|
|
9
|
+
const localPath = __dirname;
|
|
10
|
+
|
|
11
|
+
// You pass two more arguments for config and middleware
|
|
12
|
+
// More details here: https://github.com/vercel/serve-handler#options
|
|
13
|
+
return handler(request, response, {
|
|
14
|
+
public: path.resolve(localPath, publicPath),
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
server.listen(port, () => {
|
|
19
|
+
console.log(`Running at http://localhost:${port}`);
|
|
20
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const handler = require('serve-handler');
|
|
2
|
+
const http = require('node:http');
|
|
3
|
+
const path = require('node:path');
|
|
4
|
+
|
|
5
|
+
const port = 8001;
|
|
6
|
+
const publicPath = '../public'; // relative to this file
|
|
7
|
+
|
|
8
|
+
const server = http.createServer((request, response) => {
|
|
9
|
+
const localPath = __dirname;
|
|
10
|
+
|
|
11
|
+
// You pass two more arguments for config and middleware
|
|
12
|
+
// More details here: https://github.com/vercel/serve-handler#options
|
|
13
|
+
return handler(request, response, {
|
|
14
|
+
public: path.resolve(localPath, publicPath),
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
server.listen(port, () => {
|
|
19
|
+
console.log(`Running at http://localhost:${port}`);
|
|
20
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-example-soundworks",
|
|
3
|
+
"description": "comote soundworks example application",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "npm run clean && sass src/clients/styles:.build/public/css && soundworks-build -b",
|
|
11
|
+
"clean": "soundworks-build -D",
|
|
12
|
+
"dev": "npm run build && (concurrently -i -p \"none\" \"npm run watch:inspect server\" \"soundworks-build -b -w\" \"npm run watch:sass\")",
|
|
13
|
+
"start": "node .build/server/index.js",
|
|
14
|
+
"watch": "soundworks-build -p",
|
|
15
|
+
"watch:inspect": "soundworks-build -i -p",
|
|
16
|
+
"watch:sass": "sass --watch src/clients/styles:.build/public/css",
|
|
17
|
+
"lint": "eslint ."
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@ircam/comote-helpers": "^0.3.3",
|
|
21
|
+
"@ircam/sc-components": "^3.0.0-alpha.60",
|
|
22
|
+
"@soundworks/core": "^4.0.0-alpha.21",
|
|
23
|
+
"@soundworks/helpers": "^1.0.0-alpha.12",
|
|
24
|
+
"json5": "^2.2.3",
|
|
25
|
+
"lit": "^3.1.3"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@ircam/eslint-config": "^1.2.1",
|
|
29
|
+
"@soundworks/build": "^1.0.0-alpha.6",
|
|
30
|
+
"@soundworks/create": "^1.0.0-alpha.23",
|
|
31
|
+
"concurrently": "^8.2.2",
|
|
32
|
+
"eslint": "^9.6.0",
|
|
33
|
+
"sass": "^1.77.1"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-example-soundworks",
|
|
3
|
+
"description": "comote soundworks example application",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "npm run clean && sass src/clients/styles:.build/public/css && soundworks-build -b",
|
|
11
|
+
"clean": "soundworks-build -D",
|
|
12
|
+
"dev": "npm run build && (concurrently -i -p \"none\" \"npm run watch:inspect server\" \"soundworks-build -b -w\" \"npm run watch:sass\")",
|
|
13
|
+
"start": "node .build/server/index.js",
|
|
14
|
+
"watch": "soundworks-build -p",
|
|
15
|
+
"watch:inspect": "soundworks-build -i -p",
|
|
16
|
+
"watch:sass": "sass --watch src/clients/styles:.build/public/css",
|
|
17
|
+
"lint": "eslint ."
|
|
18
|
+
},
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@ircam/comote-helpers": "^1.0.0",
|
|
21
|
+
"@ircam/sc-components": "^3.0.0-alpha.60",
|
|
22
|
+
"@soundworks/core": "^4.0.0-alpha.21",
|
|
23
|
+
"@soundworks/helpers": "^1.0.0-alpha.12",
|
|
24
|
+
"json5": "^2.2.3",
|
|
25
|
+
"lit": "^3.1.3"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@ircam/eslint-config": "^1.2.1",
|
|
29
|
+
"@soundworks/build": "^1.0.0-alpha.6",
|
|
30
|
+
"@soundworks/create": "^1.0.0-alpha.23",
|
|
31
|
+
"concurrently": "^8.2.2",
|
|
32
|
+
"eslint": "^9.6.0",
|
|
33
|
+
"sass": "^1.77.1"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-example-simple-webview",
|
|
3
|
+
"description": "CoMote simple WebView example",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "commonjs",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "concurrently \"npm run build:client -- --watch\" \"npm run build:server -- --watch\" \"npm run serve -- --watch\"",
|
|
11
|
+
"serve": "node ./build/comote-simple-webview-server.js",
|
|
12
|
+
"build": "concurrently \"npm run build:client\" \"npm run build:server\"",
|
|
13
|
+
"build:client": "esbuild ./src/client.js --bundle --minify --format=esm --outfile=./public/index.mjs",
|
|
14
|
+
"build:server": "esbuild ./src/server.js --bundle --minify --format=cjs --platform=node --outfile=./build/comote-simple-webview-server.js"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@ircam/sc-components": "^3.0.0-alpha.61",
|
|
18
|
+
"concurrently": "^8.2.2",
|
|
19
|
+
"esbuild": "^0.21.5",
|
|
20
|
+
"lit": "^3.1.4",
|
|
21
|
+
"serve": "^14.2.3"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"serve-handler": "^6.1.6"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-example-simple-webview",
|
|
3
|
+
"description": "CoMote simple WebView example",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "commonjs",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "concurrently \"npm run build:client -- --watch\" \"npm run build:server -- --watch\" \"npm run serve -- --watch\"",
|
|
11
|
+
"serve": "node ./build/comote-simple-webview-server.js",
|
|
12
|
+
"build": "concurrently \"npm run build:client\" \"npm run build:server\"",
|
|
13
|
+
"build:client": "esbuild ./src/client.js --bundle --minify --format=esm --outfile=./public/index.mjs",
|
|
14
|
+
"build:server": "esbuild ./src/server.js --bundle --minify --format=cjs --platform=node --outfile=./build/comote-simple-webview-server.js"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@ircam/sc-components": "^3.0.0-alpha.61",
|
|
18
|
+
"concurrently": "^8.2.2",
|
|
19
|
+
"esbuild": "^0.21.5",
|
|
20
|
+
"lit": "^3.1.4",
|
|
21
|
+
"serve-handler": "^6.1.6"
|
|
22
|
+
},
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-example-simple-webview",
|
|
3
|
+
"description": "CoMote simple WebView example",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "commonjs",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"dev": "concurrently \"npm run build:client -- --watch\" \"npm run build:server -- --watch\" \"npm run serve -- --watch\"",
|
|
11
|
+
"serve": "node ./build/comote-simple-webview-server.js",
|
|
12
|
+
"build": "concurrently \"npm run build:client\" \"npm run build:server\"",
|
|
13
|
+
"build:client": "esbuild ./src/client.js --bundle --minify --format=esm --outfile=./public/index.mjs",
|
|
14
|
+
"build:server": "esbuild ./src/server.js --bundle --minify --format=cjs --platform=node --outfile=./build/comote-simple-webview-server.js"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"@ircam/sc-components": "^3.0.0-alpha.61",
|
|
18
|
+
"concurrently": "^8.2.2",
|
|
19
|
+
"esbuild": "^0.21.5",
|
|
20
|
+
"lit": "^3.1.4",
|
|
21
|
+
"serve-handler": "^6.1.6"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name" : "comote",
|
|
3
|
+
"displayname" : "",
|
|
4
|
+
"version" : "1.0",
|
|
5
|
+
"author" : "ISMM Team @ Ircam",
|
|
6
|
+
"authors" : [ ],
|
|
7
|
+
"description" : "Enable for the automatic setting of the CoMote smartphone application that stream motion sensors data",
|
|
8
|
+
"tags" : [ "sensor","gesture" ],
|
|
9
|
+
"website" : "https://ismm-apps.ircam.fr/comote",
|
|
10
|
+
"extends" : "",
|
|
11
|
+
"extensible" : 0,
|
|
12
|
+
"max_version_min" : "7.0",
|
|
13
|
+
"max_version_max" : "none",
|
|
14
|
+
"os" : {
|
|
15
|
+
"macintosh" : {
|
|
16
|
+
"min_version" : "10.11.x",
|
|
17
|
+
"platform" : [ "x64", "aarch64" ]
|
|
18
|
+
}
|
|
19
|
+
,
|
|
20
|
+
"windows" : {
|
|
21
|
+
"min_version" : "7",
|
|
22
|
+
"platform" : [ "x64" ]
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
}
|
|
26
|
+
,
|
|
27
|
+
"homepatcher" : "CoMote.maxpat",
|
|
28
|
+
"filelist" : {
|
|
29
|
+
"examples" : [],
|
|
30
|
+
"externals" : [],
|
|
31
|
+
"patchers" : ["comote.connect.maxpat"],
|
|
32
|
+
"help" : [ "comote.connect.maxhelp" ],
|
|
33
|
+
"interfaces" : [],
|
|
34
|
+
"jsextensions" : [],
|
|
35
|
+
"media" : [],
|
|
36
|
+
"docs" : [ "_c74_common.css", "_c74_common.xml", "_c74_common.xsl", "_c74_compat.html", "_c74_contents.xml", "_c74_platform.xsl", "_c74_ref.xsl", "_c74_ref_common.xsl", "_c74_vig.xsl", "_c74_vig_common.xsl", "sw.shared-state.maxref" ],
|
|
37
|
+
"extras" : [ "CoMote.maxpat" ]
|
|
38
|
+
}
|
|
39
|
+
,
|
|
40
|
+
"c74install" : 0,
|
|
41
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name" : "comote",
|
|
3
|
+
"displayname" : "CoMote",
|
|
4
|
+
"version" : "1.0.0",
|
|
5
|
+
"author" : "ISMM Team @ Ircam",
|
|
6
|
+
"description" : "Helper for motion sensor streams from CoMote phone app and R-IoT devices.",
|
|
7
|
+
"tags" : [ "sensor", "gesture" ],
|
|
8
|
+
"website" : "https://ismm-apps.ircam.fr/comote",
|
|
9
|
+
"extends" : "",
|
|
10
|
+
"extensible" : 1,
|
|
11
|
+
"max_version_min" : "7.0",
|
|
12
|
+
"max_version_max" : "none",
|
|
13
|
+
"os" : {
|
|
14
|
+
"macintosh" : {
|
|
15
|
+
"min_version" : "10.11.x",
|
|
16
|
+
"platform" : [ "x64", "aarch64" ]
|
|
17
|
+
}
|
|
18
|
+
,
|
|
19
|
+
"windows" : {
|
|
20
|
+
"min_version" : "7",
|
|
21
|
+
"platform" : [ "x64" ]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
,
|
|
26
|
+
"homepatcher" : "CoMote.maxpat"
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name" : "comote",
|
|
3
|
+
"displayname" : "CoMote",
|
|
4
|
+
"version" : "1.0.0",
|
|
5
|
+
"author" : "ISMM Team @ Ircam",
|
|
6
|
+
"description" : "Helper for motion sensor streams from CoMote phone app and R-IoT devices.",
|
|
7
|
+
"tags" : [ "sensor", "gesture" ],
|
|
8
|
+
"website" : "https://ismm-apps.ircam.fr/comote",
|
|
9
|
+
"extends" : "",
|
|
10
|
+
"extensible" : 1,
|
|
11
|
+
"max_version_min" : "7.0",
|
|
12
|
+
"max_version_max" : "none",
|
|
13
|
+
"os" : {
|
|
14
|
+
"macintosh" : {
|
|
15
|
+
"min_version" : "10.11.x",
|
|
16
|
+
"platform" : [ "x64", "aarch64" ]
|
|
17
|
+
}
|
|
18
|
+
,
|
|
19
|
+
"windows" : {
|
|
20
|
+
"min_version" : "7",
|
|
21
|
+
"platform" : [ "x64" ]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
}
|
|
25
|
+
,
|
|
26
|
+
"homepatcher" : "CoMote.maxpat"
|
|
27
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-max-connect",
|
|
3
|
+
"description": "CoMote connect helper for Max",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"max:build-server": "esbuild ./server.js --bundle --format=cjs --platform=node --external:max-api --outfile=../../patchers/comote-connect/comote-connect-server.js",
|
|
11
|
+
"max:build-client": "esbuild ./client.js --bundle --format=esm --outfile=../../patchers/comote-connect/comote-connect-public/comote-connect-client.mjs",
|
|
12
|
+
"max:build": "npm run max:build-server && npm run max:build-client"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@ircam/comote-helpers": "^0.3.3",
|
|
16
|
+
"lit": "^3.3.0",
|
|
17
|
+
"ws": "^8.18.1"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@ircam/comote-max-connect",
|
|
3
|
+
"description": "CoMote connect helper for Max",
|
|
4
|
+
"authors": [],
|
|
5
|
+
"license": "BSD-3-Clause",
|
|
6
|
+
"version": "0.0.0",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"max:build-server": "esbuild ./server.js --bundle --format=cjs --platform=node --external:max-api --outfile=../../patchers/comote-connect/comote-connect-server.js",
|
|
11
|
+
"max:build-client": "esbuild ./client.js --bundle --format=esm --outfile=../../patchers/comote-connect/comote-connect-public/comote-connect-client.mjs",
|
|
12
|
+
"max:build": "npm run max:build-server && npm run max:build-client"
|
|
13
|
+
},
|
|
14
|
+
"dependencies": {
|
|
15
|
+
"@ircam/comote-helpers": "^1.0.0",
|
|
16
|
+
"lit": "^3.3.0",
|
|
17
|
+
"ws": "^8.18.1"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import http from 'node:http';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import url from 'node:url';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
|
|
6
|
+
import Max from 'max-api';
|
|
7
|
+
import { WebSocketServer } from 'ws';
|
|
8
|
+
import portfinder from 'portfinder';
|
|
9
|
+
|
|
10
|
+
import { getWifiInfos } from '@ircam/comote-helpers/wifi-infos.js';
|
|
11
|
+
import { getNetworkInterfacesInfos } from '@ircam/comote-helpers/network-infos.js';
|
|
12
|
+
|
|
13
|
+
const comoteConfig = {
|
|
14
|
+
id: 0,
|
|
15
|
+
interval: 16, // period in ms
|
|
16
|
+
ws: null,
|
|
17
|
+
osc: {
|
|
18
|
+
port: 8902,
|
|
19
|
+
hostname: '',
|
|
20
|
+
autostart: true,
|
|
21
|
+
},
|
|
22
|
+
webview: '',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const server = http.createServer((req, res) => {
|
|
26
|
+
const parsedUrl = url.parse(req.url);
|
|
27
|
+
let pathname = `./comote-connect-public${parsedUrl.pathname}`;
|
|
28
|
+
const ext = path.parse(pathname).ext || '.html';
|
|
29
|
+
// maps file extension to MIME typere
|
|
30
|
+
const map = {
|
|
31
|
+
'.ico': 'image/x-icon',
|
|
32
|
+
'.html': 'text/html',
|
|
33
|
+
'.js': 'text/javascript',
|
|
34
|
+
'.json': 'application/json',
|
|
35
|
+
'.css': 'text/css',
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
if (fs.existsSync(pathname)) {
|
|
39
|
+
// if is a directory search for index file matching the extension
|
|
40
|
+
if (fs.statSync(pathname).isDirectory()) {
|
|
41
|
+
pathname += 'index.html';
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// read file from file system
|
|
45
|
+
fs.readFile(pathname, (err, data) => {
|
|
46
|
+
if (err) {
|
|
47
|
+
res.statusCode = 500;
|
|
48
|
+
res.end(`Error getting the file: ${err}.`);
|
|
49
|
+
} else {
|
|
50
|
+
// if the file is found, set Content-type and send data
|
|
51
|
+
res.setHeader('Content-type', map[ext] || 'text/plain' );
|
|
52
|
+
res.end(data);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
} else {
|
|
56
|
+
// file is not found, return 404
|
|
57
|
+
res.statusCode = 404;
|
|
58
|
+
res.end(`File ${pathname} not found!`);
|
|
59
|
+
}
|
|
60
|
+
});;
|
|
61
|
+
|
|
62
|
+
console.log('server started');
|
|
63
|
+
|
|
64
|
+
const wss = new WebSocketServer({ server });
|
|
65
|
+
const sockets = new Set();
|
|
66
|
+
|
|
67
|
+
wss.on('connection', async function connection(ws) {
|
|
68
|
+
const wifiInfos = await getWifiInfos();
|
|
69
|
+
const networkInterfacesInfos = await getNetworkInterfacesInfos();
|
|
70
|
+
|
|
71
|
+
const networkInfos = networkInterfacesInfos
|
|
72
|
+
.sort( (a, b) => {
|
|
73
|
+
if (a.default) {
|
|
74
|
+
// default is before
|
|
75
|
+
return -1;
|
|
76
|
+
} else if (b.default) {
|
|
77
|
+
// other is before
|
|
78
|
+
return 1;
|
|
79
|
+
} else {
|
|
80
|
+
// finally, sort by interface name
|
|
81
|
+
return a.ifaceName < b.ifaceName;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
});
|
|
85
|
+
ws.send(JSON.stringify({ type: 'networkInfos', payload: networkInfos }));
|
|
86
|
+
|
|
87
|
+
// use first network interface, it should be the default one
|
|
88
|
+
if (networkInfos && networkInfos[0]) {
|
|
89
|
+
comoteConfig.osc.hostname = networkInfos[0].ip4;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
ws.send(JSON.stringify({ type: 'wifiInfos', payload: wifiInfos }));
|
|
94
|
+
ws.send(JSON.stringify({ type: 'comoteConfig', payload: comoteConfig }));
|
|
95
|
+
|
|
96
|
+
sockets.add(ws);
|
|
97
|
+
|
|
98
|
+
ws.on('message', async (data, isBinary) => {
|
|
99
|
+
// isBinary is not always set
|
|
100
|
+
const message = (isBinary || typeof data !== 'string')
|
|
101
|
+
? data.toString()
|
|
102
|
+
: data;
|
|
103
|
+
|
|
104
|
+
const { type, payload } = JSON.parse(message);
|
|
105
|
+
|
|
106
|
+
switch (type) {
|
|
107
|
+
case 'comoteConfig':
|
|
108
|
+
Object.assign(comoteConfig, payload);
|
|
109
|
+
ws.send(JSON.stringify({ type: 'comoteConfig', payload: comoteConfig }));
|
|
110
|
+
|
|
111
|
+
await Max.outlet('id', comoteConfig.id);
|
|
112
|
+
await Max.outlet('interval', comoteConfig.interval);
|
|
113
|
+
await Max.outlet('osc_hostname', comoteConfig.osc.hostname);
|
|
114
|
+
await Max.outlet('osc_port', comoteConfig.osc.port);
|
|
115
|
+
await Max.outlet('osc_autostart', comoteConfig.osc.autostart);
|
|
116
|
+
await Max.outlet('webview_url', comoteConfig.webview);
|
|
117
|
+
break;
|
|
118
|
+
|
|
119
|
+
default:
|
|
120
|
+
console.warn('received unknown message', {type, payload});
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
ws.on('close', () => {
|
|
127
|
+
sockets.delete(ws);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
const handlers = {
|
|
132
|
+
id: id => {
|
|
133
|
+
comoteConfig.id = id;
|
|
134
|
+
sockets.forEach(ws => {
|
|
135
|
+
ws.send(JSON.stringify({ type: 'comoteConfig', payload: comoteConfig }));
|
|
136
|
+
});
|
|
137
|
+
Max.outlet('id', id);
|
|
138
|
+
},
|
|
139
|
+
interval: interval => {
|
|
140
|
+
comoteConfig.interval = interval;
|
|
141
|
+
sockets.forEach(ws => {
|
|
142
|
+
ws.send(JSON.stringify({ type: 'comoteConfig', payload: comoteConfig }));
|
|
143
|
+
});
|
|
144
|
+
Max.outlet('interval', interval);
|
|
145
|
+
},
|
|
146
|
+
osc_hostname: hostname => {
|
|
147
|
+
comoteConfig.osc.hostname = hostname;
|
|
148
|
+
sockets.forEach(ws => {
|
|
149
|
+
ws.send(JSON.stringify({ type: 'comoteConfig', payload: comoteConfig }));
|
|
150
|
+
});
|
|
151
|
+
Max.outlet('osc_hostname', hostname);
|
|
152
|
+
},
|
|
153
|
+
osc_port: port => {
|
|
154
|
+
comoteConfig.osc.port = port;
|
|
155
|
+
sockets.forEach(ws => {
|
|
156
|
+
ws.send(JSON.stringify({ type: 'comoteConfig', payload: comoteConfig }));
|
|
157
|
+
});
|
|
158
|
+
Max.outlet('osc_port', port);
|
|
159
|
+
},
|
|
160
|
+
osc_autostart: autostart => {
|
|
161
|
+
comoteConfig.osc.autostart = !!autostart;
|
|
162
|
+
sockets.forEach(ws => {
|
|
163
|
+
ws.send(JSON.stringify({ type: 'comoteConfig', payload: comoteConfig }));
|
|
164
|
+
});
|
|
165
|
+
Max.outlet('osc_autostart', autostart);
|
|
166
|
+
},
|
|
167
|
+
webview_url: url => {
|
|
168
|
+
comoteConfig.webview = url;
|
|
169
|
+
sockets.forEach(ws => {
|
|
170
|
+
ws.send(JSON.stringify({ type: 'comoteConfig', payload: comoteConfig }));
|
|
171
|
+
});
|
|
172
|
+
Max.outlet('webview_url', url);
|
|
173
|
+
},
|
|
174
|
+
bang: async () => {
|
|
175
|
+
await Max.outlet('id', comoteConfig.id);
|
|
176
|
+
await Max.outlet('interval', comoteConfig.interval);
|
|
177
|
+
await Max.outlet('osc_hostname', comoteConfig.osc.hostname);
|
|
178
|
+
await Max.outlet('osc_port', comoteConfig.osc.port);
|
|
179
|
+
await Max.outlet('osc_autostart', comoteConfig.osc.autostart);
|
|
180
|
+
await Max.outlet('webview_url', comoteConfig.webview);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
Max.addHandlers(handlers);
|
|
185
|
+
|
|
186
|
+
portfinder.basePort = 8888;
|
|
187
|
+
portfinder.getPort((err, port) => {
|
|
188
|
+
server.listen(port, () => {
|
|
189
|
+
const url = `http://127.0.0.1:${port}`;
|
|
190
|
+
console.log(`server listening on ${url}`);
|
|
191
|
+
Max.outlet('url', url);
|
|
192
|
+
});
|
|
193
|
+
});
|