From 97a0fb3e188a657eefe3e72841119316a6374074 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 28 Apr 2022 11:06:39 +0100 Subject: [PATCH] add AGPL headers --- packages/core/controls.mjs | 6 ++++++ packages/core/drawLine.mjs | 6 ++++++ packages/core/euclid.mjs | 6 ++++++ packages/core/fraction.mjs | 6 ++++++ packages/core/gist.js | 6 ++++++ packages/core/hap.mjs | 6 ++++++ packages/core/index.mjs | 6 ++++++ packages/core/pattern.mjs | 6 ++++++ packages/core/signal.mjs | 6 ++++++ packages/core/speak.mjs | 6 ++++++ packages/core/state.mjs | 6 ++++++ packages/core/test/drawLine.test.mjs | 6 ++++++ packages/core/test/fraction.test.mjs | 6 ++++++ packages/core/test/pattern.test.mjs | 6 ++++++ packages/core/test/util.test.mjs | 6 ++++++ packages/core/test/value.test.mjs | 6 ++++++ packages/core/timespan.mjs | 6 ++++++ packages/core/util.mjs | 6 ++++++ packages/core/value.mjs | 6 ++++++ packages/eval/evaluate.mjs | 6 ++++++ packages/eval/shapeshifter.mjs | 6 ++++++ packages/eval/shift-traverser/index.js | 6 ++++++ packages/eval/test/evaluate.test.mjs | 6 ++++++ packages/eval/test/shapeshifter.test.mjs | 6 ++++++ packages/midi/midi.mjs | 6 ++++++ packages/mini/krill-parser.js | 6 ++++++ packages/mini/krill.pegjs | 6 ++++++ packages/mini/mini.mjs | 6 ++++++ packages/mini/test/mini.test.mjs | 6 ++++++ packages/osc/osc.mjs | 6 ++++++ packages/osc/server.js | 6 ++++++ packages/osc/tidal-sniffer.js | 6 ++++++ packages/serial/serial.mjs | 6 ++++++ packages/tonal/test/tonal.test.mjs | 6 ++++++ packages/tonal/tonal.mjs | 6 ++++++ packages/tonal/voicings.mjs | 6 ++++++ packages/tone/draw.mjs | 6 ++++++ packages/tone/pianoroll.mjs | 6 ++++++ packages/tone/test/tone.test.mjs | 6 ++++++ packages/tone/tone.mjs | 6 ++++++ packages/tone/ui.mjs | 6 ++++++ packages/webaudio/clockworker.mjs | 6 ++++++ packages/webaudio/index.mjs | 6 ++++++ packages/webaudio/scheduler.mjs | 6 ++++++ packages/webaudio/webaudio.mjs | 6 ++++++ packages/xen/test/xen.test.mjs | 6 ++++++ packages/xen/tune.mjs | 6 ++++++ packages/xen/tunejs.js | 6 ++++++ packages/xen/xen.mjs | 6 ++++++ repl/postcss.config.js | 6 ++++++ repl/src/App.js | 6 ++++++ repl/src/App.test.js | 6 ++++++ repl/src/cx.js | 6 ++++++ repl/src/index.js | 6 ++++++ repl/src/oldtunes.mjs | 6 ++++++ repl/src/reportWebVitals.js | 6 ++++++ repl/src/setupTests.js | 6 ++++++ repl/src/static.mjs | 6 ++++++ repl/src/tunes.mjs | 6 ++++++ repl/src/tutorial/Tutorial.js | 6 ++++++ repl/src/useCycle.mjs | 6 ++++++ repl/src/usePostMessage.mjs | 6 ++++++ repl/src/useRepl.mjs | 6 ++++++ repl/src/useWebMidi.js | 6 ++++++ repl/tailwind.config.js | 6 ++++++ 65 files changed, 390 insertions(+) diff --git a/packages/core/controls.mjs b/packages/core/controls.mjs index acce1acd..916ca997 100644 --- a/packages/core/controls.mjs +++ b/packages/core/controls.mjs @@ -1,3 +1,9 @@ +/* +controls.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Pattern, sequence } from './pattern.mjs'; const controls = {}; diff --git a/packages/core/drawLine.mjs b/packages/core/drawLine.mjs index 2d88367f..daf3acd2 100644 --- a/packages/core/drawLine.mjs +++ b/packages/core/drawLine.mjs @@ -1,3 +1,9 @@ +/* +drawLine.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import Fraction, { gcd } from './fraction.mjs'; function drawLine(pat, chars = 60) { diff --git a/packages/core/euclid.mjs b/packages/core/euclid.mjs index af98f593..ff59a328 100644 --- a/packages/core/euclid.mjs +++ b/packages/core/euclid.mjs @@ -1,3 +1,9 @@ +/* +euclid.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Pattern, timeCat } from './pattern.mjs'; import bjork from 'bjork'; import { rotate } from './util.mjs'; diff --git a/packages/core/fraction.mjs b/packages/core/fraction.mjs index 3b43f3a6..17b3b05d 100644 --- a/packages/core/fraction.mjs +++ b/packages/core/fraction.mjs @@ -1,3 +1,9 @@ +/* +fraction.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import Fraction from 'fraction.js'; import { TimeSpan } from './timespan.mjs'; diff --git a/packages/core/gist.js b/packages/core/gist.js index 716f797f..8d033c81 100644 --- a/packages/core/gist.js +++ b/packages/core/gist.js @@ -1,3 +1,9 @@ +/* +gist.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + // this is a shortcut to eval code from a gist // why? to be able to shorten strudel code + e.g. be able to change instruments after links have been generated export default (route) => diff --git a/packages/core/hap.mjs b/packages/core/hap.mjs index e1ad05f1..ee205b50 100644 --- a/packages/core/hap.mjs +++ b/packages/core/hap.mjs @@ -1,3 +1,9 @@ +/* +hap.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + export class Hap { /* diff --git a/packages/core/index.mjs b/packages/core/index.mjs index 9e7f80e3..49d51730 100644 --- a/packages/core/index.mjs +++ b/packages/core/index.mjs @@ -1,3 +1,9 @@ +/* +index.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + export * from './controls.mjs'; export * from './euclid.mjs'; import Fraction from './fraction.mjs'; diff --git a/packages/core/pattern.mjs b/packages/core/pattern.mjs index b4057f49..66a73c15 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -1,3 +1,9 @@ +/* +pattern.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import TimeSpan from './timespan.mjs'; import Fraction from './fraction.mjs'; import Hap from './hap.mjs'; diff --git a/packages/core/signal.mjs b/packages/core/signal.mjs index e96921c5..a1644c1f 100644 --- a/packages/core/signal.mjs +++ b/packages/core/signal.mjs @@ -1,3 +1,9 @@ +/* +signal.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Hap } from './hap.mjs'; import { Pattern, fastcat, reify, silence, stack } from './pattern.mjs'; import Fraction from './fraction.mjs'; diff --git a/packages/core/speak.mjs b/packages/core/speak.mjs index 141ef92f..90f9f302 100644 --- a/packages/core/speak.mjs +++ b/packages/core/speak.mjs @@ -1,3 +1,9 @@ +/* +speak.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Pattern, patternify2 } from './index.mjs'; const synth = window?.speechSynthesis; diff --git a/packages/core/state.mjs b/packages/core/state.mjs index 56e4fd92..03fe4a42 100644 --- a/packages/core/state.mjs +++ b/packages/core/state.mjs @@ -1,3 +1,9 @@ +/* +state.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + export class State { constructor(span, controls = {}) { this.span = span; diff --git a/packages/core/test/drawLine.test.mjs b/packages/core/test/drawLine.test.mjs index 587c45fb..1d6301c3 100644 --- a/packages/core/test/drawLine.test.mjs +++ b/packages/core/test/drawLine.test.mjs @@ -1,3 +1,9 @@ +/* +drawLine.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { fastcat, stack, slowcat, silence, pure } from '../pattern.mjs'; import { strict as assert } from 'assert'; import drawLine from '../drawLine.mjs'; diff --git a/packages/core/test/fraction.test.mjs b/packages/core/test/fraction.test.mjs index 90d3ac76..ef1675bf 100644 --- a/packages/core/test/fraction.test.mjs +++ b/packages/core/test/fraction.test.mjs @@ -1,3 +1,9 @@ +/* +fraction.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import Fraction, { gcd } from '../fraction.mjs'; import { strict as assert } from 'assert'; diff --git a/packages/core/test/pattern.test.mjs b/packages/core/test/pattern.test.mjs index 46308912..b3792e99 100644 --- a/packages/core/test/pattern.test.mjs +++ b/packages/core/test/pattern.test.mjs @@ -1,3 +1,9 @@ +/* +pattern.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import Fraction from 'fraction.js'; import { deepStrictEqual, strict as assert } from 'assert'; diff --git a/packages/core/test/util.test.mjs b/packages/core/test/util.test.mjs index bf402793..57da43af 100644 --- a/packages/core/test/util.test.mjs +++ b/packages/core/test/util.test.mjs @@ -1,3 +1,9 @@ +/* +util.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { strict as assert } from 'assert'; import { pure } from '../pattern.mjs'; import { isNote, tokenizeNote, toMidi, fromMidi, mod, compose, getFrequency } from '../util.mjs'; diff --git a/packages/core/test/value.test.mjs b/packages/core/test/value.test.mjs index f68ff36c..a862f509 100644 --- a/packages/core/test/value.test.mjs +++ b/packages/core/test/value.test.mjs @@ -1,3 +1,9 @@ +/* +value.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { strict as assert } from 'assert'; import { map, valued, mul } from '../value.mjs'; diff --git a/packages/core/timespan.mjs b/packages/core/timespan.mjs index 5c398da1..bee7b8a8 100644 --- a/packages/core/timespan.mjs +++ b/packages/core/timespan.mjs @@ -1,3 +1,9 @@ +/* +timespan.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import Fraction from './fraction.mjs'; export class TimeSpan { diff --git a/packages/core/util.mjs b/packages/core/util.mjs index 93072d89..94a35231 100644 --- a/packages/core/util.mjs +++ b/packages/core/util.mjs @@ -1,3 +1,9 @@ +/* +util.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + // returns true if the given string is a note export const isNote = (name) => /^[a-gA-G][#b]*[0-9]$/.test(name); export const tokenizeNote = (note) => { diff --git a/packages/core/value.mjs b/packages/core/value.mjs index 878e6b1f..0185fdda 100644 --- a/packages/core/value.mjs +++ b/packages/core/value.mjs @@ -1,3 +1,9 @@ +/* +value.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { curry } from './util.mjs'; function unionWithObj(a, b, func) { diff --git a/packages/eval/evaluate.mjs b/packages/eval/evaluate.mjs index d96916ab..575a48f9 100644 --- a/packages/eval/evaluate.mjs +++ b/packages/eval/evaluate.mjs @@ -1,3 +1,9 @@ +/* +evaluate.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import shapeshifter from './shapeshifter.mjs'; import * as strudel from '@strudel.cycles/core'; diff --git a/packages/eval/shapeshifter.mjs b/packages/eval/shapeshifter.mjs index a79c0d2c..db285455 100644 --- a/packages/eval/shapeshifter.mjs +++ b/packages/eval/shapeshifter.mjs @@ -1,3 +1,9 @@ +/* +shapeshifter.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + /* import { parseScriptWithLocation } from './shift-parser/index.js'; // npm module does not work in the browser import traverser from './shift-traverser/index.js'; // npm module does not work in the browser */ import { parseScriptWithLocation } from 'shift-parser'; diff --git a/packages/eval/shift-traverser/index.js b/packages/eval/shift-traverser/index.js index b3312594..85fc6a30 100644 --- a/packages/eval/shift-traverser/index.js +++ b/packages/eval/shift-traverser/index.js @@ -1,3 +1,9 @@ +/* +index.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + /* Copyright (C) 2014 Yusuke Suzuki diff --git a/packages/eval/test/evaluate.test.mjs b/packages/eval/test/evaluate.test.mjs index 9fbedb20..3200f187 100644 --- a/packages/eval/test/evaluate.test.mjs +++ b/packages/eval/test/evaluate.test.mjs @@ -1,3 +1,9 @@ +/* +evaluate.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { strict as assert } from 'assert'; import { evaluate, extend } from '../evaluate.mjs'; import { mini } from '@strudel.cycles/mini'; diff --git a/packages/eval/test/shapeshifter.test.mjs b/packages/eval/test/shapeshifter.test.mjs index 0b8812f0..9ba9482c 100644 --- a/packages/eval/test/shapeshifter.test.mjs +++ b/packages/eval/test/shapeshifter.test.mjs @@ -1,3 +1,9 @@ +/* +shapeshifter.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { strict as assert } from 'assert'; import shapeshifter from '../shapeshifter.mjs'; diff --git a/packages/midi/midi.mjs b/packages/midi/midi.mjs index 52d3ecbd..c5e2ba38 100644 --- a/packages/midi/midi.mjs +++ b/packages/midi/midi.mjs @@ -1,3 +1,9 @@ +/* +midi.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { isNote } from 'tone'; import _WebMidi from 'webmidi'; import { Pattern, isPattern } from '@strudel.cycles/core'; diff --git a/packages/mini/krill-parser.js b/packages/mini/krill-parser.js index 2b307417..005cb4de 100644 --- a/packages/mini/krill-parser.js +++ b/packages/mini/krill-parser.js @@ -1,3 +1,9 @@ +/* +krill-parser.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + // Generated by Peggy 1.2.0. // // https://peggyjs.org/ diff --git a/packages/mini/krill.pegjs b/packages/mini/krill.pegjs index c24be8fb..745d52ee 100644 --- a/packages/mini/krill.pegjs +++ b/packages/mini/krill.pegjs @@ -1,3 +1,9 @@ +/* +krill.pegjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + // Some terminology: // a sequence = a serie of elements placed between quotes // a stack = a serie of vertically aligned slices sharing the same overall length diff --git a/packages/mini/mini.mjs b/packages/mini/mini.mjs index 9572c349..3b2042fe 100644 --- a/packages/mini/mini.mjs +++ b/packages/mini/mini.mjs @@ -1,3 +1,9 @@ +/* +mini.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import * as krill from './krill-parser.js'; import * as strudel from '@strudel.cycles/core'; import { addMiniLocations } from '@strudel.cycles/eval/shapeshifter.mjs'; diff --git a/packages/mini/test/mini.test.mjs b/packages/mini/test/mini.test.mjs index 4cbe399a..29872bbe 100644 --- a/packages/mini/test/mini.test.mjs +++ b/packages/mini/test/mini.test.mjs @@ -1,3 +1,9 @@ +/* +mini.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { strict as assert } from 'assert'; import { mini } from '../mini.mjs'; import '@strudel.cycles/core/euclid.mjs'; diff --git a/packages/osc/osc.mjs b/packages/osc/osc.mjs index ad42d91a..77fbf763 100644 --- a/packages/osc/osc.mjs +++ b/packages/osc/osc.mjs @@ -1,3 +1,9 @@ +/* +osc.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import OSC from 'osc-js'; import { Pattern } from '@strudel.cycles/core'; diff --git a/packages/osc/server.js b/packages/osc/server.js index f765b284..f213157f 100644 --- a/packages/osc/server.js +++ b/packages/osc/server.js @@ -1,3 +1,9 @@ +/* +server.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + const OSC = require('osc-js'); const config = { diff --git a/packages/osc/tidal-sniffer.js b/packages/osc/tidal-sniffer.js index a1bdd659..400ff11b 100644 --- a/packages/osc/tidal-sniffer.js +++ b/packages/osc/tidal-sniffer.js @@ -1,3 +1,9 @@ +/* +tidal-sniffer.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + const OSC = require('osc-js'); const config = { diff --git a/packages/serial/serial.mjs b/packages/serial/serial.mjs index 312a8c8b..646c6a0f 100644 --- a/packages/serial/serial.mjs +++ b/packages/serial/serial.mjs @@ -1,3 +1,9 @@ +/* +serial.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Pattern, isPattern } from '@strudel.cycles/core'; var serialWriter; diff --git a/packages/tonal/test/tonal.test.mjs b/packages/tonal/test/tonal.test.mjs index 2e22384b..e73525c4 100644 --- a/packages/tonal/test/tonal.test.mjs +++ b/packages/tonal/test/tonal.test.mjs @@ -1,3 +1,9 @@ +/* +tonal.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { strict as assert } from 'assert'; import '../tonal.mjs'; // need to import this to add prototypes import { pure } from '@strudel.cycles/core'; diff --git a/packages/tonal/tonal.mjs b/packages/tonal/tonal.mjs index 128e98bd..5afec611 100644 --- a/packages/tonal/tonal.mjs +++ b/packages/tonal/tonal.mjs @@ -1,3 +1,9 @@ +/* +tonal.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Note, Interval, Scale } from '@tonaljs/tonal'; import { Pattern, mod } from '@strudel.cycles/core'; diff --git a/packages/tonal/voicings.mjs b/packages/tonal/voicings.mjs index 5bbf2877..ac2238b2 100644 --- a/packages/tonal/voicings.mjs +++ b/packages/tonal/voicings.mjs @@ -1,3 +1,9 @@ +/* +voicings.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Pattern as _Pattern, stack, Hap, reify } from '@strudel.cycles/core'; import _voicings from 'chord-voicings'; const { dictionaryVoicing, minTopNoteDiff, lefthand } = _voicings.default || _voicings; // parcel module resolution fuckup diff --git a/packages/tone/draw.mjs b/packages/tone/draw.mjs index 07979d01..a7d84e94 100644 --- a/packages/tone/draw.mjs +++ b/packages/tone/draw.mjs @@ -1,3 +1,9 @@ +/* +draw.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Tone } from './tone.mjs'; import { Pattern } from '@strudel.cycles/core'; diff --git a/packages/tone/pianoroll.mjs b/packages/tone/pianoroll.mjs index 33d9e055..76061325 100644 --- a/packages/tone/pianoroll.mjs +++ b/packages/tone/pianoroll.mjs @@ -1,3 +1,9 @@ +/* +pianoroll.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Pattern } from '@strudel.cycles/core'; Pattern.prototype.pianoroll = function ({ diff --git a/packages/tone/test/tone.test.mjs b/packages/tone/test/tone.test.mjs index 3f3d749b..4e01c840 100644 --- a/packages/tone/test/tone.test.mjs +++ b/packages/tone/test/tone.test.mjs @@ -1,3 +1,9 @@ +/* +tone.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { strict as assert } from 'assert'; import '../tone.mjs'; import { pure } from '@strudel.cycles/core'; diff --git a/packages/tone/tone.mjs b/packages/tone/tone.mjs index cf3d750a..05335284 100644 --- a/packages/tone/tone.mjs +++ b/packages/tone/tone.mjs @@ -1,3 +1,9 @@ +/* +tone.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Pattern } from '@strudel.cycles/core'; import * as _Tone from 'tone'; diff --git a/packages/tone/ui.mjs b/packages/tone/ui.mjs index fda3f3a3..532a6b23 100644 --- a/packages/tone/ui.mjs +++ b/packages/tone/ui.mjs @@ -1,3 +1,9 @@ +/* +ui.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Tone } from './tone.mjs'; export const hideHeader = () => { diff --git a/packages/webaudio/clockworker.mjs b/packages/webaudio/clockworker.mjs index 4bc5c106..1da494ea 100644 --- a/packages/webaudio/clockworker.mjs +++ b/packages/webaudio/clockworker.mjs @@ -1,3 +1,9 @@ +/* +clockworker.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + // helpers to create a worker dynamically without needing a server / extra file const stringifyFunction = (func) => '(' + func + ')();'; const urlifyFunction = (func) => URL.createObjectURL(new Blob([stringifyFunction(func)], { type: 'text/javascript' })); diff --git a/packages/webaudio/index.mjs b/packages/webaudio/index.mjs index 869af9fd..97bd37bc 100644 --- a/packages/webaudio/index.mjs +++ b/packages/webaudio/index.mjs @@ -1,3 +1,9 @@ +/* +index.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + export { default as ClockWorker } from './clockworker.mjs'; export { default as Scheduler } from './scheduler.mjs'; export * from './webaudio.mjs'; diff --git a/packages/webaudio/scheduler.mjs b/packages/webaudio/scheduler.mjs index 8b476560..785fadb0 100644 --- a/packages/webaudio/scheduler.mjs +++ b/packages/webaudio/scheduler.mjs @@ -1,3 +1,9 @@ +/* +scheduler.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import ClockWorker from './clockworker.mjs'; import { State, TimeSpan } from '@strudel.cycles/core'; diff --git a/packages/webaudio/webaudio.mjs b/packages/webaudio/webaudio.mjs index f66f94bd..d7d8d1cb 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -1,3 +1,9 @@ +/* +webaudio.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Pattern, getFrequency, patternify2 } from '@strudel.cycles/core'; import { Tone } from '@strudel.cycles/tone'; diff --git a/packages/xen/test/xen.test.mjs b/packages/xen/test/xen.test.mjs index 939742bd..661f5384 100644 --- a/packages/xen/test/xen.test.mjs +++ b/packages/xen/test/xen.test.mjs @@ -1,3 +1,9 @@ +/* +xen.test.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { strict as assert } from 'assert'; import { edo } from '../xen.mjs'; diff --git a/packages/xen/tune.mjs b/packages/xen/tune.mjs index d7d3f581..0ae7adf3 100644 --- a/packages/xen/tune.mjs +++ b/packages/xen/tune.mjs @@ -1,3 +1,9 @@ +/* +tune.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import Tune from './tunejs.js'; import { Pattern } from '@strudel.cycles/core'; diff --git a/packages/xen/tunejs.js b/packages/xen/tunejs.js index 80bf043a..48aa0125 100644 --- a/packages/xen/tunejs.js +++ b/packages/xen/tunejs.js @@ -1,3 +1,9 @@ +/* +tunejs.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + // See all scales at: http://abbernie.github.io/tune/scales.html export default function Tune(){ diff --git a/packages/xen/xen.mjs b/packages/xen/xen.mjs index 9bacb323..9d4322f2 100644 --- a/packages/xen/xen.mjs +++ b/packages/xen/xen.mjs @@ -1,3 +1,9 @@ +/* +xen.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Pattern, mod } from '@strudel.cycles/core'; export function edo(name) { diff --git a/repl/postcss.config.js b/repl/postcss.config.js index 33ad091d..1241baf2 100644 --- a/repl/postcss.config.js +++ b/repl/postcss.config.js @@ -1,3 +1,9 @@ +/* +postcss.config.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + module.exports = { plugins: { tailwindcss: {}, diff --git a/repl/src/App.js b/repl/src/App.js index 6c85dc39..0bd05122 100644 --- a/repl/src/App.js +++ b/repl/src/App.js @@ -1,3 +1,9 @@ +/* +App.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import React, { useCallback, useLayoutEffect, useRef, useState } from 'react'; import CodeMirror, { markEvent, markParens } from './CodeMirror'; import cx from './cx'; diff --git a/repl/src/App.test.js b/repl/src/App.test.js index 1f03afee..06b3dd9f 100644 --- a/repl/src/App.test.js +++ b/repl/src/App.test.js @@ -1,3 +1,9 @@ +/* +App.test.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { render, screen } from '@testing-library/react'; import App from './App'; diff --git a/repl/src/cx.js b/repl/src/cx.js index fdd3ae90..b12b86a2 100644 --- a/repl/src/cx.js +++ b/repl/src/cx.js @@ -1,3 +1,9 @@ +/* +cx.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + export default function cx(...classes) { // : Array return classes.filter(Boolean).join(' '); } diff --git a/repl/src/index.js b/repl/src/index.js index ef2edf8e..cff5d094 100644 --- a/repl/src/index.js +++ b/repl/src/index.js @@ -1,3 +1,9 @@ +/* +index.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; diff --git a/repl/src/oldtunes.mjs b/repl/src/oldtunes.mjs index 6ac25dda..89bdcb05 100644 --- a/repl/src/oldtunes.mjs +++ b/repl/src/oldtunes.mjs @@ -1,3 +1,9 @@ +/* +oldtunes.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + export const timeCatMini = `stack( "c3@3 [eb3, g3, [c4 d4]/2]", "c2 g2", diff --git a/repl/src/reportWebVitals.js b/repl/src/reportWebVitals.js index 5253d3ad..cf22cc4b 100644 --- a/repl/src/reportWebVitals.js +++ b/repl/src/reportWebVitals.js @@ -1,3 +1,9 @@ +/* +reportWebVitals.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + const reportWebVitals = onPerfEntry => { if (onPerfEntry && onPerfEntry instanceof Function) { import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { diff --git a/repl/src/setupTests.js b/repl/src/setupTests.js index 8f2609b7..310c21b5 100644 --- a/repl/src/setupTests.js +++ b/repl/src/setupTests.js @@ -1,3 +1,9 @@ +/* +setupTests.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + // jest-dom adds custom jest matchers for asserting on DOM nodes. // allows you to do things like: // expect(element).toHaveTextContent(/react/i) diff --git a/repl/src/static.mjs b/repl/src/static.mjs index 5ae319ae..7ff33aab 100644 --- a/repl/src/static.mjs +++ b/repl/src/static.mjs @@ -1,3 +1,9 @@ +/* +static.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { Tone } from '@strudel.cycles/tone'; import { State, TimeSpan } from '@strudel.cycles/core'; import { getPlayableNoteValue } from '@strudel.cycles/core/util.mjs'; diff --git a/repl/src/tunes.mjs b/repl/src/tunes.mjs index c75784be..bb6c91a6 100644 --- a/repl/src/tunes.mjs +++ b/repl/src/tunes.mjs @@ -1,3 +1,9 @@ +/* +tunes.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + export const timeCatMini = `stack( "c3@3 [eb3, g3, [c4 d4]/2]", "c2 g2", diff --git a/repl/src/tutorial/Tutorial.js b/repl/src/tutorial/Tutorial.js index a721a0a1..3511cabd 100644 --- a/repl/src/tutorial/Tutorial.js +++ b/repl/src/tutorial/Tutorial.js @@ -1,3 +1,9 @@ +/* +Tutorial.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import React from 'react'; import ReactDOM from 'react-dom'; import Tutorial from './tutorial.mdx'; diff --git a/repl/src/useCycle.mjs b/repl/src/useCycle.mjs index 2e6cad42..cb61f3dd 100644 --- a/repl/src/useCycle.mjs +++ b/repl/src/useCycle.mjs @@ -1,3 +1,9 @@ +/* +useCycle.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { useEffect, useState } from 'react'; import { Tone } from '@strudel.cycles/tone'; import { State, TimeSpan } from '@strudel.cycles/core'; diff --git a/repl/src/usePostMessage.mjs b/repl/src/usePostMessage.mjs index b40282ac..be457c5b 100644 --- a/repl/src/usePostMessage.mjs +++ b/repl/src/usePostMessage.mjs @@ -1,3 +1,9 @@ +/* +usePostMessage.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { useEffect, useCallback } from 'react'; function usePostMessage(listener) { diff --git a/repl/src/useRepl.mjs b/repl/src/useRepl.mjs index 63ea65bb..07982f45 100644 --- a/repl/src/useRepl.mjs +++ b/repl/src/useRepl.mjs @@ -1,3 +1,9 @@ +/* +useRepl.mjs - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { useCallback, useState, useMemo } from 'react'; import { evaluate } from '@strudel.cycles/eval'; import { getPlayableNoteValue } from '@strudel.cycles/core/util.mjs'; diff --git a/repl/src/useWebMidi.js b/repl/src/useWebMidi.js index 456be340..7f8a37cd 100644 --- a/repl/src/useWebMidi.js +++ b/repl/src/useWebMidi.js @@ -1,3 +1,9 @@ +/* +useWebMidi.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + import { useEffect, useState } from 'react'; import { enableWebMidi, WebMidi } from '@strudel.cycles/midi' diff --git a/repl/tailwind.config.js b/repl/tailwind.config.js index d5dd0c7d..3ac72aef 100644 --- a/repl/tailwind.config.js +++ b/repl/tailwind.config.js @@ -1,3 +1,9 @@ +/* +tailwind.config.js - +Copyright (C) 2022 and contributors +This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . +*/ + module.exports = { content: ['./src/**/*.{js,jsx,ts,tsx}'], theme: {