Check and Windows preview / check (anvil) (push) Successful in 2m1s
Check and Windows preview / check (crucible) (push) Successful in 1m31s
Check and Windows preview / check (knurl) (push) Successful in 2m4s
Check and Windows preview / check (lathe) (push) Successful in 1m27s
Check and Windows preview / check (patina) (push) Successful in 1m54s
Check and Windows preview / check (rivet) (push) Successful in 1m30s
Check and Windows preview / check (temper) (push) Successful in 1m31s
Check and Windows preview / check (weld) (push) Successful in 2m31s
Check and Windows preview / previews (push) Successful in 1m26s
Independent plugin release / plan (push) Successful in 7s
Check and Windows preview / windows (push) Successful in 2m26s
Independent plugin release / build (push) Successful in 3m0s
Independent plugin release / publish (push) Successful in 8s
Knurl follows the played note and treats every cycle of the wave on its own: a repeating level pattern over 1-16 cycles makes subharmonics in tune with every note, random level and timing per cycle add rattle, and a noise burst per cycle, highpassed at a multiple of f0, adds grit. Amounts are counted in cycles, so the texture is the same on F1 and on C2. - Cycle clock from the shared note tracker, restarted at each note; the audio is delayed by the lookahead plus 4.2 ms of timing-jitter headroom. - Per-cycle randomness from a hash of the cycle number: Same every note or Free. - Patterns Off, Double, Triple, Fry (default), Gallop, Stutter or drawn; grit switchable per step. Pattern persisted as knurl-pattern. - Editor: last eight cycles overlaid, pattern bars with the playing step. - Tests match the prototype: Double gives f0/2 at -8.19 dB, Triple f0/3 at -10.68 dB, equal on F1 and C2, no added clicks, bit-exact when off, no allocation on the audio thread.
607 lines
13 KiB
TOML
607 lines
13 KiB
TOML
# This file is automatically @generated by Cargo.
|
|
# It is not intended for manual editing.
|
|
version = 4
|
|
|
|
[[package]]
|
|
name = "ab_glyph"
|
|
version = "0.2.32"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "01c0457472c38ea5bd1c3b5ada5e368271cb550be7a4ca4a0b4634e9913f6cc2"
|
|
dependencies = [
|
|
"ab_glyph_rasterizer",
|
|
"owned_ttf_parser",
|
|
]
|
|
|
|
[[package]]
|
|
name = "ab_glyph_rasterizer"
|
|
version = "0.1.10"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618"
|
|
|
|
[[package]]
|
|
name = "ahash"
|
|
version = "0.8.12"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75"
|
|
dependencies = [
|
|
"cfg-if",
|
|
"once_cell",
|
|
"version_check",
|
|
"zerocopy",
|
|
]
|
|
|
|
[[package]]
|
|
name = "anvil-core"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-dsp",
|
|
"serde",
|
|
"serde_json",
|
|
]
|
|
|
|
[[package]]
|
|
name = "anvil-ui"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"anvil-core",
|
|
"common-dsp",
|
|
"common-ui",
|
|
"egui",
|
|
]
|
|
|
|
[[package]]
|
|
name = "autocfg"
|
|
version = "1.5.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
|
|
|
|
[[package]]
|
|
name = "bitflags"
|
|
version = "2.13.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06"
|
|
|
|
[[package]]
|
|
name = "cfg-if"
|
|
version = "1.0.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600"
|
|
|
|
[[package]]
|
|
name = "common-dsp"
|
|
version = "0.1.0"
|
|
|
|
[[package]]
|
|
name = "common-ui"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"egui",
|
|
]
|
|
|
|
[[package]]
|
|
name = "crossbeam-queue"
|
|
version = "0.3.14"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "03e8bd762f7479489c70ed6c768ddca99d7296857de437a68dcb2a94365b3fae"
|
|
dependencies = [
|
|
"crossbeam-utils",
|
|
]
|
|
|
|
[[package]]
|
|
name = "crossbeam-utils"
|
|
version = "0.8.23"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "a31eee39dddec8330830986fcd7625edb5a24ec90ea038215273bbc3adb08ac6"
|
|
|
|
[[package]]
|
|
name = "crucible-core"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-dsp",
|
|
"crossbeam-queue",
|
|
"serde",
|
|
"serde_json",
|
|
]
|
|
|
|
[[package]]
|
|
name = "crucible-ui"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-dsp",
|
|
"common-ui",
|
|
"crucible-core",
|
|
"egui",
|
|
]
|
|
|
|
[[package]]
|
|
name = "ecolor"
|
|
version = "0.31.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "bc4feb366740ded31a004a0e4452fbf84e80ef432ecf8314c485210229672fd1"
|
|
dependencies = [
|
|
"emath",
|
|
]
|
|
|
|
[[package]]
|
|
name = "egui"
|
|
version = "0.31.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "25dd34cec49ab55d85ebf70139cb1ccd29c977ef6b6ba4fe85489d6877ee9ef3"
|
|
dependencies = [
|
|
"ahash",
|
|
"bitflags",
|
|
"emath",
|
|
"epaint",
|
|
"nohash-hasher",
|
|
"profiling",
|
|
]
|
|
|
|
[[package]]
|
|
name = "emath"
|
|
version = "0.31.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9e4cadcff7a5353ba72b7fea76bf2122b5ebdbc68e8155aa56dfdea90083fe1b"
|
|
|
|
[[package]]
|
|
name = "epaint"
|
|
version = "0.31.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "41fcc0f5a7c613afd2dee5e4b30c3e6acafb8ad6f0edb06068811f708a67c562"
|
|
dependencies = [
|
|
"ab_glyph",
|
|
"ahash",
|
|
"ecolor",
|
|
"emath",
|
|
"epaint_default_fonts",
|
|
"nohash-hasher",
|
|
"parking_lot",
|
|
"profiling",
|
|
]
|
|
|
|
[[package]]
|
|
name = "epaint_default_fonts"
|
|
version = "0.31.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "fc7e7a64c02cf7a5b51e745a9e45f60660a286f151c238b9d397b3e923f5082f"
|
|
|
|
[[package]]
|
|
name = "itoa"
|
|
version = "1.0.18"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
|
|
|
|
[[package]]
|
|
name = "knurl-core"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-dsp",
|
|
"serde",
|
|
"serde_json",
|
|
]
|
|
|
|
[[package]]
|
|
name = "knurl-ui"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-dsp",
|
|
"common-ui",
|
|
"egui",
|
|
"knurl-core",
|
|
]
|
|
|
|
[[package]]
|
|
name = "lathe-core"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-dsp",
|
|
"serde",
|
|
"serde_json",
|
|
]
|
|
|
|
[[package]]
|
|
name = "lathe-ui"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-dsp",
|
|
"common-ui",
|
|
"egui",
|
|
"lathe-core",
|
|
]
|
|
|
|
[[package]]
|
|
name = "libc"
|
|
version = "0.2.191"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a"
|
|
|
|
[[package]]
|
|
name = "lock_api"
|
|
version = "0.4.14"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965"
|
|
dependencies = [
|
|
"scopeguard",
|
|
]
|
|
|
|
[[package]]
|
|
name = "memchr"
|
|
version = "2.8.3"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98"
|
|
|
|
[[package]]
|
|
name = "nohash-hasher"
|
|
version = "0.2.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
|
|
|
|
[[package]]
|
|
name = "num-complex"
|
|
version = "0.4.6"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
|
|
dependencies = [
|
|
"num-traits",
|
|
]
|
|
|
|
[[package]]
|
|
name = "num-integer"
|
|
version = "0.1.47"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "7ce2d95d4b3734dc35aa2f45e1aa22cd416814592a4f9d9205e11affd5b8e10b"
|
|
dependencies = [
|
|
"num-traits",
|
|
]
|
|
|
|
[[package]]
|
|
name = "num-traits"
|
|
version = "0.2.19"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
|
dependencies = [
|
|
"autocfg",
|
|
]
|
|
|
|
[[package]]
|
|
name = "once_cell"
|
|
version = "1.21.4"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
|
|
|
|
[[package]]
|
|
name = "owned_ttf_parser"
|
|
version = "0.25.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b"
|
|
dependencies = [
|
|
"ttf-parser",
|
|
]
|
|
|
|
[[package]]
|
|
name = "parking_lot"
|
|
version = "0.12.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a"
|
|
dependencies = [
|
|
"lock_api",
|
|
"parking_lot_core",
|
|
]
|
|
|
|
[[package]]
|
|
name = "parking_lot_core"
|
|
version = "0.9.12"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1"
|
|
dependencies = [
|
|
"cfg-if",
|
|
"libc",
|
|
"redox_syscall",
|
|
"smallvec",
|
|
"windows-link",
|
|
]
|
|
|
|
[[package]]
|
|
name = "patina-core"
|
|
version = "0.2.0"
|
|
dependencies = [
|
|
"rustfft",
|
|
"serde",
|
|
"serde_json",
|
|
]
|
|
|
|
[[package]]
|
|
name = "patina-render"
|
|
version = "0.2.0"
|
|
dependencies = [
|
|
"patina-core",
|
|
"serde_json",
|
|
]
|
|
|
|
[[package]]
|
|
name = "patina-ui"
|
|
version = "0.2.0"
|
|
dependencies = [
|
|
"common-ui",
|
|
"egui",
|
|
"patina-core",
|
|
]
|
|
|
|
[[package]]
|
|
name = "primal-check"
|
|
version = "0.3.4"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "dc0d895b311e3af9902528fbb8f928688abbd95872819320517cc24ca6b2bd08"
|
|
dependencies = [
|
|
"num-integer",
|
|
]
|
|
|
|
[[package]]
|
|
name = "proc-macro2"
|
|
version = "1.0.107"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
|
|
dependencies = [
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "profiling"
|
|
version = "1.0.18"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5"
|
|
|
|
[[package]]
|
|
name = "quote"
|
|
version = "1.0.47"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
]
|
|
|
|
[[package]]
|
|
name = "redox_syscall"
|
|
version = "0.5.18"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d"
|
|
dependencies = [
|
|
"bitflags",
|
|
]
|
|
|
|
[[package]]
|
|
name = "rivet-app"
|
|
version = "0.4.0"
|
|
dependencies = [
|
|
"crossbeam-queue",
|
|
"rivet-core",
|
|
"rivet-midi",
|
|
"windows-sys",
|
|
]
|
|
|
|
[[package]]
|
|
name = "rivet-core"
|
|
version = "0.4.0"
|
|
dependencies = [
|
|
"serde",
|
|
"serde_json",
|
|
]
|
|
|
|
[[package]]
|
|
name = "rivet-midi"
|
|
version = "0.4.0"
|
|
dependencies = [
|
|
"rivet-core",
|
|
]
|
|
|
|
[[package]]
|
|
name = "rivet-preview"
|
|
version = "0.4.0"
|
|
dependencies = [
|
|
"rivet-core",
|
|
"rivet-midi",
|
|
]
|
|
|
|
[[package]]
|
|
name = "rustfft"
|
|
version = "6.4.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "21db5f9893e91f41798c88680037dba611ca6674703c1a18601b01a72c8adb89"
|
|
dependencies = [
|
|
"num-complex",
|
|
"num-integer",
|
|
"num-traits",
|
|
"primal-check",
|
|
"strength_reduce",
|
|
"transpose",
|
|
]
|
|
|
|
[[package]]
|
|
name = "scopeguard"
|
|
version = "1.2.0"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
|
|
|
[[package]]
|
|
name = "serde"
|
|
version = "1.0.229"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
|
|
dependencies = [
|
|
"serde_core",
|
|
"serde_derive",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_core"
|
|
version = "1.0.229"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
|
|
dependencies = [
|
|
"serde_derive",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_derive"
|
|
version = "1.0.229"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn 3.0.9",
|
|
]
|
|
|
|
[[package]]
|
|
name = "serde_json"
|
|
version = "1.0.154"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6"
|
|
dependencies = [
|
|
"itoa",
|
|
"memchr",
|
|
"serde",
|
|
"serde_core",
|
|
"zmij",
|
|
]
|
|
|
|
[[package]]
|
|
name = "smallvec"
|
|
version = "1.16.4"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "d0d5d4b1981b8bbbb7aed204cae5726d683d5d6ac7e74ec54122ea28f315e7c8"
|
|
|
|
[[package]]
|
|
name = "strength_reduce"
|
|
version = "0.2.4"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82"
|
|
|
|
[[package]]
|
|
name = "syn"
|
|
version = "2.0.119"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "syn"
|
|
version = "3.0.9"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"unicode-ident",
|
|
]
|
|
|
|
[[package]]
|
|
name = "temper-core"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-dsp",
|
|
"serde",
|
|
"serde_json",
|
|
]
|
|
|
|
[[package]]
|
|
name = "temper-ui"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-dsp",
|
|
"common-ui",
|
|
"egui",
|
|
"temper-core",
|
|
]
|
|
|
|
[[package]]
|
|
name = "transpose"
|
|
version = "0.2.3"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "1ad61aed86bc3faea4300c7aee358b4c6d0c8d6ccc36524c96e4c92ccf26e77e"
|
|
dependencies = [
|
|
"num-integer",
|
|
"strength_reduce",
|
|
]
|
|
|
|
[[package]]
|
|
name = "ttf-parser"
|
|
version = "0.25.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31"
|
|
|
|
[[package]]
|
|
name = "unicode-ident"
|
|
version = "1.0.27"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563"
|
|
|
|
[[package]]
|
|
name = "version_check"
|
|
version = "0.9.5"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
|
|
|
|
[[package]]
|
|
name = "weld-core"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"crossbeam-queue",
|
|
"rustfft",
|
|
"serde",
|
|
"serde_json",
|
|
]
|
|
|
|
[[package]]
|
|
name = "weld-ui"
|
|
version = "0.1.0"
|
|
dependencies = [
|
|
"common-ui",
|
|
"egui",
|
|
"weld-core",
|
|
]
|
|
|
|
[[package]]
|
|
name = "windows-link"
|
|
version = "0.2.1"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
|
|
|
|
[[package]]
|
|
name = "windows-sys"
|
|
version = "0.61.2"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
|
|
dependencies = [
|
|
"windows-link",
|
|
]
|
|
|
|
[[package]]
|
|
name = "zerocopy"
|
|
version = "0.8.63"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "e5fe1f8f1b06191a00962174c61aa5005e0bb391a6d80d07e24d115c01a92ed8"
|
|
dependencies = [
|
|
"zerocopy-derive",
|
|
]
|
|
|
|
[[package]]
|
|
name = "zerocopy-derive"
|
|
version = "0.8.63"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "863ad3ac83293fb4d740aedbfdc9240dd8d1a50c1099acd76ce80ce7c7230c7f"
|
|
dependencies = [
|
|
"proc-macro2",
|
|
"quote",
|
|
"syn 2.0.119",
|
|
]
|
|
|
|
[[package]]
|
|
name = "zmij"
|
|
version = "1.0.23"
|
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
|