.txt files containing remote mapping info for Reason's Rack Extensions.
- createDevicesTypescript.ts => create a .ts file containing an object with all the parameters/device/developer names :)
- createRemoteMap.ts => create a .remotemap file containing all the stuffs :)
- tsUsage.ts => has a simple "send midi message for every single parameter" atm.
- i use sendmidi from gbevin: SendMIDI
- i also use LoopMIDI to provide virtual MIDI connection: LoopMIDI
Video showing what this does: https://youtu.be/ysccauTkKKs
sendMidi.ts contains a function "sendMIDI" which.. sends midi lol
The first value is the number of the remotable parameter, second value is the value to set the paramater to (1 to 127)
sendMIDI(10, 64)
The function calculates which Midi channel it's on :)
// if paramater number is 456
ccNumber = 456 % 127 // 75 on channel 4
channelNumber = 1 + (paramNum - ccNumber) / 127 // 4
- add some other cool stuff like
- presets?
- UI/application
- nodejs alternative code
- ..?
- some cleanup perhaps
- install Deno
- install Deno vscode extension
- download and install LoopMIDI
- download and add SendMIDI to your PATH.
- add/remove .txt files from each categories, so they reflect the devices you own.
- remove
ReasonDevices.ts
and re-build it by runningdeno run ./createDevicesTypescript.ts
- remove
MIDI Controller Multi.remotemap
and re-build it by runningdeno run ./createRemoteMap.ts
- place
MIDI Controller Multi.remotemap
inPropellerhead/Reason 12/Remote/DefaultMaps/Other
- remove
- start editing tsUsage.ts
// change this guy to whatever device you are working on, has auto-complete from the "database"
let currentDevice = Devices['se.propellerheads.Europa']
deviceParams.forEach((value, index) => {
// here we could filter parameters, we get auto-complete from typescript \o /
if (value === 'Osc1 Wave' || value === 'Filter Freq') {
// only randomize parameters that include "Osc1"
sendMIDI(index, getRandomValue(currentDevice.params[value]))
}
})