Quick Sign In:  

Forum: General Discussion

Topic: Hot Cue with Saved Loops
Pioneer style Hot Cues and Saved Loops on the same Pad Page.

Hot-Cues are red. Saved Loops are Green. Buttons are labeled, but unfortunately we can't change names of the Loops.

Create an xml-file with the following code and save it here \Documents\VirtualDJ\Pads
In the pad-page-menu assign the name of your xml-file to the button you want.

<?xml version="1.0" encoding="UTF-8"?>
<page name="newcue">
<pad1 name=" `cue_display 99999991``saved_loop_display 91` " color="hot_cue 99999991 ? color "red" : saved_loop 91 ? color "green" : nothing">hot_cue 99999991 ? true & loop_exit & hot_cue 99999991 : saved_loop 1 ? blink & saved_loop 1 : loop ? saved_loop 1 : hot_cue 99999991 & cue_name 99999991 "1"</pad1>
<shift_pad1 name="DELETE">loop_delete 91 & delete_cue 99999991</shift_pad1>
<pad2 name=" `cue_display 99999992``saved_loop_display 92` " color="hot_cue 99999992 ? color "red" : saved_loop 92 ? color "green" : nothing">hot_cue 99999992 ? true & loop_exit & hot_cue 99999992 : saved_loop 2 ? blink & saved_loop 2 : loop ? saved_loop 2 : hot_cue 99999992 & cue_name 99999992 "2"</pad2>
<pad5 name=" `cue_display 99999995``saved_loop_display 95` " color="hot_cue 99999995 ? color "red" : saved_loop 95 ? color "green" : nothing">hot_cue 99999995 ? true & loop_exit & hot_cue 99999995 : saved_loop 5 ? blink & saved_loop 5 : loop ? saved_loop 5 : hot_cue 99999995 & cue_name 99999995 "5"</pad5>
<shift_pad2 name="DELETE">loop_delete 92 & delete_cue 99999992</shift_pad2>
<shift_pad5 name="DELETE">loop_delete 95 & delete_cue 99999995</shift_pad5>
<pad3 name=" `cue_display 99999993``saved_loop_display 93` " color="hot_cue 99999993 ? color "red" : saved_loop 93 ? color "green" : nothing">hot_cue 99999993 ? true & loop_exit & hot_cue 99999993 : saved_loop 3 ? blink & saved_loop 3 : loop ? saved_loop 3 : hot_cue 99999993 & cue_name 99999993 "3"</pad3>
<pad4 name=" `cue_display 99999994``saved_loop_display 94` " color="hot_cue 99999994 ? color "red" : saved_loop 94 ? color "green" : nothing">hot_cue 99999994 ? true & loop_exit & hot_cue 99999994 : saved_loop 4 ? blink & saved_loop 4 : loop ? saved_loop 4 : hot_cue 99999994 & cue_name 99999994 "4"</pad4>
<pad8 name=" `cue_display 99999998``saved_loop_display 98` " color="hot_cue 99999998 ? color "red" : saved_loop 98 ? color "green" : nothing">hot_cue 99999998 ? true & loop_exit & hot_cue 99999998 : saved_loop 8 ? blink & saved_loop 8 : loop ? saved_loop 8 : hot_cue 99999998 & cue_name 99999998 "8"</pad8>
<pad7 name=" `cue_display 99999997``saved_loop_display 97` " color="hot_cue 99999997 ? color "red" : saved_loop 97 ? color "green" : nothing">hot_cue 99999997 ? true & loop_exit & hot_cue 99999997 : saved_loop 7 ? blink & saved_loop 7 : loop ? saved_loop 7 : hot_cue 99999997 & cue_name 99999997 "7"</pad7>
<pad6 name=" `cue_display 99999996``saved_loop_display 96` " color="hot_cue 99999996 ? color "red" : saved_loop 96 ? color "green" : nothing">hot_cue 99999996 ? true & loop_exit & hot_cue 99999996 : saved_loop 6 ? blink & saved_loop 6 : loop ? saved_loop 6 : hot_cue 99999996 & cue_name 99999996 "6"</pad6>
<shift_pad3 name="DELETE">loop_delete 93 & delete_cue 99999993</shift_pad3>
<shift_pad4 name="DELETE">loop_delete 94 & delete_cue 99999994</shift_pad4>
<shift_pad8 name="DELETE">loop_delete 98 & delete_cue 99999998</shift_pad8>
<shift_pad7 name="DELETE">loop_delete 97 & delete_cue 99999997</shift_pad7>
<shift_pad6 name="DELETE">loop_delete 96 & delete_cue 99999996</shift_pad6>
</page>

 

