Skip to content

Add documentation for column and menu rows#42

Draft
acrilique wants to merge 1 commit intoDeep-Symmetry:mainfrom
acrilique:menus
Draft

Add documentation for column and menu rows#42
acrilique wants to merge 1 commit intoDeep-Symmetry:mainfrom
acrilique:menus

Conversation

@acrilique
Copy link
Copy Markdown
Contributor

@acrilique acrilique commented Dec 19, 2025

Putting this here to hopefully gather some criticism and let it sit for a bit.

Various things that come to my mind:

  • The "Column" name is not very descriptive now that we have more context about what these do
  • I could put up a list of the menus which are pointed to by content_pointer and write down their values in that field. This would make sense bc it does seem this value does point to the actual list/menu type in the player's firmware.
  • Another list of the "default" menu (Column) names which are written into the db by rekordbox could be done, although imo this would be of less relevance than the previous

#dysentery & crate digger > Menu and Column pages

@brunchboy
Copy link
Copy Markdown
Member

Sorry I’ve been busy with travel, a gig, and other end-of-year activities while preparing for an intensive Portuguese course, so I have been slower than usual at getting to these. I should have time over the next week to catch up though!

@acrilique
Copy link
Copy Markdown
Contributor Author

Don't worry! Looking forward to hear your say on this.

Menu rows represent the menus that appear on a CDJ or XDJ for browsing tracks in different ways.
The first field is a two-byte _category_id_ (labeled _cat~id~_) at bytes{nbsp}``00``-`01` which links the row to a <<column-rows,Column row>> and thus provides a label to the menu. This is followed by another two-byte value called _content_pointer_ (labeled _c~p~_) at bytes{nbsp}``02``-`03` that determines the internal content list that is accessed via this menu (e.g. the list of Artists, Labels, Genres...).

Next, there is a one byte _unknown_ value (labeled _u_) at byte{nbsp}``04``, followed by a one byte _menu_visibility_ (labeled _m~v~_) flag at byte{nbsp}``05`` which seems to determine whether the menu is shown or hidden on the player: value '00' means visible, while '01' means hidden. The value '02' has also been observed, but its meaning could't yet be determined, at least by testing with a CDJ-350 player which is quite old. It could be that this value is used by newer players only.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While this is in draft, “could't” should of course be “couldn’t” :smiling

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

Successfully merging this pull request may close these issues.

2 participants