Novation Launchpad Mini MK3 Codec / Map

Want to talk about music hardware or software that doesn't include Reason?
User avatar
me-yourself-and-them
Posts: 37
Joined: 09 Jan 2022

Post 28 Jul 2022

Hi guys,

my old novation launchpad mini MK2 is working quite well with the stone age codec/map from https://tonalaxis.wordpress.com/2014/10 ... -and-maps/

now i got a MK3. i can't find no codec/map. any one of you got some?
or do i have to use novation components software?
i did edit reason codecs and maps before...but think it to be quite challenging...

rmtcvolte
Posts: 159
Joined: 15 Nov 2018

Post 29 Jul 2022

me-yourself-and-them wrote:
28 Jul 2022
Hi guys,

my old novation launchpad mini MK2 is working quite well with the stone age codec/map from https://tonalaxis.wordpress.com/2014/10 ... -and-maps/

now i got a MK3. i can't find no codec/map. any one of you got some?
or do i have to use novation components software?
i did edit reason codecs and maps before...but think it to be quite challenging...
Have you searched for a programmers guide for the LP mini? I do have the LP X and this guide was verry helpful to script my own codec. Novation components is useful to install the latest firmware and I would recommend to do so.

User avatar
me-yourself-and-them
Posts: 37
Joined: 09 Jan 2022

Post 31 Jul 2022

just realised: the launchpad mini MK2 IS able to remote midi:
play
stop
go to left marker
go to right marker
but how do you teach reason to IN BEAT go to block 1 2 etc?

rmtcvolte
Posts: 159
Joined: 15 Nov 2018

Post 31 Jul 2022

me-yourself-and-them wrote:
31 Jul 2022
just realised: the launchpad mini MK2 IS able to remote midi:
play
stop
go to left marker
go to right marker
but how do you teach reason to IN BEAT go to block 1 2 etc?
There are several "Remotable Items" related to loops.

Code: Select all

Loop On/Off	0	1	Toggle	ValueOutput
Left Loop	0	2147483646	Value	ValueOutput
Left Loop Bar	0	0	Delta	TextOutput
Left Loop Beat	0	0	Delta	TextOutput
Left Loop 16th	0	0	Delta	TextOutput
Left Loop Tick	0	0	Delta	TextOutput
Left Loop Subticks	0	1	-	ValueOutput
Clear Left Loop Subticks	0	1	Trig	ValueOutput
Right Loop	0	2147483646	Value	ValueOutput
Right Loop Bar	0	0	Delta	TextOutput
Right Loop Beat	0	0	Delta	TextOutput
Right Loop 16th	0	0	Delta	TextOutput
Right Loop Tick	0	0	Delta	TextOutput
Right Loop Subticks	0	1	-	ValueOutput
Clear Right Loop Subticks	0	1	Trig	ValueOutput
Move Loop Left	0	1	Trig	ValueOutput
Move Loop Right	0	1	Trig	ValueOutput
Move Loop One bar Left	0	1	Trig	ValueOutput
Move Loop One bar Right	0	1	Trig	ValueOutput
Song Position	0	2147483646	Value	ValueOutput
Bar Position	0	0	Delta	TextOutput
Bar Position Up	0	0	Trig	TextOutput
Bar Position Down	0	0	Trig	TextOutput
Beat Position	0	0	Delta	TextOutput
Sixteenth Position	0	0	Delta	TextOutput
Tick Position	0	0	Delta	TextOutput
Subticks	0	1	-	ValueOutput
Clear Subticks	0	1	Trig	ValueOutput
and the ones you mentioned

Code: Select all

Goto Left Locator	0	0	Trig	TextOutput
Goto Right Locator	0	0	Trig	TextOutput
In "Switch Blocks by Midi Controller" I tried to describe the behavior of the Nektar P4, which is a little different from the the other controllers from Nektar I think. I have some ideas how to script it, but no sparetime at the moment to try it out.

User avatar
me-yourself-and-them
Posts: 37
Joined: 09 Jan 2022