Posted Sun 11 Jun 23 @ 9:18 pm

Posted Thu 29 Jun 23 @ 4:45 pm[ selected best answer by djdad on Sat 19 Aug 23 @ 6:09 am ]
Nice, thanks! Need to tweak it a bit... change the " the quoted version and the ampersand as well.

Works now, almost like in rekordbox :-) Nice. Only difference in rb is the loop will play as long as you hold the pad. But that's not really an issue.

I also just changed all the long numbers to 1...8 then they also appear in the regular hotcue menu.
 

Posted Wed 28 Jun 23 @ 7:33 pm
<?xml version="1.0" encoding="UTF-8"?>
<page name="Pioneer Pads">
<pad1 name=" `cue_display 1``saved_loop_display 1` " color="hot_cue 1 ? color &quot;red&quot; : saved_loop 1 ? color &quot;green&quot; : nothing">hot_cue 1 ? true &amp; loop_exit &amp; hot_cue 1 : saved_loop 1 ? blink &amp; saved_loop 1 : loop ? saved_loop 1 : hot_cue 1 &amp; cue_name 1 &quot;1&quot;</pad1>
<pad2 name=" `cue_display 2``saved_loop_display 2` " color="hot_cue 2 ? color &quot;red&quot; : saved_loop 2 ? color &quot;green&quot; : nothing">hot_cue 2 ? true &amp; loop_exit &amp; hot_cue 2 : saved_loop 2 ? blink &amp; saved_loop 2 : loop ? saved_loop 2 : hot_cue 2 &amp; cue_name 2 &quot;2&quot;</pad2>
<pad3 name=" `cue_display 3``saved_loop_display 3` " color="hot_cue 3 ? color &quot;red&quot; : saved_loop 3 ? color &quot;green&quot; : nothing">hot_cue 3 ? true &amp; loop_exit &amp; hot_cue 3 : saved_loop 3 ? blink &amp; saved_loop 3 : loop ? saved_loop 3 : hot_cue 3 &amp; cue_name 3 &quot;3&quot;</pad3>
<pad4 name=" `cue_display 4``saved_loop_display 4` " color="hot_cue 4 ? color &quot;red&quot; : saved_loop 4 ? color &quot;green&quot; : nothing">hot_cue 4 ? true &amp; loop_exit &amp; hot_cue 4 : saved_loop 4 ? blink &amp; saved_loop 4 : loop ? saved_loop 4 : hot_cue 4 &amp; cue_name 4 &quot;4&quot;</pad4>
<pad5 name=" `cue_display 5``saved_loop_display 5` " color="hot_cue 5 ? color &quot;red&quot; : saved_loop 5 ? color &quot;green&quot; : nothing">hot_cue 5 ? true &amp; loop_exit &amp; hot_cue 5 : saved_loop 5 ? blink &amp; saved_loop 5 : loop ? saved_loop 5 : hot_cue 5 &amp; cue_name 5 &quot;5&quot;</pad5>
<pad6 name=" `cue_display 6``saved_loop_display 6` " color="hot_cue 6 ? color &quot;red&quot; : saved_loop 6 ? color &quot;green&quot; : nothing">hot_cue 6 ? true &amp; loop_exit &amp; hot_cue 6 : saved_loop 6 ? blink &amp; saved_loop 6 : loop ? saved_loop 6 : hot_cue 6 &amp; cue_name 6 &quot;6&quot;</pad6>
<pad7 name=" `cue_display 7``saved_loop_display 7` " color="hot_cue 7 ? color &quot;red&quot; : saved_loop 7 ? color &quot;green&quot; : nothing">hot_cue 7 ? true &amp; loop_exit &amp; hot_cue 7 : saved_loop 7 ? blink &amp; saved_loop 7 : loop ? saved_loop 7 : hot_cue 7 &amp; cue_name 7 &quot;7&quot;</pad7>
<pad8 name=" `cue_display 8``saved_loop_display 8` " color="hot_cue 8 ? color &quot;red&quot; : saved_loop 8 ? color &quot;green&quot; : nothing">hot_cue 8 ? true &amp; loop_exit &amp; hot_cue 8 : saved_loop 8 ? blink &amp; saved_loop 8 : loop ? saved_loop 8 : hot_cue 8 &amp; cue_name 8 &quot;8&quot;</pad8>
<shift_pad1 name="DELETE">loop_delete 1 &amp; delete_cue 1</shift_pad1>
<shift_pad2 name="DELETE">loop_delete 2 &amp; delete_cue 2</shift_pad2>
<shift_pad3 name="DELETE">loop_delete 3 &amp; delete_cue 3</shift_pad3>
<shift_pad4 name="DELETE">loop_delete 4 &amp; delete_cue 4</shift_pad4>
<shift_pad5 name="DELETE">loop_delete 5 &amp; delete_cue 5</shift_pad5>
<shift_pad6 name="DELETE">loop_delete 6 &amp; delete_cue 6</shift_pad6>
<shift_pad7 name="DELETE">loop_delete 7 &amp; delete_cue 7</shift_pad7>
<shift_pad8 name="DELETE">loop_delete 8 &amp; delete_cue 8</shift_pad8>
</page>
 

