Jump to content
Gibson Brands Forums
Sign in to follow this  
Guest Anders Lindh

controller DJ for all?

Recommended Posts

Guest Anders Lindh

Hi everyone!

I can't get the controller "DJ for all" to work in the demo version of Deckadance 2.51 LE edition. The controller ligths up some LEDs, but doesn't work. I tried to set input and output "DJ Tech DJ FOR ALL", but in the control surface I can't find it. Is it not supported any longer (it worked in 1.71) or do I do anything the wrong way?

Share this post


Link to post
Share on other sites

Since DD version 2.50, controllers are only supported via MIDI scripting. Old controllers will need to be updated to this new system (i.e.: DJ4ALL). It's in the TODO to give support for these old controllers, but I can't promise any date for them. You could try the MIDI learning system.

Share this post


Link to post
Share on other sites

OK, so now I tried the Midi learning system. Most of the buttons worked as expected, but the jog wheel doesn't work very well. I checked what code it produces and I'm starting to understand what it does.

But one of my problems is that the controller has three buttons to change the mode of the jog wheel. The three buttons are search, scratch and effect. If none of the buttons are active the jog wheel is in pitch mode. I tried to set "JOG_SCRATCH_ON_A", but it only works when I press the button. Probably as it is supposed to do from the programs point of view, if the jog wheel is touch sensitive or something like that. Mine is not. I guess I need some kind of variable that survives between the calls to the OnMidiMessageReceived-function.

The way the jog wheel works right now is when the deck is paused it searches the track. When I push the "Scratch" button and the deck is playing it scratches. But it would be good if the scratch-button would be active until I press it again or one of the other buttons. Deck playing and no scratch button is pressed results in some kind of pitch or pitch-bend function.

One other problem is the four "multi-function buttons" which can control Cue, loops or sample according to a mode button (which sends a midimessage for each mode). Here it would also be good to have a "sticky" variable. Then the buttons could send different midi-messages according to current mode.

One other problem is the "Effect select" which in DD 1.7.? stepped around the effect list. I guess I could step through the three Effect_select_x_group_A and read the answer and then switch to the next, but a variable would be more simple.

I tried the log-function to write text. But is it possible to write values?

Now I can't test how the controller worked in 1.7.? because the song doesn't start playing for some strange reason. The program lights up the play-button (both on controller and program), but nothing happens. Volume controls and load buttons work. But that is the old version so I don't bother too much about that as long as I get this new version to work with my controller.

Share this post


Link to post
Share on other sites

The jogs in the DJ4ALL are a little bit tricky to work with. I remember that they send three different NN messages:

0x39 -> when the jog stops moving

0x38 -> jog is turning counter clockwise

0x39 -> jog is turning clockwise

 

The MIDI script implementation should be something like (...simplified version):

 

// deck jog release
if (data == 0x39) set(JOG_SCRATCH_ON_A, 0);

// deck jog ccw
if (data == 0x38) {
   if ((get(PLAY_PAUSE_A) > 0) {
       set(JOG_SCRATCH_ON_A, 1);
       set(JOG_A, -1, -0.01, 0.1);
   }
}

// deck jog cw
if (data == 0x39) {
   if ((get(PLAY_PAUSE_A) > 0) {
       set(JOG_SCRATCH_ON_A, 1);
       set(JOG_A, 1, -0.01, 0.1);
   }
}

 

For the button banks you will have to create a global variable to handle all the cases.

 

It's possible to debug variables (...if that is what you are asking)

 

// debug 
string num = formatFloat(get(EFFECT_SELECT_1_GROUP_A), '0', 4, 2);
log(num);

 

Your problem with version 1.7 looks as if the soundcard is not configured correctly.

 

The truth is that writing MIDI scripts is not easy if you aren't a software developer (...and your controller has different options like button banks and special jogs). The best resource is to check out the source code for the MIDI scripts in DD's installation directory.

Share this post


Link to post
Share on other sites

Thank you for the answers!

 

The log function is a great help, especially with values. So now I'll see what comes out of the controller in a more visible way.

 

The jog wheel is a bit tricky, yes. But I'll check if the "jog stop moving" part will work.

 

What is the syntax for global variables? Do they need any extra keyword? Or I just put them outside of the functions?

 

I can't check the soundcard configuration right now, but as I remember the time or "soundwave" doesn't start moving. Could it still be the soundcard config?

 

My occupation is not software development, but it's a hobby in various kinds. So I have great hope in the success of this task, of course with the great help I get here!

I'll check the other scripts to see what I can learn from them.

 

Thanks again!

Share this post


Link to post
Share on other sites

What is the syntax for global variables? Do they need any extra keyword? Or I just put them outside of the functions?

No extra keyword needed, just put them outside the functions, usually on the top of the script so that they can be seen by all the functions.

 

I can't check the soundcard configuration right now, but as I remember the time or "soundwave" doesn't start moving. Could it still be the soundcard config?

Yes, that's the main symptom when the soundcard is not configured correctly.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...