audiovisual
![npm status npm](https://nodei.co/npm/audiovisual.png)
An audio visualizer built using React.
CLI usage
- Install globally:
npm install -g audiovisual
- Start the server:
audiovisual [flags] [directory]
- You can specify a directory containing songs to serve.
- The first time you serve a folder (and any time you want to rescan for
updated songs), you'll need to use the
-s
flag.
- This will create a file named
.audiovisual.json
in the root of the
folder containing a list of all matched files. - The server parses media tags from
.{mp3,mp4,m4a}
files using
jsmediatags
- This might take a while, so please be patient!
- If you want to scan recursively into subdirectories, use the
-r
option.
- Check below for more options, including customizing file matching
expressions.
- Navigate to the site (localhost:10102 by default)
and enjoy your audiovisual experience!
CLI options
Usage: audiovisual [flags] [directory]
[directory]: Directory from which to serve audio files.
If omitted, no audio files will be served.
Flags:
-h=false Print this help message and exit.
-m=[.](mp3|wav|ogg)$ Regular expression to use to match scanned files.
--mflags=i Flags to use in regular expression matching.
-p=10102 Port on which to serve the site.
-s=false Scan the files directory for new files.
-r=false Whether to scan recursively for files.
-q=false Quiet mode; don't output anything to stdout.
Node.js API
- Install as dependency:
npm install audiovisual
- In your code:
const audiovisual = require('audiovisual');
const options = {};
const app = audiovisual(options);
Development
Several build-related scripts are included that can be run using
npm run <script>
:
doc
: generates HTML documentation and places it into doc
lint
: runs eslint on all source filesbuild
: builds the project and places the bundle into dist
dist
: same as above, excepts does production-level optimizationswatch
: watches for changes, automatically rebuilding when necessarylive
: starts a webpack-dev-server and enables hot module replacement.
Access the server at http://localhost:8080.