Post 08 Aug 2022

working on a new codec for Launchpad Mini MK3 now. tough work...

User avatar
me-yourself-and-them
Posts: 37
Joined: 09 Jan 2022

Post 08 Aug 2022

a few hours later. i can turn a pad light on on my LPminiMK3. i can turn it off.
midi code decimal 90 24 64 for on and 80 24 40 for off, checked in midiox.
i tried to modifiy the luacodec:
the relevant port should be the local outputs, not the inputs. right?

tried to change the first button:
{name = "Button 8-1", pattern = "90 24 64 ", x = "enabled*value*1+56"},
{name = "Button 8-2", pattern = "90 71 xx", x = "enabled*value*1+56"},

restarted reason. no change.
the inputs look fine i can play kong with it.
what am i doing wrong with the return midi?

luacodec:
g_bars_display_index = -1
g_current_bar = -1
g_delivered_bar = -1

function remote_init()
init_items()
init_inputs()
init_outputs()
end

function init_items()

local items = {
{name = "Keyboard", input = "keyboard"},
{name = "Button 1-1", input = "noinput", output="value", min=0, max=1},
{name = "Button 1-2", input = "button", output="value"},
{name = "Button 1-3", input = "button", output="value"},
{name = "Button 1-4", input = "button", output="value"},
{name = "Button 1-5", input = "button", output="value"},
{name = "Button 1-6", input = "button", output="value"},
{name = "Button 1-7", input = "button", output="value"},
{name = "Button 1-8", input = "button", output="value"},

{name = "Button 2-1", input = "button", output="value"},
{name = "Button 2-2", input = "button", output="value"},
{name = "Button 2-3", input = "button", output="value"},
{name = "Button 2-4", input = "button", output="value"},
{name = "Button 2-5", input = "button", output="value"},
{name = "Button 2-6", input = "button", output="value"},
{name = "Button 2-7", input = "button", output="value"},
{name = "Button 2-8", input = "button", output="value"},

{name = "Button 3-1", input = "button", output="value"},
{name = "Button 3-2", input = "button", output="value"},
{name = "Button 3-3", input = "button", output="value"},
{name = "Button 3-4", input = "button", output="value"},
{name = "Button 3-5", input = "button", output="value"},
{name = "Button 3-6", input = "button", output="value"},
{name = "Button 3-7", input = "button", output="value"},
{name = "Button 3-8", input = "button", output="value"},

{name = "Button 4-1", input = "button", output="value"},
{name = "Button 4-2", input = "button", output="value"},
{name = "Button 4-3", input = "button", output="value"},
{name = "Button 4-4", input = "button", output="value"},
{name = "Button 4-5", input = "button", output="value"},
{name = "Button 4-6", input = "button", output="value"},
{name = "Button 4-7", input = "button", output="value"},
{name = "Button 4-8", input = "button", output="value"},

{name = "Button 5-1", input = "noinput", output="value", min=0, max=1},
{name = "Button 5-2", input = "noinput", output="value", min=0, max=1},
{name = "Button 5-3", input = "noinput", output="value", min=0, max=1},
{name = "Button 5-4", input = "noinput", output="value", min=0, max=1},
{name = "Button 5-5", input = "button", output="value"},
{name = "Button 5-6", input = "button", output="value"},
{name = "Button 5-7", input = "button", output="value"},
{name = "Button 5-8", input = "button", output="value"},

{name = "Button 6-1", input = "noinput", output="value", min=0, max=1},
{name = "Button 6-2", input = "noinput", output="value", min=0, max=1},
{name = "Button 6-3", input = "noinput", output="value", min=0, max=1},
{name = "Button 6-4", input = "noinput", output="value", min=0, max=1},
{name = "Button 6-5", input = "button", output="value"},
{name = "Button 6-6", input = "button", output="value"},
{name = "Button 6-7", input = "button", output="value"},
{name = "Button 6-8", input = "button", output="value"},

{name = "Button 7-1", input = "noinput", output="value", min=0, max=1},
{name = "Button 7-2", input = "noinput", output="value", min=0, max=1},
{name = "Button 7-3", input = "noinput", output="value", min=0, max=1},
{name = "Button 7-4", input = "noinput", output="value", min=0, max=1},
{name = "Button 7-5", input = "button", output="value"},
{name = "Button 7-6", input = "button", output="value"},
{name = "Button 7-7", input = "button", output="value"},
{name = "Button 7-8", input = "button", output="value"},

{name = "Button 8-1", input = "noinput", output="value", min=0, max=1},
{name = "Button 8-2", input = "noinput", output="value", min=0, max=1},
{name = "Button 8-3", input = "noinput", output="value", min=0, max=1},
{name = "Button 8-4", input = "noinput", output="value", min=0, max=1},
{name = "Button 8-5", input = "button", output="value"},
{name = "Button 8-6", input = "button", output="value"},
{name = "Button 8-7", input = "button", output="value"},
{name = "Button 8-8", input = "button", output="value"},

{name = "Button A", input = "button", output="value"},
{name = "Button B", input = "button", output="value"},
{name = "Button C", input = "button", output="value"},
{name = "Button D", input = "button", output="value"},
{name = "Button E", input = "button", output="value"},
{name = "Button F", input = "button", output="value"},
{name = "Button G", input = "button", output="value"},
{name = "Button H", input = "button", output="value"},
}

