Skip to content

Commit 444d8a8

Browse files
committed
Fix audio context, update defaults
1 parent 74c28a8 commit 444d8a8

File tree

3 files changed

+32
-19
lines changed

3 files changed

+32
-19
lines changed

.firebase/hosting.YnVpbGQ.cache

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
asset-manifest.json,1541545393612,cc2495bd9283007a70c443e1e9ddaf878febea39fa2e39db32d5fac14a127e70
2+
precache-manifest.4b55c3c5c276d8c360009747cad0ce17.js,1541545393612,54c5aa4bdc7c4b2663842456c18daa7d65b718691819f8e3f5f29f093b5a2d55
3+
index.html,1541545393612,768b265ae3b608239142859b01909574a05fe61237a5d9a8898f1224a3489b62
4+
favicon.ico,1541545361978,b72f7455f00e4e58792d2bca892abb068e2213838c0316d6b7a0d6d16acd1955
5+
service-worker.js,1541545393612,39f18499f2861d6825acc0029fcc322e13843b4969f5e91738316a074e7fd2a4
6+
static/css/main.22dea08c.chunk.css,1541545393614,06b4d10489b45680166e90da20db532f22720bcf344972c094aa27531c0809ff
7+
static/js/main.3d745b47.chunk.js,1541545393615,77917c2c848d684c4c8c31a9185272eeea43af2f46fefd2a762b159364e730d7
8+
static/js/runtime~main.229c360f.js,1541545393616,dbe189fe130313d04dc42edcaa021db9317ce6d58c07ab66fe538fdfe41fe6d7
9+
static/css/main.22dea08c.chunk.css.map,1541545393616,a304e735a778eeec7f55ce35c5a0bf2b9e28a35bdd958c13cc0d1f04408e8aec
10+
static/js/runtime~main.229c360f.js.map,1541545393616,b2f1f5578e572791ed8967e3d0090b7eb2ec5f9d87d1bd433d4d7ffdb5d15f5e
11+
static/js/main.3d745b47.chunk.js.map,1541545393616,ea64fb1835027b42d8bde3a5f6cd6be268624b827bedb11093f195155ae30d61
12+
manifest.json,1541545361980,6aaf3d87dd9bb1e96f9c691c50d0ed378ed98a120a76dea78291281834cd36e9
13+
static/js/1.d01716fc.chunk.js,1541545393616,3064bfe0f828e084fa4fd815cc73e1c68cee79b552ab000fc1f5b30823e6f563
14+
static/js/1.d01716fc.chunk.js.map,1541545393616,463dd82e777352b477031f5ad60ac290f2e354f12d2109c779ec3c65bced3fb8

src/Sequencer.js

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,23 @@ import Synth from './Synth'
55

66
import NOTES from './notes'
77

8-
const getNotesForOctave = octave => {
9-
return Object.keys(NOTES).reduce((state, note) => {
10-
if (note.split('').pop() === Number(octave)) state[note] = NOTES[note]
8+
const getNotesForOctave = octave =>
9+
Object.keys(NOTES).reduce((state, note) => {
10+
if (note.split('').pop() === String(octave)) state[note] = NOTES[note]
1111
return state
1212
}, {})
13-
}
1413

1514
const defaultPads = [
16-
[1, 0, 0, 0, 0, 0, 0, 0],
17-
[0, 1, 0, 0, 0, 0, 0, 0],
18-
[1, 0, 0, 0, 0, 0, 0, 0],
19-
[0, 0, 0, 0, 1, 0, 0, 0],
20-
[1, 0, 0, 0, 0, 0, 0, 0],
21-
[0, 1, 0, 0, 0, 0, 0, 0],
15+
[0, 0, 0, 0, 0, 0, 0, 0],
16+
[0, 0, 0, 0, 0, 0, 1, 0],
17+
[0, 0, 0, 0, 0, 0, 0, 0],
2218
[0, 0, 0, 1, 0, 0, 0, 0],
23-
[0, 0, 0, 0, 0, 1, 0, 0]
19+
[0, 0, 0, 0, 0, 1, 0, 0],
20+
[0, 0, 0, 0, 0, 0, 0, 0],
21+
[0, 0, 1, 0, 0, 0, 0, 0],
22+
[0, 0, 0, 0, 0, 0, 1, 0]
2423
]
2524

26-
const synth = new Synth()
27-
2825
class Sequencer extends Component {
2926
state = {
3027
type: 'sine',
@@ -95,12 +92,14 @@ class Sequencer extends Component {
9592
}
9693

9794
play() {
95+
this.synth = new Synth()
96+
9897
const { bpm, notes, type, release, delay } = this.state
9998
const notesArray = Object.keys(notes).map(key => notes[key])
10099

101-
this.setState({
100+
this.setState(() => ({
102101
playing: true
103-
})
102+
}))
104103

105104
this.interval = setInterval(() => {
106105
this.setState(
@@ -112,7 +111,7 @@ class Sequencer extends Component {
112111
.map((pad, i) => (pad === 1 ? notesArray[i] : null))
113112
.filter(x => x)
114113

115-
synth.playNotes(next, {
114+
this.synth.playNotes(next, {
116115
release,
117116
bpm,
118117
type,
@@ -124,10 +123,10 @@ class Sequencer extends Component {
124123
}
125124

126125
pause() {
127-
this.setState({
126+
this.setState(() => ({
128127
playing: false,
129128
step: 0
130-
})
129+
}))
131130

132131
clearInterval(this.interval)
133132
}

src/Synth.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export default class Synth {
1111
osc.frequency.value = notes[0]
1212

1313
const delay = this.ctx.createDelay()
14-
delay.delayTime.value = state.delay ? state.bpm / 10 / 100 : 0
14+
delay.delayTime.value = state.delay ? state.bpm / 2000 : 0
1515

1616
// VCA
1717
const vca = this.ctx.createGain()

0 commit comments

Comments
 (0)