Posted Wed 28 Jun 23 @ 7:34 pm
 

Posted Thu 29 Jun 23 @ 8:01 am
 

Posted Thu 29 Jun 23 @ 4:05 pm
 

 Selected as best answer Posted Thu 29 Jun 23 @ 4:45 pm
 

Posted Tue 18 Jul 23 @ 10:22 pm
rrrichieXL wrote :
Nice, thanks! Need to tweak it a bit... change the " the quoted version and the ampersand as well.


I don't get this part sorry.

rrrichieXL wrote :
Works now, almost like in rekordbox :-) Nice. Only difference in rb is the loop will play as long as you hold the pad. But that's not really an issue.


It has been an issue. Now loops are working like in rekordbox.

rrrichieXL wrote :
I also just changed all the long numbers to 1...8 then they also appear in the regular hotcue menu.


I also did this in the new version.
 

Posted Tue 18 Jul 23 @ 10:32 pm
UPDATE

Changelog:

- Loops work like in Rekordbox (Gate Mode when paused)
- Bug fixes

Create an xml-file with the following code and save it here \Documents\VirtualDJ\Pads
In the pad-page-menu assign the name of your xml-file to the button you want.

 

Posted Tue 18 Jul 23 @ 11:00 pm
<?xml version="1.0" encoding="UTF-8"?>
<page name="newcue">
<pad1 name=" `cue_display 1`" color="saved_loop 1 ? color &quot;green&quot; : hot_cue 1 ? color &quot;red&quot; : nothing">saved_loop 1 ? blink &amp; saved_loop 1 &amp; hot_cue 1 : hot_cue 1 ? true &amp; loop_exit &amp; hot_cue 1 : loop ? saved_loop 1 &amp; hot_cue 1 &amp; cue_name 1 " " : hot_cue 1</pad1>
<shift_pad1 name="DELETE">loop_delete 1 &amp; delete_cue 1</shift_pad1>
<pad2 name=" `cue_display 2`" color="saved_loop 2 ? color &quot;green&quot; : hot_cue 2 ? color &quot;red&quot; : nothing">saved_loop 2 ? blink &amp; saved_loop 2 &amp; hot_cue 2 : hot_cue 2 ? true &amp; loop_exit &amp; hot_cue 2 : loop ? saved_loop 2 &amp; hot_cue 2 &amp; cue_name 2 " " : hot_cue 2</pad2>
<pad5 name=" `cue_display 5`" color="saved_loop 5 ? color &quot;green&quot; : hot_cue 5 ? color &quot;red&quot; : nothing">saved_loop 5 ? blink &amp; saved_loop 5 &amp; hot_cue 5 : hot_cue 5 ? true &amp; loop_exit &amp; hot_cue 5 : loop ? saved_loop 5 &amp; hot_cue 5 &amp; cue_name 5 " " : hot_cue 5</pad5>
<shift_pad2 name="DELETE">loop_delete 2 &amp; delete_cue 2</shift_pad2>
<shift_pad5 name="DELETE">loop_delete 5 &amp; delete_cue 5</shift_pad5>
<pad3 name=" `cue_display 3`" color="saved_loop 3 ? color &quot;green&quot; : hot_cue 3 ? color &quot;red&quot; : nothing">saved_loop 3 ? blink &amp; saved_loop 3 &amp; hot_cue 3 : hot_cue 3 ? true &amp; loop_exit &amp; hot_cue 3 : loop ? saved_loop 3 &amp; hot_cue 3 &amp; cue_name 3 " " : hot_cue 3</pad3>
<pad4 name=" `cue_display 4`" color="saved_loop 4 ? color &quot;green&quot; : hot_cue 4 ? color &quot;red&quot; : nothing">saved_loop 4 ? blink &amp; saved_loop 4 &amp; hot_cue 4 : hot_cue 4 ? true &amp; loop_exit &amp; hot_cue 4 : loop ? saved_loop 4 &amp; hot_cue 4 &amp; cue_name 4 " " : hot_cue 4</pad4>
<pad8 name=" `cue_display 8`" color="saved_loop 8 ? color &quot;green&quot; : hot_cue 8 ? color &quot;red&quot; : nothing">saved_loop 8 ? blink &amp; saved_loop 8 &amp; hot_cue 8 : hot_cue 8 ? true &amp; loop_exit &amp; hot_cue 8 : loop ? saved_loop 8 &amp; hot_cue 8 &amp; cue_name 8 " " : hot_cue 8</pad8>
<pad7 name=" `cue_display 7`" color="saved_loop 7 ? color &quot;green&quot; : hot_cue 7 ? color &quot;red&quot; : nothing">saved_loop 7 ? blink &amp; saved_loop 7 &amp; hot_cue 7 : hot_cue 7 ? true &amp; loop_exit &amp; hot_cue 7 : loop ? saved_loop 7 &amp; hot_cue 7 &amp; cue_name 7 " " : hot_cue 7</pad7>
<pad6 name=" `cue_display 6`" color="saved_loop 6 ? color &quot;green&quot; : hot_cue 6 ? color &quot;red&quot; : nothing">saved_loop 6 ? blink &amp; saved_loop 6 &amp; hot_cue 6 : hot_cue 6 ? true &amp; loop_exit &amp; hot_cue 6 : loop ? saved_loop 6 &amp; hot_cue 6 &amp; cue_name 6 " " : hot_cue 6</pad6>
<shift_pad3 name="DELETE">loop_delete 3 &amp; delete_cue 3</shift_pad3>
<shift_pad4 name="DELETE">loop_delete 4 &amp; delete_cue 4</shift_pad4>
<shift_pad8 name="DELETE">loop_delete 8 &amp; delete_cue 8</shift_pad8>
<shift_pad7 name="DELETE">loop_delete 7 &amp; delete_cue 7</shift_pad7>
<shift_pad6 name="DELETE">loop_delete 6 &amp; delete_cue 6</shift_pad6>
</page>
 

