This is a barebones Kotlin-based Bitwig Studio controller extension project, translated from their own helper in Dashboard > Help > Documentation > New Project...
- Use kotlin + gradle instead of java + maven
- Kotlin stdlib bundling (bitwig requires this idk)
- Auto-copy to Bitwig Extensions folder after build in gradle build task (platform agnostic hopefully)
[!TODO] Port to Cookiecutter template maybe,
-
Clone/Fork the template
-
Change the following
-
src/main/kotlin/:- Rename
pluginhelperExtension.ktto{YourName}Extension.kt - Rename
pluginhelperExtensionDefinition.ktto{YourName}ExtensionDefinition.kt
- Rename
-
Update the class names inside those files:
- Change
class pluginhelperExtensionto{YourName}Extension - Change
class pluginhelperExtensionDefinitionto{YourName}ExtensionDefinition - Make sure the string in
.createFromDeviceand.getName()also reflects the new name.
- Change
-
Update
settings.gradle.kts:- Change
rootProject.name = "pluginhelper"torootProject.name = "{your-extension-name}"
- Change
-
Update
build.gradle.kts:- Change
archiveFileName.set("pluginhelper.bwextension")toarchiveFileName.set("{yourname}.bwextension") - Optionally update
attributes["Implementation-Title"]to match
- Change
-
If you’ve changed the package name (e.g. from
com.kaemto something else):- Update the
group = "com.kaem"line inbuild.gradle.kts - Move your
.ktfiles to the matching directory path undersrc/main/kotlin/ - Update the
packagedeclarations at the top of each file
- Update the
-
-
Run
./gradlew buildto create a.bwextensionand automatically copy it to Bitwig's Extensions directory (the original will also be located under./build/libs/*.bwextension)
Requires JDK 17 and Bitwig Studio 5.0+