Skip to content

Releases: Deep-Symmetry/crate-digger

v0.2.1-SNAPSHOT preview

04 Sep 03:40
0aeb116
Compare
Choose a tag to compare
Pre-release

🚧 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.0

05 May 04:11
5e2ed34
Compare
Choose a tag to compare

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:
    1. In rekordbox_pdb.ksy renamed num_groups to num_row_groups.
      This means that Page.numGroups is now Page.numRowGroups in the generated Java class.
    2. In rekordbox_pdb.ksy renamed autoload_hotcues to autoload_hot_cues.
      This means that TrackRow.autoloadHotcues is now TrackRow.autoloadHotCues in the generated Java class.
    3. In rekordbox_anlz.ksy renamed len_preview to len_data.
      This means that WavePreviewTag.lenPreview is now WavePreviewTag.lenData in the generated Java class.
    4. In rekordbox_anlz.ksy renamed len_beats to num_beats.
      This means that BeatGridTag.lenBeats is now BeatGridTag.numBeats in the generated Java class.
    5. In rekordbox_anlz.ksy renamed len_cues to num_cues.
      This means that CueTag.lenCues and ExtendedCueTag.lenCues are now CueTag.numCues and ExtendedCueTag.numCues in the generated Java classes.
  • 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

07 Mar 20:59
e762766
Compare
Choose a tag to compare

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

28 Dec 20:37
dea5eb0
Compare
Choose a tag to compare

Fixed

  • DeviceSQL Strings with kind 90 are actually stored as UTF-16LE with an unknown 00 byte 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

10 May 21:06
56f904f
Compare
Choose a tag to compare

Fixed

  • The colors assigned to ordinary memory points and loops use a completely separate mechanism, which was discovered by @ehendrikd.
  • Apparently some DAT files can be created by mixers somehow? And apparently these have incorrectly-formatted vestigial PWAV and PWV2 tags 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 return nil when you ask for their data().
  • 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

09 Feb 19:48
94a6a60
Compare
Choose a tag to compare

A small analysis file mapping fix.

Fixed

  • The parsing of DAT files 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

25 Oct 22:09
Compare
Choose a tag to compare

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 EXT files 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

25 Aug 23:27
Compare
Choose a tag to compare

A release to support the display of hot cue colors, and named cues and loops.

Added

  • Ability to parse PCO2 tags, which hold cues and loops along with DJ-assigned comment labels and colors, displayable on nxs2 players.
  • Ability to parse PSSI tags, 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 a dbserver query, it cannot be used by Beat Link.) Many thanks to @mganss for this contribution!
  • More explanation of the interpretation of waveform color preview tags.

0.1.0

24 Feb 00:56
Compare
Choose a tag to compare

Initial stable release for use by release 0.5.0 of Beat Link. People have been using this for a few months now around the world, and it seems to be working well.