build
This commit is contained in:
parent
1a56c63658
commit
01af71cd1c
2 changed files with 36 additions and 7 deletions
17
docs/dist/App.js
vendored
17
docs/dist/App.js
vendored
|
|
@ -4,6 +4,7 @@ import * as strudel from "../_snowpack/link/strudel.js";
|
||||||
import cx from "./cx.js";
|
import cx from "./cx.js";
|
||||||
import * as Tone from "../_snowpack/pkg/tone.js";
|
import * as Tone from "../_snowpack/pkg/tone.js";
|
||||||
import useCycle from "./useCycle.js";
|
import useCycle from "./useCycle.js";
|
||||||
|
import {tetris} from "./tunes.js";
|
||||||
const {Fraction, TimeSpan} = strudel;
|
const {Fraction, TimeSpan} = strudel;
|
||||||
const fr = (v) => new Fraction(v);
|
const fr = (v) => new Fraction(v);
|
||||||
const ts = (start, end) => new TimeSpan(fr(start), fr(end));
|
const ts = (start, end) => new TimeSpan(fr(start), fr(end));
|
||||||
|
|
@ -19,12 +20,7 @@ synth.set({
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
function App() {
|
function App() {
|
||||||
const [code, setCode] = useState(`slowcat(
|
const [code, setCode] = useState(tetris);
|
||||||
stack('c4','eb4','g4'),
|
|
||||||
stack('bb3','d4','f4'),
|
|
||||||
stack('ab3','c4','eb4'),
|
|
||||||
stack('g3','b3','d4')
|
|
||||||
)`);
|
|
||||||
const [log, setLog] = useState("");
|
const [log, setLog] = useState("");
|
||||||
const logBox = useRef();
|
const logBox = useRef();
|
||||||
const [error, setError] = useState();
|
const [error, setError] = useState();
|
||||||
|
|
@ -39,7 +35,14 @@ function App() {
|
||||||
onEvent: useCallback((time, event) => {
|
onEvent: useCallback((time, event) => {
|
||||||
synth.triggerAttackRelease(event.value, event.duration, time);
|
synth.triggerAttackRelease(event.value, event.duration, time);
|
||||||
}, []),
|
}, []),
|
||||||
onQuery: useCallback((span) => pattern?.query(span) || [], [pattern]),
|
onQuery: useCallback((span) => {
|
||||||
|
try {
|
||||||
|
return pattern?.query(span) || [];
|
||||||
|
} catch (err) {
|
||||||
|
setError(err);
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}, [pattern]),
|
||||||
onSchedule: useCallback((_events, cycle2) => {
|
onSchedule: useCallback((_events, cycle2) => {
|
||||||
logCycle(_events, cycle2);
|
logCycle(_events, cycle2);
|
||||||
}, [pattern]),
|
}, [pattern]),
|
||||||
|
|
|
||||||
26
docs/dist/tunes.js
vendored
Normal file
26
docs/dist/tunes.js
vendored
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
export const tetris = `stack(sequence(
|
||||||
|
'e5', sequence('b4', 'c5'), 'd5', sequence('c5', 'b4'),
|
||||||
|
'a4', sequence('a4', 'c5'), 'e5', sequence('d5', 'c5'),
|
||||||
|
'b4', sequence(silence(), 'c5'), 'd5', 'e5',
|
||||||
|
'c5', 'a4', 'a4', silence(),
|
||||||
|
sequence(silence(), 'd5'), sequence(silence(), 'f5'), 'a5', sequence('g5', 'f5'),
|
||||||
|
'e5', sequence(silence(), 'c5'), 'e5', sequence('d5', 'c5'),
|
||||||
|
'b4', sequence('b4', 'c5'), 'd5', 'e5',
|
||||||
|
'c5', 'a4', 'a4', silence()),
|
||||||
|
sequence(
|
||||||
|
'e2', 'e3', 'e2', 'e3', 'e2', 'e3', 'e2', 'e3',
|
||||||
|
'a2', 'a3', 'a2', 'a3', 'a2', 'a3', 'a2', 'a3',
|
||||||
|
'g#2', 'g#3', 'g#2', 'g#3', 'e2', 'e3', 'e2', 'e3',
|
||||||
|
'a2', 'a3', 'a2', 'a3', 'a2', 'a3', 'b1', 'c2',
|
||||||
|
'd2', 'd3', 'd2', 'd3', 'd2', 'd3', 'd2', 'd3',
|
||||||
|
'c2', 'c3', 'c2', 'c3', 'c2', 'c3', 'c2', 'c3',
|
||||||
|
'b1', 'b2', 'b1', 'b2', 'e2', 'e3', 'e2', 'e3',
|
||||||
|
'a1', 'a2', 'a1', 'a2', 'a1', 'a2', 'a1', 'a2',
|
||||||
|
)
|
||||||
|
)._slow(16)`;
|
||||||
|
export const spanish = `slowcat(
|
||||||
|
stack('c4','eb4','g4'),
|
||||||
|
stack('bb3','d4','f4'),
|
||||||
|
stack('ab3','c4','eb4'),
|
||||||
|
stack('g3','b3','d4')
|
||||||
|
)`;
|
||||||
Loading…
Add table
Add a link
Reference in a new issue