Posted Wed 19 Jul 23 @ 12:01 am
Settings:

hotcueMode: stutter
cueDisplay: position
 

Posted Wed 19 Jul 23 @ 12:48 am
UPDATE

Changelog:

- Hot Cues are set independent from the beginning of the saved loop
- Loops: Gate Mode when paused
- Blinking removed
- Performance increased
- Bugs fixed

Settings:

hotcueMode: stutter
cueDisplay: position
loopAutoMove: no

Create an xml-file with the following code and save it here \Documents\VirtualDJ\Pads
In the pad-page-menu assign the name of your xml-file to the button you want.

<?xml version="1.0" encoding="UTF-8"?>
<page name="newcue">
<pad1 name=" `cue_display 1`" color="saved_loop 1 ? color &quot;green&quot; : hot_cue 1 ? color &quot;red&quot; : nothing">hot_cue 1 ? hot_cue 1 &amp;
saved_loop 1 ?
loop ? nothing : saved_loop_prepare 1 :
loop_exit :
loop ? hot_cue 1 &amp; saved_loop_prepare 1 &amp; cue_name 1 &quot; &quot; : hot_cue 1</pad1>
<shift_pad1 name="DELETE">hot_cue 1 ? true &amp; delete_cue 1 &amp; loop_delete 1 : nothing</shift_pad1>
<pad2 name=" `cue_display 2`" color="saved_loop 2 ? color &quot;green&quot; : hot_cue 2 ? color &quot;red&quot; : nothing">hot_cue 2 ? hot_cue 2 &amp;
saved_loop 2 ?
loop ? nothing : saved_loop_prepare 2 :
loop_exit :
loop ? hot_cue 2 &amp; saved_loop_prepare 2 &amp; cue_name 2 &quot; &quot; : hot_cue 2</pad2>
<pad5 name=" `cue_display 5`" color="saved_loop 5 ? color &quot;green&quot; : hot_cue 5 ? color &quot;red&quot; : nothing">hot_cue 5 ? hot_cue 5 &amp;
saved_loop 5 ?
loop ? nothing : saved_loop_prepare 5 :
loop_exit :
loop ? hot_cue 5 &amp; saved_loop_prepare 5 &amp; cue_name 5 &quot; &quot; : hot_cue 5</pad5>
<shift_pad2 name="DELETE">hot_cue 2 ? true &amp; delete_cue 2 &amp; loop_delete 2 : nothing</shift_pad2>
<shift_pad5 name="DELETE">hot_cue 5 ? true &amp; delete_cue 5 &amp; loop_delete 5 : nothing</shift_pad5>
<pad3 name=" `cue_display 3`" color="saved_loop 3 ? color &quot;green&quot; : hot_cue 3 ? color &quot;red&quot; : nothing">hot_cue 3 ? hot_cue 3 &amp;
saved_loop 3 ?
loop ? nothing : saved_loop_prepare 3 :
loop_exit :
loop ? hot_cue 3 &amp; saved_loop_prepare 3 &amp; cue_name 3 &quot; &quot; : hot_cue 3</pad3>
<pad4 name=" `cue_display 4`" color="saved_loop 4 ? color &quot;green&quot; : hot_cue 4 ? color &quot;red&quot; : nothing">hot_cue 4 ? hot_cue 4 &amp;
saved_loop 4 ?
loop ? nothing : saved_loop_prepare 4 :
loop_exit :
loop ? hot_cue 4 &amp; saved_loop_prepare 4 &amp; cue_name 4 &quot; &quot; : hot_cue 4</pad4>
<pad8 name=" `cue_display 8`" color="saved_loop 8 ? color &quot;green&quot; : hot_cue 8 ? color &quot;red&quot; : nothing">hot_cue 8 ? hot_cue 8 &amp;
saved_loop 8 ?
loop ? nothing : saved_loop_prepare 8 :
loop_exit :
loop ? hot_cue 8 &amp; saved_loop_prepare 8 &amp; cue_name 8 &quot; &quot; : hot_cue 8</pad8>
<pad7 name=" `cue_display 7`" color="saved_loop 7 ? color &quot;green&quot; : hot_cue 7 ? color &quot;red&quot; : nothing">hot_cue 7 ? hot_cue 7 &amp;
saved_loop 7 ?
loop ? nothing : saved_loop_prepare 7 :
loop_exit :
loop ? hot_cue 7 &amp; saved_loop_prepare 7 &amp; cue_name 7 &quot; &quot; : hot_cue 7</pad7>
<pad6 name=" `cue_display 6`" color="saved_loop 6 ? color &quot;green&quot; : hot_cue 6 ? color &quot;red&quot; : nothing">hot_cue 6 ? hot_cue 6 &amp;
saved_loop 6 ?
loop ? nothing : saved_loop_prepare 6 :
loop_exit :
loop ? hot_cue 6 &amp; saved_loop_prepare 6 &amp; cue_name 6 &quot; &quot; : hot_cue 6</pad6>
<shift_pad3 name="DELETE">hot_cue 3 ? true &amp; delete_cue 3 &amp; loop_delete 3 : nothing</shift_pad3>
<shift_pad4 name="DELETE">hot_cue 4 ? true &amp; delete_cue 4 &amp; loop_delete 4 : nothing</shift_pad4>
<shift_pad8 name="DELETE">hot_cue 8 ? true &amp; delete_cue 8 &amp; loop_delete 8 : nothing</shift_pad8>
<shift_pad7 name="DELETE">hot_cue 7 ? true &amp; delete_cue 7 &amp; loop_delete 7 : nothing</shift_pad7>
<shift_pad6 name="DELETE">hot_cue 6 ? true &amp; delete_cue 6 &amp; loop_delete 6 : nothing</shift_pad6>
<param2 />
</page>
 

