Skip to content

v0.3.2

Choose a tag to compare

@MejiroRina MejiroRina released this 27 Jun 07:50
· 31 commits to main since this release
378950e

Gives every extract and decode operation an in-memory variant, so an ACB or USM can go all the way to decoded audio and streams without temporary files. In-memory and file-based decoding produce byte-identical WAV output. Purely additive.

Added

  • Extract ACB tracks in memory with extract_acb_bytes(acb_data), which returns {name, cue_id, extension, subkey, data} per track. (#12)
  • Decode an ACB to WAV in memory with decode_acb_to_wav_bytes(acb_data, key=None), which returns {name, cue_id, extension, data} with WAV bytes for HCA tracks. (#12)
  • Extract USM streams in memory with extract_usm_bytes(usm_data, key=None, export_audio=False), which returns {name, extension, data} per stream. (#12)
  • Use ACB-to-WAV decoding from Rust: decode_acb_to_wav, decode_acb_to_wav_to_memory and decode_acb_to_wav_from_file, with DecodedAcbTrack and DecodeAcbError. The Python decode_acb_to_wav now wraps this code. (#12)
  • Carry the cue ID in ExtractedAcbTrack (cue_id). (#12)

Upgrade notes

  • The in-memory functions read only the AWB embedded in the ACB. ACBs that stream from an external .awb file still need the path-based extract_acb. (#12)

Artifacts

Full Changelog: v0.3.1...v0.3.2