Main differences

The OSC protocol is not supported in the Web version. As a result, the mode of communication with the INScore engine is different (see section communication) and may also depend on the application that uses this engine.

By default:

  • the OSC output and error ports are redirected to the Javascript console.
  • drag & drop works like in the native version: you can drop files or text to an INScore scene (an HTML div in the Web version).

The log window (address /ITL/log) is dependent on the host application. By default, input messages addressed to the log node are directed to the Javascript console.

Optional components

As the architecture of the web version is completely modular, the available objects depend on the host application: e.g. a page which wants to use objects in symbolic notation (type gmn) will have to include the Guido library. This architecture allows applications to be optimized to fit their needs. It also facilitates the extension of the INScore engine. The table componentTbl presents the current supported components.

Component Name Dependent types
Guido Engine libGUIDOEngine.js gmn, gmnf, gmnstream,
pianoroll, pianorollf, pianorollstream
MusicXML library libmusicxml.js musicxml, musicxmlf
use of MusicXML implies to have also the Guido Engine
Faust compiler libfaust-wasm.js faust, faustf
FaustLibrary.js

Components required by specific objects

Using files in a script

You can use file based objects in an INScore script but the file path is interpreted differently:

  • when using an absolute path, it refers to the document root of the HTTP server,
  • when using a relative path, it refers to the location of the HTML page

Note: Browsers infer a MIME type from the file extension and generally, download any file which extension is not recognized (this behavior depends on the browser you are using). It is therefore recommended to use a .txt extension for any textual resource with non-standard extension. For example, a score.gmn file could be renamed and used as score.gmn.txt.