Skip to content

Custom Reason control surface codecs for the Novation SL MkIII master keyboards

License

Notifications You must be signed in to change notification settings

zapperment/mkiii-custom-reason

Repository files navigation

mkiii-custom-reason

Custom Reason control surface codecs for the Novation SL MkIII master keyboards.

Prerequisites

To install the control surface, you need to install luabundler first. Refer to their documentation on how to do it.

Installation

Run the installer like so:

./install.sh

On Windows, use PowerShell:

./install.ps1

Development

Prerequisites

For development, make sure

  • you have the latest version of Node.js and Yarn installed
  • you have a Lua compiler, version 5.1.1 in your command line console's path (we use the old Lua version because that's what Reason uses, as well)

Debugging

You can install the codecs with a "debug" option:

yarn install:mac:debug

...or...

yarn install:win:debug

This adds an additional MIDI port to the MIDI controller setup in Reason. Assign a virtual port here. Then you can run the "log" script using Yarn, passing the name of the debug MIDI port as option:

yarn log "Bome MIDI Translator 5"

Note: Bome is a useful tool when you're using Windows to set up virtual ports. On Mac, it's easier, just use the app "Audio MIDI Setup" that comes with macOS.

When you have the debug port set up and the logger is running, you can add logging statements in the Lua code to print useful information:

local debugUtils = require("src.lib.debugUtils)
debugUtils.log("hello world")

The log statements are sent from Reason to the debug log script as MIDI system exclusive messages.

Testing

There are some suites of automated tests. Run them like so:

yarn test

Acknowledgements

  • Uses luaunit, BSD License, copyright (c) 2005-2018, Philippe Fremy
  • Uses luabundler, MIT License, copyright (c) 2020 Benjamin Dobell

About

Custom Reason control surface codecs for the Novation SL MkIII master keyboards

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published