Igor null
74af1e3f3c
fixed a few problems with array miscalculations
...
- scratch buffer is half the required size
- index array was half the required size
- drawElements accepts number of vertices, not number of triangles
2017-03-05 16:17:49 +02:00
Igor null
fb87367c67
handle a few corner cases in renderDom
2017-02-12 13:58:37 +02:00
Igor null
cadf59b3f2
replaced html string templates with DOM templates
2017-02-12 13:30:57 +02:00
m1el
18856f5140
Merge pull request #7 from cvn/master
...
Reusable audio element, mono fix
2017-02-07 18:34:17 +00:00
Chad von Nau
34e4043791
Release 0.2.1
2017-02-06 21:37:41 -08:00
Chad von Nau
d5cac3966b
make lineSize configurable
2017-02-06 21:37:06 -08:00
Chad von Nau
dd62c8d911
refactor scriptProcessor path to avoid distortion
2017-02-06 15:12:48 -08:00
Chad von Nau
a704660de2
fix Firefox/Edge issue where mono files only played in left channel
2017-02-06 15:12:48 -08:00
Chad von Nau
133aaef0f6
demo: add workaround for desktop Safari losing sync
2017-02-04 17:38:47 -08:00
Chad von Nau
9582b83042
demo: live mode now toggles without reload
...
- add initWoscope function, from refactored window.onload
- add resetWoscope function, to destroy and recreate woscope using same audio element
2017-02-04 17:38:47 -08:00
Chad von Nau
518477f5f0
make sourceNode configurable (live mode)
...
- Chrome has no way to destroy MediaElementSourceNodes, and only allows one per audio element
- so if we want to to re-use an audio element, we must also pass a MediaElementSource node
- get from ctx.sourceNode
- use config.sourceNode to set
- also disconnect analyser/scriptProcessor nodes on destroy()
- also refactor gainWorkaround so gainNode goes after input node instead of before, easier to use
2017-02-04 17:38:47 -08:00
Chad von Nau
6a687f9d58
fix Edge bug, prevent error in destroy function
...
- Edge is missing WEBGL_lose_context - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10570688/
2017-02-04 16:59:13 -08:00
m1el
cf480e7769
Merge pull request #6 from cvn/master
...
Add live mode, controls for sweep, bloom, invert, swap and live mode.
2017-02-02 07:37:02 +00:00
Chad von Nau
0d7ddbde7d
Release 0.2.0
2017-02-01 23:23:55 -08:00
Chad von Nau
219fc0463e
update license
2017-02-01 23:22:32 -08:00
Chad von Nau
fdd9249c8b
set analyser fftSize explicitly
...
- using default value of 2048. it looks as good as 4096 (nSamples) and performs better
- also make analyser channel connection more explicit
2017-02-01 23:09:46 -08:00
Chad von Nau
7463c1927a
Safari createMediaElementSource volume workaround
2017-01-30 16:15:52 -08:00
Chad von Nau
3bdb8534ac
make live mode compatible with Safari
...
- use createScriptProcessor instead of createAnalyser because Safari does not support getFloatTimeDomainData, and emulating with getByteTimeDomainData gives low resolution results
2017-01-30 15:35:18 -08:00
Chad von Nau
b6c4a040ad
add live mode, visualize in real time without preloading file into buffer
2017-01-30 13:20:00 -08:00
Chad von Nau
cc274cafa5
add live option to demo page
...
- feature to be implemented in following commit
- allow volume to be 100% because it affects display size for live mode
2017-01-30 13:19:19 -08:00
Chad von Nau
6bce94b316
add destroy function, call it to clean up
2017-01-30 13:19:19 -08:00
Chad von Nau
f08fb0acde
update dependencies
...
- update budo
- fix page load flakiness from external devices
- fix "Possible EventEmitter memory leak detected" console error
- remove bannerify
- was generating banner incorrectly with new versions of node
- https://github.com/zemirco/bannerify/issues/2
- add browserify-banner
- replaces bannerify, works correctly for this project
2017-01-23 17:19:03 -08:00
Chad von Nau
80691b9b0f
add sweep mode, for more traditional oscilloscope display
...
- add vbo2, color2 for 2nd channel in sweep mode
2017-01-23 17:19:03 -08:00
Chad von Nau
73f817d107
refactor drawLine
2017-01-23 17:19:03 -08:00
Chad von Nau
c7e84aa164
fix exception with mono files by duplicating ch0 to ch1
...
- "Uncaught DOMException: Failed to execute 'getChannelData' on 'AudioBuffer': channel index (1) exceeds number of channels (1)"
- matches behavior of createMediaElementSource with mono files
- add audioData.sourceChannels for communicating that source is mono, even though the data becomes stereo
2017-01-23 17:19:03 -08:00
Chad von Nau
37154c5b90
ctx.swap parameter now works during playback
...
- refactor loadWaveAtPosition to use subarray
2017-01-23 17:19:03 -08:00
Chad von Nau
0f030f9ec3
make foreground color configurable
...
- fsLine.glsl: remove redundant "precision highp float;"
2017-01-23 17:19:03 -08:00
Chad von Nau
f113a692d2
make background color configurable
2017-01-23 17:19:03 -08:00
Chad von Nau
18b7e710b9
add options UI to demo (swap, invert, bloom)
2017-01-23 17:19:03 -08:00
Chad von Nau
5573461476
woscope returns context object
2017-01-23 17:19:03 -08:00
Chad von Nau
f80777c14e
make bloom accessible from config, rename doBloom to bloom
2017-01-23 17:19:03 -08:00
Chad von Nau
78fc1fee1f
send audio file errors to error callback
2017-01-23 17:19:03 -08:00
Chad von Nau
d9d99d80a4
don't throw web audio api error on load
...
- since errors stop execution in a js file, if woscope was concatenated with other files for deployment, it could break an app. this is fixed now.
- error on woscope invocation instead
- send web audio API errors to error callback
2017-01-23 17:19:03 -08:00
Chad von Nau
2f12aa3fb2
add error callback, refactor nogl error
2017-01-22 16:11:58 -08:00
Chad von Nau
16f934c0a0
Add support for Microsoft Edge
2017-01-11 23:44:30 -08:00
m1el
d08d661ba7
Merge pull request #5 from redFrik/patch-1
...
minor correction: should be myAudio.play()
2016-01-29 11:45:55 +02:00
redFrik
ed42f0205b
minor correction: should be myAudio.play()
2016-01-27 22:29:35 +01:00
Igor null
80f4a35998
do not use globals in woscope rendering #4
2015-11-18 02:48:24 +02:00
Igor null
f3aa0fe85e
scale progress bar according to the canvas size #3
2015-11-18 02:02:15 +02:00
Igor null
fd109b1b5d
converted for of loops to Array#forEach
2015-11-18 01:50:04 +02:00
m1el
af8b23143a
Merge pull request #2 from cvn/master
...
update woscope-music submodule
2015-11-13 06:27:13 +02:00
Chad von Nau
17d49abf78
update woscope-music submodule and readme
2015-11-12 19:16:05 -08:00
m1el
34ba4ef49b
Merge pull request #1 from cvn/master
...
Lots of stuff
2015-11-13 04:33:44 +02:00
Chad von Nau
9efdddef7e
Release 0.1.0
2015-11-12 18:15:20 -08:00
Chad von Nau
be118aa8ea
add travis config for continuous integration
2015-11-12 18:14:58 -08:00
Chad von Nau
401ac9f60d
integrate linting into build step
2015-11-12 18:14:58 -08:00
Chad von Nau
f47362c8d7
improvements from PR #1 feedback
2015-11-12 18:14:39 -08:00
Chad von Nau
6e8e49f494
update readme with exmaple and dev commands
2015-11-09 13:19:35 -08:00
Chad von Nau
7f419661f7
change parameter name: htmlAudio -> audio
2015-11-09 13:19:35 -08:00
Chad von Nau
cbd24eaa1a
support dynamic canvas size, demo supports iPhone
2015-11-09 05:33:48 -08:00