@gui-chat-plugin/jinglescript
| Install | |
|---|---|
npm install @gui-chat-plugin/jinglescript |
|
| Latest Version: | 0.8.0 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 19, 2026 |
| Links: | GitHub · npm |
@gui-chat-plugin/jinglescript
A GUI Chat Protocol plugin for JingleScript. It offers
the same single tool as the MCP server, manageJingleScript (actions getGuide, getSchema,
listInstruments, getInstrument, checkScore, renderScore), and adds a player view: a
successful renderScore returns the jingle as data, and the view plays it with its waveform,
beat grid, named cues (click one to jump there) and a lane of notes per track; effects with a
length (risers, whooshes) show as bars. When the score has lyrics, the view shows them
karaoke-style: the line being played and the next, each syllable filling in as its note plays.
The audio and the music as MIDI (the library's scoreToMidi) can be downloaded from the view;
the data also carries the score that was rendered. Every other action answers the LLM in text and shows no card.
A score can also be passed as a file (path instead of score). The plugin reads it through the
host's files.byPath capability — the one presentDocument uses — so the host decides what a path
may reach and what a relative path is relative to. A host that does not provide files.byPath to
manageJingleScript gets an error asking for the score inline.
"@gui-chat-plugin/jinglescript"(main entry, Node):TOOL_DEFINITION,pluginCore(executerenders on the host's server). The audio is embedded as a data URI — MP3 when ffmpeg is on the server, otherwise 16-bit WAV — so no file serving is needed."@gui-chat-plugin/jinglescript/vue"(browser):pluginwithviewComponentandpreviewComponent. It does not load the library.
Adding it to MulmoTerminal
The library is a peer dependency (the host's server runs the tool), so a host installs both:
yarn add jinglescript @gui-chat-plugin/jinglescriptplugins/plugins.json: add"@gui-chat-plugin/jinglescript"topackages.src/plugins-registry.ts: importpluginfrom@gui-chat-plugin/jinglescript/vueand itsstyle.css?inline, and add aPACKAGESentry (viewOf(...), no runtime wrapper needed).common/toolGroups.ts: putmanageJingleScriptin themediagroup.- Rebuild the frontend (
yarn build) and restart MulmoTerminal (the server loads plugins at boot).
Development
yarn install
yarn typecheck # vue-tsc, against the library's source
yarn test # vitest, against the library's source
yarn build # dist/: index.js (Node), vue.js + style.css (browser)
yarn definition # regenerate src/definition.json from the library's zod schema
yarn demo-data && yarn demo # a page with the player for three examples
Related Packages
A simple yet powerful music player for VueJs inspired by xns-audio-player
Version History
| Version | Released | License |
|---|---|---|
| 0.8.0 | MIT | |
| 0.7.0 | MIT | |
| 0.6.0 | MIT | |
| 0.5.0 | MIT | |
| 0.4.0 | MIT | |
| 0.3.0 | MIT | |
| 0.2.0 | MIT | |
| 0.1.0 | MIT |
Pre-releases (1)
| Version | Released | License |
|---|---|---|
| 0.0.0-stage |