-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Manifest
Igor edited this page Aug 12, 2024
·
2 revisions
In progress
Each extension must contain a manifest.json file. This is what is searched for to detect the extension and obtain information about it.
manifest.json
{
"uri": "musescore://extensions/colornotes",
"type": "macros",
"title": "Color Notes",
"description": "This plugin colors notes in the selection depending on their pitch as per the Boomwhackers convention",
"category": "color-notes",
"thumbnail": "color_notes.png",
"version": "3.5",
"vendor": "Muse"
"ui_context": "Any",
"apiversion": 1,
"main": "main.js"
}
- uri (required) - This is the extension identifier, used to call it. It must be unique and follow the pattern:
musescore://extensions/extensions_name
- type (required) - Type of extension
- macros - extension without user interface
- form - extension with user interface
- complex - extension consisting of several forms or forms and macros
- title (required) - Title of extension
- description (required) - Description of extension
- category (optional)- Category of extension
- thumbnail (optional) - Thumbnail of extension. PNG format is supported.
- version (optional) - Version of extension.
- vendor (optional) - About the author
- ui_context (optional) - The context in which the extension is available
- ProjectOpened (default) - Project (score) open
- Any - always available
- apiversion (optional)- required api version
- 1 - api of old plugins, deprecated, don't use this for new extensions
- 2 (default) - actual api
- main (required) - Main entry point, .js or .qml file
TODO
Testing
- Manual testing
- Automatic testing
Translation
Compilation
- Set up developer environment
- Install Qt and Qt Creator
- Get MuseScore's source code
- Install dependencies
- Compile on the command line
- Compile in Qt Creator
Beyond compiling
Misc. development
Architecture general
- Architecture overview
- AppShell
- Modularity
- Interact workflow
- Channels and Notifications
- Settings and Configuration
- Error handling
- Launcher and Interactive
- Keyboard Navigation
Audio
Engraving
- Style settings
- Working with style files
- Style parameter changes for 4.0
- Style parameter changes for 4.1
- Style parameter changes for 4.2
- Style parameter changes for 4.3
- Style parameter changes for 4.4
Extensions
- Extensions overview
- Manifest
- Forms
- Macros
- Api
- Legacy plugin API
Google Summer of Code
References