Posted Wed 19 Jul 23 @ 9:09 pm
UPDATE

Changelog:

- LOOPS WORK EXACTLY LIKE HOTCUES NOW
- Buttons display loop length in beats or hotcue position in minutes:seconds

How to use:

- Press an empty pad to create a new hot cue
- Press an empty pad while in a loop to save the loop
- Press shift + empty pad to create a hotcue while in a loop

Settings:

hotcueMode: stutter
cueDisplay: position
loopAutoMove: no
savedLoopDisplay: length

How to install:

Create an xml-file with the following code and save it here \Documents\VirtualDJ\Pads
In the pad-page-menu assign the name of your xml-file to the button you want.


<?xml version="1.0" encoding="UTF-8"?>
<page name="newcue">
<pad1 color="saved_loop 1 ? color &quot;green&quot; : hot_cue 1 ? color &quot;red&quot; : nothing" name="`saved_loop 1 ? saved_loop_display 1 : cue_display 1`">saved_loop 1 ? loop_load 1 &amp; hot_cue 1 : has_cue 1 ? hot_cue 1 : loop ? loop_save 1 &amp; get_loop_in_time &amp; param_cast &apos;ms&apos; &amp; set_cue 1 : hot_cue 1</pad1>
<shift_pad1 name="`hot_cue 1 ? get_text &quot;DELETE&quot; : get_text &quot;HOT CUE&quot;`" color="saved_loop 1 ? color &quot;green&quot; : hot_cue 1 ? color &quot;red&quot; : nothing">saved_loop 1 ? true &amp; loop_delete 1 &amp; delete_cue 1 : hot_cue 1 ? true &amp; delete_cue 1 : hot_cue 1</shift_pad1>
<pad2 color="saved_loop 2 ? color &quot;green&quot; : hot_cue 2 ? color &quot;red&quot; : nothing" name="`saved_loop 2 ? saved_loop_display 2 : cue_display 2`">saved_loop 2 ? loop_load 2 &amp; hot_cue 2 : has_cue 2 ? hot_cue 2 : loop ? loop_save 2 &amp; get_loop_in_time &amp; param_cast &apos;ms&apos; &amp; set_cue 2 : hot_cue 2</pad2>
<pad5 name="`saved_loop 5 ? saved_loop_display 5 : cue_display 5`" color="saved_loop 5 ? color &quot;green&quot; : hot_cue 5 ? color &quot;red&quot; : nothing">saved_loop 5 ? loop_load 5 &amp; hot_cue 5 : has_cue 5 ? hot_cue 5 : loop ? loop_save 5 &amp; get_loop_in_time &amp; param_cast &apos;ms&apos; &amp; set_cue 5 : hot_cue 5</pad5>
<shift_pad2 name="`hot_cue 2 ? get_text &quot;DELETE&quot; : get_text &quot;HOT CUE&quot;`" color="saved_loop 2 ? color &quot;green&quot; : hot_cue 2 ? color &quot;red&quot; : nothing">saved_loop 2 ? true &amp; loop_delete 2 &amp; delete_cue 2 : hot_cue 2 ? true &amp; delete_cue 2 : hot_cue 2</shift_pad2>
<shift_pad5 name="`hot_cue 5 ? get_text &quot;DELETE&quot; : get_text &quot;HOT CUE&quot;`" color="saved_loop 5 ? color &quot;green&quot; : hot_cue 5 ? color &quot;red&quot; : nothing">saved_loop 5 ? true &amp; loop_delete 5 &amp; delete_cue 5 : hot_cue 5 ? true &amp; delete_cue 5 : hot_cue 5</shift_pad5>
<pad3 name="`saved_loop 3 ? saved_loop_display 3 : cue_display 3`" color="saved_loop 3 ? color &quot;green&quot; : hot_cue 3 ? color &quot;red&quot; : nothing">saved_loop 3 ? loop_load 3 &amp; hot_cue 3 : has_cue 3 ? hot_cue 3 : loop ? loop_save 3 &amp; get_loop_in_time &amp; param_cast &apos;ms&apos; &amp; set_cue 3 : hot_cue 3</pad3>
<pad4 name="`saved_loop 4 ? saved_loop_display 4 : cue_display 4`" color="saved_loop 4 ? color &quot;green&quot; : hot_cue 4 ? color &quot;red&quot; : nothing">saved_loop 4 ? loop_load 4 &amp; hot_cue 4 : has_cue 4 ? hot_cue 4 : loop ? loop_save 4 &amp; get_loop_in_time &amp; param_cast &apos;ms&apos; &amp; set_cue 4 : hot_cue 4</pad4>
<pad8 name="`saved_loop 8 ? saved_loop_display 8 : cue_display 8`" color="saved_loop 8 ? color &quot;green&quot; : hot_cue 8 ? color &quot;red&quot; : nothing">saved_loop 8 ? loop_load 8 &amp; hot_cue 8 : has_cue 8 ? hot_cue 8 : loop ? loop_save 8 &amp; get_loop_in_time &amp; param_cast &apos;ms&apos; &amp; set_cue 8 : hot_cue 8</pad8>
<pad7 name="`saved_loop 7 ? saved_loop_display 7 : cue_display 7`" color="saved_loop 7 ? color &quot;green&quot; : hot_cue 7 ? color &quot;red&quot; : nothing">saved_loop 7 ? loop_load 7 &amp; hot_cue 7 : has_cue 7 ? hot_cue 7 : loop ? loop_save 7 &amp; get_loop_in_time &amp; param_cast &apos;ms&apos; &amp; set_cue 7 : hot_cue 7</pad7>
<pad6 name="`saved_loop 6 ? saved_loop_display 6 : cue_display 6`" color="saved_loop 6 ? color &quot;green&quot; : hot_cue 6 ? color &quot;red&quot; : nothing">saved_loop 6 ? loop_load 6 &amp; hot_cue 6 : has_cue 6 ? hot_cue 6 : loop ? loop_save 6 &amp; get_loop_in_time &amp; param_cast &apos;ms&apos; &amp; set_cue 6 : hot_cue 6</pad6>
<shift_pad3 name="`hot_cue 3 ? get_text &quot;DELETE&quot; : get_text &quot;HOT CUE&quot;`" color="saved_loop 3 ? color &quot;green&quot; : hot_cue 3 ? color &quot;red&quot; : nothing">saved_loop 3 ? true &amp; loop_delete 3 &amp; delete_cue 3 : hot_cue 3 ? true &amp; delete_cue 3 : hot_cue 3</shift_pad3>
<shift_pad4 name="`hot_cue 4 ? get_text &quot;DELETE&quot; : get_text &quot;HOT CUE&quot;`" color="saved_loop 4 ? color &quot;green&quot; : hot_cue 4 ? color &quot;red&quot; : nothing">saved_loop 4 ? true &amp; loop_delete 4 &amp; delete_cue 4 : hot_cue 4 ? true &amp; delete_cue 4 : hot_cue 4</shift_pad4>
<shift_pad8 name="`hot_cue 8 ? get_text &quot;DELETE&quot; : get_text &quot;HOT CUE&quot;`" color="saved_loop 8 ? color &quot;green&quot; : hot_cue 8 ? color &quot;red&quot; : nothing">saved_loop 8 ? true &amp; loop_delete 8 &amp; delete_cue 8 : hot_cue 8 ? true &amp; delete_cue 8 : hot_cue 8</shift_pad8>
<shift_pad7 name="`hot_cue 7 ? get_text &quot;DELETE&quot; : get_text &quot;HOT CUE&quot;`" color="saved_loop 7 ? color &quot;green&quot; : hot_cue 7 ? color &quot;red&quot; : nothing">saved_loop 7 ? true &amp; loop_delete 7 &amp; delete_cue 7 : hot_cue 7 ? true &amp; delete_cue 7 : hot_cue 7</shift_pad7>
<shift_pad6 name="`hot_cue 6 ? get_text &quot;DELETE&quot; : get_text &quot;HOT CUE&quot;`" color="saved_loop 6 ? color &quot;green&quot; : hot_cue 6 ? color &quot;red&quot; : nothing">saved_loop 6 ? true &amp; loop_delete 6 &amp; delete_cue 6 : hot_cue 6 ? true &amp; delete_cue 6 : hot_cue 6</shift_pad6>
</page>





