Files
Vincent 2d0b7fe8b5 BWF Analyser: browser page and macOS app
Reads and edits BWF metadata for production sound. One source tree builds a
single self-contained page and a native Tauri app with a Rust audio engine and
WAV writer. Around 370 checks across seven test suites.

First commit of the existing state, so that from here every change can be
seen and undone.
2026-08-17 22:50:39 +08:00

41 lines
1.6 KiB
TOML

[package]
name = "bwf-analyser"
version = "1.5.1"
description = "Broadcast Wave metadata analyser for location sound"
authors = ["Vincent Rozenberg"]
license = "MIT"
edition = "2021"
# Tauri itself only asks for 1.77, but crates deep in its dependency tree are
# published as edition 2024, which older toolchains won't even parse. Declaring
# the real floor here turns that into a clear message instead of a confusing
# manifest error from some transitive dependency.
rust-version = "1.85"
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
# devtools: right-click gives Inspect Element in the built app. Without it a
# problem in the page can only be guessed at from the outside.
tauri = { version = "2", features = ["devtools"] }
tauri-plugin-dialog = "2"
# Remembers the window's size and position between launches.
tauri-plugin-window-state = "2"
serde = { version = "1", features = ["derive"] }
# Playback. The app owns its own output stream rather than borrowing the
# webview's: WebKit's audio dies after the machine has been left alone and
# only a relaunch brings it back, which is not something a page can fix.
cpal = "0.16"
# Reading metadata is all disk and no arithmetic, but converting a card of
# 32-bit float files is a per-sample loop over tens of gigabytes, so the
# optimiser gets its head. `codegen-units = 1` and LTO keep the binary small
# anyway.
[profile.release]
codegen-units = 1
lto = true
opt-level = 3
# Unwinding is left on: an Objective-C exception coming back through the
# webview should produce a usable crash report, not an immediate abort.
strip = true