Jump to content
Gibson Brands Forums
Sign in to follow this  
McBeat

Pioneer DDJ-SX

Recommended Posts

hey guys. I accidentally came across the software deckadance. I was looking for a dj software with which I can work in ableton. I have serato and Traktor and both can not play what DD can, namely directly in my daw. I'm thrilled, but still missing some futures like:

grid midi mapping and several downbeatmarkers.

- I find midi scripting great, but I do not understand everything yet. I have the Pioneer DDJ-SX and have managed to map the jogs with led feedbeck synonymous everything else like loops play etc. with led feedbeck. What I can not do is the seek function. I have looked at several scripts and must say that it is not so easy to find the right one. There are many ways to map it. I miss tutorials for that. I hope you can help me to program it?

Is there a way to import cues from serato or tractor?

Share this post


Link to post
Share on other sites

Hi,

 

The most used command for seeking is the same than you use for the jog ( JOG_A or JOG_B ) but with the difference that the value for the last parameter of the function (scratch sensitivity) is bigger than for the scratch function. I usually use the "shift" function in the different controllers to use the jog for seeking. Below you can find an example but it's for another controller, so that, the values will be different in the case of the DDJ-SX

 

if(shift > 0) { // seek
 set(JOG_A, value -64.0, -0.003, 0.8);
}
else { // scratch 
 set(JOG_A, value -64.0, -0.003, 0.1);
}

 

There is another command for seeking called "SEEK_A, SEEK_B..". It takes only one parameter with a float value from 0 to 1. If you pass a zero value then you go to the beginning position of the song, a value of 0.5 will set the position at the middle and a value of 1.0 to the end. Of course, you can use all the values among 0 and 1 (0.1, 0.2, 0.335, ...etc). This command is useful for controllers with a touch strip for seeking purposes.

 

Is there a way to import cues from serato or tractor?

 

No sorry, there isn't any importer yet.

Share this post


Link to post
Share on other sites

hey.

can someone tell me how I set the parameters of "loop move size".

I would like to automatically set the parameters to 32 when starting DD.

have the jog and button leds driven and I'm almost done with the mapping. as soon as everything is ready I will release it for download.

Share this post


Link to post
Share on other sites

hey.

can someone tell me how I set the parameters of "loop move size".

I would like to automatically set the parameters to 32 when starting DD.

have the jog and button leds driven and I'm almost done with the mapping. as soon as everything is ready I will release it for download.

Share this post


Link to post
Share on other sites

hey guys. is not there anyone who can tell me how i can to

1. set the „loop_move„ parameter in the script?

Exempel: button set 32 ​​beats.

i can only make up or down and not direkt set velue 32.

 

2. I missing the midi message for “grid move“

Share this post


Link to post
Share on other sites

There isn't any command for setting the loop move size directly (...I will add it to the TODO list). If you want to set it to 32 beats at startup then you could write this into the script:

 

void OnStart()
{
   for(int i=0; i < 10; i++) {
       set(LOOP_MOVE_SIZE_A, 127);
       set(LOOP_MOVE_SIZE_B, 127);
       set(LOOP_MOVE_SIZE_C, 127);
       set(LOOP_MOVE_SIZE_D, 127);
   }
}

Share this post


Link to post
Share on other sites

Hey Luis, thank you for your answer. Can you tell me how I can make automatic jumping. that means: I want to auto repeat loop_move, i hold the button and it keeps jumping forward. I let the button go it stops. second button to the rear. in the traktor, the function is called auto_reapet. Thanks

Share this post


Link to post
Share on other sites

I tried everything. A (while loop, for).

The command (is down). But do not get the autorepeat. He jump non stop. Can you help me please? What i do wrong?

if(status == 0x90 && data == 0x4D)

while (value != 00 && value == 7f){set(LOOP_MOVE_SIZE_A, isDown); return;}

Share this post


Link to post
Share on other sites

hej Louis,

 

thanks for your answer.

i have a problem with sensitivity for my loop_move.

i want this not so fast.

I would like that the loop is not so sensitive. Have already tried everything. I just can not get it to set the platter so that reacts differently. The jumps immediately to the end or beginning when I touch the Platter. I want to keep the 32 beat setting. With the jog command you can set it. how can I solve it?

I would be very grateful for your help

 

if(status == 0xB0 && data == 0x22) {if(value01 > 0x40) {set(LOOP_MOVE_FORWARD_C); return;} else {set(LOOP_MOVE_BACKWARD_C); return;}}

Share this post


Link to post
Share on other sites

The problem with some jogs is that there are a lot of pulses per revolution. You need to reduce this number. One solution is to create a global variable (outside the functions) and use it like a counter. Only when the counter excess a fixed quantity then do the loop move, otherwise ignore it.

 

// global variable
int jogAPulses = 0;

// inside your function
{
   if(status == 0xB0 && data == 0x22) {
       jogAPulses++;
       if(jogAPulses > 100) {
           if(value01 > 0x40) {
               set(LOOP_MOVE_FORWARD_C);
           } else {
              set(LOOP_MOVE_BACKWARD_C);
           }
           jogAPulses = 0;
       }
   }
}

Share this post


Link to post
Share on other sites

hey guys,

 

I write now very intensively to the scripts.

how can I insert the dd_commands.h file into Xcode, so that I can debug it?

It is very awkward to do that with DD. The trick with cmd_s is so far.