table.insert(items, { name="Bars Display", input="noinput", output="text" })
g_bars_display_index = table.getn(items)

remote.define_items(items)
end

function init_inputs()

local inputs = {
{pattern="<100?>? 40 ?<???x>", name="Keyboard", value="x", note="48", velocity="100"},
{pattern="<100?>? 41 ?<???x>", name="Keyboard", value="x", note="49", velocity="100"},
{pattern="<100?>? 42 ?<???x>", name="Keyboard", value="x", note="50", velocity="100"},
{pattern="<100?>? 43 ?<???x>", name="Keyboard", value="x", note="51", velocity="100"},
{pattern="<100?>? 50 ?<???x>", name="Keyboard", value="x", note="44", velocity="100"},
{pattern="<100?>? 51 ?<???x>", name="Keyboard", value="x", note="45", velocity="100"},
{pattern="<100?>? 52 ?<???x>", name="Keyboard", value="x", note="46", velocity="100"},
{pattern="<100?>? 53 ?<???x>", name="Keyboard", value="x", note="47", velocity="100"},
{pattern="<100?>? 60 ?<???x>", name="Keyboard", value="x", note="40", velocity="100"},
{pattern="<100?>? 61 ?<???x>", name="Keyboard", value="x", note="41", velocity="100"},
{pattern="<100?>? 62 ?<???x>", name="Keyboard", value="x", note="42", velocity="100"},
{pattern="<100?>? 63 ?<???x>", name="Keyboard", value="x", note="43", velocity="100"},
{pattern="<100?>? 70 ?<???x>", name="Keyboard", value="x", note="36", velocity="100"},
{pattern="<100?>? 71 ?<???x>", name="Keyboard", value="x", note="37", velocity="100"},
{pattern="<100?>? 72 ?<???x>", name="Keyboard", value="x", note="38", velocity="100"},
{pattern="<100?>? 73 ?<???x>", name="Keyboard", value="x", note="39", velocity="100"},

{pattern="<100?>? 00 ?<???x>", name="Keyboard", value="x", note="48", velocity="100"},
{pattern="<100x>? 01 7F", name="Button 1-2"},
{pattern="<100x>? 02 7F", name="Button 1-3"},
{pattern="<100x>? 03 7F", name="Button 1-4"},
{pattern="<100x>? 04 7F", name="Button 1-5"},
{pattern="<100x>? 05 7F", name="Button 1-6"},
{pattern="<100x>? 06 7F", name="Button 1-7"},
{pattern="<100x>? 07 7F", name="Button 1-8"},

{pattern="<100x>? 10 7F", name="Button 2-1"},
{pattern="<100x>? 11 7F", name="Button 2-2"},
{pattern="<100x>? 12 7F", name="Button 2-3"},
{pattern="<100x>? 13 7F", name="Button 2-4"},
{pattern="<100x>? 14 7F", name="Button 2-5"},
{pattern="<100x>? 15 7F", name="Button 2-6"},
{pattern="<100x>? 16 7F", name="Button 2-7"},
{pattern="<100x>? 17 7F", name="Button 2-8"},

{pattern="<100x>? 20 7F", name="Button 3-1"},
{pattern="<100x>? 21 7F", name="Button 3-2"},
{pattern="<100x>? 22 7F", name="Button 3-3"},
{pattern="<100x>? 23 7F", name="Button 3-4"},
{pattern="<100x>? 24 7F", name="Button 3-5"},
{pattern="<100x>? 25 7F", name="Button 3-6"},
{pattern="<100x>? 26 7F", name="Button 3-7"},
{pattern="<100x>? 27 7F", name="Button 3-8"},

{pattern="<100x>? 30 7F", name="Button 4-1"},
{pattern="<100x>? 31 7F", name="Button 4-2"},
{pattern="<100x>? 32 7F", name="Button 4-3"},
{pattern="<100x>? 33 7F", name="Button 4-4"},
{pattern="<100x>? 34 7F", name="Button 4-5"},
{pattern="<100x>? 35 7F", name="Button 4-6"},
{pattern="<100x>? 36 7F", name="Button 4-7"},
{pattern="<100x>? 37 7F", name="Button 4-8"},

{pattern="<100x>? 44 7F", name="Button 5-5"},
{pattern="<100x>? 45 7F", name="Button 5-6"},
{pattern="<100x>? 46 7F", name="Button 5-7"},
{pattern="<100x>? 47 7F", name="Button 5-8"},

{pattern="<100x>? 54 7F", name="Button 6-5"},
{pattern="<100x>? 55 7F", name="Button 6-6"},
{pattern="<100x>? 56 7F", name="Button 6-7"},
{pattern="<100x>? 57 7F", name="Button 6-8"},

{pattern="<100x>? 64 7F", name="Button 7-5"},
{pattern="<100x>? 65 7F", name="Button 7-6"},
{pattern="<100x>? 66 7F", name="Button 7-7"},
{pattern="<100x>? 67 7F", name="Button 7-8"},

{pattern="<100x>? 74 7F", name="Button 8-5"},
{pattern="<100x>? 75 7F", name="Button 8-6"},
{pattern="<100x>? 76 7F", name="Button 8-7"},
{pattern="<100x>? 77 7F", name="Button 8-8"},

{pattern="<100x>? 08 7F", name="Button A"},
{pattern="<100x>? 18 7F", name="Button B"},
{pattern="<100x>? 28 7F", name="Button C"},
{pattern="<100x>? 38 7F", name="Button D"},
{pattern="<100x>? 48 7F", name="Button E"},
{pattern="<100x>? 58 7F", name="Button F"},
{pattern="<100x>? 68 7F", name="Button G"},
{pattern="<100x>? 78 7F", name="Button H"},
}
remote.define_auto_inputs(inputs)
end

