DJ Tech CDJ-101

DJ Tech CDJ-101

I am very interested in the above product and about to place an order with a view to using it with Virtual DJ 7.

Please could someone advise whether it is possible to control more than one deck from the same controller, i.e. by using the ‘Deck Switch’ button (Tab key by default in VDJ7), would the jog wheel/pitch control then control the other deck…??

I know some of the other products on the market like the Denon DNSC-2000 do exactly this, eliminating the need for multiple controllers.

Many thanks in advance.

there’s no free controls on the cdj-101 to do that. you have the play+pause buttons, one push button encoder and the pitch fader. you could change midi channels on the fly as it lights up to show you it’s changed but it’s a tiny pot on the side of the unit and probably not what u want to be doing live anyway. if you can change the deck focus using the tab key in vdj and can map the controller to act on the active deck then that should work i guess. if you look around you should be able to find them very cheap tho and so could buy a couple. i only paid 20gbp each for mine.

Midi mapping

Thanks for that Zestoi.. It’s as I thought… The deck should be waiting for me when I get home so I can have a play around with the middi mapping tonight…

Are you able to offer any assistance with this at all?? I guess I just need to go into the midi menu in Settings (if there is such a screen) and have play around…

Thanks in advance.

i can help with the midi on it (i have 4 cdj-101’s :stuck_out_tongue:) but i don’t use vdj. i did create a mapping for mixxx the other month that uses the push button encoder as a “shift” so when it’s held down you get extra features on the play and pause buttons, jog wheel and also different function when turning the encoder when pushed down compared to not - u could do the same kind of thing in vdjscript.

here’s a description of my mixxx mapping taken from here DJTech DJM101+CDJ101 mappings - Controller mappings - Mixxx

[QUOTE]// pitch slider works as you’d expect
// holding down the push button works as a “shift” to activate secondary functions
// needs the cdj101 to be on midi channel 1 for deck1 and 2 for deck2
//
// track playing:
//
// * surface of jog wheel: scratch
// * edge of jog wheel: tempo bend
// * shift + edge of jog wheel: fine tempo bend
//
// track not playing:
//
// * click push button: load a track
// * surface of jog wheel: scratch thru track
// * shift + surface of jog wheel: scan through track quickly
// * edge of jog wheel: jog though track slowly
// * shift + cue: move beatgrid
//
// track playing or not:
//
// * rotate push button: navigate tracks
// * shift + rotate push button: switch between playlists
// * cue button: default cue behaviour
// * play: toggle play
// * shift + play: sync[/QUOTE]

i managed to get quite a lot of functionality out of it considering the number of buttons… changing how controls function when the deck is playing compared to not playing also helps - plus makes sense to anyway.

mixxx is free if you wanted to try that mapping. i’m not sure whether it works with the latest 1.10.1 or only the 1.11 beta, tho i don’t think i used any 1.11 specific mapping tricks.

That’s ingenius… Thanks for the idea Zestoi… I will certainly have a play tonight to see what I can come up with, but no doubt I will be on here again seeking further guidance!

Cheers :+1:

cheers :wink: synthet1c is the chap you want re: scripting in vdj. it sort of makes sense to me but i don’t have vdj so can’t be all that much use. i do quite like my mixxx mapping. experimented with quite a few different ideas before coming up with it. gives me nice manual control over the decks without needing to worry before hand about beat grids or anything like that. i have the djm-101 that i also got for 20quid. it’s not the best, but does the job in a very small package…

Well it’s completely and utterly new to me…!! Any ideas on where I should look to begin after plugging the boy into the USB when I get home..?!

zestoi’s right, just change the mapping of all the controls to include “deck default” before whatever is there, it will make the controller operate only on the deck currently selected in “pfl” eg.

deck default touchwheel
deck default touchwheel_touch
deck default play_pause
deck default cue_stop
etc…

if you are just syncing I suggest you turn the pitch slider into a switch to change what the rest of the controls do so you can squeeze a little more use out of it.

pitch slider
param_smaller 25% ? set ‘$pitch_shift’ 0 & vinyl_mode 1 : param_smaller 50% ? set ‘$pitch_shift’ 1 & vinyl_mode 0 : param_smaller 75% ? set ‘$pitch_shift’ 2 & vinyl_mode 0 : set ‘$pitch_shift’ 3 & vinyl_mode 0

now you have 4 different shifts depending on the location of the pitch fader, you can of coarse have more if you choose you just need to add to the code…

I was bored so here is a mapping you can paste in.

