Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Date Added menu #58

Open
brunchboy opened this issue Feb 24, 2023 · 1 comment
Open

Add support for Date Added menu #58

brunchboy opened this issue Feb 24, 2023 · 1 comment

Comments

@brunchboy
Copy link
Member

I received an issue report from a user about another node that needs to be implemented in the menu tree:

Beat Link Trigger version: 7.0.2-SNAPSHOT-22-0x73ca4-DIRTY, built Tue Feb 21 15:16:12 UTC 2023
Java version: 17.0.6, OpenJDK 64-Bit Server VM, [Amazon.com](http://amazon.com/) Inc.
Operating system: Mac OS X 13.2

Issue description:
When loading menu Player 4 USB: , 93 tracks, 1 playlists from device named CDJ-2000NXS2, don't understand: Message: [transaction: 8, type: 0x4101 (rendered menu item), arg count: 12, arguments:
  1: number:          0 (0x00000000) [numeric 1 (parent id, e.g. artist for track)]
  2: number:         27 (0x0000001b) [numeric 2 (this id)]
  3: number:         26 (0x0000001a) [label 1 byte size]
  4: string length 26: "DATE ADDED" [label 1]
  5: number:          2 (0x00000002) [label 2 byte size]
  6: string length 2: "" [label 2]
  7: number:        140 (0x0000008c) [item type: unknown]
  8: number:          0 (0x00000000) [flags? byte 3 is 1 when track played]
  9: number:          0 (0x00000000) [album art id]
 10: number:          0 (0x00000000) [playlist position]
 11: number:          0 (0x00000000) [unknown]
 12: number:          0 (0x00000000) [unknown]
]

So there is a new enum for the menu item types, DATE_ADDED_MENU, whose enum value is 0x8c. We’ll need to set a collection with such a menu, so we can capture the packet the player sends to retrieve the menu itself, and any submenus involved.

@brunchboy
Copy link
Member Author

This is proving hard to reproduce, because I can’t get rekordbox to send this menu to my XDJ-XZ.

From the output above, it looks as though they were using a USB in a CDJ-2000 nexus2 player. Normally in that situation, Beat Link Trigger will use Crate Digger to access metadata like this, which does not involve the kind of database transaction seen below. Did they perhaps try to load a track on the player using BLT very soon after starting BLT? If so, perhaps this was before Crate Digger had finished downloading and parsing the exported database, so BLT tried accessing the menus the old way?

In any case, it looks like I am going to have to bring one of my CDJs home from the storage locker, and set up a USB with this menu on it, in order to try to capture the relevant network traffic, because the XDJ doesn’t have to talk to itself over the network to load tracks from itself. And I will have to get the timing just right, or disable Crate Digger somehow. This will take a while.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant