ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray BrainModular BrainModular Users Forum 2008-09-17T01:25:32+02:00 https://brainmodular.org/forums/app.php/feed/topic/991 2008-09-17T01:25:32+02:00 2008-09-17T01:25:32+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5338#p5338 <![CDATA[Korg padKontrol in Native mode?]]> Midi-ox and others - they all get through.
I captured and saved the output of the padKontrol from Midi-ox in a sysex file. Then told Midi-ox to send the file to Unsine - they all got through.
But this is much slower than the padKontrol directly sends.

Statistics: Posted by raintalk — 17 Sep 2008, 01:25


]]>
2008-09-16T21:23:39+02:00 2008-09-16T21:23:39+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5336#p5336 <![CDATA[Korg padKontrol in Native mode?]]>
Have you tried to connect the sysex output of the MidiIn module to the SysExEditor module to see what comes in?

Statistics: Posted by bsork — 16 Sep 2008, 21:23


]]>
2008-09-16T19:06:24+02:00 2008-09-16T19:06:24+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5335#p5335 <![CDATA[Korg padKontrol in Native mode?]]> Now the question is, I can use midi-ox or bome's to transform the sysex's into regular midi, note on's, CC, etc. Either seems light enough that I can load it without much CPU or memory load. But what's best to remap these to? What do people do with other controllers?

There's not too many controls on the padKontrol, Two knobs, one Rotary encorder, one X-Y pad, and 16 velocity pads, and the rest buttons.
I'm thinking of sending the Rotary as two notes - one for up and the other for down.
The two knobs would be CC's
The X-Y as PitchBender V1 V2
The pads and buttons as Notes
Then in Usine you transform these anyway you want.

A separate patch would be setup to send sysex to controls the lights on the padKontrol. For example if you hit Pad 01, it would send a message to flash the light on Pad 01.
Or do stuff like flash on the pad what step in a sequency you're currently in.

Statistics: Posted by raintalk — 16 Sep 2008, 19:06


]]>
2008-09-12T18:47:49+02:00 2008-09-12T18:47:49+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5300#p5300 <![CDATA[Korg padKontrol in Native mode?]]> I gave up on the scripting as there's not much documentation and somethings just didn't seem to work.
The good news is I got it mostly working in a patch.

But What I can't get to work is the X/Y pad. I think the problem is Unsine isn't getting the midi fast enough.

If I look at the output in Midi-Ox I'll see:
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT

SYSX: F0 42 40 6E 08 48 20 7F F7
000010A8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 4C 4A F7
000010A8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 4C 48 F7
000010AB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010AB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 4A 48 F7
000010AB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 4A 46 F7
000010AF pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010AF pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 49 46 F7
000010AF pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 49 44 F7
000010B2 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010B2 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 47 44 F7
000010B2 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 47 42 F7
000010B5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010B5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 46 42 F7
000010B5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 46 3E F7
000010B8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010B8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 45 3E F7
000010B8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 45 3C F7
000010BA pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010BA pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 43 3C F7
000010BA pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 43 39 F7
000010BE pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010BE pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 42 39 F7
000010BE pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 42 36 F7
000010C1 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010C1 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 40 36 F7
000010C1 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 40 35 F7
000010C5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010C5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3E 35 F7
000010C5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3E 34 F7
000010C8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010C8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3C 34 F7
000010C8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3C 33 F7
000010CB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010CB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3A 33 F7
000010CB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3A 32 F7
000010D5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 00 F7

Usine's trace window window will only see the lines with "48" (4-eight):
F0 42 40 6E 08 48 20 7F F7 (Note-on for X-Y pad - it sends out a bunch of these)
F0 42 40 6E 08 48 20 00 F7 (Note-off for X-y pad)

It never sees any of the "4B" (4-Be lines)
i.e.
F0 42 40 6E 08 4B 3A 33 F7
None of these show up in Unsine, it's like they are too fast to get captured.
They show up fine in Midi-Ox, and other hosts.