pitch slider
param_smaller 25% ? set ‘$pitch_shift’ 0 & vinyl_mode 1 : param_smaller 50% ? set ‘$pitch_shift’ 1 & vinyl_mode 0 : param_smaller 75% ? set ‘$pitch_shift’ 2 & vinyl_mode 0 : set ‘$pitch_shift’ 3 & vinyl_mode 0

jogwheel
var ‘$pitch_shift’ 2 ? var ‘$flange’ ? param_greater 0% ? effect ‘qb_filter’ slider 3 +0.006 & effect ‘flanjet’ slider 1 +0.001 : effect ‘qb_filter’ slider 3 -0.005 & effect ‘flanjet’ slider 1 -0.001 : var ‘$ramp’ ? param_greater 0% ? effect ‘qb_filter’ slider 3 +0.006 & effect ‘ramp_delay’ slider 1 +0.007 : effect ‘qb_filter’ slider 3 -0.005 & effect ‘ramp_delay’ slider 1 -0.007 : param_greater 0% ? effect ‘qb_filter’ slider 3 +0.006 : effect ‘qb_filter’ slider 3 -0.005 : var ‘$pitch_shift’ 3 ? effect slider 1 : touchwheel

jog touch
var ‘$pitch_shift’ 2 ? var ‘$flange’ ? down ? effect ‘qb_filter’ slider 2 75% & effect ‘qb_filter’ active on & effect ‘flanjet’ active on & effect ‘flanjet’ slider 2 30% & effect ‘flanjet’ slider 1 50% & effect ‘qb_filter’ slider 3 50% : var ‘$ramp’ ? down ? effect ‘qb_filter’ slider 2 75% & effect ‘qb_filter’ active on & effect ‘ramp_delay’ active on & effect ‘ramp_delay’ slider 1 0% & effect ‘qb_filter’ slider 3 50% : down ? effect ‘qb_filter’ slider 2 75% & effect ‘qb_filter’ active on & effect ‘qb_filter’ slider 3 50% : var ‘$pitch_shift’ 3 ? down ? effect active on : effect active off : touchwheel_touch

play
var ‘$pitch_shift’ 0 ? effect ‘brakestart’ active : var ‘$pitch_shift’ 2 ? toggle ‘$ramp’ & set ‘$flange’ 0 : play_pause & sync

play led
var ‘$pitch_shift’ 2 ? var ‘$ramp’ ? blink 400ms : off : play ? on : blink

cue
var ‘$pitch_shift’ 0 ? effect ‘cut’ active while_pressed : var ‘$pitch_shift’ 2 ? toggle ‘$flange’ & set ‘$ramp’ 0 : play_pause & sync

cue led
var ‘$pitch_shift’ 2 ? var ‘$flange’ ? blink 400ms : off : play ? off : on

encoder
var ‘$pitch_shift’ 2 ? param_greater 0% ? browser_scroll +1 : browser_scroll -1 : var ‘$pitch_shift’ 3 ? effect slider 2 : param_greater 0% ? loop_select +1 : loop_select -1

encoder button with the encoder, when you are in browse mode you can hold for half a second then release the button to switch between the songs and folders, pressing the button quickly when the focus is on the songs will load the deck, or if the focus is on folders it will expand or collapse the folder.
var ‘$pitch_shift’ 2 ? holding ? browser_window “songs” ? browser_window “folders” : browser_window “songs” : browser_window “songs” ? load : browser_window “folders” ? browser_folder : nothing : loop

DJTECH101-synthetic.gif

this will only work on windows and you need to download and install the free vst qb filter, and vdj native effects “flanjet”, “ramp delay”, “cut” & “brakestart” from the vdj forum.
http://studio-qb.com/qb-filter/

It’s untested so hopefully there are no mistakes! enjoy

if it was me i’d download a free copy of mixxx and try out my mapping :wink: can’t hurt even if you end up using vdj as mixxx is free anyway. tho vdj pro seems to support the cdj-101 out of the box VirtualDJ - Hardware or even just try using the free software (deckadance?) that comes with the cdj101. i didn’t try it as i already own traktor and had switched to mixxx anyway.

awesome info and that was bloody quick :stuck_out_tongue: u have some rss alerts setup for posts containing vdj or your nick or something? :wink:

cunning idea… i bought mine for the sole purpose of having manual control but i do like your idea to turn it into a more multi purpose controller…

very very cool… :smiley: i’ll save that myself too to have another example of vdjscript. i actually have quite a collection now, mostly of snippets from you :wink:

