Quick Sign In:  

Forum: VirtualDJ Plugins

Topic: Sending Midi data via VDJ Script actions
I've read the following and I believe I understand it: https://www.virtualdj.com/forums/246170/VirtualDJ_Technical_Support/Send_midi_note_from_VirtualDJ_to_Cubase_via_LoopBe1__Help_please_.html

I understand the gist, my only question is how it actually causes the note to fire? 'repeat_start_instant 'StartFunkyChase' 2000ms 2 toggle "$Chase1"' causes the value of '$Chase1' to be toggled every 2 seconds and 'get_var '$Chase1' gets the value of the changed var, but how does this procedure fire the event internally? Does the VDJ Script interpreter fire the event when it's 'set' method is invoked? Will this event still be fired if $Chace1 is set to the same value twice in a row? I would love to understand this more deeply.
 

Posted Thu 07 Dec 23 @ 8:40 pm
Short story is I'm using the tevirtualmidi sdk to create virtual midi ports within my plugin to trigger commands over OSC. I'm doing this a bit backwards, I should have gotten a solid grasp on the VDJ sdk as well as VDJ scripting internals before experimenting.
 

Posted Thu 07 Dec 23 @ 9:23 pm
locoDogPRO InfinityModeratorMember since 2013
var $Chase1 is toggled
mapping key with name led_chase1 is monitoring that variable
mapping tells definition file "led_chase1 just got activated"
definition file looks that name up and performs the midi associated with that name

definition file gives names to midi command
mapping file attaches script to names
and it's 2 way i/o,
it could be a hw dial in midi>name>script
or could be output like an LED script>name>midi
 

Posted Thu 07 Dec 23 @ 10:38 pm
Thank you Locodog. Getting bytes into the midi device is proving pretty elusive. The only way I have succussed is using the 'toggle' command which suggests I'm looking at this wrong. The device/mapper documentation suggest substantially more than true/false can be sent via midi, any pointers would be awesome. I'm currently stuck trying to use bar element to send arbitrary CC values.
 

Posted Fri 08 Dec 23 @ 6:34 pm
locoDogPRO InfinityModeratorMember since 2013
<bar cc="0x00" name="myBar" default="aSlider" channel="0" />


bar example;
the thing with than name myBar will by default parse the script value held by a name called aSlider, that default is use only when no script has been mapped to myBar.
If script is attached [in mapping, not definition], it uses the script to work out the value.
 

Posted Sat 09 Dec 23 @ 12:51 am
Within the pad editor I created a page named "Test". Within 'Test' I edited pad 1, naming it 'Test Button' with the action ' set_var '$Chase1' 1 '. When I press 'Test Button' it sends the value of 127 as expected. However, if I press it again nothing happens. If I edit the buttons action to ' set_var '$Chase1' 0.5 ' it sends the value 64 as expected, if I click a second time nothing happens. This isn't my desired behavior, is there any way to send a value even if it's unchanged?
 

Posted Tue 12 Dec 23 @ 3:09 am
locoDogPRO InfinityModeratorMember since 2013
toggle '$Chase1'
set '$Chase1' 1 while_pressed
 

Posted Tue 12 Dec 23 @ 3:19 am
I think I may be going about this wrong. I think sysex might be a better approach to the behavior I'm trying to achieve. Any advice would be appreciated, otherwise I'll post back soon with whatever questions pop up. More than anything I'm trying to learn what I can about midi within VDJ, not trying to solve a real problem at this point. Btw, ' set '$Chase1' 0.5 while_pressed ' sends two events over midi, even without a 'toggle' it sends '0' and then '64' in two events. ' set '$Chase1' 1 while_pressed ' sends '0' and then '127'.
 

Posted Tue 12 Dec 23 @ 3:35 am
locoDogPRO InfinityModeratorMember since 2013
Let's stop the roundabout, what is it you want to do exactly?
 

Posted Tue 12 Dec 23 @ 3:45 am
I'm an experienced developer and started getting interested in VDJ plugin development a few months ago, it's interesting and a break away from what I usually do. I'm not the type to be satisficed just by making a button do something, I enjoy learning how it does it, and then splitting those individual concepts into their pieces until I fully understand how they all work. I am currently playing with VDJ Midi, my hope is to create my own work flow for using VDJ along with Ableton and FL Studio, but in truth I'll probably spend more time on VDJ related coding than I will using it.
 

Posted Thu 14 Dec 23 @ 3:23 am
I'm currently playing with sending midi note messages from Ableton Live that are converted into CC messages within my plugin, which are then sent into a virtual midi port that VDJ recognizes as a Numark N4. I play with my physical N4 controller until I find something that I like, then try to automate it. I'm having interesting results.
 

Posted Thu 14 Dec 23 @ 3:34 am