From 65deb7df1d3005e418f9909a0a587248e9106746 Mon Sep 17 00:00:00 2001 From: Felix Roos Date: Fri, 25 Mar 2022 21:35:41 +0100 Subject: [PATCH] import tone always from @strudel/tone --- packages/eval/evaluate.mjs | 2 +- packages/hooks/useCycle.mjs | 2 +- packages/midi/midi.mjs | 4 ++-- packages/tone/README.md | 3 ++- packages/tone/draw.mjs | 2 +- packages/tone/tone.mjs | 5 ++++- packages/tone/ui.mjs | 2 +- repl/src/static.mjs | 2 +- repl/src/tutorial/MiniRepl.jsx | 2 +- 9 files changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/eval/evaluate.mjs b/packages/eval/evaluate.mjs index fa7ad2a7..320aeb0c 100644 --- a/packages/eval/evaluate.mjs +++ b/packages/eval/evaluate.mjs @@ -14,7 +14,7 @@ import * as drawHelpers from '@strudel/tone/draw.mjs'; import gist from '@strudel/core/gist.js'; import shapeshifter from './shapeshifter.mjs'; import { mini } from '../mini/mini.mjs'; -import * as Tone from 'tone'; +import { Tone } from '@strudel/tone'; import * as toneHelpers from '../tone/tone.mjs'; import * as voicingHelpers from '../tonal/voicings.mjs'; diff --git a/packages/hooks/useCycle.mjs b/packages/hooks/useCycle.mjs index c5598752..d6393ddc 100644 --- a/packages/hooks/useCycle.mjs +++ b/packages/hooks/useCycle.mjs @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import * as Tone from 'tone'; +import { Tone } from '@strudel/tone'; import { State, TimeSpan } from '@strudel/core'; /* export declare interface UseCycleProps { diff --git a/packages/midi/midi.mjs b/packages/midi/midi.mjs index 3e881d5d..9e5dc5d9 100644 --- a/packages/midi/midi.mjs +++ b/packages/midi/midi.mjs @@ -1,7 +1,7 @@ import { isNote } from 'tone'; import _WebMidi from 'webmidi'; import { Pattern as _Pattern } from '@strudel/core/strudel.mjs'; -import * as Tone from 'tone'; +import { Tone } from '@strudel/tone'; // if you use WebMidi from outside of this package, make sure to import that instance: export const WebMidi = _WebMidi; @@ -67,7 +67,7 @@ Pattern.prototype.midi = function (output, channel = 1) { // console.log('midi', value, output); const timingOffset = WebMidi.time - Tone.getContext().currentTime * 1000; time = time * 1000 + timingOffset; - // const inMs = '+' + (time - Tone.context.currentTime) * 1000; + // const inMs = '+' + (time - Tone.getContext().currentTime) * 1000; // await enableWebMidi() device.playNote(note, channel, { time, diff --git a/packages/tone/README.md b/packages/tone/README.md index 2712e044..713bf1d4 100644 --- a/packages/tone/README.md +++ b/packages/tone/README.md @@ -4,4 +4,5 @@ TBD ## Dev Notes -`@tonejs/piano` has peer dependency on `webmidi@^2.5.1`! A newer version of webmidi will break. +- `@tonejs/piano` has peer dependency on `webmidi@^2.5.1`! A newer version of webmidi will break. +- If you use Tone in another package, make sure to `import { Tone } from '@strudel/tone`, to ensure you get the same AudioContext. diff --git a/packages/tone/draw.mjs b/packages/tone/draw.mjs index fe4582a1..36983643 100644 --- a/packages/tone/draw.mjs +++ b/packages/tone/draw.mjs @@ -1,4 +1,4 @@ -import * as Tone from 'tone'; +import { Tone } from '@strudel/tone'; import { Pattern } from '@strudel/core'; export const getDrawContext = (id = 'test-canvas') => { diff --git a/packages/tone/tone.mjs b/packages/tone/tone.mjs index dc238dc5..3c1afd6c 100644 --- a/packages/tone/tone.mjs +++ b/packages/tone/tone.mjs @@ -1,5 +1,8 @@ import { Pattern as _Pattern } from '@strudel/core'; -import * as Tone from 'tone'; +import * as _Tone from 'tone'; + +// import Tone from here, to make sure to get the same AudioContext +export const Tone = _Tone; const { AutoFilter, diff --git a/packages/tone/ui.mjs b/packages/tone/ui.mjs index 6469ecbd..6cf72ec4 100644 --- a/packages/tone/ui.mjs +++ b/packages/tone/ui.mjs @@ -1,4 +1,4 @@ -import * as Tone from 'tone'; +import { Tone } from '@strudel/tone'; export const hideHeader = () => { document.getElementById('header').style = 'display:none'; diff --git a/repl/src/static.mjs b/repl/src/static.mjs index e5a7300f..c191eab9 100644 --- a/repl/src/static.mjs +++ b/repl/src/static.mjs @@ -1,4 +1,4 @@ -import * as Tone from 'tone'; +import { Tone } from '@strudel/tone'; import { State, TimeSpan } from '@strudel/core'; import { getPlayableNoteValue } from '@strudel/core/util.mjs'; import { evaluate } from '@strudel/eval'; diff --git a/repl/src/tutorial/MiniRepl.jsx b/repl/src/tutorial/MiniRepl.jsx index f8ca0178..dd68aad1 100644 --- a/repl/src/tutorial/MiniRepl.jsx +++ b/repl/src/tutorial/MiniRepl.jsx @@ -1,5 +1,5 @@ import React, { useCallback, useMemo, useState } from 'react'; -import * as Tone from 'tone'; +import { Tone } from '@strudel/tone'; import useRepl from '@strudel/hooks/useRepl.mjs'; import CodeMirror, { markEvent } from '../CodeMirror'; import cx from '../cx';