Package org.deepsymmetry.cratedigger.pdb
Class RekordboxPdb.TrackRow
- java.lang.Object
-
- io.kaitai.struct.KaitaiStruct
-
- org.deepsymmetry.cratedigger.pdb.RekordboxPdb.TrackRow
-
- Enclosing class:
- RekordboxPdb
public static class RekordboxPdb.TrackRow extends io.kaitai.struct.KaitaiStruct
A row that describes a track that can be played, with many details about the music, and links to other tables like artists, albums, keys, etc.
-
-
Constructor Summary
Constructors Constructor Description TrackRow(io.kaitai.struct.KaitaiStream _io)
TrackRow(io.kaitai.struct.KaitaiStream _io, RekordboxPdb.RowRef _parent)
TrackRow(io.kaitai.struct.KaitaiStream _io, RekordboxPdb.RowRef _parent, RekordboxPdb _root)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description RekordboxPdb.RowRef
_parent()
RekordboxPdb
_root()
int
_unnamed0()
Some kind of magic word? Usually 0x24, 0x00.int
_unnamed26()
From @flesniak: "always 41?"int
_unnamed29()
From @flesniak: "always 1?"int
_unnamed30()
From @flesniak: "alternating 2 or 3"long
_unnamed6()
Some ID? Purpose as yet unknown.int
_unnamed7()
From @flesniak: "always 19048?"int
_unnamed8()
From @flesniak: "always 30967?"long
albumId()
References a row in the albums table if the track has a known album.RekordboxPdb.DeviceSqlString
analyzeDate()
A string containing the date this track was analyzed by rekordbox.RekordboxPdb.DeviceSqlString
analyzePath()
The file path of the track analysis, which allows rapid seeking to particular times in variable bit-rate files, jumping to particular beats, visual waveform previews, and stores cue points and loops.long
artistId()
References a row in the artists table if the track has a known performer.long
artworkId()
References a row in the artwork table if there is album art.RekordboxPdb.DeviceSqlString
autoloadHotcues()
A string whose value is always either empty or "ON", and which apparently for some insane reason is used, rather than a single bit somewhere, to control whether hot-cues are auto-loaded for the track.long
bitmask()
TODO what do the bits mean?long
bitrate()
Playback bit rate of the audio file.int
colorId()
References a row in the colors table if the track has been assigned a color.RekordboxPdb.DeviceSqlString
comment()
The comment assigned to the track by the DJ, if any.long
composerId()
References a row in the artist table if the composer is known.RekordboxPdb.DeviceSqlString
dateAdded()
A string containing the date this track was added to the collection.int
discNumber()
The number of the disc on which this track is found, if it is known to be part of a multi-disc album.int
duration()
The length, in seconds, of the track when played at normal speed.RekordboxPdb.DeviceSqlString
filename()
The file name of the track audio file.RekordboxPdb.DeviceSqlString
filePath()
The file path of the track audio file.long
fileSize()
The length of the audio file, in bytes.static RekordboxPdb.TrackRow
fromFile(String fileName)
long
genreId()
References a row in the genres table if the track has a known musical genre.long
id()
The id by which this track can be looked up; players will report this value in their status packets when they are playing the track.int
indexShift()
TODO name from @flesniak, but what does it mean?RekordboxPdb.DeviceSqlString
isrc()
International Standard Recording Code of track when known (in mangled format).long
keyId()
References a row in the keys table if the track has a known main musical key.RekordboxPdb.DeviceSqlString
kuvoPublic()
A string whose value is always either empty or "ON", and which apparently for some insane reason is used, rather than a single bit somewhere, to control whether the track information is visible on Kuvo.long
labelId()
References a row in the labels table if the track has a known record label.RekordboxPdb.DeviceSqlString
message()
A string of unknown purpose, which @flesnik named.RekordboxPdb.DeviceSqlString
mixName()
A string naming the remix of the track, if known.ArrayList<Integer>
ofsStrings()
The location, relative to the start of this row, of a variety of variable-length strings.long
originalArtistId()
References a row in the artwork table if this is a cover performance and the original artist is known.int
playCount()
The number of times this track has been played.int
rating()
The number of stars to display for the track, 0 to 5.RekordboxPdb.DeviceSqlString
releaseDate()
A string containing the date this track was released, if known.long
remixerId()
References a row in the artists table if the track has a known remixer.int
sampleDepth()
The number of bits per sample of the audio file.long
sampleRate()
Playback sample rate of the audio file.long
tempo()
The tempo at the start of the track in beats per minute, multiplied by 100.RekordboxPdb.DeviceSqlString
texter()
A string of unknown purpose, which @flesnik named.RekordboxPdb.DeviceSqlString
title()
The title of the track.long
trackNumber()
The position of the track within an album.RekordboxPdb.DeviceSqlString
unknownString2()
A string of unknown purpose; @flesniak said "thought tracknumber -> wrong!"RekordboxPdb.DeviceSqlString
unknownString3()
A string of unknown purpose; @flesniak said "strange strings, often zero length, sometimes low binary values 0x01/0x02 as content"RekordboxPdb.DeviceSqlString
unknownString4()
A string of unknown purpose; @flesniak said "strange strings, often zero length, sometimes low binary values 0x01/0x02 as content"RekordboxPdb.DeviceSqlString
unknownString5()
A string of unknown purpose.RekordboxPdb.DeviceSqlString
unknownString6()
A string of unknown purpose, usually empty.RekordboxPdb.DeviceSqlString
unknownString7()
A string of unknown purpose, usually empty.RekordboxPdb.DeviceSqlString
unknownString8()
A string of unknown purpose, usually empty.int
year()
The year in which this track was released.
-
-
-
Constructor Detail
-
TrackRow
public TrackRow(io.kaitai.struct.KaitaiStream _io)
-
TrackRow
public TrackRow(io.kaitai.struct.KaitaiStream _io, RekordboxPdb.RowRef _parent)
-
TrackRow
public TrackRow(io.kaitai.struct.KaitaiStream _io, RekordboxPdb.RowRef _parent, RekordboxPdb _root)
-
-
Method Detail
-
fromFile
public static RekordboxPdb.TrackRow fromFile(String fileName) throws IOException
- Throws:
IOException
-
unknownString8
public RekordboxPdb.DeviceSqlString unknownString8()
A string of unknown purpose, usually empty.
-
unknownString6
public RekordboxPdb.DeviceSqlString unknownString6()
A string of unknown purpose, usually empty.
-
analyzeDate
public RekordboxPdb.DeviceSqlString analyzeDate()
A string containing the date this track was analyzed by rekordbox.
-
filePath
public RekordboxPdb.DeviceSqlString filePath()
The file path of the track audio file.
-
autoloadHotcues
public RekordboxPdb.DeviceSqlString autoloadHotcues()
A string whose value is always either empty or "ON", and which apparently for some insane reason is used, rather than a single bit somewhere, to control whether hot-cues are auto-loaded for the track.
-
dateAdded
public RekordboxPdb.DeviceSqlString dateAdded()
A string containing the date this track was added to the collection.
-
unknownString3
public RekordboxPdb.DeviceSqlString unknownString3()
A string of unknown purpose; @flesniak said "strange strings, often zero length, sometimes low binary values 0x01/0x02 as content"
-
texter
public RekordboxPdb.DeviceSqlString texter()
A string of unknown purpose, which @flesnik named.
-
kuvoPublic
public RekordboxPdb.DeviceSqlString kuvoPublic()
A string whose value is always either empty or "ON", and which apparently for some insane reason is used, rather than a single bit somewhere, to control whether the track information is visible on Kuvo.
-
mixName
public RekordboxPdb.DeviceSqlString mixName()
A string naming the remix of the track, if known.
-
unknownString5
public RekordboxPdb.DeviceSqlString unknownString5()
A string of unknown purpose.
-
unknownString4
public RekordboxPdb.DeviceSqlString unknownString4()
A string of unknown purpose; @flesniak said "strange strings, often zero length, sometimes low binary values 0x01/0x02 as content"
-
message
public RekordboxPdb.DeviceSqlString message()
A string of unknown purpose, which @flesnik named.
-
unknownString2
public RekordboxPdb.DeviceSqlString unknownString2()
A string of unknown purpose; @flesniak said "thought tracknumber -> wrong!"
-
isrc
public RekordboxPdb.DeviceSqlString isrc()
International Standard Recording Code of track when known (in mangled format).
-
unknownString7
public RekordboxPdb.DeviceSqlString unknownString7()
A string of unknown purpose, usually empty.
-
filename
public RekordboxPdb.DeviceSqlString filename()
The file name of the track audio file.
-
analyzePath
public RekordboxPdb.DeviceSqlString analyzePath()
The file path of the track analysis, which allows rapid seeking to particular times in variable bit-rate files, jumping to particular beats, visual waveform previews, and stores cue points and loops.
-
comment
public RekordboxPdb.DeviceSqlString comment()
The comment assigned to the track by the DJ, if any.
-
releaseDate
public RekordboxPdb.DeviceSqlString releaseDate()
A string containing the date this track was released, if known.
-
title
public RekordboxPdb.DeviceSqlString title()
The title of the track.
-
_unnamed0
public int _unnamed0()
Some kind of magic word? Usually 0x24, 0x00.
-
indexShift
public int indexShift()
TODO name from @flesniak, but what does it mean?
-
bitmask
public long bitmask()
TODO what do the bits mean?
-
sampleRate
public long sampleRate()
Playback sample rate of the audio file.
-
composerId
public long composerId()
References a row in the artist table if the composer is known.
-
fileSize
public long fileSize()
The length of the audio file, in bytes.
-
_unnamed6
public long _unnamed6()
Some ID? Purpose as yet unknown.
-
_unnamed7
public int _unnamed7()
From @flesniak: "always 19048?"
-
_unnamed8
public int _unnamed8()
From @flesniak: "always 30967?"
-
artworkId
public long artworkId()
References a row in the artwork table if there is album art.
-
keyId
public long keyId()
References a row in the keys table if the track has a known main musical key.
-
originalArtistId
public long originalArtistId()
References a row in the artwork table if this is a cover performance and the original artist is known.
-
labelId
public long labelId()
References a row in the labels table if the track has a known record label.
-
remixerId
public long remixerId()
References a row in the artists table if the track has a known remixer.
-
bitrate
public long bitrate()
Playback bit rate of the audio file.
-
trackNumber
public long trackNumber()
The position of the track within an album.
-
tempo
public long tempo()
The tempo at the start of the track in beats per minute, multiplied by 100.
-
genreId
public long genreId()
References a row in the genres table if the track has a known musical genre.
-
albumId
public long albumId()
References a row in the albums table if the track has a known album.
-
artistId
public long artistId()
References a row in the artists table if the track has a known performer.
-
id
public long id()
The id by which this track can be looked up; players will report this value in their status packets when they are playing the track.
-
discNumber
public int discNumber()
The number of the disc on which this track is found, if it is known to be part of a multi-disc album.
-
playCount
public int playCount()
The number of times this track has been played.
-
year
public int year()
The year in which this track was released.
-
sampleDepth
public int sampleDepth()
The number of bits per sample of the audio file.
-
duration
public int duration()
The length, in seconds, of the track when played at normal speed.
-
_unnamed26
public int _unnamed26()
From @flesniak: "always 41?"
-
colorId
public int colorId()
References a row in the colors table if the track has been assigned a color.
-
rating
public int rating()
The number of stars to display for the track, 0 to 5.
-
_unnamed29
public int _unnamed29()
From @flesniak: "always 1?"
-
_unnamed30
public int _unnamed30()
From @flesniak: "alternating 2 or 3"
-
ofsStrings
public ArrayList<Integer> ofsStrings()
The location, relative to the start of this row, of a variety of variable-length strings.
-
_root
public RekordboxPdb _root()
-
_parent
public RekordboxPdb.RowRef _parent()
- Overrides:
_parent
in classio.kaitai.struct.KaitaiStruct
-
-