Skip to content

Provides a working gradle project config to use kotlin for creating bitwig controller extensions

Notifications You must be signed in to change notification settings

kaem-e/bitwig-kotlin-extension-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bitwig Controller Extension Template (Kotlin)

This is a barebones Kotlin-based Bitwig Studio controller extension project, translated from their own helper in Dashboard > Help > Documentation > New Project...

Changes

  • 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)

Use

[!TODO] Port to Cookiecutter template maybe,

  1. Clone/Fork the template

  2. Change the following

    • src/main/kotlin/:

      • Rename pluginhelperExtension.kt to {YourName}Extension.kt
      • Rename pluginhelperExtensionDefinition.kt to {YourName}ExtensionDefinition.kt
    • Update the class names inside those files:

      • Change class pluginhelperExtension to {YourName}Extension
      • Change class pluginhelperExtensionDefinition to {YourName}ExtensionDefinition
      • Make sure the string in .createFromDevice and .getName() also reflects the new name.
    • Update settings.gradle.kts:

      • Change rootProject.name = "pluginhelper" to rootProject.name = "{your-extension-name}"
    • Update build.gradle.kts:

      • Change archiveFileName.set("pluginhelper.bwextension") to archiveFileName.set("{yourname}.bwextension")
      • Optionally update attributes["Implementation-Title"] to match
    • If you’ve changed the package name (e.g. from com.kaem to something else):

      • Update the group = "com.kaem" line in build.gradle.kts
      • Move your .kt files to the matching directory path under src/main/kotlin/
      • Update the package declarations at the top of each file
  3. Run ./gradlew build to create a .bwextension and 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+

About

Provides a working gradle project config to use kotlin for creating bitwig controller extensions

Resources

Stars

Watchers

Forks

Languages