function init_outputs()
local outputs = {
{name = "Button 1-1", pattern = "90 24 x", x = "64"},
{name = "Button 1-2", pattern = "90 01 xx", x = "enabled*value*1+56"},
{name = "Button 1-3", pattern = "90 02 xx", x = "enabled*value*1+56"},
{name = "Button 1-4", pattern = "90 03 xx", x = "enabled*value*1+56"},
{name = "Button 1-5", pattern = "90 04 xx", x = "enabled*value*15"},
{name = "Button 1-6", pattern = "90 05 xx", x = "enabled*value*15"},
{name = "Button 1-7", pattern = "90 06 xx", x = "enabled*value*15"},
{name = "Button 1-8", pattern = "90 07 xx", x = "enabled*value*15"},

{name = "Button 2-1", pattern = "90 10 xx", x = "enabled*value*60"},
{name = "Button 2-2", pattern = "90 11 xx", x = "enabled*value*60"},
{name = "Button 2-3", pattern = "90 12 xx", x = "enabled*value*60"},
{name = "Button 2-4", pattern = "90 13 xx", x = "enabled*value*60"},
{name = "Button 2-5", pattern = "90 14 xx", x = "enabled*value*60"},
{name = "Button 2-6", pattern = "90 15 xx", x = "enabled*value*60"},
{name = "Button 2-7", pattern = "90 16 xx", x = "enabled*value*60"},
{name = "Button 2-8", pattern = "90 17 xx", x = "enabled*value*60"},

{name = "Button 3-1", pattern = "90 20 xx", x = "enabled*value*45"},
{name = "Button 3-2", pattern = "90 21 xx", x = "enabled*value*45"},
{name = "Button 3-3", pattern = "90 22 xx", x = "enabled*value*45"},
{name = "Button 3-4", pattern = "90 23 xx", x = "enabled*value*45"},
{name = "Button 3-5", pattern = "90 24 xx", x = "enabled*value*45"},
{name = "Button 3-6", pattern = "90 25 xx", x = "enabled*value*45"},
{name = "Button 3-7", pattern = "90 26 xx", x = "enabled*value*45"},
{name = "Button 3-8", pattern = "90 27 xx", x = "enabled*value*45"},

{name = "Button 4-1", pattern = "90 30 xx", x = "enabled*value*46"},
{name = "Button 4-2", pattern = "90 31 xx", x = "enabled*value*46"},
{name = "Button 4-3", pattern = "90 32 xx", x = "enabled*value*46"},
{name = "Button 4-4", pattern = "90 33 xx", x = "enabled*value*46"},
{name = "Button 4-5", pattern = "90 34 xx", x = "enabled*value*46"},
{name = "Button 4-6", pattern = "90 35 xx", x = "enabled*value*46"},
{name = "Button 4-7", pattern = "90 36 xx", x = "enabled*value*46"},
{name = "Button 4-8", pattern = "90 37 xx", x = "enabled*value*46"},

{name = "Button 5-1", pattern = "90 40 xx", x = "enabled*value*1+56"},
{name = "Button 5-2", pattern = "90 41 xx", x = "enabled*value*1+56"},
{name = "Button 5-3", pattern = "90 42 xx", x = "enabled*value*1+56"},
{name = "Button 5-4", pattern = "90 43 xx", x = "enabled*value*1+56"},
{name = "Button 5-5", pattern = "90 44 xx", x = "enabled*value*63"},
{name = "Button 5-6", pattern = "90 45 xx", x = "enabled*value*63"},
{name = "Button 5-7", pattern = "90 46 xx", x = "enabled*value*63"},
{name = "Button 5-8", pattern = "90 47 xx", x = "enabled*value*63"},

{name = "Button 6-1", pattern = "90 50 xx", x = "enabled*value*1+56"},
{name = "Button 6-2", pattern = "90 51 xx", x = "enabled*value*1+56"},
{name = "Button 6-3", pattern = "90 52 xx", x = "enabled*value*1+56"},
{name = "Button 6-4", pattern = "90 53 xx", x = "enabled*value*1+56"},
{name = "Button 6-5", pattern = "90 54 xx", x = "enabled*value*63"},
{name = "Button 6-6", pattern = "90 55 xx", x = "enabled*value*63"},
{name = "Button 6-7", pattern = "90 56 xx", x = "enabled*value*63"},
{name = "Button 6-8", pattern = "90 57 xx", x = "enabled*value*63"},

{name = "Button 7-1", pattern = "90 60 xx", x = "enabled*value*1+56"},
{name = "Button 7-2", pattern = "90 61 xx", x = "enabled*value*1+56"},
{name = "Button 7-3", pattern = "90 62 xx", x = "enabled*value*1+56"},
{name = "Button 7-4", pattern = "90 63 xx", x = "enabled*value*1+56"},
{name = "Button 7-5", pattern = "90 64 xx", x = "enabled*value*15"},
{name = "Button 7-6", pattern = "90 65 xx", x = "enabled*value*15"},
{name = "Button 7-7", pattern = "90 66 xx", x = "enabled*value*15"},
{name = "Button 7-8", pattern = "90 67 xx", x = "enabled*value*15"},

{name = "Button 8-1", pattern = "90 24 64 ", x = "enabled*value*1+56"},
{name = "Button 8-2", pattern = "90 71 xx", x = "enabled*value*1+56"},
{name = "Button 8-3", pattern = "90 72 xx", x = "enabled*value*1+56"},
{name = "Button 8-4", pattern = "90 73 xx", x = "enabled*value*1+56"},
{name = "Button 8-5", pattern = "90 74 xx", x = "enabled*value*60"},
{name = "Button 8-6", pattern = "90 75 xx", x = "enabled*value*60"},
{name = "Button 8-7", pattern = "90 76 xx", x = "enabled*value*15+1"},
{name = "Button 8-8", pattern = "90 77 xx", x = "enabled*value*15+1"},

{name = "Button A", pattern = "90 08 xx", x = "enabled*value*63"},
{name = "Button B", pattern = "90 18 xx", x = "enabled*value*63"},
{name = "Button C", pattern = "90 28 xx", x = "enabled*value*63"},
{name = "Button D", pattern = "90 38 xx", x = "enabled*value*56"},
{name = "Button E", pattern = "90 48 xx", x = "enabled*value*15"},
{name = "Button F", pattern = "90 58 xx", x = "enabled*value*63"},
{name = "Button G", pattern = "90 68 xx", x = "enabled*value*15+1"},
{name = "Button H", pattern = "90 78 xx", x = "enabled*value*15+1"},
}
remote.define_auto_outputs(outputs)
end