Statistics: Posted by raintalk — 12 Sep 2008, 18:47


]]>
2008-09-10T10:33:42+02:00 2008-09-10T10:33:42+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5246#p5246 <![CDATA[Korg padKontrol in Native mode?]]> Statistics: Posted by bsork — 10 Sep 2008, 10:33


]]>
2008-09-10T09:59:19+02:00 2008-09-10T09:59:19+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5239#p5239 <![CDATA[Korg padKontrol in Native mode?]]>
In my opinion, you should use the sysex output of the MIDI input module, and - since you're only interested in parts of the message - either declare your input as type ptArray and use something like SetValue(output, trunc(GetDataArrayValue(input, i))), or use GetArrayElementValue modules
instead of a script. If you're not going to have a lot of conditional statements, just translating input values to some other output values, there's also the Mapper (value) module to consider instead of a (potentially heavy) script. That way you can also use the Preset Manager (and probably also the Conductor) to save different translations - if that is of any interest.

A tip: as long as the length of an output will never change, put the SetLength in the Init procedure; it's out of the way in the main program logic, and you save CPU.

Another tip (something that confused me when I started messing with arrays in Usine): SetLength/GetLength are for parameters, while SetArrayLength/GetArrayLength are for internal arrays, eg.:
VAR arr ARRAY OF INTEGER;
...
SetArrayLength(arr, 10);
...
FOR i := 0 TO 9 DO arr := some_value;


And yes: It's very Pascal-like.

Statistics: Posted by bsork — 10 Sep 2008, 09:59


]]>
2008-09-10T09:56:45+02:00 2008-09-10T09:56:45+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5237#p5237 <![CDATA[Korg padKontrol in Native mode?]]>

Statistics: Posted by Kaspar — 10 Sep 2008, 09:56


]]>
2008-09-10T09:53:53+02:00 2008-09-10T09:53:53+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5236#p5236 <![CDATA[Korg padKontrol in Native mode?]]> Statistics: Posted by héliouk 6 — 10 Sep 2008, 09:53


]]>
2008-09-10T02:19:04+02:00 2008-09-10T02:19:04+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5225#p5225 <![CDATA[Korg padKontrol in Native mode?]]>
I got a basic script working.
It just has the 4 data changing values as outputs.
I'll rearrange the outputs to actually match those of the padKontrol.
I just don't know the scripting language (pascal like?) so I'm not sure how to best do lookup tables other than brute force "if" comparisons. Any hints would be appreciated.

//////////////////////////
//
/////////////////////////
// parameters declaration
var Input : Tparameter;
var Output : array of integer;
const D_START = 4;
const D_END = 7;
const SLENGTH = 9;

// initialisation : create parameters
procedure init;
var i : integer;
begin
Input := CreateParam('Midi in',ptMidi);
SetIsOutPut(Input,false);
setArrayLength(output,SLENGTH);
for i := D_START to D_END
do begin
Output := CreateParam('out '+inttostr(i),ptDataField);
SetIsInput(Output,false);
end;

end;

// Global variables
var nb : integer;
var Miditmp : TMidi;

//////////////////////////////
// main proc
//////////////////////////////
var i : integer;

begin

nb := GetLength(input);
if nb = SLENGTH
then begin
for i := D_START to D_END
do begin
GetMidiArrayValue(input,i,Miditmp);
SetMidiArrayValue(output,0,Miditmp);
SetLength(output,1);
end;
end;
end.

Statistics: Posted by raintalk — 10 Sep 2008, 02:19


]]>
2008-09-09T23:12:25+02:00 2008-09-09T23:12:25+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5219#p5219 <![CDATA[Korg padKontrol in Native mode?]]>
You might not have to write a script instead of using modules, especially if all the sysex packages look similar with only four bytes changing values. (BTW, F0 at the beginning and F7 at the end is what defines a sysex message, and every byte between has to be within 0 and 127.)

Statistics: Posted by bsork — 09 Sep 2008, 23:12


]]>
2008-09-09T18:25:39+02:00 2008-09-09T18:25:39+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5215#p5215 <![CDATA[Korg padKontrol in Native mode?]]>
After I put the padKontrol in Native mode it sends little sysex's for each pad and knob when touched.
Push Pad 01: F0 42 40 6E 08 45 40 61 F7
Release Pad 01: F0 42 40 6E 08 45 00 40 F7