About this Mapping

This is a custom Pad Mapping for Pioneer inspired
Hot Cues and Loops that behave like Hot Cues.

HotCues and Saved Loops Slots 1-8 are being used.

Buttons display loop length in beats or hotcue position in minutes:seconds
 

Posted Fri 18 Aug 23 @ 5:57 pm


Nice job, but almost... (for my use case) I'd rather keep the shift-delete to delete hotcue or saved loop. And would like loops to trigger/jumpt to start when I hit the pad, with the HOTCUESnLOOPS you need shift.

Anyways fooled around until I got this, which works for my work flow. Most of the time, I cue the next track, find a good section for transition -> set a loop/beatmatch and then transition and maybe retrigger as needed.

So used to rekordbox, trying to recreate the behaviour, adapt VDJ to my muscle memory instead of other way round... too old to retrain haha :-)



pad : saved_loop 1 ? saved_loop 1 : loop_out ? hot_cue 1 ? hot_cue 1 : loop_save 1 : hot_cue 1
color : hot_cue 1 ? cue_color 1 : saved_loop 1 ? color "green" : nothing

 

Posted Tue 22 Aug 23 @ 10:44 pm
reverbal abuse wrote :
UPDATE

Changelog:

- LOOPS WORK EXACTLY LIKE HOTCUES NOW
- Buttons display loop length in beats or hotcue position in minutes:seconds

