Newbie here with hopefully an easy(ish) question….
Firstly, hi all!
Software (ALL LOADED TO SAME LAPTOP):
Virtual DJ Pro Infinity license – Freestyler MIDI Remote Control
Freestyler DMX
loopMIDI
Background:
Virtual DJ - installed, registered etc etc…
Freestyler DMX – installed, lighting set up, scenes / cues / S2L all working.
loopMIDI – installed, comms between Virtual DJ and Freestyler working.
What I am trying to achieve:
After many failed searches, can anyone point me in the right direction, or advise if even possible, to code a pad which will take the current active deck bpm and send it to the Freestyler scene speed?
To prove the comms between Virtual Dj and Freestyler, setting the pad section in Virtual DJ to DMX, I can get the pads to activate CUE’s in Freestyler to the desired pad press (Blackout / Strobe etc) so we know this is working.
Visual achievement:
Within Virtual DJ
if deck 1 has a playing BPM of 130.

I would like to be able to single press a pad (let’s say ‘cmd 1’ for this instance) and the BPM of that deck is sent to Freestyler scene speed.

Within Freestyler
Column 10 in the CUE page is set to show as BPM.

I can get this (10) to update if I code a Virtual DJ pad to ‘tap sync’ (22) in Freestyler. The problem being is that this needs multiple taps to get relatively close to the current BPM, but, steps eventually run noticeably out of sync as this is not very accurate – my trialed example – Virtual DJ was playing at a BPM of 118, after several presses on the pad inline with the beat grid, Freestyler would set it to 120 or 115 etc….
Why am I trying to achieve this:
While the S2L function within Freestyler works pretty well, I have a double sound card output which I believe S2L can only look at 1, that said, the odd miss beat or double beat is also what is letting it down for me. I wish to have the current playing BPM (whether deck 1 or 2) sent to Freestyler for the scene speed at the push of a pad. Some may say this would look weird during a vocal only part of the track; however, I have other plans for those parts.
I have no knowledge of code or editing MIDI commands and have been researching search engines and both software forum pages for ideas (many of which are dated now), which ends me in trial and error…. Just too much error hence I’m here asking for help.
This is where I started
VirtualDJ - The Advanced Freestyler integration thread
www.virtualdj.com/forums/218737/VirtualDJ_Plugins/The_Advanced_Freestyler_integration_thread.html
Any pad coding help or software advise / tweaks would be greatly appreciated!
Apologies if this has been covered previously (I’ve found other softwares discussing similar, but not come across anything for my scenario), but as always, thanks in advance.
Firstly, hi all!
Software (ALL LOADED TO SAME LAPTOP):
Virtual DJ Pro Infinity license – Freestyler MIDI Remote Control
Freestyler DMX
loopMIDI
Background:
Virtual DJ - installed, registered etc etc…
Freestyler DMX – installed, lighting set up, scenes / cues / S2L all working.
loopMIDI – installed, comms between Virtual DJ and Freestyler working.
What I am trying to achieve:
After many failed searches, can anyone point me in the right direction, or advise if even possible, to code a pad which will take the current active deck bpm and send it to the Freestyler scene speed?
To prove the comms between Virtual Dj and Freestyler, setting the pad section in Virtual DJ to DMX, I can get the pads to activate CUE’s in Freestyler to the desired pad press (Blackout / Strobe etc) so we know this is working.
Visual achievement:
Within Virtual DJ
if deck 1 has a playing BPM of 130.

I would like to be able to single press a pad (let’s say ‘cmd 1’ for this instance) and the BPM of that deck is sent to Freestyler scene speed.

Within Freestyler
Column 10 in the CUE page is set to show as BPM.

