Package org.deepsymmetry.cratedigger.pdb
Class RekordboxAnlz
- java.lang.Object
-
- io.kaitai.struct.KaitaiStruct
-
- org.deepsymmetry.cratedigger.pdb.RekordboxAnlz
-
public class RekordboxAnlz extends io.kaitai.struct.KaitaiStruct
These files are created by rekordbox when analyzing audio tracks to facilitate DJ performance. They include waveforms, beat grids (information about the precise time at which each beat occurs), time indices to allow efficient seeking to specific positions inside variable bit-rate audio streams, and lists of memory cues and loop points. They are used by Pioneer professional DJ equipment. The format has been reverse-engineered to facilitate sophisticated integrations with light and laser shows, videos, and other musical instruments, by supporting deep knowledge of what is playing and what is coming next through monitoring the network communications of the players.- See Also:
- Source
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RekordboxAnlz.BeatGridBeat
Describes an individual beat in a beat grid.static class
RekordboxAnlz.BeatGridTag
Holds a list of all the beats found within the track, recording their bar position, the time at which they occur, and the tempo at that point.static class
RekordboxAnlz.CueEntry
A cue list entry.static class
RekordboxAnlz.CueEntryStatus
static class
RekordboxAnlz.CueEntryType
static class
RekordboxAnlz.CueExtendedEntry
A cue extended list entry.static class
RekordboxAnlz.CueExtendedTag
A variation of cue_tag which was introduced with the nxs2 line, and adds descriptive names.static class
RekordboxAnlz.CueListType
static class
RekordboxAnlz.CueTag
Stores either a list of ordinary memory cues and loop points, or a list of hot cues and loop points.static class
RekordboxAnlz.MoodHighPhrase
static class
RekordboxAnlz.MoodLowPhrase
static class
RekordboxAnlz.MoodMidPhrase
static class
RekordboxAnlz.PathTag
Stores the file path of the audio file to which this analysis applies.static class
RekordboxAnlz.PhraseHigh
static class
RekordboxAnlz.PhraseLow
static class
RekordboxAnlz.PhraseMid
static class
RekordboxAnlz.SectionTags
static class
RekordboxAnlz.SongStructureBody
Stores the rest of the song structure tag, which can only be parsed after unmasking.static class
RekordboxAnlz.SongStructureEntry
A song structure entry, represents a single phrase.static class
RekordboxAnlz.SongStructureTag
Stores the song structure, also known as phrases (intro, verse, bridge, chorus, up, down, outro).static class
RekordboxAnlz.TaggedSection
A type-tagged file section, identified by a four-byte magic sequence, with a header specifying its length, and whose payload is determined by the type tag.static class
RekordboxAnlz.TrackBank
static class
RekordboxAnlz.TrackMood
static class
RekordboxAnlz.UnknownTag
static class
RekordboxAnlz.VbrTag
Stores an index allowing rapid seeking to particular times within a variable-bitrate audio file.static class
RekordboxAnlz.WaveColorPreviewTag
A larger, colorful waveform preview image suitable for display above the touch strip for jumping to a track position on newer high-resolution players.static class
RekordboxAnlz.WaveColorScrollTag
A larger, colorful waveform image suitable for scrolling along as a track plays on newer high-resolution hardware.static class
RekordboxAnlz.WavePreviewTag
Stores a waveform preview image suitable for display above the touch strip for jumping to a track position.static class
RekordboxAnlz.WaveScrollTag
A larger waveform image suitable for scrolling along as a track plays.
-
Constructor Summary
Constructors Constructor Description RekordboxAnlz(io.kaitai.struct.KaitaiStream _io)
RekordboxAnlz(io.kaitai.struct.KaitaiStream _io, io.kaitai.struct.KaitaiStruct _parent)
RekordboxAnlz(io.kaitai.struct.KaitaiStream _io, io.kaitai.struct.KaitaiStruct _parent, RekordboxAnlz _root)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description io.kaitai.struct.KaitaiStruct
_parent()
RekordboxAnlz
_root()
byte[]
_unnamed3()
static RekordboxAnlz
fromFile(String fileName)
long
lenFile()
The number of bytes in the entire file.long
lenHeader()
The number of bytes of this header section.byte[]
magic()
Identifies this as an analysis file.ArrayList<RekordboxAnlz.TaggedSection>
sections()
The remainder of the file is a sequence of type-tagged sections, identified by a four-byte magic sequence.
-
-
-
Constructor Detail
-
RekordboxAnlz
public RekordboxAnlz(io.kaitai.struct.KaitaiStream _io)
-
RekordboxAnlz
public RekordboxAnlz(io.kaitai.struct.KaitaiStream _io, io.kaitai.struct.KaitaiStruct _parent)
-
RekordboxAnlz
public RekordboxAnlz(io.kaitai.struct.KaitaiStream _io, io.kaitai.struct.KaitaiStruct _parent, RekordboxAnlz _root)
-
-
Method Detail
-
fromFile
public static RekordboxAnlz fromFile(String fileName) throws IOException
- Throws:
IOException
-
magic
public byte[] magic()
Identifies this as an analysis file.
-
lenHeader
public long lenHeader()
The number of bytes of this header section.
-
lenFile
public long lenFile()
The number of bytes in the entire file.
-
_unnamed3
public byte[] _unnamed3()
-
sections
public ArrayList<RekordboxAnlz.TaggedSection> sections()
The remainder of the file is a sequence of type-tagged sections, identified by a four-byte magic sequence.
-
_root
public RekordboxAnlz _root()
-
_parent
public io.kaitai.struct.KaitaiStruct _parent()
- Overrides:
_parent
in classio.kaitai.struct.KaitaiStruct
-
-