It’s a shame this thing doesn’t have a couple more leds, then I could have done the shifting with the encoder, but with such little feedback it’s not really ideal so has to stay on the pitch slider, I wonder why they didn’t include 2 pitch bend buttons, then this would be useful for more than simple transport, but that’s about all I could squeeze out of it :wink:.

Actually on second thought the pitch fader could be a good crossfader that selects the active deck depending on which side it’s on…

If you want to try it pete just use find and rename to get rid of “deck default” to have it work on multiple decks.

WOW!! You guys must be some kind of computer programming overlords or something…(!!) Look forward to having a little test out this evening… Cheers again…

i guess no real need for pitch bend buttons when you’ve got the jog wheel there. not that i’d complain about having two extra buttons… what it does tho the cdj-101 does very well. i think it’s the “toy like” look of them that didn’t do themselves any favours plus the regular price of the units was over the top at about 100quid i think a piece.

[quote]
Actually on second thought the pitch fader could be a good crossfader that selects the active deck depending on which side it’s on…[/quote]

that would work well… the vtt-101 would be even better for that tho presume you lose the hi-res midi message and also the encoder.

[quote]
If you want to try it pete just use find and rename to get rid of “deck default” to have it work on multiple decks.[/QUOTE]

cheers :wink: i may well boot to windows sometime again and download the vdj pro demo.

the real power of midi controllers is being able to map them to exactly how you want them to work and why i never really understand people wanting to use other people’s mappings. it’s addictive :wink:

It’s like crack once you realize what you can do, and how easy it is to achieve.

Well after some faffing I got the CDJ-101 working pretty well with VDJ7… It seems that I didn’t need to alter the mapping at all, as it looked to be natively set up to control both decks when the Deck focus button is pressed (which is sweet!!)

I found the unit takes a bit of getting used to - the jogwheel/platter feels nothing like a Pioneer CDJ which is what I’ve used for years… But I’m sure I can adapt!

I was wondering is there a way to change the sensitivity of the jog wheel at all, i.e. the pitch bend function. I know there is an adjustment switch on the back of the unit which adjusts how sensitive the platter is, presumably for scratching. But the actual jog function I found to be too sensitive and ideally wanted to dial it back a few notches. Is this possible?

The same with the pitch fader, move it just a touch and the BPM flies of the scale..!! (That’s an exaggeration - but I found it difficult to be precise).

Any tips on how I can alter the VDJ script? Many thanks

i’m sure synthet1c will chime in with that info :wink: there must be options within vdj to change the global sensitivity of something like that? if not then you may just have to tweak the mapper. i’ve never used pio cdj’s, all my dj’ing till using controllers had been on turntables. i’d like to have the chance to use some cdj’s sometime tho… i actually really like the jogs on the cdj101 tho anyway, they move freely and are just about big enough. i like using the outer edge more than the top too for pitch bending etc.

just open config → options → jog sensitivity [scratch - cue - bend]

Or you can scale the action of the jog/slider by adding “param_multiply 50%” that will half the action of whatever it is mapped to eg.

if a jog is mapped to “param_multiply 50% & touchwheel” then it will take two revolutions to move the playhead the same distance. Or if you wish to make it much more sensitive you could increase the multiplication over 100% for example 200% will double the action of the jog making it so half a revolution will move the playhead a full revolution in distance.

It works the same for all CC messages “encoder/slider/knob” but with absolute messages “sliders/knobs” you can get fancy and map in super knobs to use different parts of the knob/slider for different things like controlling multiple effects… The beauty is there is no limits to how far you can push it as there is no limit on modifiers* and no special firmware required to send multiple midi messages as it’s all done in a single script.

*the limit’s actually 1000 characters per script, which I’ve only ever hit once or twice :wink:

1000 characters in a whole mapper is the limit? not sure why they’d make that limit these days - but it’s still quite a lot :stuck_out_tongue:

Synthetic, hello again…

Thanks very much for that… I would really like to have a go at pasting the script you kindly created yesterday into VDJ tonight as well… Please can you advise exactly where I need to go in settings? Obviously the mappings tab, but then where do I need to go / what do I need to do…?? (Apologies for my ignorance).

Also, is there a way to reverting back to default settings afterwards, or do I need to make a backup etc…??

no per individual control “button, knob, slider, encoder, led”, in notepad++ it’s 4095 characters… but the names for shifts/modifiers/variables is stored in the registry which has a storage limit of 1000 characters for the whole program not dependent on the controller and skins have the same limit of 1000 characters for pannels, I guess it’s the same for plugins but I have no idea to be honest as I know nothing about it to test.

since I’m addicted to gifs, here is another one to show where to paste the mapping :wink: