mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-27 13:38:40 +00:00
rename claviature package to widgets
This commit is contained in:
parent
82c4926f19
commit
708675077f
@ -1,20 +0,0 @@
|
|||||||
export * from './Claviature.jsx';
|
|
||||||
import { Pattern } from '@strudel/core';
|
|
||||||
import { registerWidget } from '@strudel/transpiler';
|
|
||||||
|
|
||||||
registerWidget('claviature', 'strudel-claviature');
|
|
||||||
|
|
||||||
Pattern.prototype.claviature = function (id, options = {}) {
|
|
||||||
return this.onFrame((haps) => {
|
|
||||||
const keys = haps.map((h) => h.value.note);
|
|
||||||
let el = document.getElementById(id);
|
|
||||||
el?.setAttribute(
|
|
||||||
'options',
|
|
||||||
JSON.stringify({
|
|
||||||
...options,
|
|
||||||
range: options.range || ['A2', 'C6'],
|
|
||||||
colorize: [{ keys: keys, color: options.color || 'steelblue' }],
|
|
||||||
}),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
@ -2,6 +2,8 @@ import { For } from 'solid-js';
|
|||||||
import { customElement } from 'solid-element';
|
import { customElement } from 'solid-element';
|
||||||
import { getClaviature } from 'claviature';
|
import { getClaviature } from 'claviature';
|
||||||
import { Dynamic } from 'solid-js/web';
|
import { Dynamic } from 'solid-js/web';
|
||||||
|
import { Pattern } from '@strudel/core';
|
||||||
|
import { registerWidget } from '@strudel/transpiler';
|
||||||
|
|
||||||
let defaultOptions = {
|
let defaultOptions = {
|
||||||
range: ['A1', 'C6'],
|
range: ['A1', 'C6'],
|
||||||
@ -30,3 +32,20 @@ customElement('strudel-claviature', { options: JSON.stringify(defaultOptions) },
|
|||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
registerWidget('claviature', 'strudel-claviature');
|
||||||
|
|
||||||
|
Pattern.prototype.claviature = function (id, options = {}) {
|
||||||
|
return this.onFrame((haps) => {
|
||||||
|
const keys = haps.map((h) => h.value.note);
|
||||||
|
let el = document.getElementById(id);
|
||||||
|
el?.setAttribute(
|
||||||
|
'options',
|
||||||
|
JSON.stringify({
|
||||||
|
...options,
|
||||||
|
range: options.range || ['A2', 'C6'],
|
||||||
|
colorize: [{ keys: keys, color: options.color || 'steelblue' }],
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
};
|
||||||
@ -1,6 +1,10 @@
|
|||||||
# @strudel/claviature
|
# @strudel/widgets
|
||||||
|
|
||||||
adds a `Patter.claviature` method that renders a [claviature](https://www.npmjs.com/package/claviature).
|
adds UI widgets to codemirror
|
||||||
|
|
||||||
|
## claviature
|
||||||
|
|
||||||
|
`Patter.claviature` renders a [claviature](https://www.npmjs.com/package/claviature).
|
||||||
|
|
||||||
example usage:
|
example usage:
|
||||||
|
|
||||||
1
packages/widgets/index.mjs
Normal file
1
packages/widgets/index.mjs
Normal file
@ -0,0 +1 @@
|
|||||||
|
export * from './Claviature.jsx';
|
||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@strudel/claviature",
|
"name": "@strudel/widgets",
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"description": "Claviature component for Strudel",
|
"description": "Widget web components for Strudel",
|
||||||
"main": "dist/index.mjs",
|
"main": "dist/index.mjs",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
60
pnpm-lock.yaml
generated
60
pnpm-lock.yaml
generated
@ -140,31 +140,6 @@ importers:
|
|||||||
specifier: ^5.0.10
|
specifier: ^5.0.10
|
||||||
version: 5.0.10
|
version: 5.0.10
|
||||||
|
|
||||||
packages/claviature:
|
|
||||||
dependencies:
|
|
||||||
'@strudel/core':
|
|
||||||
specifier: workspace:*
|
|
||||||
version: link:../core
|
|
||||||
'@strudel/transpiler':
|
|
||||||
specifier: workspace:*
|
|
||||||
version: link:../transpiler
|
|
||||||
claviature:
|
|
||||||
specifier: ^0.1.0
|
|
||||||
version: 0.1.0
|
|
||||||
solid-element:
|
|
||||||
specifier: ^1.8.0
|
|
||||||
version: 1.8.0(solid-js@1.8.15)
|
|
||||||
solid-js:
|
|
||||||
specifier: ^1.8.15
|
|
||||||
version: 1.8.15
|
|
||||||
vite-plugin-solid:
|
|
||||||
specifier: ^2.10.1
|
|
||||||
version: 2.10.1(solid-js@1.8.15)(vite@5.0.11)
|
|
||||||
devDependencies:
|
|
||||||
vite:
|
|
||||||
specifier: ^5.0.10
|
|
||||||
version: 5.0.11(@types/node@20.10.6)
|
|
||||||
|
|
||||||
packages/codemirror:
|
packages/codemirror:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@codemirror/autocomplete':
|
'@codemirror/autocomplete':
|
||||||
@ -513,6 +488,31 @@ importers:
|
|||||||
specifier: ^5.0.10
|
specifier: ^5.0.10
|
||||||
version: 5.0.10
|
version: 5.0.10
|
||||||
|
|
||||||
|
packages/widgets:
|
||||||
|
dependencies:
|
||||||
|
'@strudel/core':
|
||||||
|
specifier: workspace:*
|
||||||
|
version: link:../core
|
||||||
|
'@strudel/transpiler':
|
||||||
|
specifier: workspace:*
|
||||||
|
version: link:../transpiler
|
||||||
|
claviature:
|
||||||
|
specifier: ^0.1.0
|
||||||
|
version: 0.1.0
|
||||||
|
solid-element:
|
||||||
|
specifier: ^1.8.0
|
||||||
|
version: 1.8.0(solid-js@1.8.15)
|
||||||
|
solid-js:
|
||||||
|
specifier: ^1.8.15
|
||||||
|
version: 1.8.15
|
||||||
|
vite-plugin-solid:
|
||||||
|
specifier: ^2.10.1
|
||||||
|
version: 2.10.1(solid-js@1.8.15)(vite@5.0.11)
|
||||||
|
devDependencies:
|
||||||
|
vite:
|
||||||
|
specifier: ^5.0.10
|
||||||
|
version: 5.0.11(@types/node@20.10.6)
|
||||||
|
|
||||||
packages/xen:
|
packages/xen:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@strudel/core':
|
'@strudel/core':
|
||||||
@ -570,9 +570,6 @@ importers:
|
|||||||
'@nanostores/react':
|
'@nanostores/react':
|
||||||
specifier: ^0.7.1
|
specifier: ^0.7.1
|
||||||
version: 0.7.1(nanostores@0.9.5)(react@18.2.0)
|
version: 0.7.1(nanostores@0.9.5)(react@18.2.0)
|
||||||
'@strudel/claviature':
|
|
||||||
specifier: workspace:*
|
|
||||||
version: link:../packages/claviature
|
|
||||||
'@strudel/codemirror':
|
'@strudel/codemirror':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../packages/codemirror
|
version: link:../packages/codemirror
|
||||||
@ -618,6 +615,9 @@ importers:
|
|||||||
'@strudel/webaudio':
|
'@strudel/webaudio':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../packages/webaudio
|
version: link:../packages/webaudio
|
||||||
|
'@strudel/widgets':
|
||||||
|
specifier: workspace:*
|
||||||
|
version: link:../packages/widgets
|
||||||
'@strudel/xen':
|
'@strudel/xen':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../packages/xen
|
version: link:../packages/xen
|
||||||
@ -854,7 +854,7 @@ packages:
|
|||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/gen-mapping': 0.1.1
|
'@jridgewell/gen-mapping': 0.1.1
|
||||||
'@jridgewell/trace-mapping': 0.3.17
|
'@jridgewell/trace-mapping': 0.3.20
|
||||||
|
|
||||||
/@apideck/better-ajv-errors@0.3.6(ajv@8.12.0):
|
/@apideck/better-ajv-errors@0.3.6(ajv@8.12.0):
|
||||||
resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==}
|
resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==}
|
||||||
@ -3096,7 +3096,6 @@ packages:
|
|||||||
/@jridgewell/resolve-uri@3.1.1:
|
/@jridgewell/resolve-uri@3.1.1:
|
||||||
resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
|
resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
|
||||||
engines: {node: '>=6.0.0'}
|
engines: {node: '>=6.0.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jridgewell/set-array@1.1.2:
|
/@jridgewell/set-array@1.1.2:
|
||||||
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
|
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
|
||||||
@ -3126,7 +3125,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/resolve-uri': 3.1.1
|
'@jridgewell/resolve-uri': 3.1.1
|
||||||
'@jridgewell/sourcemap-codec': 1.4.15
|
'@jridgewell/sourcemap-codec': 1.4.15
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@jsdoc/salty@0.2.3:
|
/@jsdoc/salty@0.2.3:
|
||||||
resolution: {integrity: sha512-bbtCxCkxcnWhi50I+4Lj6mdz9w3pOXOgEQrID8TCZ/DF51fW7M9GCQW2y45SpBDdHd1Eirm1X/Cf6CkAAe8HPg==}
|
resolution: {integrity: sha512-bbtCxCkxcnWhi50I+4Lj6mdz9w3pOXOgEQrID8TCZ/DF51fW7M9GCQW2y45SpBDdHd1Eirm1X/Cf6CkAAe8HPg==}
|
||||||
|
|||||||
@ -25,7 +25,7 @@
|
|||||||
"@heroicons/react": "^2.1.1",
|
"@heroicons/react": "^2.1.1",
|
||||||
"@nanostores/persistent": "^0.9.1",
|
"@nanostores/persistent": "^0.9.1",
|
||||||
"@nanostores/react": "^0.7.1",
|
"@nanostores/react": "^0.7.1",
|
||||||
"@strudel/claviature": "workspace:*",
|
"@strudel/widgets": "workspace:*",
|
||||||
"@strudel/codemirror": "workspace:*",
|
"@strudel/codemirror": "workspace:*",
|
||||||
"@strudel/core": "workspace:*",
|
"@strudel/core": "workspace:*",
|
||||||
"@strudel/draw": "workspace:*",
|
"@strudel/draw": "workspace:*",
|
||||||
|
|||||||
@ -82,7 +82,7 @@ export function loadModules() {
|
|||||||
import('@strudel/serial'),
|
import('@strudel/serial'),
|
||||||
import('@strudel/soundfonts'),
|
import('@strudel/soundfonts'),
|
||||||
import('@strudel/csound'),
|
import('@strudel/csound'),
|
||||||
import('@strudel/claviature'),
|
import('@strudel/widgets'),
|
||||||
];
|
];
|
||||||
if (isTauri()) {
|
if (isTauri()) {
|
||||||
modules = modules.concat([
|
modules = modules.concat([
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user