Expand description
Parser for Pioneer DeviceSQL database exports (PDB).
The Rekordbox DJ software uses writes PDB files to /PIONEER/rekordbox/export.pdb.
Most of the file format has been reverse-engineered by Henry Betts, Fabian Lesniak and James Elliott.
Modules§
- bitfields
- Packed fields/bitfields used in PDB files.
- ext
- Parser for the extended Pioneer DeviceSQL database exports (exportExt.pdb).
- offset_
array - Module for reading and writing offset arrays.
- string
binrw-based implementation for DeviceSQLStrings capable of parsing and serializingDeviceSQLStrings
Structs§
- Album
- Contains the album name, along with an ID of the corresponding artist.
- AlbumId
- Identifies an album.
- Artist
- Contains the artist name and ID.
- Artist
Id - Identifies an artist.
- Artwork
- Contains the artwork path and ID.
- Artwork
Id - Identifies an artwork item.
- Color
- Contains numeric color ID
- Column
Entry - Contains the kinds of Metadata Categories tracks can be browsed by on CDJs.
- Data
Page Content - The data-containing part of a page.
- Data
Page Content BinRead ArgBuilder - A builder for
DataPageContentBinReadArgsobjects. Compatible withbinrw::args!. - Data
Page Content BinRead Args - Named arguments for the
BinRead::read_optionsimplementation ofDataPageContent. - Data
Page Content BinWrite ArgBuilder - A builder for
DataPageContentBinWriteArgsobjects. Compatible withbinrw::args!. - Data
Page Content BinWrite Args - Named arguments for the
BinWrite::write_optionsimplementation ofDataPageContent. - Data
Page Header - The header of the data-containing part of a page.
- Genre
- Represents a musical genre.
- GenreId
- Identifies a genre.
- Header
- The PDB header structure, including the list of tables.
- History
Entry - Represents a history playlist.
- History
Playlist - Represents a history playlist.
- History
Playlist Id - Identifies a history playlist.
- Index
Entry - An entry in an index page.
- Index
Page Content - The content of an index page.
- Index
Page Content BinWrite ArgBuilder - A builder for
IndexPageContentBinWriteArgsobjects. Compatible withbinrw::args!. - Index
Page Content BinWrite Args - Named arguments for the
BinWrite::write_optionsimplementation ofIndexPageContent. - Index
Page Header - The header of the index-containing part of a page.
- Key
- Represents a musical key.
- KeyId
- Identifies a key.
- Label
- Represents a record label.
- LabelId
- Identifies a label.
- Menu
- This table defines the active menus on the CDJ.
- Page
- A table page.
- Page
Content BinRead ArgBuilder - A builder for
PageContentBinReadArgsobjects. Compatible withbinrw::args!. - Page
Content BinRead Args - Named arguments for the
BinRead::read_optionsimplementation ofPageContent. - Page
Content BinWrite ArgBuilder - A builder for
PageContentBinWriteArgsobjects. Compatible withbinrw::args!. - Page
Content BinWrite Args - Named arguments for the
BinWrite::write_optionsimplementation ofPageContent. - Page
Header - The header of a page.
- Page
Index - Points to a table page and can be used to calculate the page’s file offset by multiplying it with the page size (found in the file header).
- Playlist
Entry - Represents a track entry in a playlist.
- Playlist
Tree Node - Represents a node in the playlist tree (either a folder or a playlist).
- Playlist
Tree Node Id - Identifies a playlist tree node.
- RowGroup
- A group of row indices, which are built backwards from the end of the page. Holds up to sixteen row offsets, along with a bit mask that indicates whether each row is actually present in the table.
- Subtype
- Carries additional information about a row (if present, always as the first field of a row)
- Table
- Tables are linked lists of pages containing rows of a single type, which are organized into groups.
- Track
- Contains the album name, along with an ID of the corresponding artist.
- TrackId
- Identifies a track.
- Track
Strings - String fields stored via the offset table in Track rows
- Trailing
Name - Represents a trailing name field at the end of a row, used for album and artist names.
Enums§
- Database
Type - The type of the database were looking at. This influences the meaning of the the pagetypes found in tables.
- Menu
Visibility - Visibility state for a Menu on the CDJ.
- Page
Content - The content of a page, which can be of different types.
- Page
Type - The type of pages found inside a
Table. - PdbError
- An error that can occur when parsing a PDB file.
- Plain
Page Type - The type of pages found inside a
Tableof export.pdb files. - Plain
Row - A table row contains the actual data.
- Row
- A table row contains the actual data.