Skip to content

Commit

Permalink
Update to musicxml-midi v2
Browse files Browse the repository at this point in the history
  • Loading branch information
infojunkie committed Jul 17, 2023
1 parent 03382ad commit df8f152
Show file tree
Hide file tree
Showing 5 changed files with 57 additions and 62 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ This component synchronizes rendering and playback of MusicXML documents. Render
The crucial part of this functionality is to synchronize the measures and beats in the MusicXML file with the events of the MIDI file. In a nutshell, the player expects the provider of the MIDI file (an implementation of `IMidiConverter`) to supply a "timemap", which associates each measure in the MusicXML file to a timestamp at which this measure occurs. In the case of repeats and jumps, the same measure will be referenced several times in the timemap.

There are 3 bundled implementations of `IMidiConverter` in this module:
- An API client that connects to the [`musicxml-mma`](https://github.com/infojunkie/musicxml-mma) server. `musicxml-mma` is a work-in-progress whose major contribution is to generate a MIDI accompaniment in addition to the music in the MusicXML score.
- An API client that connects to the [`musicxml-midi`](https://github.com/infojunkie/musicxml-midi) API server. `musicxml-midi` is a converter whose major contribution is to generate a MIDI accompaniment in addition to the music in the MusicXML score.
- [Verovio](https://github.com/rism-digital/verovio), that generates a faithful rendition of the MusicXML score.
- It is also possible to hand-craft the MIDI and timemap files, and instruct the player to read those explicitly.

Expand Down
10 changes: 5 additions & 5 deletions dist/musicxml-player.esm.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dist/musicxml-player.esm.js.map

Large diffs are not rendered by default.

99 changes: 47 additions & 52 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "musicxml-player",
"version": "0.12.1",
"version": "0.12.2",
"description": "A simple JavaScript component that loads and plays MusicXML files in the browser using Web Audio and Web MIDI.",
"main": "dist/musicxml-player.esm.js",
"type": "module",
Expand Down Expand Up @@ -38,7 +38,7 @@
"json-midi-message-encoder": "^4.1.18",
"local-web-server": "^5.3.0",
"mocha": "^10.2.0",
"musicxml-mma": "github:infojunkie/musicxml-mma",
"musicxml-midi": "github:infojunkie/musicxml-midi",
"nyc": "^15.1.0",
"prettier": "^2.7.1",
"rollup": "^3.5.0",
Expand All @@ -56,7 +56,7 @@
"build": "rollup --config ./rollup.config.mjs",
"build:lint": "eslint \"*/**/*.{ts,js,json}\" --fix",
"develop": "rollup --watch --config ./rollup.config.mjs",
"demo": "concurrently --kill-others \"PORT=3000 musicxml-mma\" \"npm run demo:develop\"",
"demo": "concurrently --kill-others \"PORT=3000 musicxml-midi\" \"npm run demo:develop\"",
"demo:develop": "ws -d demo --rewrite '/mma/(.*) -> http://localhost:3000/$1' -p ${PORT:-8080}",
"demo:server": "ws -d demo -p 8082 -z --log.format combined",
"prepublishOnly": "npm run build:lint && npm run test && npm run build",
Expand Down

0 comments on commit df8f152

Please sign in to comment.