PDA

View Full Version : OpenTZT and MIDI/DM2


tdeagan
4th August 2004, 06:13 PM
I'd like to start a seperate thread, that will move to SourceForge when ready, to brainstorm how to map the DM2 to the OpenTZT GUI via MIDI. Yes, of course, general MIDI support is essential, all MIDI surfaces should be supported, etc., etc. And whoever has interest can pursue those ;)

The low-cost esthetic of the DM2 makes (in the fantasy world of my mind :dali: ) a perfect fit for the Free esthetic of OpenTZT. It _seems_an obvious initial target (a boy can dream...)

So, I'm very interested in how people think the DM2 should be mapped to TZT (which may lead to development tasks if the target functions aren't MIDI enabled.)

Of course the mapping may be different in different 'modes', but just copy the set for each mode you want to describe.
---------- DM2 Control Surface -------
[Top Center]
tc_Button1:
tc_Button2:
tc_Button3:

[Top Left]
ButtonStop:
ButtonPlay:
ButtonRecord:

[Center]:
JoyStickLR:
JoyStickUD:
ButtonCenterBar:
CrossFader:

[Bottom Left]
bl_Button1:
bl_Button2:
bl_Button3:
bl_Button4:

[Left]
l_ButtonA:
l_ButtonCenter:
l_Button1:
l_Button2:
l_Button3:
l_Button4:
l_Button5:
l_Button6:
l_Button7:
l_Button8:
l_ScratchRing:

[Right]
r_ButtonB:
r_ButtonCenter:
r_Button1:
r_Button2:
r_Button3:
r_Button4:
r_Button5:
r_Button6:
r_Button7:
r_Button8:
r_ScratchRing:
----------------------------------------

It may be helpful to refer to this mapping of the functions to the keyboard:

