Skip to content

Commit

Permalink
Removes effectfulness from makeFloatArray
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Solomon committed May 4, 2022
1 parent 5b10e35 commit 3fb1a1b
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 12 deletions.
6 changes: 2 additions & 4 deletions examples/docs/AudioUnits/WaveShaper.purs
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,8 @@ waveShaperEx ccb _ ev = px ~~
n_samples = 44100
deg = pi / 180.0
wicked <- makeFloatArray (makeDistortionCurve 400.0)
run2_
[ waveShaper wicked [ loopBuf buf bangOn ] ]"""
[ waveShaper (makeFloatArray (makeDistortionCurve 400.0)) [ loopBuf buf bangOn ] ]"""
)
, waveShaper: nut
( audioWrapper ev ccb (\ctx -> decodeAudioDataFromUri ctx "https://freesound.org/data/previews/339/339822_5121236-lq.mp3")
Expand All @@ -73,8 +72,7 @@ waveShaperEx ccb _ ev = px ~~
n_samples = 44100

deg = pi / 180.0
wicked <- makeFloatArray (makeDistortionCurve 400.0)
run2 ctx
[waveShaper wicked [loopBuf buf bangOn]]
[waveShaper (makeFloatArray (makeDistortionCurve 400.0)) [loopBuf buf bangOn]]
)
}
12 changes: 5 additions & 7 deletions src/WAGS/Interpret.js
Original file line number Diff line number Diff line change
Expand Up @@ -1376,13 +1376,11 @@ var setOff_ = function (ptr) {
///////////
// various and sundry... mostly sundry... //
export function makeFloatArray(fa) {
return function () {
var r = new Float32Array(fa.length);
for (var i = 0; i < fa.length; i++) {
r[i] = fa[i];
}
return r;
};
var r = new Float32Array(fa.length);
for (var i = 0; i < fa.length; i++) {
r[i] = fa[i];
}
return r;
}

export function stopMediaRecorder(mediaRecorder) {
Expand Down
2 changes: 1 addition & 1 deletion src/WAGS/Interpret.purs
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ foreign import makeAudioBuffer
:: WebAPI.AudioContext -> AudioBuffer -> Effect WebAPI.BrowserAudioBuffer

-- | Make a float 32 array. Useful when creating a waveshaper node.
foreign import makeFloatArray :: Array Number -> Effect WebAPI.BrowserFloatArray
foreign import makeFloatArray :: Array Number -> WebAPI.BrowserFloatArray

-- | Make a new audio context.
foreign import context_ :: Effect WebAPI.AudioContext
Expand Down

0 comments on commit 3fb1a1b

Please sign in to comment.