Welcome to INScoreJS
The INScoreJS library allows to embed the INScore engine services in a web page and to design augmented, dynamic and interactive musical scores that can be published on the Internet.
Content of the package
- libINScore.js .wasm: the INScore engine compiled as a web assembly library
- dev: intended to web developers who want to develop a custom application (see the dev/readme file)
- inscore.d.ts: a typescript interface for web development
- examples: contains examples of html pages
- fonts: contains fonts used by INScoreJS
The INScore package depends on several libraries, only necessary if you're using specific objects:
- guidolib: required for symbolic music notation and piano roll representation.
libmusicxml: required to import MusicXML files (assumes that the
guidolibis also present).
libfaust: required to use
To display any of the provided examples, you must first launch a web server from the root of this package. Python provides such services. Using python 3:
$ python -m http.server [optionnal port number (default is 8000)]
Http servers are also available from npm.
Once the server is running, you can redirect a browser to http://localhost:8000/examples and open any of the examples.
Designing a musical score
You can start from the template provided in the example folder.
INScoreJS do not support all the messages of the native version and provides specific messages. See the INScore Web documentation for more details.
INScoreJS is still a project under development. The compatibility of the graphic rendering is not yet guaranteed for future versions. In particular, improvements should be made for a rendering closer to the native version. If you develop your own pages, it is therefore recommended to save the libraries used for preservation reasons.
Note also that the content of an inscore div is interpreted by browsers as html code. Thus avoid using
< (opening tag character) and replace it with the textual form
<. Comments should also be expressed using the html form
<!-- commented section --> and not using inscore comments (#). This is valid for inline code only and does not apply to inscore files that you could drop on an inscore div.
INScoreJS is still in alpha version. The engine has been tested on the following platforms and browsers: