speaker-calibration 1.0.2
Install from the command line:
Learn more about npm packages
$ npm install @easyeyes/speaker-calibration@1.0.2
Install via package.json:
"@easyeyes/speaker-calibration": "1.0.2"
About this version
As of 03/01/2022
git clone https://github.com/EasyEyes/speaker-calibration.git
cd speaker-calibration
npm i
All outputs from the scripts/recipies below should be automatically placed in the /dist
directory.
This is what will be served once the library is published.
In /dist/example
you will find a small example app that uses the speaker-calibration
library.
In package.json
you will see some key scripts:
-
build:wasm
cleans and rebuilds the wasm files -
build:dev
tells webpack to build thespeaker-calibration
library in development watch mode, outputing to/dist
-
serve:dev
spins up anexpress.js
server on port3000
usingnodemon
. It serves the/dist
&/dist/example
folders. -
lint
runseslint
on all js files in the project -
lint:fix
lints and automatically fixes all js files in the project. -
build:doc
builds the documentation usingjsdoc
. Outputs to/doc
Run (1)
& (2)
in seperate shell windows, with this setup you will be able to modify both the
library and front end examples with hot reload built in. (3)
provides a simple abstraction on the
makefile
recipies below. Run (5)
precommit to keep you code standardized.
TODO Make (5)
a precommit hook
We are using Emscripten to compile the C++ code into a wasm file. Usage
requires the installation of the Emscriten compiler. Instructions can be found on their website. In
makefile
you will see a few recipies:
-
mlsGen_bind
compiles the cpp files to wasm, generating a modularized javascript "glue" file, using embind. This is the current build target -
mlsGen_module
compiles the cpp files to wasm, generating a modularized javascript "glue" file. -
mlsGen_wasm
compiles the cpp file to a stand-alone wasm without a javascript "clue" file. -
clean
cleans up and generated code -
rebuild
cleans and rebuilds the output. Run this after making changes to the cpp files.
We use jsdoc standards to document our library.
We use ESLint to lint our code and enforce best practices. We are currently using AirBnB's JavaScript Style Guide
We use Prettier to format our code.
Changes publshed to main
will automatically trigger a deploy on the netlify
project TODO: Fix
netlify deploy not serving the /dist & /example folders