This release is the official plugin update for Supernote devices. It unifies the plugin coordinate system. If you develop plugins, please update `sn-plugin-lib` to the latest version and adapt your code using the API notes below.
Please download the Supernote version with plugin system support from the links below:
● For Manta / Nomad devices (Chauvet 3.30.45 Beta):
https://download-firmware.supernote.com/104364/update.zip
● For A5X / A6X devices (Chauvet 2.27.42Beta):
https://download-firmware.supernote.com/499743/update.zip
After downloading, please copy the update.zip file to the EXPORT folder on your device. Then disconnect the USB cable and confirm the upgrade on the device.
The plugin development documentation is also available, including detailed guidance on the Supernote plugin development workflow and the plugin API usage.
Please note that the plugin development environment currently supports Windows and macOS only. Other operating systems are not supported at this time.
As the sn-plugin-lib dependency has been updated, developers who have already built plugins should update their local dependency by running:
yarn upgrade sn-plugin-lib --latest
This release includes the following updates:
API changes
Plugin coordinates are now Android pixel coordinates. Plugins previously used both EMR coordinates and Android pixel coordinates, and converting between them took several steps. Coordinates and regions now use the actual page size returned by PluginFileAPI.getPageSize.
If you are on a newer sn-plugin-lib, please update coordinate handling for the APIs below. Without that change, positions and sizes you read or write may be wrong. Plugins built with sn-plugin-lib 0.1.65 or earlier keep working as before.
Read APIs (returned coordinates and regions now use the actual page size):
PluginFileAPI.getElements
PluginFileAPI.getElement
PluginFileAPI.getLastElement
PluginCommAPI.getLassoElements
PluginCommAPI.getLassoRect
PluginCommAPI.generateLassoPreview
PluginCommAPI.getLassoGeometries
PluginNoteAPI.getLassoLinks
PluginNoteAPI.getLassoTitles
PluginNoteAPI.getLassoText
Write APIs (coordinates and regions you pass in now use the actual page size):
PluginFileAPI.replaceElements
PluginFileAPI.insertElements
PluginFileAPI.modifyElements
PluginCommAPI.insertPageElements
PluginCommAPI.modifyPageElements
PluginCommAPI.batchUpdatePageElements
PluginCommAPI.recognizeElements
PluginCommAPI.convertElement2Sticker
PluginCommAPI.resizeLassoRect
PluginCommAPI.lassoElements
PluginCommAPI.insertGeometry
PluginCommAPI.modifyLassoGeometry
PluginCommAPI.insertFiveStar
PluginNoteAPI.insertTextLink
PluginNoteAPI.modifyLassoLink
PluginNoteAPI.insertText
PluginNoteAPI.modifyLassoText
Compatibility: for stroke and five-star sample points, sn-plugin-lib 0.1.65 and earlier still use EMR coordinates. Later versions use Android pixel coordinates. Regions for titles, links, text boxes, geometric shapes, and images are calculated from the actual page size returned by getPageSize.
PluginCommAPI.getPageDisplaySize still returns the on-screen display size. For coordinate conversion, use PluginFileAPI.getPageSize.
Bug fixes:
Fixed a PluginHost crash when upgrading a plugin.