Skip to content

Audio import: MP3/OGG + waveform trim, and native AWC self-validation - #14

Open
BJDubb wants to merge 1 commit into
masterfrom
feature-audio-import
Open

Audio import: MP3/OGG + waveform trim, and native AWC self-validation#14
BJDubb wants to merge 1 commit into
masterfrom
feature-audio-import

Conversation

@BJDubb

@BJDubb BJDubb commented Jun 30, 2026

Copy link
Copy Markdown
Owner

Audio import overhaul

  • MP3/OGG support. Imports decode through a single reader factory (WaveFileReader for WAV, NAudio for MP3/AIFF/WMA, NAudio.Vorbis for OGG). Non-WAV sources auto-convert to mono 16-bit PCM on generate. Filters + drop + UI copy widened.
  • Waveform trim. Each siren has draggable in/out handles over a rendered waveform; trim is persisted and applied by the sanitizer on generate (source file never modified). Reset button + readout.

Native AWC backend

  • Own validator. NativeAwcValidator parses the AWC back and checks each stream (present, PCM, non-silent) with no CodeWalker dependency, so the native encode and verify paths are both fully independent. Still experimental/opt-in.

37 tests green. Version 0.6.0.

- Accept MP3 and OGG sources in addition to WAV, decoded via the audio
  reader factory and sanitized to mono 16-bit PCM on export. Unsupported
  extensions are rejected rather than guessed at as WAV.
- Add per-siren trim with in/out points and a waveform trim editor in the
  siren inspector; trims are applied during generation. Trim points are
  clamped to the clip length when the source changes, and the readout shows
  "end" for an open out-point.
- Write and read each prepared clip as {name}.wav so an MP3/OGG source never
  leaves WAV data under its original extension.
- Give the native AWC backend its own validator.
- Replace the unfounded 7-soundset limit warning with a warning when AWC
  names collide in their first 8 characters (the game's bank identity).
- Bump version to 0.6.0.
@BJDubb
BJDubb force-pushed the feature-audio-import branch from 16909ec to 23eb0d3 Compare June 30, 2026 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant