{"_id":"@eduardoluizdev/wavesurfer.js","_rev":"1-69f9aa9a8772fe39fc0f2a6d91f408e8","name":"@eduardoluizdev/wavesurfer.js","dist-tags":{"latest":"5.2.0"},"versions":{"5.2.0":{"name":"@eduardoluizdev/wavesurfer.js","version":"5.2.0","description":"Interactive navigable audio visualization using Web Audio and Canvas","main":"dist/wavesurfer.js","directories":{"example":"example"},"scripts":{"start":"npm run build:plugins && npm run build:htmlinit && webpack serve --config ./build-config/webpack.dev.main.js","start:htmlinit":"npm run build:main && npm run build:plugins && webpack serve --config ./build-config/webpack.dev.htmlinit.js","start:plugins":"npm run build:main && npm run build:htmlinit && webpack serve --config ./build-config/webpack.dev.plugins.js","build":"npm run build:normal && npm run build:minified","build:main":"webpack --config ./build-config/webpack.prod.main.js","build:main:min":"webpack --config ./build-config/webpack.prod.main.min.js","build:plugins":"webpack --config ./build-config/webpack.prod.plugins.js","build:plugins:min":"webpack --config ./build-config/webpack.prod.plugins.min.js","build:htmlinit":"webpack --config ./build-config/webpack.prod.htmlinit.js","build:htmlinit:min":"webpack --config ./build-config/webpack.prod.htmlinit.min.js","build:normal":"npm run build:main && npm run build:plugins && npm run build:htmlinit","build:minified":"npm run build:main:min && npm run build:plugins:min && npm run build:htmlinit:min","lint":"npm run lint:js && npm run lint:html","lint:js":"eslint src example spec","lint:html":"htmlhint example","lint-js-html":"lint-staged","doc":"esdoc","test":"karma start karma.conf.js","test:chrome":"karma start karma.conf.js --browsers=Chrome --single-run=false","prepublishOnly":"not-in-install && npm run build || in-install","prepare":"npm run build"},"repository":{"type":"git","url":"git://github.com/eduardoluizdev/wavesurfer.js.git"},"publishConfig":{"registry":"https://registry.npmjs.org"},"author":"","license":"BSD-3-Clause","bugs":{"url":"https://github.com/katspaugh/wavesurfer.js/issues"},"keywords":["waveform","audio","music","player","webaudio","microphone","visualization"],"devDependencies":{"@babel/core":"^7.15.0","@babel/preset-env":"^7.15.0","@babel/register":"^7.15.3","@chiragrupani/karma-chromium-edge-launcher":"^2.1.1","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","babel-plugin-add-module-exports":"^1.0.4","babel-plugin-istanbul":"^6.0.0","babel-plugin-proxy":"^1.1.0","babel-plugin-transform-class-properties":"^6.24.1","date-fns":"^2.23.0","debounce":"^1.2.1","esdoc":"^1.1.0","esdoc-accessor-plugin":"^1.0.0","esdoc-brand-plugin":"^1.0.1","esdoc-coverage-plugin":"^1.1.0","esdoc-ecmascript-proposal-plugin":"^1.0.0","esdoc-integrate-test-plugin":"^1.0.0","esdoc-standard-plugin":"^1.0.0","eslint":"^7.32.0","htmlhint":"^0.15.1","in-publish":"^2.0.1","jasmine-core":"^3.9.0","karma":"^6.3.4","karma-chrome-launcher":"3.1.0","karma-coverage":"^2.0.3","karma-firefox-launcher":"^2.1.1","karma-jasmine":"4.0.1","karma-jasmine-matchers":"4.0.2","karma-verbose-reporter":"0.0.6","karma-webpack":"^5.0.0","lint-staged":"^11.1.2","load-script":"^1.0.0","pre-commit":"^1.2.2","webpack":"^5.51.1","webpack-cli":"^4.8.0","webpack-dev-server":"^4.0.0","webpack-merge":"^5.8.0"},"homepage":"https://wavesurfer-js.org","pre-commit":"lint-js-html","lint-staged":{"*.js":["eslint"],"*.html":["htmlhint"]},"gitHead":"c907f76781e05dac1a69843412b117b95cea9e7c","_id":"@eduardoluizdev/wavesurfer.js@5.2.0","_nodeVersion":"14.17.5","_npmVersion":"6.14.14","dist":{"integrity":"sha512-m1qdXrQKwwSzhgbjBEW9lc4I3ob6o4Bztn9Ox3zkni2xi/rkK8Vja9Vhnq9UFsoCz2wN0xj/NXpon0MiAaOr1Q==","shasum":"9c6a2160075a7f38d5a5485d53049fdba6e228da","tarball":"https://registry.npmjs.org/@eduardoluizdev/wavesurfer.js/-/wavesurfer.js-5.2.0.tgz","fileCount":87,"unpackedSize":1998228,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhJ+o5CRA9TVsSAnZWagAAGvgP/1qRQxw7OYLYZTTtb0Aj\nqabnPITY+7p5YrQlPv+kiIUJtLfX8dopI0fwtvxnhe0NCOO8We80w9zYJ5LP\nX+jynEV7M/sMMZTll4F+nGJ5cYpcyGU4G8dOzrdae2PeOwLdb6iQ/ntK84jZ\nSlwlx0SceJD5CFqTmwDu9tnbrlZPdAX3i7pzKjCnwAc5X/SRwlc+ZIOuNQtx\nLzgfoihrl4W8QnG2z9T5DlJMoFM00aExtUDIM+Vnk8TmF5DdAVDOnckZiL0V\n3GQBjbfrSwLyKrMSW2B7hmj10QXA/8zh42Zj6hqljcaHG0tVrTRwrnW7sw6m\nb66L8TO1acfXUodWaDTqH5pjvKBSC3hT2iauX4//cvmLAYu0XgvJEXkvv1bg\nii3tXUTWUWDnKCXxQDsYC1zSywmCmKCZK+I9/UL/qaIORZbiPPbue+WDlnrv\n5CyXWgtqI44S66gArCBqaTO7fLOQHToBGxF5QUEtpB89Hgc3mrg3mW+b1Dcp\nRUz3NJ71fDiURab3ICZBIg7Lz2stabsbcyU4tRl/VB1lRrPukD8xiaZD+M8I\ne7lSmoqk7S6Tlk8wfh6zxx7IMgfvk5kNVRUVSIcT6oxeBCM7dIi6D4bgWUE/\nGyc6pob9SPz8e+vJC5ZpdBQsD7xcZZU2UzNPxKw4mK1s1/v96UJ2/zUdYQE+\nKjfF\r\n=HdnY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnVM2R5drOyHAGTl1uHYRUSqYVDZJzkEBFzdZ5R+Ga3wIgM5CdPT1NWy9GCn7OJHG3nX9E6EROewrsc2ngwGdMa6w="}]},"_npmUser":{"name":"eduardoluizdevperson","email":"hello@eduardoluiz.dev"},"maintainers":[{"name":"eduardoluizdevperson","email":"hello@eduardoluiz.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wavesurfer.js_5.2.0_1630005817242_0.18025131571608743"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-26T19:23:37.171Z","5.2.0":"2021-08-26T19:23:37.417Z","modified":"2022-04-05T06:43:50.387Z"},"maintainers":[{"name":"eduardoluizdevperson","email":"hello@eduardoluiz.dev"}],"description":"Interactive navigable audio visualization using Web Audio and Canvas","homepage":"https://wavesurfer-js.org","keywords":["waveform","audio","music","player","webaudio","microphone","visualization"],"repository":{"type":"git","url":"git://github.com/eduardoluizdev/wavesurfer.js.git"},"bugs":{"url":"https://github.com/katspaugh/wavesurfer.js/issues"},"license":"BSD-3-Clause","readme":"# [wavesurfer.js](https://wavesurfer-js.org)\n\n[![npm version](https://img.shields.io/npm/v/wavesurfer.js.svg?style=flat)](https://www.npmjs.com/package/wavesurfer.js)\n![npm](https://img.shields.io/npm/dm/wavesurfer.js.svg) [![Join the chat at https://gitter.im/katspaugh/wavesurfer.js](https://badges.gitter.im/katspaugh/wavesurfer.js.svg)](https://gitter.im/katspaugh/wavesurfer.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\nInteractive navigable audio visualization using Web Audio and Canvas.\n\n[![Screenshot](https://raw.githubusercontent.com/katspaugh/wavesurfer.js/gh-pages/example/screenshot.png \"Screenshot\")](https://wavesurfer-js.org)\n\nSee a [tutorial](https://wavesurfer-js.org/docs) and [examples](https://wavesurfer-js.org/examples) on [wavesurfer-js.org](https://wavesurfer-js.org).\n\n## Browser support\nwavesurfer.js works only in [modern browsers supporting Web Audio](http://caniuse.com/audio-api).\n\nIt will fallback to Audio Element without graphics in other browsers (IE 11 and lower). You can also try [wavesurfer.swf](https://github.com/laurentvd/wavesurfer.swf) which is a Flash-based fallback.\n\n## FAQ\n### Can the audio start playing before the waveform is drawn?\nYes, if you use the `backend: 'MediaElement'` option. See here: https://wavesurfer-js.org/example/audio-element/. The audio will start playing as you press play. A thin line will be displayed until the whole audio file is downloaded and decoded to draw the waveform.\n\n### Can drawing be done as file loads?\nNo. Web Audio needs the whole file to decode it in the browser. You can however load pre-decoded waveform data to draw the waveform immediately. See here: https://wavesurfer-js.org/example/audio-element/ (the \"Pre-recoded Peaks\" section).\n\n## API in examples\n\nChoose a container:\n```html\n<div id=\"waveform\"></div>\n```\nCreate an instance, passing the container selector and [options](https://wavesurfer-js.org/docs/options.html):\n\n```javascript\nvar wavesurfer = WaveSurfer.create({\n    container: '#waveform',\n    waveColor: 'violet',\n    progressColor: 'purple'\n});\n```\n\nSubscribe to some [events](https://wavesurfer-js.org/docs/events.html):\n\n```javascript\nwavesurfer.on('ready', function () {\n    wavesurfer.play();\n});\n```\n\nLoad an audio file from a URL:\n\n```javascript\nwavesurfer.load('example/media/demo.wav');\n```\n\n## Documentation\n\nSee the documentation on all available [methods](https://wavesurfer-js.org/docs/methods.html), [options](https://wavesurfer-js.org/docs/options.html) and [events](https://wavesurfer-js.org/docs/events.html) on the [homepage](https://wavesurfer-js.org/docs/).\n\n## Upgrade\n\nSee the [upgrade](https://github.com/katspaugh/wavesurfer.js/blob/master/UPGRADE.md) document if you're upgrading from a previous version of wavesurfer.js.\n\n## Using with a module bundler\n\nInstall Wavesurfer:\n```bash\nnpm install wavesurfer.js --save\n# or\nyarn add wavesurfer.js\n```\n\nUse it with a module system like this:\n```javascript\n// import\nimport WaveSurfer from 'wavesurfer.js';\n\n// commonjs/requirejs\nvar WaveSurfer = require('wavesurfer.js');\n\n// amd\ndefine(['WaveSurfer'], function(WaveSurfer) {\n  // ... code\n});\n\n```\n\n## Related projects\n\nFor a list of  projects using wavesurfer.js, check out\n[the projects page](https://wavesurfer-js.org/projects/).\n\n## Development\n\n[![Build Status](https://github.com/katspaugh/wavesurfer.js/workflows/wavesurfer.js/badge.svg?branch=master)](https://github.com/katspaugh/wavesurfer.js/actions?workflow=wavesurfer.js)\n[![Coverage Status](https://coveralls.io/repos/github/katspaugh/wavesurfer.js/badge.svg)](https://coveralls.io/github/katspaugh/wavesurfer.js)\n![Size](https://img.shields.io/bundlephobia/minzip/wavesurfer.js.svg?style=flat)\n\nInstall development dependencies:\n\n```\nnpm install\n```\nDevelopment tasks automatically rebuild certain parts of the library when files are changed (`start` – wavesurfer, `start:plugins` – plugins). Start a dev task and go to `localhost:8080/example/` to test the current build.\n\nStart development server for core library:\n\n```\nnpm run start\n```\n\nStart development server for plugins:\n\n```\nnpm run start:plugins\n```\n\nBuild all the files. (generated files are placed in the `dist` directory.)\n\n```\nnpm run build\n```\n\nRunning tests only:\n\n```\nnpm run test\n```\n\nBuild documentation with esdoc (generated files are placed in the `doc` directory.)\n```\nnpm run doc\n```\n\nIf you want to use [the VS Code - Debugger for Chrome](https://github.com/Microsoft/vscode-chrome-debug), there is already a [launch.json](.vscode/launch.json) with a properly configured ``sourceMapPathOverrides`` for you.\n\n## Editing documentation\nThe homepage and documentation files are maintained in the [`gh-pages` branch](https://github.com/katspaugh/wavesurfer.js/tree/gh-pages). Contributions to the documentation are especially welcome.\n\n## Updating the NPM package\nWhen preparing a new release, update the version in the `package.json` and have it merged to master. The new version of the package will be published to NPM automatically via GitHub Actions.\n\n## Credits\n\nThe main maintainer: <img src=\"https://avatars.githubusercontent.com/u/305679\" width=\"16\" height=\"16\" /> [Thijs Triemstra](https://github.com/thijstriemstra)\n\nMany thanks to [all the awesome contributors](https://github.com/katspaugh/wavesurfer.js/contributors)!\n\n## License\n\n[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\nThis work is licensed under a\n[BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause).\n","readmeFilename":"README.md"}