For every pad, knob, etc it will always be 9 bytes. with F0 42 40 6E always at the beginning, and F7 at the end. The rest encode if it's a pad or a knob and the velocity, position, or increment/decrement, ...

So in the scripting language - how do I received these little sysex messages?

I see there's a type for TMidi - is there a type for Sysex?

Thanks for any pointers.

Statistics: Posted by raintalk — 09 Sep 2008, 18:25


]]>
2008-09-09T13:46:52+02:00 2008-09-09T13:46:52+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5207#p5207 <![CDATA[Korg padKontrol in Native mode?]]>
Should be able to do much of the same right inside of Usine - I would think.

Statistics: Posted by raintalk — 09 Sep 2008, 13:46


]]>
2008-09-09T08:08:00+02:00 2008-09-09T08:08:00+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5198#p5198 <![CDATA[Korg padKontrol in Native mode?]]>
Sorry to say I have no answer to you.
So far I've only entertained a thought of getting Native Kontrol Custom, but not bought it because of doubts of it's usefulness for my applications:

http://www.nativekontrol.com/

Statistics: Posted by Kaspar — 09 Sep 2008, 08:08


]]>
2008-09-09T07:01:13+02:00 2008-09-09T07:01:13+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5197#p5197 <![CDATA[Korg padKontrol in Native mode?]]>
http://kpkproject.twoday.net/stories/3358632/

No problems sending sysex to put it in native mode and have it send data for all the pads and knobs, but what I'm wondering if anybodies gone further with processing the returned data in Usine for controlling things?

Or if you were going to what would be a good way to go. For example how to implement a lookup table to translate each little returned sysex into note-on, CC, etc.

Thanks for any pointers.

Statistics: Posted by raintalk — 09 Sep 2008, 07:01


]]>
BrainModular BrainModular Users Forum 2008-09-17T01:25:32+02:00 https://brainmodular.org/forums/app.php/feed/topic/991 2008-09-17T01:25:32+02:00 2008-09-17T01:25:32+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5338#p5338 <![CDATA[Korg padKontrol in Native mode?]]> Midi-ox and others - they all get through.
I captured and saved the output of the padKontrol from Midi-ox in a sysex file. Then told Midi-ox to send the file to Unsine - they all got through.
But this is much slower than the padKontrol directly sends.

Statistics: Posted by raintalk — 17 Sep 2008, 01:25


]]>
2008-09-16T21:23:39+02:00 2008-09-16T21:23:39+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5336#p5336 <![CDATA[Korg padKontrol in Native mode?]]>
Have you tried to connect the sysex output of the MidiIn module to the SysExEditor module to see what comes in?

Statistics: Posted by bsork — 16 Sep 2008, 21:23


]]>
2008-09-16T19:06:24+02:00 2008-09-16T19:06:24+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5335#p5335 <![CDATA[Korg padKontrol in Native mode?]]> Now the question is, I can use midi-ox or bome's to transform the sysex's into regular midi, note on's, CC, etc. Either seems light enough that I can load it without much CPU or memory load. But what's best to remap these to? What do people do with other controllers?

There's not too many controls on the padKontrol, Two knobs, one Rotary encorder, one X-Y pad, and 16 velocity pads, and the rest buttons.
I'm thinking of sending the Rotary as two notes - one for up and the other for down.
The two knobs would be CC's
The X-Y as PitchBender V1 V2
The pads and buttons as Notes
Then in Usine you transform these anyway you want.

A separate patch would be setup to send sysex to controls the lights on the padKontrol. For example if you hit Pad 01, it would send a message to flash the light on Pad 01.
Or do stuff like flash on the pad what step in a sequency you're currently in.

Statistics: Posted by raintalk — 16 Sep 2008, 19:06


]]>
2008-09-12T18:47:49+02:00 2008-09-12T18:47:49+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5300#p5300 <![CDATA[Korg padKontrol in Native mode?]]> I gave up on the scripting as there's not much documentation and somethings just didn't seem to work.
The good news is I got it mostly working in a patch.

