From ee514ee8ba9ae142a6bd815ebc0fb926f1cca715 Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 28 Apr 2022 14:38:41 +0100 Subject: [PATCH] redo 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..5b09766d 100644 --- a/packages/core/controls.mjs +++ b/packages/core/controls.mjs @@ -1,3 +1,9 @@ +/* +controls.mjs - +Copyright (C) 2022 Strudel contributors - see +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..0bfe458c 100644 --- a/packages/core/drawLine.mjs +++ b/packages/core/drawLine.mjs @@ -1,3 +1,9 @@ +/* +drawLine.mjs - +Copyright (C) 2022 Strudel contributors - see +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..4e4e3bcf 100644 --- a/packages/core/euclid.mjs +++ b/packages/core/euclid.mjs @@ -1,3 +1,9 @@ +/* +euclid.mjs - +Copyright (C) 2022 Strudel contributors - see +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..5204395d 100644 --- a/packages/core/fraction.mjs +++ b/packages/core/fraction.mjs @@ -1,3 +1,9 @@ +/* +fraction.mjs - +Copyright (C) 2022 Strudel contributors - see +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..67924762 100644 --- a/packages/core/gist.js +++ b/packages/core/gist.js @@ -1,3 +1,9 @@ +/* +gist.js - +Copyright (C) 2022 Strudel contributors - see +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..169631c0 100644 --- a/packages/core/hap.mjs +++ b/packages/core/hap.mjs @@ -1,3 +1,9 @@ +/* +hap.mjs - +Copyright (C) 2022 Strudel contributors - see +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..45550191 100644 --- a/packages/core/index.mjs +++ b/packages/core/index.mjs @@ -1,3 +1,9 @@ +/* +index.mjs - +Copyright (C) 2022 Strudel contributors - see +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..f65a896d 100644 --- a/packages/core/pattern.mjs +++ b/packages/core/pattern.mjs @@ -1,3 +1,9 @@ +/* +pattern.mjs - +Copyright (C) 2022 Strudel contributors - see +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..8fa12910 100644 --- a/packages/core/signal.mjs +++ b/packages/core/signal.mjs @@ -1,3 +1,9 @@ +/* +signal.mjs - +Copyright (C) 2022 Strudel contributors - see +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..0a1b7fe3 100644 --- a/packages/core/speak.mjs +++ b/packages/core/speak.mjs @@ -1,3 +1,9 @@ +/* +speak.mjs - +Copyright (C) 2022 Strudel contributors - see +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..db1f77ef 100644 --- a/packages/core/state.mjs +++ b/packages/core/state.mjs @@ -1,3 +1,9 @@ +/* +state.mjs - +Copyright (C) 2022 Strudel contributors - see +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..461cd2b3 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 Strudel contributors - see +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..46e83c69 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 Strudel contributors - see +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..32ca7e5a 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 Strudel contributors - see +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..4a315ea8 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 Strudel contributors - see +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..35de86b4 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 Strudel contributors - see +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..b04a06fc 100644 --- a/packages/core/timespan.mjs +++ b/packages/core/timespan.mjs @@ -1,3 +1,9 @@ +/* +timespan.mjs - +Copyright (C) 2022 Strudel contributors - see +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..a9787f00 100644 --- a/packages/core/util.mjs +++ b/packages/core/util.mjs @@ -1,3 +1,9 @@ +/* +util.mjs - +Copyright (C) 2022 Strudel contributors - see +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..f75389a0 100644 --- a/packages/core/value.mjs +++ b/packages/core/value.mjs @@ -1,3 +1,9 @@ +/* +value.mjs - +Copyright (C) 2022 Strudel contributors - see +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..286e855a 100644 --- a/packages/eval/evaluate.mjs +++ b/packages/eval/evaluate.mjs @@ -1,3 +1,9 @@ +/* +evaluate.mjs - +Copyright (C) 2022 Strudel contributors - see +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..46d7a635 100644 --- a/packages/eval/shapeshifter.mjs +++ b/packages/eval/shapeshifter.mjs @@ -1,3 +1,9 @@ +/* +shapeshifter.mjs - +Copyright (C) 2022 Strudel contributors - see +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..5ef0977f 100644 --- a/packages/eval/shift-traverser/index.js +++ b/packages/eval/shift-traverser/index.js @@ -1,3 +1,9 @@ +/* +index.js - +Copyright (C) 2022 Strudel contributors - see +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..b1ef004b 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 Strudel contributors - see +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..1cf04825 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 Strudel contributors - see +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..502ac155 100644 --- a/packages/midi/midi.mjs +++ b/packages/midi/midi.mjs @@ -1,3 +1,9 @@ +/* +midi.mjs - +Copyright (C) 2022 Strudel contributors - see +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..d93258b2 100644 --- a/packages/mini/krill-parser.js +++ b/packages/mini/krill-parser.js @@ -1,3 +1,9 @@ +/* +krill-parser.js - +Copyright (C) 2022 Strudel contributors - see +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..914855e6 100644 --- a/packages/mini/krill.pegjs +++ b/packages/mini/krill.pegjs @@ -1,3 +1,9 @@ +/* +krill.pegjs - +Copyright (C) 2022 Strudel contributors - see +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..20971230 100644 --- a/packages/mini/mini.mjs +++ b/packages/mini/mini.mjs @@ -1,3 +1,9 @@ +/* +mini.mjs - +Copyright (C) 2022 Strudel contributors - see +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..baf34314 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 Strudel contributors - see +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..02c8ad83 100644 --- a/packages/osc/osc.mjs +++ b/packages/osc/osc.mjs @@ -1,3 +1,9 @@ +/* +osc.mjs - +Copyright (C) 2022 Strudel contributors - see +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..ba6f9f90 100644 --- a/packages/osc/server.js +++ b/packages/osc/server.js @@ -1,3 +1,9 @@ +/* +server.js - +Copyright (C) 2022 Strudel contributors - see +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..2cbb15e6 100644 --- a/packages/osc/tidal-sniffer.js +++ b/packages/osc/tidal-sniffer.js @@ -1,3 +1,9 @@ +/* +tidal-sniffer.js - +Copyright (C) 2022 Strudel contributors - see +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..a2bba8c9 100644 --- a/packages/serial/serial.mjs +++ b/packages/serial/serial.mjs @@ -1,3 +1,9 @@ +/* +serial.mjs - +Copyright (C) 2022 Strudel contributors - see +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..1cc0e08b 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 Strudel contributors - see +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..ada2a63b 100644 --- a/packages/tonal/tonal.mjs +++ b/packages/tonal/tonal.mjs @@ -1,3 +1,9 @@ +/* +tonal.mjs - +Copyright (C) 2022 Strudel contributors - see +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..5859c3bc 100644 --- a/packages/tonal/voicings.mjs +++ b/packages/tonal/voicings.mjs @@ -1,3 +1,9 @@ +/* +voicings.mjs - +Copyright (C) 2022 Strudel contributors - see +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..1b7aef1a 100644 --- a/packages/tone/draw.mjs +++ b/packages/tone/draw.mjs @@ -1,3 +1,9 @@ +/* +draw.mjs - +Copyright (C) 2022 Strudel contributors - see +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..dfb5e5cb 100644 --- a/packages/tone/pianoroll.mjs +++ b/packages/tone/pianoroll.mjs @@ -1,3 +1,9 @@ +/* +pianoroll.mjs - +Copyright (C) 2022 Strudel contributors - see +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..ae01190c 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 Strudel contributors - see +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..705257ce 100644 --- a/packages/tone/tone.mjs +++ b/packages/tone/tone.mjs @@ -1,3 +1,9 @@ +/* +tone.mjs - +Copyright (C) 2022 Strudel contributors - see +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..b0a253f0 100644 --- a/packages/tone/ui.mjs +++ b/packages/tone/ui.mjs @@ -1,3 +1,9 @@ +/* +ui.mjs - +Copyright (C) 2022 Strudel contributors - see +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..5e9b0297 100644 --- a/packages/webaudio/clockworker.mjs +++ b/packages/webaudio/clockworker.mjs @@ -1,3 +1,9 @@ +/* +clockworker.mjs - +Copyright (C) 2022 Strudel contributors - see +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..7c5898ba 100644 --- a/packages/webaudio/index.mjs +++ b/packages/webaudio/index.mjs @@ -1,3 +1,9 @@ +/* +index.mjs - +Copyright (C) 2022 Strudel contributors - see +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..847cb2b7 100644 --- a/packages/webaudio/scheduler.mjs +++ b/packages/webaudio/scheduler.mjs @@ -1,3 +1,9 @@ +/* +scheduler.mjs - +Copyright (C) 2022 Strudel contributors - see +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..d46d9a2e 100644 --- a/packages/webaudio/webaudio.mjs +++ b/packages/webaudio/webaudio.mjs @@ -1,3 +1,9 @@ +/* +webaudio.mjs - +Copyright (C) 2022 Strudel contributors - see +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..f2923a0f 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 Strudel contributors - see +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..825a9d01 100644 --- a/packages/xen/tune.mjs +++ b/packages/xen/tune.mjs @@ -1,3 +1,9 @@ +/* +tune.mjs - +Copyright (C) 2022 Strudel contributors - see +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..7b1a804a 100644 --- a/packages/xen/tunejs.js +++ b/packages/xen/tunejs.js @@ -1,3 +1,9 @@ +/* +tunejs.js - +Copyright (C) 2022 Strudel contributors - see +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..f82844b0 100644 --- a/packages/xen/xen.mjs +++ b/packages/xen/xen.mjs @@ -1,3 +1,9 @@ +/* +xen.mjs - +Copyright (C) 2022 Strudel contributors - see +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..8365a461 100644 --- a/repl/postcss.config.js +++ b/repl/postcss.config.js @@ -1,3 +1,9 @@ +/* +postcss.config.js - +Copyright (C) 2022 Strudel contributors - see +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..1e3f3241 100644 --- a/repl/src/App.js +++ b/repl/src/App.js @@ -1,3 +1,9 @@ +/* +App.js - +Copyright (C) 2022 Strudel contributors - see +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..ae608030 100644 --- a/repl/src/App.test.js +++ b/repl/src/App.test.js @@ -1,3 +1,9 @@ +/* +App.test.js - +Copyright (C) 2022 Strudel contributors - see +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..f806fcf3 100644 --- a/repl/src/cx.js +++ b/repl/src/cx.js @@ -1,3 +1,9 @@ +/* +cx.js - +Copyright (C) 2022 Strudel contributors - see +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..9403334b 100644 --- a/repl/src/index.js +++ b/repl/src/index.js @@ -1,3 +1,9 @@ +/* +index.js - +Copyright (C) 2022 Strudel contributors - see +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..33e499e5 100644 --- a/repl/src/oldtunes.mjs +++ b/repl/src/oldtunes.mjs @@ -1,3 +1,9 @@ +/* +oldtunes.mjs - +Copyright (C) 2022 Strudel contributors - see +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..84b6af34 100644 --- a/repl/src/reportWebVitals.js +++ b/repl/src/reportWebVitals.js @@ -1,3 +1,9 @@ +/* +reportWebVitals.js - +Copyright (C) 2022 Strudel contributors - see +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..16e872ec 100644 --- a/repl/src/setupTests.js +++ b/repl/src/setupTests.js @@ -1,3 +1,9 @@ +/* +setupTests.js - +Copyright (C) 2022 Strudel contributors - see +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..db3de4f1 100644 --- a/repl/src/static.mjs +++ b/repl/src/static.mjs @@ -1,3 +1,9 @@ +/* +static.mjs - +Copyright (C) 2022 Strudel contributors - see +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..da3b6601 100644 --- a/repl/src/tunes.mjs +++ b/repl/src/tunes.mjs @@ -1,3 +1,9 @@ +/* +tunes.mjs - +Copyright (C) 2022 Strudel contributors - see +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..8f6f5d3c 100644 --- a/repl/src/tutorial/Tutorial.js +++ b/repl/src/tutorial/Tutorial.js @@ -1,3 +1,9 @@ +/* +Tutorial.js - +Copyright (C) 2022 Strudel contributors - see +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..5a68c9da 100644 --- a/repl/src/useCycle.mjs +++ b/repl/src/useCycle.mjs @@ -1,3 +1,9 @@ +/* +useCycle.mjs - +Copyright (C) 2022 Strudel contributors - see +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..9d3bc8e7 100644 --- a/repl/src/usePostMessage.mjs +++ b/repl/src/usePostMessage.mjs @@ -1,3 +1,9 @@ +/* +usePostMessage.mjs - +Copyright (C) 2022 Strudel contributors - see +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..9246374c 100644 --- a/repl/src/useRepl.mjs +++ b/repl/src/useRepl.mjs @@ -1,3 +1,9 @@ +/* +useRepl.mjs - +Copyright (C) 2022 Strudel contributors - see +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..ee3f0db3 100644 --- a/repl/src/useWebMidi.js +++ b/repl/src/useWebMidi.js @@ -1,3 +1,9 @@ +/* +useWebMidi.js - +Copyright (C) 2022 Strudel contributors - see +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..6dbeb8fc 100644 --- a/repl/tailwind.config.js +++ b/repl/tailwind.config.js @@ -1,3 +1,9 @@ +/* +tailwind.config.js - +Copyright (C) 2022 Strudel contributors - see +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: {