@grame/inscorejs
v1.2.0
Published
The INScore engine, that provides augmented, dynamic, interactive musical scores.
Downloads
4
Maintainers
Readme
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.
INScore engine version is 1.3.2
Content of the package
- INScoreJS.js: the INScore javascript library
- 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
Dependencies
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
guidolib
is also present). - libfaust: required to use
faust
objects.
All these libraries should automatically come with this package.
Examples
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.
Note
Drag and drop works with the javascript version in a similar way to the native version: you can drop an inscore file (or a script in textual form) to any inscore 'div'.
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.
Important notes
INScoreJS is still a project under development. The compatibility of the graphic rendering is not yet guaranteed for future versions. 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 <
. Unless the inscore div content is framed with a <pre> tag, comments should 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.
Compatibility
The engine has been tested on the following platforms and browsers:
| | Chrome | Firefox | Safari | Opera | Edge | Internet Explorer | |---------|---------|----------|---------|-------|------|-------------------| | MacOS | OK | OK | OK | OK | - | - | | Ubuntu | - | OK | - | - | - | - | | Windows | OK | OK | - | - | OK | unsupported | | Android | OK | OK | - | - | - | - |
INScore is a project developed by GRAME-CNCM Computer Research Lab.