Releases: Deep-Symmetry/crate-digger
v0.2.2-SNAPSHOT preview
🚧 This is pre-release code for people who want to help test what is going into the next release.
Don’t download this if you aren’t comfortable testing code while it is under active development! Instead, look at the latest release.
The API docs for the latest preview release can be viewed here.
v0.2.1
What’s in the Release
✨Summary to be added once James has a moment! Please see the Change Log for all the details.
v0.2.0
Changed
- Upgraded Kaitai Struct to version 0.10, which includes a number of fixes and adds linting of mapped values.
🔧 This is a backwards-incompatible change. - Since we are already backwards incompatible with pervious releases, changed some mapped value names to correspond to the KSY style guide and fix linter errors reported by KSC 0.10:
- In
rekordbox_pdb.ksyrenamednum_groupstonum_row_groups.
This means thatPage.numGroupsis nowPage.numRowGroupsin the generated Java class. - In
rekordbox_pdb.ksyrenamedautoload_hotcuestoautoload_hot_cues.
This means thatTrackRow.autoloadHotcuesis nowTrackRow.autoloadHotCuesin the generated Java class. - In
rekordbox_anlz.ksyrenamedlen_previewtolen_data.
This means thatWavePreviewTag.lenPreviewis nowWavePreviewTag.lenDatain the generated Java class. - In
rekordbox_anlz.ksyrenamedlen_beatstonum_beats.
This means thatBeatGridTag.lenBeatsis nowBeatGridTag.numBeatsin the generated Java class. - In
rekordbox_anlz.ksyrenamedlen_cuestonum_cues.
This means thatCueTag.lenCuesandExtendedCueTag.lenCuesare nowCueTag.numCuesandExtendedCueTag.numCuesin the generated Java classes.
- In
- Also upgraded to Java 11 as a compilation target, in order to be able to work with the new IO API, among other things.
Added
- New API to create an archive of all the metadata from a media export volume needed to support Beat Link (to support working with the Opus Quad, which cannot provide metadata itself).
Fixed
- With the help of new linting in the latest unreleased version of KSC, changed all character encoding names to use their soon-to-be-canonical uppercase versions.
0.1.6
Added
- Ability to parse
PSSI(song structure/phrase analysis) tags now exported by rekordbox 6. - Ability to parse the history playlist names and entries found in rekordbox database exports.
Changed
-
Upgraded Kaitai Struct to version 0.9, which fixes a bug that prevented us from using enums for the four-character-codes in track analysis files. This makes the parsed values more readable in the Web IDE, and in the generated classes as well.
🔧 This is a backwards-incompatible change.
-
@Swiftb0y improved our understanding of the format of DeviceSQL strings in export files, which simplified the Kaitai Struct
definitions for them, and greatly improved the documentation.
Fixed
- The offset numbers in table page diagrams were incorrect (the documentation did not accurately reflect the Kaitai Struct parser).
0.1.5
Fixed
- DeviceSQL Strings with kind
90are actually stored as UTF-16LE with an unknown00byte between the length and text. - The structure analysis documentation and diagram for database table pages neglected a pair of unknown bytes at the end, so the locations of the row presence flags and row offsets were shown incorrectly.
0.1.4
Fixed
- The colors assigned to ordinary memory points and loops use a completely separate mechanism, which was discovered by @ehendrikd.
- Apparently some
DATfiles can be created by mixers somehow? And apparently these have incorrectly-formatted vestigialPWAVandPWV2tags that claim to have the normal number of preview bytes, but whose tag size is equal to their header size, so they have no actual data at all. This was causing the Kaitai Struct parser to crash. This change allows the parse to succeed, and instead these tags will returnnilwhen you ask for theirdata(). - Rekordbox 6 seems to have at least one new phrase style in it, and this was also crashing the parser. For now, until KSC can handle switching on possibly-null enum values in Java, give up on using an enum for this.
0.1.3
A small analysis file mapping fix.
Fixed
- The parsing of
DATfiles would crash on some cue lists because we originally assumed the cue count was a four byte value, but it appears to actually only be two bytes (which is more than enough)and sometimes non-zero values would appear in the high bytes, causing us to try to read vastly more cues than actually existed. Thanks to @drummerclint for reporting this and sharing the problem file that enabled me to figure it out.
0.1.2
A small fix and an improved build process.
Fixed
- Some extended cue entries found in the field were missing the color bytes which are expected to follow the comment text, and this was causing the parsing of
EXTfiles to fail. These values are now treated as optional. - Now builds properly under current JDKs, including Amazon Corretto 11 (which is a long-term support release). The minimum JDK for building is now Java 9, but the resulting build is still compatible back to
Java 1.6. Building under Java 11 results in much nicer JavaDoc, with search support.
0.1.1
A release to support the display of hot cue colors, and named cues and loops.
Added
- Ability to parse
PCO2tags, which hold cues and loops along with DJ-assigned comment labels and colors, displayable on nxs2 players. - Ability to parse
PSSItags, which hold phrase structure analysis performed by rekord box with a Performance license. (As this is not currently included when tracks are exported to removable media, nor available through adbserverquery, it cannot be used by Beat Link.) Many thanks to @mganss for this contribution! - More explanation of the interpretation of waveform color preview tags.