sometimes I forget a sign;,)}. the program does not show that to me, only when I start DD. a separate compiler in the DD would be really great.!!!

Share this post


Link to post
Share on other sites

Hej Luis. I must you again nerves;) I have still 4 problems, if still function then is my CONTROLLER perfectly.

I ask you from there again for your assistance. I think that the other users also thereby fight and it for all Pioneer owner to be helpful could.  

I the script from Jogvison hercules viewed myself and wanted it to copy, because that the same jogs and level meter has however I can not all instructions assign. The description is bad

OK

1. problem of Jogwheel - if I jogwheel leave loose cancel it abruptly. It is as with Vinyl itself with restraint

post-92814-087117400 1533487770_thumb.png

 

i have make this:

// NN’s

if(status == 0x90 && data == 0x67) { set(JOG_SCRATCH_ON_A, isDown); return;} // touch on

// CC's

if((status & 0xF0) == 0xB0) { if(status == 0xB0 && data == 0x22) { set(JOG_A, value - 64.0, -0.005, 0.005);} // scratch

if(status == 0xB0 && data == 0x21) { set(JOG_A, value - 64.0, -0.00008,0.00008);} // pitch band

 

2nd problem of LEDs for JOG - I have to shine gotten and to turn itself even if the PLAY_A however not in the speed of the song. Thus always equal

Pasted Graphic.tiff

 

i have make this:

 

Void OnStart()

{

// stack

int off = 0x00;

int on = 0x7F;

 

sendMidiMessage(0x9B, 0x00, on);

sendMidiMessage(0x9B, 0x01, on);

}

 

void OnTimerCallback()

{

// this callback is called continunuosly by DD every 50 ms

// stack

int off = 0x00;

int on = 0x7F;

 

(get(PLAY_PAUSE_A) > 0) ? sendMidiMessage(0x90, 0x0B, on) : sendMidiMessage(0x90, 0x0B, off);// Play LEDs

(get(PLAY_PAUSE_A) > 0) ? sendMidiMessage(0x9B, 0x0C, on) : sendMidiMessage(0x9B, 0x0C, off); // Jog play LED

}

 

3rd problem of level meters - the LEDs shine however too inaccurately and weakly. Those have only one note but 10 LEDs.

I have it with bomes translator found out starting from when to go on. 

 

12 Channel Level Indicator 1/2/3/4 CC 2 - Bn 02 hh Use when INPUT Selecter is "PC"

 

 

i have make this:

 

(get(LEVEL_METER_A) > 0.125) ? sendMidiMessage(0xB0, 0x02, 0x31) : sendMidiMessage(0xB0, 0x02, off);

(get(LEVEL_METER_A) > 0.275) ? sendMidiMessage(0xB0, 0x02, 0x45) : sendMidiMessage(0xB0, 0x02, off);

(get(LEVEL_METER_A) > 0.375) ? sendMidiMessage(0xB0, 0x02, 0x49) : sendMidiMessage(0xB0, 0x02, off);

(get(LEVEL_METER_A) > 0.455) ? sendMidiMessage(0xB0, 0x02, 0x59) : sendMidiMessage(0xB0, 0x02, off);

(get(LEVEL_METER_A) > 0.475) ? sendMidiMessage(0xB0, 0x02, 0x63) : sendMidiMessage(0xB0, 0x02, off);

(get(LEVEL_METER_A) > 0.575) ? sendMidiMessage(0xB0, 0x02, 0x68) : sendMidiMessage(0xB0, 0x02, off);

(get(LEVEL_METER_A) > 0.675) ? sendMidiMessage(0xB0, 0x02, 0x6F) : sendMidiMessage(0xB0, 0x02, off);

(get(LEVEL_METER_A) > 0.775) ? sendMidiMessage(0xB0, 0x02, 0x72) : sendMidiMessage(0xB0, 0x02, off);

(get(LEVEL_METER_A) > 0.875) ? sendMidiMessage(0xB0, 0x02, 0x77) : sendMidiMessage(0xB0, 0x02, off);

(get(LEVEL_METER_A) > 0.975) ? sendMidiMessage(0xB0, 0x02, 0x7F) : sendMidiMessage(0xB0, 0x02, off);

 

 

 

Help me please theraby finally a reasonable mapping for pioneer comes

 

the last for users!

 

the trick for jump move sensibility work very well but only with value and not value01;)

 

#include "dd_commands.h"

 

int jogAPulses = 0;

 

// NNs

if(status == 0xB0 && data == 0x22) { jogAPulses++; if(jogAPulses > 20) { if(value > 0x40) {

set(LOOP_MOVE_FORWARD_A);} else { set(LOOP_MOVE_BACKWARD_A);}

jogAPulses = 0;}}

 

Help me please thereby finally a reasonable mapping for Pioneer comes

Share this post


Link to post
Share on other sites

Hej Luis,

 

Help me please with my ddjsx. You can see my problems on my post. I have insert the ddjsx midi haraware diagram for you.

Ddj sx have 3 notes for jog.90 54 7f is scratch on. If i touch 90 54 7f is on and jog b0 22 and 3f or 41 is on. If i realese 90 54 00 off, is only jog b0 21 and 3f or 41 on. Option with shift are extra.

DECKADANCE is the best Software but i non understand all midi massages or c++.

Sorry for my english, i come from poland ;).

Best regards

McBeat

Przemek

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...