Forum: Wishes and new features

Features you would like to see in VirtualDJ
Sujet Statistics for users (KPI) / Record what you did or a VDJ script
djcelPRO InfinityModeratorMember since 2004
See it like a short unofficial survey:

1) Would you be interested to have some monthly/yearly statistics on the way you do your DJ job with VirtualDJ?
The idea behind it is to know you better as a DJ and another goal could be to improve your learning curve or optimize your dj job activity. Based on that you could take some decisions. It could be displayed as a dashboard with table, pivot table, chart if possible.

For example it could analyse the history files to display:
- total number of distinct played songs
- average number of distinct played songs/length per session/day, grouped by genre/filetype
- number of gain hit per session
- average/min/max length of played songs or bpm
- the average cost of your database (money speaking)
- number of new monthly songs

2) Another approach/idea in terms of learning curve: while recording your audio/video mix, generate a new file that records your actions list with timestamp (so you could align both files). I mean you could have one file for audio and another file to follow what you did. For example, basic steps like:
- move of level fader at 3min23sec
- activate an effect at 2min 32sec
- activate a loop
- move eq fader
- scratch at xx sec
- load a song

It's very similar to the video skin where you show what you do on the screen.

3) Record a scratch or others movement in term of vdj script. Record and play it again. See it like your virtual DJ mirror that can reproduce what you did. Only your actions not the sound. Possible to share it with other users via a record file. It could aslo help to create a vdj script when you are not an expert. Something like when you record a VBA macro in a Excel file or while recording MIDI data from your controller.
Something more advanced: imagine you want to learn how to do a baby scratch, the tool shows you then you try and record then the tool tells you if you are good or not.

What do you think? Do you see an interest or not?

Posté Sun 16 Dec 18 @ 11:07 pm
blckjckPRO InfinityMember since 2008
I like the idea of playing back the recording allowing you to see what you were doing. Like how a livebroadcast screen shows eq’s, effects, etc

Posté Sun 16 Dec 18 @ 11:59 pm
i think it would be interesting to see those stats

Posté Mon 17 Dec 18 @ 12:08 am
PachNPRO InfinityMember since 2009
I'm really curious on how you'd manage number 3 in terms of programming?
It would be awesome if it works reliable.

Number 1 looks interessting too.

And number 2 is something like ME works? If you record your set, just recording the actions while performing and do the actual "recording" and rendering afterwards?

Posté Wed 02 Jan 19 @ 12:22 pm
djcelPRO InfinityModeratorMember since 2004
PachN wrote :
I'm really curious on how you'd manage number 3 in terms of programming?
It would be awesome if it works reliable.

It's similar to number 2 but with a higher frequency in terms of data recording. One idea is with a plugin by using GetInfo() and SendCommand() and call them each 100ms. I need to check again the latency of these 2 functions in the SDK.

Something like: x[j] between -1 and 1
Then r[ j] = X[ j] * 2 * Pi to convert in rotation

0ms : scratch x[0]
100ms : scratch x[1]
200ms: scratch x[2]

Then you could draw a curve x[ j] = f(t[ j])
Or you could analyse and convert these data in a pattern for the scratch-DNA plugin

In fact in number 2 you monitor the change of function in vdj script whereas in number 3 you monitor the change of values in the basic way (or functions + values in the advanced way)

Posté Wed 02 Jan 19 @ 10:37 pm
djcelPRO InfinityModeratorMember since 2004
An example of VDJ script recording in a CSV file with SDK8 and a timer of 50ms

Posté Sat 05 Jan 19 @ 11:01 pm
djcelPRO InfinityModeratorMember since 2004
You can use "macro_record" and "macro_play" as VDJScript to record a scratch pattern and reproduce it.

However "macro_record" only works once per VirtualDJ session and the script is not recorded in a file (as presets) in order to use it later.
It would be interesting to have a "relative mode" too (ie to start the scratch from the current point and not the absolute point recorded in the macro)

Posté Sat 11 May 19 @ 6:16 pm
locodogPRO InfinityModeratorMember since 2013
I missed this thread first time round
Macro record [last I tried] had some strange quirks that made it practically unusable. When you played back a macro, once it completed, it set itself back in record mode. I had to hack at it to make it even partially work. But you could use it several times a session.
As far as I figured/saw it only recorded the time since recording started and the button/control used, [not the action performed] [ if you called say custom button 1 variation 1 in recording, then outside of recording switched CB1 to variation 2 playback didn't know of the switch] It also knew nothing of the track used, track time, pos, pitch, bpm etc

You could poll faster than 50ms, repeat_starts run at 30 [ish]ms [with a bit of swing] in fact when sbdj taught me about threaded plugins, that ran at 15ms with no real problems.
Interesting project/s though, especially scratch training, if anything comes to mind I'll post.

Posté Sun 12 May 19 @ 12:51 am
locodogPRO InfinityModeratorMember since 2013
On retest there's still plenty of weirdness.

Posté Sun 12 May 19 @ 1:34 am