How to use:

- Press an empty pad to create a new hot cue
- Press an empty pad while in a loop to save the loop
- Press shift + empty pad to create a hotcue while in a loop

Settings:

hotcueMode: stutter
cueDisplay: position
loopAutoMove: no
savedLoopDisplay: length

How to install:

Create an xml-file with the following code and save it here \Documents\VirtualDJ\Pads
In the pad-page-menu assign the name of your xml-file to the button you want.
...


About this Mapping

This is a custom Pad Mapping for Pioneer inspired
Hot Cues and Loops that behave like Hot Cues.

HotCues and Saved Loops Slots 1-8 are being used.

Buttons display loop length in beats or hotcue position in minutes:seconds


Great! Just checked it out... and that is pretty close, nice job. But.... if I have a loop running and hit a pad on rekordbox it will save the loop and trigger from the start of loop. You script will trigger it from the point the playhead is at. Which might be useful though...

Anyhow, I just started from scratch and have used this my last couple of sets and it works... (no text or fancy colors, just the bare-bones, hot cue and save a loop, from start, if a loop is active.

I don't set the loops/cues before hand, always do it live, in the moment, so no need for names... next set I'll set them somewhere else prob anyways.


pad : saved_loop 1 ? saved_loop 1 : loop_out ? hot_cue 1 ? hot_cue 1 : loop_save 1 : hot_cue 1
shift-pad : loop_delete 1 & delete_cue 1
color : hot_cue 1 ? cue_color 1 : saved_loop 1 ? color "green" : nothing
 

Posted Tue 22 Aug 23 @ 11:00 pm
rrrichieXL wrote :


Nice job, but almost... (for my use case) I'd rather keep the shift-delete to delete hotcue or saved loop. And would like loops to trigger/jumpt to start when I hit the pad, with the HOTCUESnLOOPS you need shift.


So I didn't check what @PhantomDeejay, posted, but the suggestion I had posted covers this - if you save a loop, then go to the POI editor and give it a hotcue slot, when you trigger that in future, it jumps to the loops start position and enables the loop (and also allows shift + pad hit = delete), which from what I recall, happens in Rekordbox.
There are only these cases which require you to use the Saved Loops pad page, which Rekordbox handles directly in the single page:

  • If you need to save the loop initially
    You have to either do it through the Saved Loop pad page or open the POI editor and hit New. Rekordbox detects that you are in an active loop and saves the Loop to the pad position.
  • If you want to make the loop active but not jump to its start
    Rekordbox has a little active loop selector on pad buttons that holds loops (in the bottom right I believe) that allows you to set it as active without jumping to it's start (I think that setting persists between loads/unloads)


 

Posted Wed 23 Aug 23 @ 1:49 pm
Yes indeed. Thing is I use the "CUESnLOOPS / Rekordbox style" live during sets, so don't have time to visit the POI.

It could all be automated under a button if the "type" of the POI can be set with VDJScript, but last time I tried I couldn't find a way.

In any case I made a simple version, it's responsive, not perfect, but does the job : i.e. set a loop, hit cue button and can trigger it as needed. And next time I load the song, I'll probably set it elsewhere anyways.
 

Posted Thu 24 Aug 23 @ 1:53 pm
rrrichieXL wrote :

Great! Just checked it out... and that is pretty close, nice job. But.... if I have a loop running and hit a pad on rekordbox it will save the loop and trigger from the start of loop. You script will trigger it from the point the playhead is at. Which might be useful though...


It is supposed to save/ recall the loop from it's start point. Did you apply the settings i mentioned above?
 

Posted Tue 05 Sep 23 @ 8:37 pm