UNPKG

rbox-js

Version:

Javascript library for interacting with the local and export data of Pioneers Rekordbox DJ software

1,263 lines (1,238 loc) 173 kB
/* auto-generated by NAPI-RS */ /* eslint-disable */ /** * Represents the `agentRegistry` table in the Rekordbox database. * * This struct maps to the `agentRegistry` table in the SQLite database used by Rekordbox. * It contains various fields representing metadata and attributes of the Rekordbox collection. * Each entry has a unique name as `registry_id`. The local update sequence number (USN), for * example, is used to track changes made to the entry locally and if stored in the entry * with `registry_id="localUpdateCount"`. * Some important fields include: * * localUpdateCount * * SyncAnalysisDataRootPath * * SyncSettingsRootPath * * LangPath */ export interface AgentRegistry { /** A unique identifier for the registry entry. */ registryId: string /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string field for additional identifier data. */ id1?: string /** An optional string field for additional identifier data. */ id2?: string /** An optional integer field for numerical data. */ int1?: number /** An optional integer field for numerical data. */ int2?: number /** An optional string field for textual data. */ str1?: string /** An optional string field for textual data. */ str2?: string /** An optional string field for date-related data. */ date1?: string /** An optional string field for date-related data. */ date2?: string /** An optional string field for extended text data. */ text1?: string /** An optional string field for extended text data. */ text2?: string } /** * Represents the `album` table in the Rekordbox One Library database. * * This struct maps to the `album` table in the One Library export database. * It stores album-related data, allowing multiple tracks to be associated with the same album. * This table includes metadata such as album name, artist, and compilation status. * * # Referenced by * * [`Content`] via `album_id` foreign key. * * # References * * [`Artist`] via `artist_id` foreign key. * * [`Image`] via `image_id` foreign key. */ export interface Album { /** The unique identifier of the album. */ id: number /** The name of the album. */ name: string /** An optional foreign key referencing the album [`Artist`]. */ artistId?: number /** An optional foreign key referencing the album artwork [`Image`]. */ imageId?: number /** A flag if the album is a compilation. */ isCompilation: number /** An optional string used for searching the album. */ nameForSearch?: string } /** * Represents the `artist` table in the Rekordbox One Library database. * * This struct maps to the `artist` table in the One Library export database. * It stores artist-related data, allowing multiple tracks to be associated with the same artist. * * # Referenced by * * [`Album`] via `artist_id` foreign key. * * [`Content`] via `artist_id`, `remixer_id`, `original_artist_id`, `composer_id` and `lyricist_id` foreign keys. */ export interface Artist { /** The unique identifier of the artist. */ id: number /** The name of the artist. */ name: string /** An optional field for storing a search-optimized version of the artist name. */ nameForSearch?: string } /** * Represents the `category` table in the Rekordbox One Library database. * * This struct maps to the `category` table in the One Library export database. * * # References * * [`MenuItem`] via `menu_item_id` foreign key. */ export interface Category { /** The unique identifier of the category. */ id: number /** A foreign key referencing the [`MenuItem`]. */ menuItemId: number /** The sequence/order of the category. */ seq: number /** A flag if the category is visible. */ isVisible: number } /** * Represents the `cloudAgentRegistry` table in the Rekordbox database. * * This struct maps to the `cloudAgentRegistry` table in the SQLite database used by Rekordbox. * It contains similar fields as the [`AgentRegistry`], but is specifically used for cloud-related * registry entries. */ export interface CloudAgentRegistry { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional integer field for numerical data. */ int1?: number /** An optional integer field for numerical data. */ int2?: number /** An optional string field for textual data. */ str1?: string /** An optional string field for textual data. */ str2?: string /** An optional string field for date-related data. */ date1?: string /** An optional string field for date-related data. */ date2?: string /** An optional string field for extended text data. */ text1?: string /** An optional string field for extended text data. */ text2?: string } /** * Represents the `color` table in the Rekordbox One Library database. * * * # Referenced by * * [`Content`] via `color_id` foreign key. */ export interface Color { /** The unique identifier of the color. */ id: number /** The name of the color */ name: string } export interface Composer { id: number name: string nameForSearch?: string } /** * Represents the `content` table in the Rekordbox One Library database. * * This struct maps to the `content` table in the One Library export database. * It contains metadata and attributes for each track in the collection, including file info, * artist, album, genre, and more. * * # Referenced by * * [`Cue`] via `content_id` foreign key. * * [`HistoryContent`] via `content_id` foreign key. * * [`MyTagContent`] via `content_id` foreign key. * * [`PlaylistContent`] via `content_id` foreign key. * * [`RecommendedLike`] via `content_id_1` and `content_id_2` foreign keys. * * # References * * [`Artist`] via `artist_id`, `remixer_id`, `original_artist_id`, `composer_id` and `lyricist_id` foreign keys. * * [`Album`] via `album_id` foreign key. * * [`Genre`] via `genre_id` foreign key. * * [`Label`] via `label_id` foreign key. * * [`Key`] via `key_id` foreign key. * * [`Color`] via `color_id` foreign key. * * [`Image`] via `image_id` foreign key. */ export interface Content { /** The unique identifier of the content. */ id: number /** The title of the track. */ title?: string /** An optional title used for searching. */ titleForSearch?: string /** The subtitle of the track */ subtitle?: string /** The beats per minute multiplied by 100. */ bpmx100?: number /** The length of the track in seconds. */ length?: number /** The track number of the track */ trackNo?: number /** The disc number of the track */ discNo?: number /** Optional foreign key referencing the artist [`Artist`]. */ artistId?: number /** Optional foreign key referencing the remixer [`Artist`]. */ remixerId?: number /** Optional foreign key referencing the original artist [`Artist`]. */ originalArtistId?: number /** Optional foreign key referencing the composer [`Artist`]. */ composerId?: number /** Optional foreign key referencing the lyricist [`Artist`]. */ lyricistId?: number /** Optional foreign key referencing the [`Album`]. */ albumId?: number /** Optional foreign key referencing the [`Genre`]. */ genreId?: number /** Optional foreign key referencing the [`Label`]. */ labelId?: number /** Optional foreign key referencing the [`Key`]. */ keyId?: number /** Optional foreign key referencing the [`Color`]. */ colorId?: number /** Optional foreign key referencing the artwork [`Image`]. */ imageId?: number /** The ccomment of the track. */ djComment?: string /** The rating of the track. */ rating?: number /** The release year of the track. */ releaseYear?: number /** The release date of the track */ releaseDate?: string /** The date the record was created */ dateCreated: Date /** The date the record was added */ dateAdded: Date /** The relative file path of the track (usually `'/Contents/<Artist>/<Title>'`) */ path: string /** The file name of the track. */ fileName?: string /** The file size of the track */ fileSize?: number /** The file typo of the track */ fileType?: number /** The bitrate of the trackk */ bitrate?: number /** The bit depth of the track */ bitDepth?: number /** The sample rate of the track. */ samplingRate?: number /** The ISRC of the track */ isrc?: string /** A flag if hot-cue auto load is enabled */ isHotCueAutoLoadOn?: number /** A flag if kuvo delivery is enabled */ isKuvoDeliverStatusOn?: number /** A kuvo delivery comment */ kuvoDeliveryComment?: string /** The masterdb ID */ masterDbId?: number /** The ID of the contnent in the masterdb */ masterContentId?: number /** The relative path to the analysis data */ analysisDataFilePath?: string /** The number of bits analysed (?) */ analysedBits?: number /** The ID of the content in the content link database (seems to always be 788224) */ contentLink?: number /** A flag if the content has been modified */ hasModified?: number /** The number of updates to the associated cues */ cueUpdateCount?: number /** The number of updates to the analysis data */ analysisDataUpdateCount?: number /** The number of updates to the content record */ informationUpdateCount?: number } /** * Represents the `contentActiveCensor` table in the Rekordbox database. * * This struct maps to the `contentActiveCensor` table in the SQLite database used by Rekordbox. * It contains the active censor entries [`DjmdActiveCensor`] of a file as stringified JSON data. * * # References * * [`DjmdContent`] via `content_id` foreign key. */ export interface ContentActiveCensor { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdContent`]. */ contentId: string /** A string representing the active censors. */ activeCensors: string /** The count of active censors. */ rbActivecensorCount: number } /** * Represents the `contentCue` table in the Rekordbox database. * * This struct maps to the `contentCue` table in the SQLite database used by Rekordbox. * It contains the cue entry [`DjmdCue`] of a file as stringified JSON data. * * # References * * [`DjmdContent`] via `content_id` foreign key. */ export interface ContentCue { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdContent`]. */ contentId: string /** A JSON string representing the cue data. */ cues: string /** The count of cues. */ rbCueCount: number } /** * Represents the `contentFile` table in the Rekordbox database. * * This struct maps to the `contentFile` table in the SQLite database used by Rekordbox. * It contains metadata and attributes of the additional file of contents. These include * the analysis and artwork files linked to a track * * # References * * [`DjmdContent`] via `content_id` foreign key. */ export interface ContentFile { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdContent`]. */ contentId: string /** The relative file path. */ path: string /** The file hash. */ hash: string /** The file size. */ size: number /** The absolute file path. */ rbLocalPath: string /** An optional string representing the in-sync file hash. */ rbInsyncHash?: string /** An optional integer representing the in-sync local update sequence number. */ rbInsyncLocalUsn?: number /** An optional integer indicating whether the file hash is dirty. */ rbFileHashDirty?: number /** An optional integer representing the local file status. */ rbLocalFileStatus?: number /** An optional integer indicating whether the file is in progress. */ rbInProgress?: number /** An optional integer representing the process type. */ rbProcessType?: number /** An optional string representing the temporary file path. */ rbTempPath?: string /** An optional integer representing the file priority. */ rbPriority?: number /** An optional integer indicating whether the file size is dirty. */ rbFileSizeDirty?: number } /** * Represents the `cue` table in the Rekordbox One Library database. * * This struct maps to the `cue` table in the One Library export database. * It stores information about cue points for tracks, including their timing, type, and * additional metadata. * * # Notes * Rekordbox internally represents time in “frames”, each being 1/150th of a second (6.666ms). * The InFrame and OutFrame values use this unit of time. However, when a track is encoded with * variable bit-rate (VBR) or average bit-rate (ABR), the InMpegFrame and OutMpegFrame values are * filled out to assist with correct seeking. Despite the names, these values are not the frame * indices within the MPEG file, but instead use an alternative timing scheme that is typically * around 1/75th of a second (13.333ms) per frame, i.e. about half the granularity of normal frames. * * # Referenced by * * [`HotCueBankListCue`] via `cue_id` foreign key. * * # References * * [`Content`] via `content_id` foreign key. */ export interface Cue { /** The unique identifier of the cue. */ id: number /** A foreign key referencing the [`Content`]. */ contentId: number /** * The type of the cue. * * 0 if a memory cue, otherwise the number of Hot Cue */ kind?: number /** An optional integer representing the index of the color in the color table. */ colorTableIndex?: number /** A comment for the cue */ cueComment?: string /** A flag whether the cue is part of an active loop. */ isActiveLoop?: number /** Unknown */ beatLoopNumerator?: number /** Unknonw */ beatLoopDenominator?: number /** The cue's start time in microseconds. */ inUsec?: number /** The cue's end time in microseconds. */ outUsec?: number /** * The cue's start frame. * * One frame is 1/150th of a second */ in150FramePerSec?: number /** * The cue's end frame or -1 if not a loop. * * One frame is 1/150th of a second */ out150FramePerSec?: number /** The cue's start MPEG frame or 0 if not a VBR/ABR MPEG file (see note). */ inMpegFrameNumber?: number /** The cue's end MPEG frame or 0 if not a loop or not a VBR/ABR MPEG file (see note) */ outMpegFrameNumber?: number /** The cue's start MPEG absolute frame or 0 if not a VBR/ABR MPEG file. */ inMpegAbs?: number /** The cue's end MPEG absolute frame or 0 if not a loop or not a VBR/ABR MPEG file */ outMpegAbs?: number /** The cue's start frame position in the decoding block. */ inDecodingStartFramePosition?: number /** The cue's end frame position in the decoding block. */ outDecodingStartFramePosition?: number /** The cue's start file offset in the decoding block. */ inFileOffsetInBlock?: number /** The cue's end file offset in the decoding block. */ outFileOffsetInBlock?: number /** The cue's start sample position in the decoding block. */ inNumberOfSampleInBlock?: number /** The cue's end sample position in the decoding block. */ outNumberOfSampleInBlock?: number } /** * Represents the `djmdActiveCensor` table in the Rekordbox database. * * This struct maps to the `djmdActiveCensor` table in the SQLite database used by Rekordbox. * It contains information for actively censoring explicit content of tracks in the Rekordbox * collection. Active Censor items behave like two cue points, between which an effect is applied * to the audio of a track. * * # References * * [`DjmdContent`] via `content_id` and `content_uuid` foreign keys. */ export interface DjmdActiveCensor { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdContent`]. */ contentId: string /** An optional integer representing the start time of the censor in milliseconds. */ inMsec?: number /** An optional integer representing the end time of the censor in milliseconds. */ outMsec?: number /** An optional integer representing additional information about the censor. */ info?: number /** An optional string representing the list of parameters for the censor. */ parameterList?: string /** An optional string representing the uuid of the associated [`DjmdContent`]. */ contentUuid?: string } /** * Represents the `djmdAlbum` table in the Rekordbox database. * * This struct maps to the `djmdAlbum` table in the SQLite database used by Rekordbox. * It stores album-related data, allowing multiple tracks to be associated with the same album. * This table includes metadata such as album name, artist, and compilation status. * * # Referenced by * * [`DjmdContent`] via `album_id` foreign key. * * # References * * [`DjmdArtist`] via `album_artist_id` foreign key. */ export interface DjmdAlbum { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The name of the album. */ name: string /** An optional string representing the id of the album artist [`DjmdArtist`]. */ albumArtistId?: string /** An optional string representing the path to the album's image. */ imagePath?: string /** A flag if the album is a compilation. */ compilation: number /** An optional string used for searching the album. */ searchStr?: string } /** * Represents the `djmdArtist` table in the Rekordbox database. * * This struct maps to the `djmdArtist` table in the SQLite database used by Rekordbox. * It stores artist-related data, allowing multiple tracks to be associated with the same artist. * * # Referenced by * * [`DjmdContent`] via `artist_id` foreign key. * * [`DjmdAlbum`] via `album_artist_id` foreign key. */ export interface DjmdArtist { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string representing the name of the artist. */ name: string /** An optional string used for searching the artist. */ searchStr?: string } /** * Represents the `djmdCategory` table in the Rekordbox database. * * This struct maps to the `djmdCategory` table in the SQLite database used by Rekordbox. * It stores category-related data, which can be associated with menu items. * * # References * * [`DjmdMenuItems`] via `menu_item_id` foreign key. */ export interface DjmdCategory { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The id of the associated [`DjmdMenuItems`]. */ menuItemId: string /** The sequence/order of the category. */ seq: number /** A flag indicating whether the category is disabled. */ disable: number /** The info order for the category. */ infoOrder: number } /** * Represents the `djmdCloudProperty` table in the Rekordbox database. * * This struct maps to the `djmdCloudProperty` table in the SQLite database used by Rekordbox. * It stores metadata and properties related to cloud-based entries, including status, * synchronization details, and reserved fields for future use. */ export interface DjmdCloudProperty { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string for reserved data. */ reserved1?: string /** An optional string for reserved data. */ reserved2?: string /** An optional string for reserved data. */ reserved3?: string /** An optional string for reserved data. */ reserved4?: string /** An optional string for reserved data. */ reserved5?: string } /** * Represents the `djmdColor` table in the Rekordbox database. * * This struct maps to the `djmdColor` table in the SQLite database used by Rekordbox. * It stores color-related data, which can be associated with tracks and other entities. * * # Referenced by * * [`DjmdContent`] via `color_id` foreign key. */ export interface DjmdColor { /** A unique identifier for the color entry. */ id: string /** A unique universal identifier for the color entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string representing the color code (e.g., hex value). */ colorCode?: string /** The sort key for ordering colors. */ sortKey: number /** A comment (usually the name) associated with the color. */ commnt: string } /** * Represents the `djmdContent` table in the Rekordbox database. * * This struct maps to the `djmdContent` table in the SQLite database used by Rekordbox. * It contains metadata and attributes for each track in the collection, including file info, * artist, album, genre, and more. * * # Referenced by * * [`ContentActiveCensor`] via `content_id` foreign key. * * [`ContentCue`] via `content_id` foreign key. * * [`ContentFile`] via `content_id` foreign key. * * [`DjmdActiveCensor`] via `content_id` and `content_uuid` foreign keys. * * [`DjmdSongHistory`] via `content_id` foreign key. * * [`DjmdSongHotCueBanklist`] via `content_id` foreign key. * * [`DjmdMixerParam`] via `content_id` foreign key. * * [`DjmdSongMyTag`] via `content_id` foreign key. * * [`DjmdSongPlaylist`] via `content_id` foreign key. * * [`DjmdRecommendLike`] via `content_id1` and `content_id2` foreign keys. * * [`DjmdSongRelatedTracks`] via `content_id` foreign key. * * [`DjmdSongSampler`] via `content_id` foreign key. * * [`DjmdSongTagList`] via `content_id` foreign key. * * # References * * [`DjmdArtist`] via `artist_id`, `remixer_id`, `original_artist_id`, `composer_id` and `lyricist` foreign keys. * * [`DjmdAlbum`] via `album_id` foreign key. * * [`DjmdGenre`] via `genre_id` foreign key. * * [`DjmdLabel`] via `label_id` foreign key. * * [`DjmdKey`] via `key_id` foreign key. * * [`DjmdColor`] via `color_id` foreign key. */ export interface DjmdContent { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string representing the folder path of the track. */ folderPath?: string /** An optional string representing the long file name of the track. */ fileNameL?: string /** An optional string representing the short file name of the track. */ fileNameS?: string /** An optional string representing the title of the track. */ title?: string /** An optional string representing the ID of the associated artist in [`DjmdArtist`]. */ artistId?: string /** An optional string representing the ID of the associated album in [`DjmdAlbum`]. */ albumId?: string /** An optional string representing the ID of the associated genre in [`DjmdGenre`]. */ genreId?: string /** An optional integer representing the BPM of the track. */ bpm?: number /** An optional integer representing the length of the track in milliseconds. */ length?: number /** An optional integer representing the track number in the album. */ trackNo?: number /** An optional integer representing the bit rate of the track. */ bitRate?: number /** An optional integer representing the bit depth of the track. */ bitDepth?: number /** An optional string representing comments about the track. */ commnt?: string /** An optional integer representing the file type of the track. */ fileType?: number /** An optional integer representing the rating of the track. */ rating?: number /** An optional integer representing the release year of the track. */ releaseYear?: number /** An optional string representing the ID of the remixer in [`DjmdArtist`]. */ remixerId?: string /** An optional string representing the ID of the label in [`DjmdLabel`]. */ labelId?: string /** An optional string representing the ID of the original artist in [`DjmdArtist`]. */ orgArtistId?: string /** An optional string representing the ID of the key in [`DjmdKey`]. */ keyId?: string /** An optional string representing the stock date of the track. */ stockDate?: string /** An optional string representing the ID of the color in [`DjmdColor`]. */ colorId?: string /** An optional integer representing the DJ play count of the track. */ djPlayCount?: number /** An optional string representing the path to the track's image. */ imagePath?: string /** An optional string representing the ID of the master database. */ masterDbId?: string /** An optional string representing the ID of the master song. */ masterSongId?: string /** An optional string representing the path to the analysis data. */ analysisDataPath?: string /** An optional string used for searching the track. */ searchStr?: string /** An optional integer representing the file size of the track. */ fileSize?: number /** An optional integer representing the disc number of the track. */ discNo?: number /** An optional string representing the ID of the composer in [`DjmdArtist`]. */ composerId?: string /** An optional string representing the subtitle of the track. */ subtitle?: string /** An optional integer representing the sample rate of the track. */ sampleRate?: number /** An optional integer indicating whether quantization is disabled for the track. */ disableQuantize?: number /** An optional integer indicating whether the track has been analyzed. */ analysed?: number /** An optional string representing the release date of the track. */ releaseDate?: string /** An optional string representing the creation date of the track. */ dateCreated?: string /** An optional integer representing the content link of the track. */ contentLink?: number /** An optional string representing tags associated with the track. */ tag?: string /** An optional string indicating whether the track was modified by Rekordbox. */ modifiedByRbm?: string /** An optional string representing the auto-load hot cue setting. */ hotCueAutoLoad?: string /** An optional string representing the delivery control setting. */ deliveryControl?: string /** An optional string representing comments about the delivery. */ deliveryComment?: string /** An optional string indicating whether the cue points were updated. */ cueUpdated?: string /** An optional string indicating whether the analysis data was updated. */ analysisUpdated?: string /** An optional string indicating whether the track info was updated. */ trackInfoUpdated?: string /** An optional string representing the lyricist of the track. */ lyricist?: string /** An optional string representing the ISRC (International Standard Recording Code) of the track. */ isrc?: string /** An optional integer representing sampler track information. */ samplerTrackInfo?: number /** An optional integer representing the sampler play offset. */ samplerPlayOffset?: number /** An optional float representing the sampler gain. */ samplerGain?: number /** An optional string representing the associated video. */ videoAssociate?: string /** An optional integer representing the lyric status of the track. */ lyricStatus?: number /** An optional integer representing the service ID. */ serviceId?: number /** An optional string representing the original folder path of the track. */ orgFolderPath?: string /** An optional string for reserved data. */ reserved1?: string /** An optional string for reserved data. */ reserved2?: string /** An optional string for reserved data. */ reserved3?: string /** An optional string for reserved data. */ reserved4?: string /** An optional string for extended information. */ extInfo?: string /** An optional string representing the Rekordbox file ID. */ rbFileId?: string /** An optional string representing the ID of the associated device in [`DjmdDevice`]. */ deviceId?: string /** An optional string representing the local folder path in Rekordbox. */ rbLocalFolderPath?: string /** An optional string representing the source ID. */ srcId?: string /** An optional string representing the source title. */ srcTitle?: string /** An optional string representing the source artist name. */ srcArtistName?: string /** An optional string representing the source album name. */ srcAlbumName?: string /** An optional integer representing the source length in milliseconds. */ srcLength?: number } /** * Represents the `djmdCue` table in the Rekordbox database. * * This struct maps to the `djmdCue` table in the SQLite database used by Rekordbox. * It stores information about cue points for tracks, including their timing, type, and * additional metadata. * * # Notes * Rekordbox internally represents time in “frames”, each being 1/150th of a second (6.666ms). * The InFrame and OutFrame values use this unit of time. However, when a track is encoded with * variable bit-rate (VBR) or average bit-rate (ABR), the InMpegFrame and OutMpegFrame values are * filled out to assist with correct seeking. Despite the names, these values are not the frame * indices within the MPEG file, but instead use an alternative timing scheme that is typically * around 1/75th of a second (13.333ms) per frame, i.e. about half the granularity of normal frames. * * # References * * [`DjmdContent`] via `content_id` and `content_uuid` foreign keys. * * # Referenced by * * [`DjmdSongHotCueBanklist`] via `cue_id` foreign key. */ export interface DjmdCue { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the associated track in [`DjmdContent`]. */ contentId: string /** The cue's start time in milliseconds. */ inMsec: number /** * The cue's start frame. * * One frame is 1/150th of a second */ inFrame: number /** The cue's start MPEG frame or 0 if not a VBR/ABR MPEG file (see note). */ inMpegFrame: number /** The cue's start MPEG absolute frame or 0 if not a VBR/ABR MPEG file. */ inMpegAbs: number /** The cue's end time in milliseconds or -1 if not a loop. */ outMsec: number /** * The cue's end frame or -1 if not a loop. * * One frame is 1/150th of a second */ outFrame: number /** The cue's end MPEG frame or 0 if not a loop or not a VBR/ABR MPEG file (see note) */ outMpegFrame: number /** The cue's end MPEG absolute frame or 0 if not a loop or not a VBR/ABR MPEG file */ outMpegAbs: number /** * The type of the cue. * * 0 if a memory cue, otherwise the number of Hot Cue */ kind: number /** The color ID of the cue or -1 if no color. */ color: number /** An optional integer representing the index of the color in the color table. */ colorTableIndex?: number /** An optional integer indicating whether the cue is part of an active loop. */ activeLoop?: number /** An optional string containing comments about the cue. */ comment?: string /** An optional integer representing the size of the beat loop. */ beatLoopSize?: number /** An optional integer representing the cue's position in microseconds. */ cueMicrosec?: number /** An optional string containing seek information for the cue's start point. */ inPointSeekInfo?: string /** An optional string containing seek information for the cue's end point. */ outPointSeekInfo?: string /** An optional string representing the UUID of the associated track in [`DjmdContent`]. */ contentUuid?: string } /** * Represents the `djmdDevice` table in the Rekordbox database. * * This struct maps to the `djmdDevice` table in the SQLite database used by Rekordbox. * It stores information about devices associated with the Rekordbox collection, including * metadata such as device name and master database ID. */ export interface DjmdDevice { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The ID of the master database associated with the device. */ masterDbId: string /** The name of the device. */ name: string } /** * Represents the `djmdGenre` table in the Rekordbox database. * * This struct maps to the `djmdGenre` table in the SQLite database used by Rekordbox. * It stores genre-related data, allowing tracks to be categorized by genre. * * # Referenced by * * [`DjmdContent`] via `genre_id` foreign key. */ export interface DjmdGenre { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** An optional string representing the name of the genre. */ name: string } /** * Represents the `djmdHistory` table in the Rekordbox database. * * This struct maps to the `djmdHistory` table in the SQLite database used by Rekordbox. * It stores information about history entries, including metadata such as sequence, name, * attributes, and parent relationships. * * # Referenced by * * [`DjmdHistory`] via `parent_id` foreign key. * * [`DjmdSongHistory`] via `history_id` foreign key. * * # References * * [`DjmdHistory`] via `parent_id` foreign key. */ export interface DjmdHistory { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The sequence/order number of the history (1-based index) */ seq: number /** The name of the history. */ name: string /** The attribute of the tag, either history (`0`) or a folder (`1`) */ attribute: number /** The ID of the parent [`DjmdHistory`], `'root'` for top-level my-tag records. */ parentId: string /** The creation date of the history. */ dateCreated: string } /** * Represents the `djmdHotCueBanklist` table in the Rekordbox database. * * This struct maps to the `djmdHotCueBanklist` table in the SQLite database used by Rekordbox. * It stores information about hot cue bank lists, including metadata such as sequence, name, * image path, and parent relationships. * * # Referenced by * * [`DjmdHotCueBanklist`] via `parent_id` foreign key. * * [`DjmdSongHotCueBanklist`] via `hot_cue_banklist_id` and `hot_cue_banklist_uuid` foreign keys. * * [`HotCueBanklistCue`] via `hot_cue_banklist_id` foreign key. * * # References * * [`DjmdHotCueBanklist`] via `parent_id` foreign key. */ export interface DjmdHotCueBanklist { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The sequence/order of the hot cue bank list (1-based index) */ seq: number /** The name of the hot cue bank list. */ name: string /** An optional path to the image associated with the hot cue bank list. */ imagePath?: string /** The attribute of the hot cue bank list, either list (`0`) or a folder (`1`) */ attribute: number /** The ID of the parent [`DjmdHotCueBanklist`], `'root'` for top-level records. */ parentId: string } /** * Represents the `djmdKey` table in the Rekordbox database. * * This struct maps to the `djmdKey` table in the SQLite database used by Rekordbox. * It stores information about musical keys, including their names and sequence order. * * # Referenced by * * [`DjmdContent`] via `key_id` foreign key. */ export interface DjmdKey { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer representing the update sequence number. */ usn?: number /** An optional integer representing the local update sequence number. */ rbLocalUsn?: number /** The timestamp when the entry was created, serialized/deserialized as `DateString`. */ createdAt: Date /** The timestamp when the entry was last updated, serialized/deserialized as `DateString`. */ updatedAt: Date /** The name of the musical key. */ name: string /** An optional integer representing the sequence/order of the key. */ seq?: number } /** * Represents the `djmdLabel` table in the Rekordbox database. * * This struct maps to the `djmdLabel` table in the SQLite database used by Rekordbox. * It stores information about labels, including their names and metadata. * * # Referenced by * * [`DjmdContent`] via `label_id` foreign key. */ export interface DjmdLabel { /** A unique identifier for the entry. */ id: string /** A unique universal identifier for the entry. */ uuid: string /** An integer representing the data status in Rekordbox. */ rbDataStatus: number /** An integer representing the local data status in Rekordbox. */ rbLocalDataStatus: number /** An integer indicating whether the entry is locally deleted. */ rbLocalDeleted: number /** An integer indicating whether the entry is locally synced. */ rbLocalSynced: number /** An optional integer repres