But What I can't get to work is the X/Y pad. I think the problem is Unsine isn't getting the midi fast enough.

If I look at the output in Midi-Ox I'll see:
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT

SYSX: F0 42 40 6E 08 48 20 7F F7
000010A8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 4C 4A F7
000010A8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 4C 48 F7
000010AB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010AB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 4A 48 F7
000010AB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 4A 46 F7
000010AF pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010AF pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 49 46 F7
000010AF pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 49 44 F7
000010B2 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010B2 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 47 44 F7
000010B2 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 47 42 F7
000010B5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010B5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 46 42 F7
000010B5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 46 3E F7
000010B8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010B8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 45 3E F7
000010B8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 45 3C F7
000010BA pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010BA pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 43 3C F7
000010BA pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 43 39 F7
000010BE pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010BE pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 42 39 F7
000010BE pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 42 36 F7
000010C1 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010C1 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 40 36 F7
000010C1 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 40 35 F7
000010C5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010C5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3E 35 F7
000010C5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3E 34 F7
000010C8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010C8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3C 34 F7
000010C8 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3C 33 F7
000010CB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 7F F7
000010CB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3A 33 F7
000010CB pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 4B 3A 32 F7
000010D5 pad -- F0 Buffer: 9 Bytes System Exclusive
SYSX: F0 42 40 6E 08 48 20 00 F7

Usine's trace window window will only see the lines with "48" (4-eight):
F0 42 40 6E 08 48 20 7F F7 (Note-on for X-Y pad - it sends out a bunch of these)
F0 42 40 6E 08 48 20 00 F7 (Note-off for X-y pad)

It never sees any of the "4B" (4-Be lines)
i.e.
F0 42 40 6E 08 4B 3A 33 F7
None of these show up in Unsine, it's like they are too fast to get captured.
They show up fine in Midi-Ox, and other hosts.

Statistics: Posted by raintalk — 12 Sep 2008, 18:47


]]>
2008-09-10T10:33:42+02:00 2008-09-10T10:33:42+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5246#p5246 <![CDATA[Korg padKontrol in Native mode?]]> Statistics: Posted by bsork — 10 Sep 2008, 10:33


]]>
2008-09-10T09:59:19+02:00 2008-09-10T09:59:19+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5239#p5239 <![CDATA[Korg padKontrol in Native mode?]]>
In my opinion, you should use the sysex output of the MIDI input module, and - since you're only interested in parts of the message - either declare your input as type ptArray and use something like SetValue(output, trunc(GetDataArrayValue(input, i))), or use GetArrayElementValue modules
instead of a script. If you're not going to have a lot of conditional statements, just translating input values to some other output values, there's also the Mapper (value) module to consider instead of a (potentially heavy) script. That way you can also use the Preset Manager (and probably also the Conductor) to save different translations - if that is of any interest.

A tip: as long as the length of an output will never change, put the SetLength in the Init procedure; it's out of the way in the main program logic, and you save CPU.

Another tip (something that confused me when I started messing with arrays in Usine): SetLength/GetLength are for parameters, while SetArrayLength/GetArrayLength are for internal arrays, eg.:
VAR arr ARRAY OF INTEGER;
...
SetArrayLength(arr, 10);
...
FOR i := 0 TO 9 DO arr := some_value;


And yes: It's very Pascal-like.

Statistics: Posted by bsork — 10 Sep 2008, 09:59


]]>
2008-09-10T09:56:45+02:00 2008-09-10T09:56:45+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5237#p5237 <![CDATA[Korg padKontrol in Native mode?]]>

Statistics: Posted by Kaspar — 10 Sep 2008, 09:56


]]>
2008-09-10T09:53:53+02:00 2008-09-10T09:53:53+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5236#p5236 <![CDATA[Korg padKontrol in Native mode?]]> Statistics: Posted by héliouk 6 — 10 Sep 2008, 09:53


]]>
2008-09-10T02:19:04+02:00 2008-09-10T02:19:04+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5225#p5225 <![CDATA[Korg padKontrol in Native mode?]]>
I got a basic script working.
It just has the 4 data changing values as outputs.
I'll rearrange the outputs to actually match those of the padKontrol.
I just don't know the scripting language (pascal like?) so I'm not sure how to best do lookup tables other than brute force "if" comparisons. Any hints would be appreciated.

