Closed ErikMinekus closed 6 years ago
Hi, Erik! I have noticed bits and pieces in libpdjl about controlling playback, and definitely plan to explore that someday. I will leave this issue open as a reminder about this particular aspect. (I am also interested in eventually emulating a player in enough detail that it can become the tempo master, for example.)
I am a little confused about your explanation, though, and the meaning of F1 through F4. Am I correct in assuming that if F1 was 0, F2 was 1, F3 was 2, and F4 was 0, it would cause players 1 and 4 to start playing, player 2 to jump to its cue point, and player 3 would be unaffected?
Thanks for the information!
Correct, it works as you would expect from Fader Start.
Edit: I've edited the first comment to make the actions more clear.
I’ve never used Fader Start as a DJ, so I don’t really have expectations of how it would work. But thanks for the confirmation.
Thanks again, @ErikMinekus, I have finally incorporated this information into dysentery, and will add some methods to Beat Link to send these messages as part of the work I am doing right now which supports becoming tempo master.
I am a bit confused: @ErikMinekus writes that the CDJ jumps to the active cue if it is stopped by a packet (command 0x01), but in the Analysis document it only says the CDJ stops... Which one is right?
It acts as the Cue button, so it stops playing and jumps back to the active cue.
That’s correct. I’ll take a look at the analysis and see about improving the wording, thanks!
Thank you for clearing this up! I ask in particular because this would make syncing CDJs to external clock (like Ableton Link) much easier: When a CDJ starts playing, stop it, it gets back to the cue point, then start it again on the next bar.
What I do is send my own beat and status packets based on the Ableton Link timeline, and become the tempo master for the CDJs. The user interface is described here and the implementation is in the BeatSender and VirtualCdj.
I didn't see anything about Fader Start in the analysis, but I found the actual packet in libpdjl. Without having to announce a mixer on the network, I was able to get an XDJ-1000MK1 to start playing or jump back to the active cue, just by broadcasting the following packet on port 50001:
Where D is the mixer channel (0x21), and F1 to F4 can be any of these values for each player:
It would be great to have a VirtualDjm class in beat-link to be able to send these packets, for the people that don't have a DJM with PRO DJ LINK.