http://wysiwygvideo.com/tzt_keys.jpg
( http://wysiwygvideo.com/tzt_keys.jpg )


--Tim
VJ WYSIWYG

tdeagan
4th August 2004, 11:44 PM
Here are the results of the code search for TZT MIDI functionality:

data(cc):val:function

[Status = b0] - Control Change
00:00:inputSel = 1 (player 1?)(along with IsMixerEnable)
00:01:inputSel = 2 (player 2?)(along with IsMixerEnable)
00:32:inputSel = 3 (player 3?)(along with IsMixerEnable)
01:xx:ch0 refresh rate modification
02:xx:ch0 active clip eff. fader 1 (eff0)
03:xx:ch0 active clip eff. fader 2 (eff0)
04:xx:ch1 refresh rate modification
05:xx:ch1 active clip eff. fader 1 (eff0)
06:xx:ch1 active clip eff. fader 2 (eff0)
07:xx:ch0 best step (full bank?) eff. fader
08:xx:ch1 best step (full bank?) eff. fader
0a:xx:ch0 active clip eff. fader 1 (eff1)
0b:xx:ch0 active clip eff. fader 2 (eff1)
0d:xx:ch1 active clip eff. fader 1 (eff1)
0e:xx:ch1 active clip eff. fader 2 (eff1)
21:0:player_level1, edit_level0 (play/edit swap)
21:1:player_level0, edit_level1 (play/edit swap)

[Status = 90] - Note On
01:7f:LeftCTRL,CAPS,Memory-J
02:7f:LeftCTRL,CAPS,Memory-K
03:7f:LeftCTRL,CAPS,Memory-L
04:7f:LeftCTRL,CAPS,Memory-;
05:7f:LeftCTRL,CAPS,Memory-:
06:7f:LeftCTRL,CAPS,Memory-[
07:7f:left arrow
08:7f:down arrow
09:7f:right arrow
0a:7f:RSHIFT,8 (number 8)
0b:7f:RSHIFT,FADER_KEY[12] (yen_symbol on JP keyboard, ? on US keyboard)
0c:7f:INSERT
0d:7f:HOME

[Status = c0] - Program Change
(along with some other stuff like inputSel (player selected?) and IsMixerEnable)
data = input selector


Just to help know what are the intial feasible targets for DM2 mapping.

--Tim
VJ WYSIWYG

WordVirus23
5th August 2004, 03:17 AM
I just got my DM2 working in resolume... good stuff, but the fun ends in 12 days, but I will put some thought into how it might work as a TZT control surface...
the 16 ring buttons translates pretty well into the 18 avail. clips per F#....
the 1 2 3 buttons above the joystick could advance up and down in the F# with 3 being uh... CNTRL? hmm... maybe the bottom left hand 1 2 3 4 buttons could be the CNTRL and SHIFT buttons.... I'll have to give it more thought... at first I wanna say there aren't enough buttons.. but I'm sure someone will amaze me with something I hadn't thought of... good luck guys... I look forward to hearing more on this thread...

..james...

PS... the joystick could control the F# selection in the 2D way that has been mentioned (F10 not taking you back to the F1 of the new bank)

PPS. I'm still not sure what all the DM2 to MIDI sw is cabable of... looks quite thorough tho <tips his invisible hat to pDoom>

PP?S I'm going to remove the springs from the joystick, at least from one axis... its annoying on both...

tdeagan
6th August 2004, 12:51 AM
Check out the http://vjforums.com/showthread.php?postid=62917#post62917
thread!! I got the DM2 to work with TZT!

--Tim
VJ WYSIWYG

WordVirus23
6th August 2004, 06:23 PM
did you get the DM2 working by setting up the DM2>MIDI software or.... ?
while comprehensive, the DM2 s/w can be a bit imposing at times as I know just enough about MIDI to get myself in trouble ;)

tdeagan
6th August 2004, 06:47 PM
Yes, using a DM2->DM2MIDI->MIDIOX chain as documented at pdoom.ch (cause he wrote the fantastic DM2MIDI software) I then did a couplafew wierdities (soon to be well documented) with the OpenTZT config and it works!!

I'm planning on spending a bunch of time this weekend building a decent dm2 config (it's trickier than I though it would be since I have to use scads of 'multiple event' chains all tied together, but the capabilities of the DM2MIDI software have blown me away in their ability to support software that it never knew about when it was written.)

I'm updating the TZT MIDI config info in the other thread.

--Tim

tdeagan
6th August 2004, 07:44 PM
All of my OpenTZT MIDI stuff is going up at:

http://wysiwygvideo.com/opentzt.html

--Tim
VJ WYSIWYG

WordVirus23
6th August 2004, 10:36 PM
Frighten me...

so its like as long as the control ring is spinning CW it will send MIDI data (thro dm2>midiox) which would represent say... running your finger down the # keys in one of the /_/ or /\ or the other (forget what it is right now) patterns...
hmm... like macros yes?

<time passes>

<mind hurting from pseudo code>
I'm not a coder, but I think I get it...... sorta
<clocks spin franticlly>
<glares at DM?>

tdeagan
6th August 2004, 11:04 PM
Pretty much. I'm working up an advanced dm2 config, it's challenging due to the limited number of (currently) modifiable params.

Here's what I've got so far:

scratch ring left == L_CTRL+NUM
scratch ring right == R_CTRL+NUM
XFader == clip speed -1X to 1X
left lock button == clip speed BEAT-4X
right lock button == clip speed BEAT 4X
Button A == use top bank
Button B == use bottom bank
bottom left Buttons 1-4 == restore memory locations JKL;
top center Buttons 1-3 == select player 1-3
Solo button == HOME key (set BPM by tapping)
Y axis of joystick == whole clip effect value

I'm struggling with what to do with the 8 buttons on each wheel. Picking clips or effects from the library isn't (currently) available.

I'll post the dm2 config file as soon as it's settled at http://wysiwygvideo.cmo/opentzt.html

It's already EXTREMELY cool!

--Tim
VJ WYSIWYG