function remote_deliver_midi()
local ret_events={}
if g_delivered_bar ~= g_current_bar then

if g_current_bar < 1 then table.insert(ret_events, remote.make_midi("B0 68 00")) end
if g_current_bar < 2 then table.insert(ret_events, remote.make_midi("B0 69 00")) end
if g_current_bar < 3 then table.insert(ret_events, remote.make_midi("B0 6A 00")) end
if g_current_bar < 4 then table.insert(ret_events, remote.make_midi("B0 6B 00")) end
if g_current_bar < 5 then table.insert(ret_events, remote.make_midi("B0 6C 00")) end
if g_current_bar < 6 then table.insert(ret_events, remote.make_midi("B0 6D 00")) end
if g_current_bar < 7 then table.insert(ret_events, remote.make_midi("B0 6E 00")) end
if g_current_bar < 8 then table.insert(ret_events, remote.make_midi("B0 6F 00")) end

if g_current_bar > 0 then table.insert(ret_events, remote.make_midi("B0 68 60")) end
if g_current_bar > 1 then table.insert(ret_events, remote.make_midi("B0 69 60")) end
if g_current_bar > 2 then table.insert(ret_events, remote.make_midi("B0 6A 60")) end
if g_current_bar > 3 then table.insert(ret_events, remote.make_midi("B0 6B 60")) end
if g_current_bar > 4 then table.insert(ret_events, remote.make_midi("B0 6C 60")) end
if g_current_bar > 5 then table.insert(ret_events, remote.make_midi("B0 6D 60")) end
if g_current_bar > 6 then table.insert(ret_events, remote.make_midi("B0 6E 60")) end
if g_current_bar > 7 then table.insert(ret_events, remote.make_midi("B0 6F 60")) end
end
g_delivered_bar = g_current_bar
return ret_events
end