I can get this (10) to update if I code a Virtual DJ pad to ‘tap sync’ (22) in Freestyler. The problem being is that this needs multiple taps to get relatively close to the current BPM, but, steps eventually run noticeably out of sync as this is not very accurate – my trialed example – Virtual DJ was playing at a BPM of 118, after several presses on the pad inline with the beat grid, Freestyler would set it to 120 or 115 etc….
Why am I trying to achieve this:
While the S2L function within Freestyler works pretty well, I have a double sound card output which I believe S2L can only look at 1, that said, the odd miss beat or double beat is also what is letting it down for me. I wish to have the current playing BPM (whether deck 1 or 2) sent to Freestyler for the scene speed at the push of a pad. Some may say this would look weird during a vocal only part of the track; however, I have other plans for those parts.
I have no knowledge of code or editing MIDI commands and have been researching search engines and both software forum pages for ideas (many of which are dated now), which ends me in trial and error…. Just too much error hence I’m here asking for help.
This is where I started
VirtualDJ - The Advanced Freestyler integration thread
www.virtualdj.com/forums/218737/VirtualDJ_Plugins/The_Advanced_Freestyler_integration_thread.html
Any pad coding help or software advise / tweaks would be greatly appreciated!
Apologies if this has been covered previously (I’ve found other softwares discussing similar, but not come across anything for my scenario), but as always, thanks in advance.
geposted 6 days ago @ 9:49 am
isn't this done just by sending midiclock out of the virtualDevice?
geposted 6 days ago @ 10:00 am
Thank you for the quick response, however, being completely new to this I have no idea what a virtualdevice is....
However, with a further evening of trail and test, I have achieved!
The issue was found to be that a Freestyler Extension had to be activated and 'send beats' turned on.
FIX
Install the following extension from -
Settings > Extensions > Effects > Other > Freestyler
Switch the layout to master mixer and select the master effect to be freestyler (4), then select the options (cog) and set send beats to 'on'.

My next task is now that this is working some tracks have an obvious over sped BPM.
I need now to slow the BPM down or in some cases speed it up, which leads to a few follow up questions....
Track is playing, lights are flashing to the said BPM, multiplier set to 1, could I code 2 pads (on the DMX pad page) so that i can multiply by 1 on each press and another that divides by 1?
I find this can be added but as a one off increase per pad...
i.e. pad 5 = divide by 2, pad 6 = divide by 1, pad 7 = multiply by 1 (normal operation), pad 8 = multiply by 2
what I'd like to do is...
pad 5 = divide by 1 - with each press (first press 0, second press -1, third press -2 etc....)
pad 8 = multiply by 1 - with each press (first press 2, second press 3, third press 4 etc....)
pad 6 or 7 = multiply reset to 1 (normal BPM)
is this a possibility or can one pad only do one function? as in it will divide or multiply by 1 only?
And as a big finish, with each deck change, the multiplier is to be reset to 1 as the crossfader passes through mid position (where next track BMP is currently sent).
However, with a further evening of trail and test, I have achieved!
The issue was found to be that a Freestyler Extension had to be activated and 'send beats' turned on.
FIX
Install the following extension from -
Settings > Extensions > Effects > Other > Freestyler
Switch the layout to master mixer and select the master effect to be freestyler (4), then select the options (cog) and set send beats to 'on'.

My next task is now that this is working some tracks have an obvious over sped BPM.
I need now to slow the BPM down or in some cases speed it up, which leads to a few follow up questions....
Track is playing, lights are flashing to the said BPM, multiplier set to 1, could I code 2 pads (on the DMX pad page) so that i can multiply by 1 on each press and another that divides by 1?
I find this can be added but as a one off increase per pad...
i.e. pad 5 = divide by 2, pad 6 = divide by 1, pad 7 = multiply by 1 (normal operation), pad 8 = multiply by 2
what I'd like to do is...
pad 5 = divide by 1 - with each press (first press 0, second press -1, third press -2 etc....)
pad 8 = multiply by 1 - with each press (first press 2, second press 3, third press 4 etc....)
pad 6 or 7 = multiply reset to 1 (normal BPM)
is this a possibility or can one pad only do one function? as in it will divide or multiply by 1 only?
And as a big finish, with each deck change, the multiplier is to be reset to 1 as the crossfader passes through mid position (where next track BMP is currently sent).
geposted 5 days ago @ 6:58 am
This is what's available
set_bpm 200%
set_bpm 50%
set_bpm 200%
set_bpm 50%
geposted 5 days ago @ 7:34 am
locoDog wrote :
This is what's available
set_bpm 200%
set_bpm 50%
set_bpm 200%
set_bpm 50%
so if i have a track that is 140, and i code a pad to be 50%, will the track now play at 70 when pressed or would that just change output (to freestyler) and the track continue at 140?
thank you for the help and sorry for the questions, not with my kit at the min else I would give it a go.
geposted 5 days ago @ 7:50 am
actual bpm is the thing that is sent so that's the only thing you can change, the bpm value might change but the playback will remain at the same speed. or you could have half/double time variations of your sequences.
geposted 5 days ago @ 7:59 am
I have my own interpretation of this
https://www.virtualdj.com/user/locoDog/blogs/6224/midi_page_MIDI%2FOS2L.html
midi or os2l, 256 nameable button, placing upto 1000 action cues per track or just live input
https://www.virtualdj.com/user/locoDog/blogs/6224/midi_page_MIDI%2FOS2L.html
midi or os2l, 256 nameable button, placing upto 1000 action cues per track or just live input
geposted 5 days ago @ 8:05 am
locoDog wrote :
actual bpm is the thing that is sent so that's the only thing you can change, the bpm value might change but the playback will remain at the same speed. or you could have half/double time variations of your sequences.
sort of get where your going.... will give it a try when I get back.
Without adjusting the playback speed (so the track sounds normal speed to the listener).
I am after coding 3 pads, 1 as a multiplier, 1 as a divider and 1 as a reset (along with a reset coded to the crossfader at mid position) controlling the slider setting within the effect.
I can do this manually (with a mouse on the slider) through the settings of the effect but would find it easier through a pad.

What I am trying to do is
- code pad 5 to be the divider, 6 or 7 (and crossfade mid point) to be the reset (nominal 1 on the slider) and 8 to be the multiplier.
once above pads are coded, can they only be used as single shot or can they progress the output (increase / decrease the slider) over multiple presses (multiplier for instance (pad 8), first press = x2, second press = x3 etc etc...)
The reason behind this is some slow tracks have a higher / lower BPM than expected.
geposted 5 days ago @ 9:03 am
oh it's a plugin, well the multiplier is a slider so control it with effect_slider syntax
geposted 5 days ago @ 9:05 am
thanks for the advice, had a go, dont know what i'm missing....
using your code, this only changes the FX slider (echo).
with this being a floating master effect, I'm at a loss again.
using your code, this only changes the FX slider (echo).
with this being a floating master effect, I'm at a loss again.

geposted 3 days ago @ 2:25 pm
up button
down button
deck master param_smaller `param_multiply 1 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 1 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
param_smaller `param_multiply 2 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 2 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
param_smaller `param_multiply 3 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 3 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
param_smaller `param_multiply 4 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 4 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
param_smaller `param_multiply 5 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 5 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
effect_slider freestyler 1 1.0
down button
deck master param_bigger `param_multiply 6 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 5 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
param_bigger `param_multiply 4 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 4 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
param_bigger `param_multiply 3 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 3 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
param_bigger `param_multiply 2 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 2 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
param_bigger `param_multiply 1 'get_constant 7 & param_1_x'` `effect_slider freestyler 1` ? param_multiply 1 `get_constant 7 & param_1_x` & param_cast & effect_slider freestyler 1 :
effect_slider freestyler 1 0.0
geposted 3 days ago @ 3:07 pm
well thats a little more coding than what i was playing with..... wow.
worked a treat! that would of took me an age to get that!
thank you very much.... very good effort there!
worked a treat! that would of took me an age to get that!
thank you very much.... very good effort there!
geposted 3 days ago @ 4:06 pm
Thanks LOCODOG for you help here....
My final quests are to have a pad that will set the slider back to its default position x1 (ie position 4 = x1) and to reset back to x1 as the cross fader passes through dead center if not already there.
the slider has 7 positions
1= x1/8
2= x1/4
3= x1/2
4= x1
5= x2
6= x4
7= x8
for the pad I have tried to code it using the set effect slider freestyler 1 50% and also tried to manipulate your code to try and get it going to no avail... am i chasing my tail? can this be done?
Crossfader:
I guess once the pad is configured the code will be inputted in the same way against the cross fader?
thanks in advance.
My final quests are to have a pad that will set the slider back to its default position x1 (ie position 4 = x1) and to reset back to x1 as the cross fader passes through dead center if not already there.
the slider has 7 positions
1= x1/8
2= x1/4
3= x1/2
4= x1
5= x2
6= x4
7= x8
for the pad I have tried to code it using the set effect slider freestyler 1 50% and also tried to manipulate your code to try and get it going to no avail... am i chasing my tail? can this be done?
Crossfader:
I guess once the pad is configured the code will be inputted in the same way against the cross fader?
thanks in advance.
geposted yesterday @ 8:08 am
deck master effect_slider freestyler 1 50%
crossfader & param_equal 0.5 `crossfader` ? deck master effect_slider freestyler 1 50% :
crossfader & param_equal 0.5 `crossfader` ? deck master effect_slider freestyler 1 50% :
geposted 24 hours ago
ahhhh! I see where I was going wrong....
I was using the 'set' command rather than 'deck master'.
The unfortunate side of using 50% is the x1 fader position runs somewhere between 43% and 57%.
Setting the % to be within this range now requires a double tap of the previously coded divide pad to drop down to x1/2 (presumably it is looking for the fader to be in its absolute lower limit before the pad press will drop to x1/2, hence the double press required - 1st to bring it in line to correct fader position expected, 2nd to then be able to carry out the divide).
After some trial and error I have set it to 42.86% which has now done the trick.... (which must be the absolute bottom limit of x1)
Throughout, multiply continued to work as expected providing I had it anywhere within the outer limits of x1, divide (being set at 42.86%) is now functioning correctly with a single press.
My final task is now to try and implement this on the crossfader to carry out the reset at 49% climbing, 51% falling so if there is a difference in BPM each deck has a chance to reset before crossing over to the opposite deck and new BPM.
As previous, thank you so much!
I was using the 'set' command rather than 'deck master'.
The unfortunate side of using 50% is the x1 fader position runs somewhere between 43% and 57%.
Setting the % to be within this range now requires a double tap of the previously coded divide pad to drop down to x1/2 (presumably it is looking for the fader to be in its absolute lower limit before the pad press will drop to x1/2, hence the double press required - 1st to bring it in line to correct fader position expected, 2nd to then be able to carry out the divide).
After some trial and error I have set it to 42.86% which has now done the trick.... (which must be the absolute bottom limit of x1)
Throughout, multiply continued to work as expected providing I had it anywhere within the outer limits of x1, divide (being set at 42.86%) is now functioning correctly with a single press.
My final task is now to try and implement this on the crossfader to carry out the reset at 49% climbing, 51% falling so if there is a difference in BPM each deck has a chance to reset before crossing over to the opposite deck and new BPM.
As previous, thank you so much!
geposted 21 hours ago
locoDog wrote :
deck master effect_slider freestyler 1 50%
crossfader & param_equal 0.5 `crossfader` ? deck master effect_slider freestyler 1 50% :
crossfader & param_equal 0.5 `crossfader` ? deck master effect_slider freestyler 1 50% :
sorry only just noticed as was typing back as i was in test....
daft one, where do I put the crossfader code i don't see how i can add this on to it? would this be as part of controller mapping?
geposted 21 hours ago
controller mapping yes.
geposted 21 hours ago
so, just got back and gave everything together a try....
laptop & lights = all working as expected.
laptop, lights and controller = none of the pads working correctly.
Controller = Numark Mixtrack Platinum FX
Laptop Booted,
Freestyler started,
VDJ started,
The effect is activated on pad 7 on the controller (works with / without controller),
Track loaded and played,
All on (pad 1) pressed, without controller connected everything works, with controller connected just the pad lights up and lights do nothing (looked in to the outputs on freestyler, all low),
Same with pads 1-4.
pad 5 & 8 tried with controller connected (weird ghosting now appearing on the effect fader and not functioning correctly)

before i start making changes and messing everything up, should i have mapped the pads on the controller with the codes instead of on the DMX pads on VDJ screen?
laptop & lights = all working as expected.
laptop, lights and controller = none of the pads working correctly.
Controller = Numark Mixtrack Platinum FX
Laptop Booted,
Freestyler started,
VDJ started,
The effect is activated on pad 7 on the controller (works with / without controller),
Track loaded and played,
All on (pad 1) pressed, without controller connected everything works, with controller connected just the pad lights up and lights do nothing (looked in to the outputs on freestyler, all low),
Same with pads 1-4.
pad 5 & 8 tried with controller connected (weird ghosting now appearing on the effect fader and not functioning correctly)

before i start making changes and messing everything up, should i have mapped the pads on the controller with the codes instead of on the DMX pads on VDJ screen?

geposted 17 hours ago
not controller pads, all mapping should be in the padpage editor.
Post the pad page code here.
Send Commands button should be on?
Post the pad page code here.
Send Commands button should be on?
geposted 17 hours ago
just tried a little test....
1 start laptop, run freestyler, run vdj, all worked
2 start laptop, connect controller, run freestyler, run vdj, nothing worked
3 start laptop, run freestyler, run vdj, connect controller and acknoledge connection all worked
Im thinking it may be that VDJ doesn't like to start with both freestyler remote running and the controller????
if i start vdj without controller

if i start vdj with controller
1 start laptop, run freestyler, run vdj, all worked
2 start laptop, connect controller, run freestyler, run vdj, nothing worked
3 start laptop, run freestyler, run vdj, connect controller and acknoledge connection all worked
Im thinking it may be that VDJ doesn't like to start with both freestyler remote running and the controller????
if i start vdj without controller

if i start vdj with controller

geposted 17 hours ago