//////////////////////////
//
/////////////////////////
// parameters declaration
var Input : Tparameter;
var Output : array of integer;
const D_START = 4;
const D_END = 7;
const SLENGTH = 9;

// initialisation : create parameters
procedure init;
var i : integer;
begin
Input := CreateParam('Midi in',ptMidi);
SetIsOutPut(Input,false);
setArrayLength(output,SLENGTH);
for i := D_START to D_END
do begin
Output := CreateParam('out '+inttostr(i),ptDataField);
SetIsInput(Output,false);
end;

end;

// Global variables
var nb : integer;
var Miditmp : TMidi;

//////////////////////////////
// main proc
//////////////////////////////
var i : integer;

begin

nb := GetLength(input);
if nb = SLENGTH
then begin
for i := D_START to D_END
do begin
GetMidiArrayValue(input,i,Miditmp);
SetMidiArrayValue(output,0,Miditmp);
SetLength(output,1);
end;
end;
end.

Statistics: Posted by raintalk — 10 Sep 2008, 02:19


]]>
2008-09-09T23:12:25+02:00 2008-09-09T23:12:25+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5219#p5219 <![CDATA[Korg padKontrol in Native mode?]]>
You might not have to write a script instead of using modules, especially if all the sysex packages look similar with only four bytes changing values. (BTW, F0 at the beginning and F7 at the end is what defines a sysex message, and every byte between has to be within 0 and 127.)

Statistics: Posted by bsork — 09 Sep 2008, 23:12


]]>
2008-09-09T18:25:39+02:00 2008-09-09T18:25:39+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5215#p5215 <![CDATA[Korg padKontrol in Native mode?]]>
After I put the padKontrol in Native mode it sends little sysex's for each pad and knob when touched.
Push Pad 01: F0 42 40 6E 08 45 40 61 F7
Release Pad 01: F0 42 40 6E 08 45 00 40 F7

For every pad, knob, etc it will always be 9 bytes. with F0 42 40 6E always at the beginning, and F7 at the end. The rest encode if it's a pad or a knob and the velocity, position, or increment/decrement, ...

So in the scripting language - how do I received these little sysex messages?

I see there's a type for TMidi - is there a type for Sysex?

Thanks for any pointers.

Statistics: Posted by raintalk — 09 Sep 2008, 18:25


]]>
2008-09-09T13:46:52+02:00 2008-09-09T13:46:52+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5207#p5207 <![CDATA[Korg padKontrol in Native mode?]]>
Should be able to do much of the same right inside of Usine - I would think.

Statistics: Posted by raintalk — 09 Sep 2008, 13:46


]]>
2008-09-09T08:08:00+02:00 2008-09-09T08:08:00+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5198#p5198 <![CDATA[Korg padKontrol in Native mode?]]>
Sorry to say I have no answer to you.
So far I've only entertained a thought of getting Native Kontrol Custom, but not bought it because of doubts of it's usefulness for my applications:

http://www.nativekontrol.com/

Statistics: Posted by Kaspar — 09 Sep 2008, 08:08


]]>
2008-09-09T07:01:13+02:00 2008-09-09T07:01:13+02:00 https://brainmodular.org/forums/viewtopic.php?t=991&p=5197#p5197 <![CDATA[Korg padKontrol in Native mode?]]>
http://kpkproject.twoday.net/stories/3358632/

No problems sending sysex to put it in native mode and have it send data for all the pads and knobs, but what I'm wondering if anybodies gone further with processing the returned data in Usine for controlling things?

Or if you were going to what would be a good way to go. For example how to implement a lookup table to translate each little returned sysex into note-on, CC, etc.

Thanks for any pointers.

Statistics: Posted by raintalk — 09 Sep 2008, 07:01


]]>