function remote_set_state(changed_items)
for kk,item_index in ipairs(changed_items) do
if item_index == g_bars_display_index then
if remote.is_item_enabled(item_index) then
g_current_bar = get_relative_bar(remote.get_item_text_value(item_index))
else
g_current_bar = -1
end
end
end
return false
end

function get_relative_bar(s)
local n=tonumber(s)
n = n - math.floor(n/8)*8
return (n == 0) and 8 or n
end

REMOTEMAP FILE:

Propellerhead Remote Mapping File
File Format Version 1.0.0
Control Surface Manufacturer Novation
Control Surface Model Launchpad Mini MK3
Map Version 1.1.0

Scope Propellerheads Master Keyboard
// Control Surface Item Key Remotable Item Scale Mode
Map Keyboard Keyboard

Scope Propellerheads Reason Document
// Control Surface Item Key Remotable Item Scale Mode

Map Bars Display Bar Position
Map Button 2-1 Rewind
Map Button B Fast Forward
Map Button C Stop
Map Button D Play
Map Button E Record
Map Button F Loop On/Off
Map Button G Target Previous Track
Map Button H Target Next Track
Map Button 8-7 Select Previous Patch

Scope Propellerheads Kong Drum Designer
// Control Surface Item Key Remotable Item Scale Mode

