/abcjs-vscode

ABC music notation editor for VS Code

Primary LanguageTypeScriptOtherNOASSERTION

abcjs-vscode

This is an editor for the ABC music notation, powered by the abcjs library.

It is an extension for Visual Studio Code and is available at Visual Studio Marketplace or through the Extensions panel in VS Code.

ABC notation - 🔤 - is known as the "Markdown for music". Learn more at the ABC Notation homepage.

Features

The extension displays the music sheet based on the Abc notation in the current editor. Clicking the note on the displayed sheet will select it in the editor.

Minimalistic tune

Screenshot 1

And a bit more elaborate:

Screenshot 2

Print Preview

This command will display a print-ready sheet in a browser. There you can print it to PDF or paper.

Print Preview

Export

The Export command will export an HTML page with the rendered score sheet.

The Export SVG command will export the score sheet as SVG.

Usage

Press Ctrl+Shift+P and type "abcjs" to access the available commands.

Available commands:

  • abcjs-vscode: Show Preview
  • abcjs-vscode: Print Preview
  • abcjs-vscode: Export Sheet to HTML
  • abcjs-vscode: Export Sheet as SVG

The Viewer works both with new text files in the editor and existing .abc files.

Requirements

The abcjs library is currently loaded from CDN and not packaged with the extension.

Extension Settings

In VSCode Settings, look for abcjs vscode configuration section. Editing the settings will apply them immediately to the Viewer. For convenience, you can arrange the window layout and keep the Settings window open in order to apply the settings to the current sheet preview.

Known Issues

The line-endings in the file need to be set to LF instead of CRLF (on Windows). Then the offsets will match between the sheet and the abc code.

Release Notes

See CHANGELOG.org.


Development

The package manager is npm.

Publishing

npm run deploy

Note that the vscode engine version must start with a cared (^), otherwise it gets rejected by vscode on installation most of the time.

License

See license.

References