Hi guys,

With all the refactoring going on, I had to temporarily remove our  
MIDI learning functionality a couple of weeks ago. With our old  
implementation, I wasn't entirely convinced that average joe DJ would  
be able to figure out how to use it, since a bunch of us developers  
struggled with it. Since I'll need to do some coding to re-enable MIDI  
learning, now is a good time to have a quick discussion about how  
people think MIDI learning should work.

Ideas?

How do Traktor and Virtual DJ do MIDI learning?

In some other MIDI-capable applications that I've used, I've seen the  
following approaches:
1) If you right-click on a control in the GUI, you can click "MIDI  
Learn...", move a control on your controller, and you're done.
2) They had something similar to what trunk had before, where you  
could pick a control name from a giant list and move a knob on your  
controller. The workflow here was just a pain in the ass (so much  
clicking and digging through controls to find the right one.)
3) You click "MIDI learn", then you move a control in the UI, and then  
move a control on your controller, which then magically creates the  
mapping between the two.

#1 might be interesting to look at doing (since our WWidgets know  
about ControlObjects, I think), but it's still a lot of mousework.
#2 was less user friendly and just generally harder to use.
#3 reduced the mousework significantly, but it's still a lot of  
switching back and forth.

My own idea that I pitched to people back in the summer (but I guess  
didn't get any attention) was to have a dialog that mimics the way old  
computer games used to let you set up your keyboard keys. Some  
emulators like zsnes work like this too. Basically, the idea is that  
the dialog will ask you to move some specific knob or slider on your  
controller, then you do it, and then it automatically flips to the  
next control that you would need to bind. As an example, the workflow  
is like:
- Dialog asks you "Push the play button for player 1"
- You push the left play button on your MIDI controller,
- Dialog then asks you (with no user intervention required), "Push the  
play button for player 2"
- You push the right play button on your MIDI controller.
- etc.

The key idea is that you don't have to touch your mouse or keyboard  
while you're setting up your controller, and you're being force-fed  
very straightforward instructions about what to do.

So my parting questions are: Is this a reasonable thing to do? Can we  
make this idea even better? And if we come up with an even better  
idea, should I just reimplement what we had before and push MIDI  
Learning 2.0 to 1.6.3?

Thanks,
Albert

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to