Map Button 5-1 Pad 13 Hit Indication
Map Button 5-2 Pad 14 Hit Indication
Map Button 5-3 Pad 15 Hit Indication
Map Button 5-4 Pad 16 Hit Indication
Map Button 6-1 Pad 9 Hit Indication
Map Button 6-2 Pad 10 Hit Indication
Map Button 6-3 Pad 11 Hit Indication
Map Button 6-4 Pad 12 Hit Indication
Map Button 7-1 Pad 5 Hit Indication
Map Button 7-2 Pad 6 Hit Indication
Map Button 7-3 Pad 7 Hit Indication
Map Button 7-4 Pad 8 Hit Indication
Map Button 8-1 Pad 1 Hit Indication
Map Button 8-2 Pad 2 Hit Indication
Map Button 8-3 Pad 3 Hit Indication
Map Button 8-4 Pad 4 Hit Indication

User avatar
me-yourself-and-them
Posts: 37
Joined: 09 Jan 2022

Post Yesterday

another idea from novation:
duplicate midi sequencer line e.g. from kong.
foward this to midi out
result: pads get lit up when playing back sequencer track.

but: this would mean i'd have to duplicate every single midi track.

been searching quite some time in vain:
could it really be there is no way to loop out ALL midi sequencer tracks also to external midi device?

moreover: what to do with instruments that don't have a sequencer lane and are just being used for live playback of loops like octo rex?

rmtcvolte
Posts: 159
Joined: 15 Nov 2018

Post Yesterday

me-yourself-and-them wrote:
Yesterday
another idea from novation:
duplicate midi sequencer line e.g. from kong.
foward this to midi out
result: pads get lit up when playing back sequencer track.

but: this would mean i'd have to duplicate every single midi track.

been searching quite some time in vain:
could it really be there is no way to loop out ALL midi sequencer tracks also to external midi device?

moreover: what to do with instruments that don't have a sequencer lane and are just being used for live playback of loops like octo rex?
As long as I know, there is no general midi note out in Reason, Kong is special with the Hit indication items. The way to send out notes is like you described it. By the way you dont need to restard Reason everytime you change the codec, just go to Preferences and disable/enable the device you are working on.

User avatar
me-yourself-and-them
Posts: 37
Joined: 09 Jan 2022

Post Today

thanks @rmtcvolte! already recognized the need the easiest way to reload codec is dis/reenable controller. for use another app to debug midi messages you always need to quit and restart reason.

with the duplicated kong midi track i already achieved lighting of LP mini MK3 pads according to notes played. the "octo rex actual running slot" feature seems definitely to require a new codec, couldn't find any way to achieve the live button push > light LP pad by e.g. cv out. so far only possbile with an according sequencer track.

  • Information
  • Who is online

    Users browsing this forum: CommonCrawl [Bot] and 1 guest