Distributing the Plugin
Plugins can be distributed via Loupedeck Marketplace to all other users. A plugin can also be shared directly between users as a .lplug4 file.
Submitting a plugin to the Marketplace:
- Please ensure you have tested the plugin properly with the supported hardware and software.
- Ensure that the plugin icon is in the metadata/ -subfolder under the plugin folder.
- Pack the plugin to the .lplug4 file. The instructions can be found below.
- Deliver the plugin using the submission form at https://marketplace.logitech.com/contribute.
Packaging plugin to a .lplug4 file
A .lplug4 file is essentially a zip file with a specific format and a yaml-configuration file. To create and to validate the package, we recommend using the Loupedeck Plugin Tool, available at (https://developer.loupedeck.com).
.lplug4 packaging information:
- Please check that the metadata file matches the claimed operating system support.
- Loupedeck software includes a specific package installer that does all the needed work to install the plugin to the Loupedeck Plugin directory and run all needed installation methods. The input for Loupedeck Plugin Package Installer is a ZIP archive with a .lplug4 extension. To build it, use the Loupedeck Plugin Tool. With the Plugin Tool you can both package and validate the plugin.
- Recommended name for the .lplug4 package: pluginName_version.lplug4 example: SpotifyPremium_1_0.lplug4. ZIP archive must contain in the /metadata folder a LoupedeckPackage.yaml file with plugin manifest in YAML format.
loupedeckPackage.yaml structure:
metadata/loupedeckPackage.yaml -- Plugin manifest.
metadata/icon256x256.png -- Plugin icon. This filename is searched by default.
win/ -- Binaries for Windows version of plugin, add only if Windows is supported.
mac/ -- Binaries for Mac version of plugin, add only if Mac is supported.
-
The YAML and the icon file are searched from the metadata/ folder of the .lplug4 package
-
The YAML manifest has the following format (the user-modifiable fields are in <> brackets)
type: plugin4
name: <Name of the plugin>
displayName: <Display name of the plugin>
version: <version string>
author: <author id>
copyright: <copyright>
supportedDevices: <Note if you support only one , remove another>
- LoupedeckCt
- LoupedeckLive
pluginFileName: <Plugin file name>
pluginFolderWin: <Folder for Windows binaries, add only if Windows is supported>
pluginFolderMac: <Folder for Mac binaries, add only if Mac is supported>
Mandatory fields:
- type: use “plugin4” for plugins.
- name: This is the unique ID for the plugin and cannot be changed after it's published in the marketplace. The field is limited to Latin small and capital letters, digits, underscore, and dash (regex: "[a-zA-Z0-9_-]+"). Note! the name cannot contain "Plugin" at the end.
- displayName: Name that is shown in the Marketplace and Loupedeck software.
- version: is major.minor[.build] Every part must be a decimal number. Examples: "1.0", "1.0.0", If you're delivering an updated version of the plugin, please ensure the version number is increased accordingly.
- author: Name of the author that will be displayed in Marketplace.
- supportPageUrl: Could be an URL of a support page or a "mailto:" link of an email address. For example, GitHub issues can be used here for getting feedback on the plugin. Examples: https://support.loupedeck.com/f-a-q-support or mailto:foo@bar.com
- license: Select a license under which you want to share the plugin. Please ensure that the selected license is compatible with Loupedeck Software License Agreement. One compatible option with the Marketplace is the MIT license: The MIT License | Open Source Initiative. GPL licenses are not unfortunately compatible with our Marketplace.
- licenseUrl: URL to license.
Optional fields:
- copyright: Author copyright.
- supportedDevices: use “- LoupedeckCt” for Loupedeck CT (and/or) “- LoupedeckLive” for Loupedeck Live (and/or) "- RazerStreamControllerX" for Razer Stream Controller X. If you support only one, remove another.
- homePageUrl: A link to a webpage, which has more information about the plugin.
- icon256x256: optional custom path and name to an icon file in the package. By default, the icon is searched from the 'metadata/Icon256x256.png' file.
- minimumLoupedeckVersion: Minimum Loupedeck software version that is required to run the plugin. The version is major.minor[.build] Every part must be a decimal number. Examples: "4.0", "4.0.0".
Here is an example LoupedeckPackage.yaml file for Spotify Premium plugin, which supports both Windows and Mac:
type: plugin4
name: SpotifyPremium
displayName: Spotify Premium
version: 1.0
author: Loupedeck
copyright: Loupedeck
supportedDevices:
- LoupedeckCt
- LoupedeckLive
pluginFileName: SpotifyPremiumPlugin.dll
pluginFolderWin: bin/win/
pluginFolderMac: bin/mac/
license: MIT
licenseUrl: https://opensource.org/licenses/MIT
homePageUrl: https://loupedeck.com
supportPageUrl: https://support.loupedeck.com/f-a-q-support