├── .cargo └── config ├── .gitignore ├── CHANGELOG.md ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── example ├── Cargo.lock ├── Cargo.toml └── src │ ├── gui.html │ └── lib.rs ├── src ├── lib.rs └── script.js └── xtask ├── Cargo.toml └── src └── main.rs /.cargo/config: -------------------------------------------------------------------------------- 1 | [alias] 2 | xtask = "run --package xtask --release --" 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | example/target 3 | .DS_Store 4 | .vscode 5 | test.sh -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 2024-09-10 2 | - `WindowHandler::send_json()` doesn't return a `Result` anymore 3 | 4 | # 2024-01-14 5 | - update baseview and nih-plug 6 | - switch from custom wry fork to the official version of wry since it now supports attaching to a raw window handle (thanks to [this fork by toiglak](https://github.com/toiglak/nih-plug-webview)!) 7 | - still need to verify how intercepting keyboard events works now 8 | - drop Editor properly when window is closed (no more memory leaks hopefully) 9 | 10 | # 2023-07-11 11 | - start using baseview 12 | 13 | # 2023-03-10 14 | - macOS: add support for intercepting keys when the plugin UI is focused 15 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.24.2" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler2" 16 | version = "2.0.0" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 19 | 20 | [[package]] 21 | name = "anyhow" 22 | version = "1.0.89" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" 25 | 26 | [[package]] 27 | name = "anymap" 28 | version = "1.0.0-beta.2" 29 | source = "registry+https://github.com/rust-lang/crates.io-index" 30 | checksum = "8f1f8f5a6f3d50d89e3797d7593a50f96bb2aaa20ca0cc7be1fb673232c91d72" 31 | 32 | [[package]] 33 | name = "as-raw-xcb-connection" 34 | version = "1.0.1" 35 | source = "registry+https://github.com/rust-lang/crates.io-index" 36 | checksum = "175571dd1d178ced59193a6fc02dde1b972eb0bc56c892cde9beeceac5bf0f6b" 37 | 38 | [[package]] 39 | name = "assert_no_alloc" 40 | version = "1.1.2" 41 | source = "git+https://github.com/robbert-vdh/rust-assert-no-alloc.git?branch=feature/nested-permit-forbid#a6fb4f62b9624715291e320ea5f0f70e73b035cf" 42 | dependencies = [ 43 | "backtrace", 44 | "log", 45 | ] 46 | 47 | [[package]] 48 | name = "atk" 49 | version = "0.18.0" 50 | source = "registry+https://github.com/rust-lang/crates.io-index" 51 | checksum = "b4af014b17dd80e8af9fa689b2d4a211ddba6eb583c1622f35d0cb543f6b17e4" 52 | dependencies = [ 53 | "atk-sys", 54 | "glib", 55 | "libc", 56 | ] 57 | 58 | [[package]] 59 | name = "atk-sys" 60 | version = "0.18.0" 61 | source = "registry+https://github.com/rust-lang/crates.io-index" 62 | checksum = "251e0b7d90e33e0ba930891a505a9a35ece37b2dd37a14f3ffc306c13b980009" 63 | dependencies = [ 64 | "glib-sys", 65 | "gobject-sys", 66 | "libc", 67 | "system-deps", 68 | ] 69 | 70 | [[package]] 71 | name = "atomic_float" 72 | version = "0.1.0" 73 | source = "registry+https://github.com/rust-lang/crates.io-index" 74 | checksum = "62af46d040ba9df09edc6528dae9d8e49f5f3e82f55b7d2ec31a733c38dbc49d" 75 | 76 | [[package]] 77 | name = "atomic_refcell" 78 | version = "0.1.13" 79 | source = "registry+https://github.com/rust-lang/crates.io-index" 80 | checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c" 81 | 82 | [[package]] 83 | name = "atty" 84 | version = "0.2.14" 85 | source = "registry+https://github.com/rust-lang/crates.io-index" 86 | checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 87 | dependencies = [ 88 | "hermit-abi", 89 | "libc", 90 | "winapi", 91 | ] 92 | 93 | [[package]] 94 | name = "autocfg" 95 | version = "1.4.0" 96 | source = "registry+https://github.com/rust-lang/crates.io-index" 97 | checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 98 | 99 | [[package]] 100 | name = "backtrace" 101 | version = "0.3.74" 102 | source = "registry+https://github.com/rust-lang/crates.io-index" 103 | checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" 104 | dependencies = [ 105 | "addr2line", 106 | "cfg-if", 107 | "libc", 108 | "miniz_oxide", 109 | "object", 110 | "rustc-demangle", 111 | "windows-targets 0.52.6", 112 | ] 113 | 114 | [[package]] 115 | name = "base64" 116 | version = "0.21.7" 117 | source = "registry+https://github.com/rust-lang/crates.io-index" 118 | checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" 119 | 120 | [[package]] 121 | name = "baseview" 122 | version = "0.1.0" 123 | source = "git+https://github.com/RustAudio/baseview#579130ecb4f9f315ae52190af42f0ea46aeaa4a2" 124 | dependencies = [ 125 | "cocoa 0.24.1", 126 | "core-foundation", 127 | "keyboard-types", 128 | "nix", 129 | "objc", 130 | "raw-window-handle", 131 | "uuid", 132 | "winapi", 133 | "x11", 134 | "x11rb", 135 | ] 136 | 137 | [[package]] 138 | name = "bitflags" 139 | version = "1.3.2" 140 | source = "registry+https://github.com/rust-lang/crates.io-index" 141 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 142 | 143 | [[package]] 144 | name = "bitflags" 145 | version = "2.6.0" 146 | source = "registry+https://github.com/rust-lang/crates.io-index" 147 | checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" 148 | 149 | [[package]] 150 | name = "block" 151 | version = "0.1.6" 152 | source = "registry+https://github.com/rust-lang/crates.io-index" 153 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 154 | 155 | [[package]] 156 | name = "block-buffer" 157 | version = "0.10.4" 158 | source = "registry+https://github.com/rust-lang/crates.io-index" 159 | checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 160 | dependencies = [ 161 | "generic-array", 162 | ] 163 | 164 | [[package]] 165 | name = "byteorder" 166 | version = "1.5.0" 167 | source = "registry+https://github.com/rust-lang/crates.io-index" 168 | checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" 169 | 170 | [[package]] 171 | name = "bytes" 172 | version = "1.7.2" 173 | source = "registry+https://github.com/rust-lang/crates.io-index" 174 | checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" 175 | 176 | [[package]] 177 | name = "cairo-rs" 178 | version = "0.18.5" 179 | source = "registry+https://github.com/rust-lang/crates.io-index" 180 | checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" 181 | dependencies = [ 182 | "bitflags 2.6.0", 183 | "cairo-sys-rs", 184 | "glib", 185 | "libc", 186 | "once_cell", 187 | "thiserror", 188 | ] 189 | 190 | [[package]] 191 | name = "cairo-sys-rs" 192 | version = "0.18.2" 193 | source = "registry+https://github.com/rust-lang/crates.io-index" 194 | checksum = "685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51" 195 | dependencies = [ 196 | "glib-sys", 197 | "libc", 198 | "system-deps", 199 | ] 200 | 201 | [[package]] 202 | name = "camino" 203 | version = "1.1.9" 204 | source = "registry+https://github.com/rust-lang/crates.io-index" 205 | checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" 206 | dependencies = [ 207 | "serde", 208 | ] 209 | 210 | [[package]] 211 | name = "cargo-platform" 212 | version = "0.1.8" 213 | source = "registry+https://github.com/rust-lang/crates.io-index" 214 | checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" 215 | dependencies = [ 216 | "serde", 217 | ] 218 | 219 | [[package]] 220 | name = "cargo_metadata" 221 | version = "0.18.1" 222 | source = "registry+https://github.com/rust-lang/crates.io-index" 223 | checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" 224 | dependencies = [ 225 | "camino", 226 | "cargo-platform", 227 | "semver", 228 | "serde", 229 | "serde_json", 230 | "thiserror", 231 | ] 232 | 233 | [[package]] 234 | name = "cc" 235 | version = "1.1.28" 236 | source = "registry+https://github.com/rust-lang/crates.io-index" 237 | checksum = "2e80e3b6a3ab07840e1cae9b0666a63970dc28e8ed5ffbcdacbfc760c281bfc1" 238 | dependencies = [ 239 | "shlex", 240 | ] 241 | 242 | [[package]] 243 | name = "cesu8" 244 | version = "1.1.0" 245 | source = "registry+https://github.com/rust-lang/crates.io-index" 246 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 247 | 248 | [[package]] 249 | name = "cfg-expr" 250 | version = "0.15.8" 251 | source = "registry+https://github.com/rust-lang/crates.io-index" 252 | checksum = "d067ad48b8650848b989a59a86c6c36a995d02d2bf778d45c3c5d57bc2718f02" 253 | dependencies = [ 254 | "smallvec", 255 | "target-lexicon", 256 | ] 257 | 258 | [[package]] 259 | name = "cfg-if" 260 | version = "1.0.0" 261 | source = "registry+https://github.com/rust-lang/crates.io-index" 262 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 263 | 264 | [[package]] 265 | name = "cfg_aliases" 266 | version = "0.1.1" 267 | source = "registry+https://github.com/rust-lang/crates.io-index" 268 | checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" 269 | 270 | [[package]] 271 | name = "clap-sys" 272 | version = "0.3.0" 273 | source = "git+https://github.com/robbert-vdh/clap-sys.git?branch=feature/cstr-macro#523a5f8a8dd021ec99e7d6e0c0ebe7741a3da9d4" 274 | 275 | [[package]] 276 | name = "cocoa" 277 | version = "0.24.1" 278 | source = "registry+https://github.com/rust-lang/crates.io-index" 279 | checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" 280 | dependencies = [ 281 | "bitflags 1.3.2", 282 | "block", 283 | "cocoa-foundation", 284 | "core-foundation", 285 | "core-graphics 0.22.3", 286 | "foreign-types 0.3.2", 287 | "libc", 288 | "objc", 289 | ] 290 | 291 | [[package]] 292 | name = "cocoa" 293 | version = "0.25.0" 294 | source = "registry+https://github.com/rust-lang/crates.io-index" 295 | checksum = "f6140449f97a6e97f9511815c5632d84c8aacf8ac271ad77c559218161a1373c" 296 | dependencies = [ 297 | "bitflags 1.3.2", 298 | "block", 299 | "cocoa-foundation", 300 | "core-foundation", 301 | "core-graphics 0.23.2", 302 | "foreign-types 0.5.0", 303 | "libc", 304 | "objc", 305 | ] 306 | 307 | [[package]] 308 | name = "cocoa-foundation" 309 | version = "0.1.2" 310 | source = "registry+https://github.com/rust-lang/crates.io-index" 311 | checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" 312 | dependencies = [ 313 | "bitflags 1.3.2", 314 | "block", 315 | "core-foundation", 316 | "core-graphics-types", 317 | "libc", 318 | "objc", 319 | ] 320 | 321 | [[package]] 322 | name = "combine" 323 | version = "4.6.7" 324 | source = "registry+https://github.com/rust-lang/crates.io-index" 325 | checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" 326 | dependencies = [ 327 | "bytes", 328 | "memchr", 329 | ] 330 | 331 | [[package]] 332 | name = "convert_case" 333 | version = "0.4.0" 334 | source = "registry+https://github.com/rust-lang/crates.io-index" 335 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" 336 | 337 | [[package]] 338 | name = "core-foundation" 339 | version = "0.9.4" 340 | source = "registry+https://github.com/rust-lang/crates.io-index" 341 | checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 342 | dependencies = [ 343 | "core-foundation-sys", 344 | "libc", 345 | ] 346 | 347 | [[package]] 348 | name = "core-foundation-sys" 349 | version = "0.8.7" 350 | source = "registry+https://github.com/rust-lang/crates.io-index" 351 | checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 352 | 353 | [[package]] 354 | name = "core-graphics" 355 | version = "0.22.3" 356 | source = "registry+https://github.com/rust-lang/crates.io-index" 357 | checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" 358 | dependencies = [ 359 | "bitflags 1.3.2", 360 | "core-foundation", 361 | "core-graphics-types", 362 | "foreign-types 0.3.2", 363 | "libc", 364 | ] 365 | 366 | [[package]] 367 | name = "core-graphics" 368 | version = "0.23.2" 369 | source = "registry+https://github.com/rust-lang/crates.io-index" 370 | checksum = "c07782be35f9e1140080c6b96f0d44b739e2278479f64e02fdab4e32dfd8b081" 371 | dependencies = [ 372 | "bitflags 1.3.2", 373 | "core-foundation", 374 | "core-graphics-types", 375 | "foreign-types 0.5.0", 376 | "libc", 377 | ] 378 | 379 | [[package]] 380 | name = "core-graphics-types" 381 | version = "0.1.3" 382 | source = "registry+https://github.com/rust-lang/crates.io-index" 383 | checksum = "45390e6114f68f718cc7a830514a96f903cccd70d02a8f6d9f643ac4ba45afaf" 384 | dependencies = [ 385 | "bitflags 1.3.2", 386 | "core-foundation", 387 | "libc", 388 | ] 389 | 390 | [[package]] 391 | name = "cpufeatures" 392 | version = "0.2.14" 393 | source = "registry+https://github.com/rust-lang/crates.io-index" 394 | checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" 395 | dependencies = [ 396 | "libc", 397 | ] 398 | 399 | [[package]] 400 | name = "crossbeam" 401 | version = "0.8.4" 402 | source = "registry+https://github.com/rust-lang/crates.io-index" 403 | checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" 404 | dependencies = [ 405 | "crossbeam-channel", 406 | "crossbeam-deque", 407 | "crossbeam-epoch", 408 | "crossbeam-queue", 409 | "crossbeam-utils", 410 | ] 411 | 412 | [[package]] 413 | name = "crossbeam-channel" 414 | version = "0.5.13" 415 | source = "registry+https://github.com/rust-lang/crates.io-index" 416 | checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" 417 | dependencies = [ 418 | "crossbeam-utils", 419 | ] 420 | 421 | [[package]] 422 | name = "crossbeam-deque" 423 | version = "0.8.5" 424 | source = "registry+https://github.com/rust-lang/crates.io-index" 425 | checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" 426 | dependencies = [ 427 | "crossbeam-epoch", 428 | "crossbeam-utils", 429 | ] 430 | 431 | [[package]] 432 | name = "crossbeam-epoch" 433 | version = "0.9.18" 434 | source = "registry+https://github.com/rust-lang/crates.io-index" 435 | checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 436 | dependencies = [ 437 | "crossbeam-utils", 438 | ] 439 | 440 | [[package]] 441 | name = "crossbeam-queue" 442 | version = "0.3.11" 443 | source = "registry+https://github.com/rust-lang/crates.io-index" 444 | checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" 445 | dependencies = [ 446 | "crossbeam-utils", 447 | ] 448 | 449 | [[package]] 450 | name = "crossbeam-utils" 451 | version = "0.8.20" 452 | source = "registry+https://github.com/rust-lang/crates.io-index" 453 | checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" 454 | 455 | [[package]] 456 | name = "crypto-common" 457 | version = "0.1.6" 458 | source = "registry+https://github.com/rust-lang/crates.io-index" 459 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 460 | dependencies = [ 461 | "generic-array", 462 | "typenum", 463 | ] 464 | 465 | [[package]] 466 | name = "cssparser" 467 | version = "0.27.2" 468 | source = "registry+https://github.com/rust-lang/crates.io-index" 469 | checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" 470 | dependencies = [ 471 | "cssparser-macros", 472 | "dtoa-short", 473 | "itoa 0.4.8", 474 | "matches", 475 | "phf 0.8.0", 476 | "proc-macro2", 477 | "quote", 478 | "smallvec", 479 | "syn 1.0.109", 480 | ] 481 | 482 | [[package]] 483 | name = "cssparser-macros" 484 | version = "0.6.1" 485 | source = "registry+https://github.com/rust-lang/crates.io-index" 486 | checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" 487 | dependencies = [ 488 | "quote", 489 | "syn 2.0.79", 490 | ] 491 | 492 | [[package]] 493 | name = "deranged" 494 | version = "0.3.11" 495 | source = "registry+https://github.com/rust-lang/crates.io-index" 496 | checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 497 | dependencies = [ 498 | "powerfmt", 499 | ] 500 | 501 | [[package]] 502 | name = "derive_more" 503 | version = "0.99.18" 504 | source = "registry+https://github.com/rust-lang/crates.io-index" 505 | checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" 506 | dependencies = [ 507 | "convert_case", 508 | "proc-macro2", 509 | "quote", 510 | "rustc_version", 511 | "syn 2.0.79", 512 | ] 513 | 514 | [[package]] 515 | name = "digest" 516 | version = "0.10.7" 517 | source = "registry+https://github.com/rust-lang/crates.io-index" 518 | checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 519 | dependencies = [ 520 | "block-buffer", 521 | "crypto-common", 522 | ] 523 | 524 | [[package]] 525 | name = "dtoa" 526 | version = "1.0.9" 527 | source = "registry+https://github.com/rust-lang/crates.io-index" 528 | checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" 529 | 530 | [[package]] 531 | name = "dtoa-short" 532 | version = "0.3.5" 533 | source = "registry+https://github.com/rust-lang/crates.io-index" 534 | checksum = "cd1511a7b6a56299bd043a9c167a6d2bfb37bf84a6dfceaba651168adfb43c87" 535 | dependencies = [ 536 | "dtoa", 537 | ] 538 | 539 | [[package]] 540 | name = "dunce" 541 | version = "1.0.5" 542 | source = "registry+https://github.com/rust-lang/crates.io-index" 543 | checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" 544 | 545 | [[package]] 546 | name = "equivalent" 547 | version = "1.0.1" 548 | source = "registry+https://github.com/rust-lang/crates.io-index" 549 | checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 550 | 551 | [[package]] 552 | name = "errno" 553 | version = "0.3.9" 554 | source = "registry+https://github.com/rust-lang/crates.io-index" 555 | checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" 556 | dependencies = [ 557 | "libc", 558 | "windows-sys 0.52.0", 559 | ] 560 | 561 | [[package]] 562 | name = "field-offset" 563 | version = "0.3.6" 564 | source = "registry+https://github.com/rust-lang/crates.io-index" 565 | checksum = "38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f" 566 | dependencies = [ 567 | "memoffset 0.9.1", 568 | "rustc_version", 569 | ] 570 | 571 | [[package]] 572 | name = "fnv" 573 | version = "1.0.7" 574 | source = "registry+https://github.com/rust-lang/crates.io-index" 575 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 576 | 577 | [[package]] 578 | name = "foreign-types" 579 | version = "0.3.2" 580 | source = "registry+https://github.com/rust-lang/crates.io-index" 581 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 582 | dependencies = [ 583 | "foreign-types-shared 0.1.1", 584 | ] 585 | 586 | [[package]] 587 | name = "foreign-types" 588 | version = "0.5.0" 589 | source = "registry+https://github.com/rust-lang/crates.io-index" 590 | checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" 591 | dependencies = [ 592 | "foreign-types-macros", 593 | "foreign-types-shared 0.3.1", 594 | ] 595 | 596 | [[package]] 597 | name = "foreign-types-macros" 598 | version = "0.2.3" 599 | source = "registry+https://github.com/rust-lang/crates.io-index" 600 | checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" 601 | dependencies = [ 602 | "proc-macro2", 603 | "quote", 604 | "syn 2.0.79", 605 | ] 606 | 607 | [[package]] 608 | name = "foreign-types-shared" 609 | version = "0.1.1" 610 | source = "registry+https://github.com/rust-lang/crates.io-index" 611 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 612 | 613 | [[package]] 614 | name = "foreign-types-shared" 615 | version = "0.3.1" 616 | source = "registry+https://github.com/rust-lang/crates.io-index" 617 | checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" 618 | 619 | [[package]] 620 | name = "form_urlencoded" 621 | version = "1.2.1" 622 | source = "registry+https://github.com/rust-lang/crates.io-index" 623 | checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 624 | dependencies = [ 625 | "percent-encoding", 626 | ] 627 | 628 | [[package]] 629 | name = "futf" 630 | version = "0.1.5" 631 | source = "registry+https://github.com/rust-lang/crates.io-index" 632 | checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" 633 | dependencies = [ 634 | "mac", 635 | "new_debug_unreachable", 636 | ] 637 | 638 | [[package]] 639 | name = "futures-channel" 640 | version = "0.3.31" 641 | source = "registry+https://github.com/rust-lang/crates.io-index" 642 | checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 643 | dependencies = [ 644 | "futures-core", 645 | ] 646 | 647 | [[package]] 648 | name = "futures-core" 649 | version = "0.3.31" 650 | source = "registry+https://github.com/rust-lang/crates.io-index" 651 | checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 652 | 653 | [[package]] 654 | name = "futures-executor" 655 | version = "0.3.31" 656 | source = "registry+https://github.com/rust-lang/crates.io-index" 657 | checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" 658 | dependencies = [ 659 | "futures-core", 660 | "futures-task", 661 | "futures-util", 662 | ] 663 | 664 | [[package]] 665 | name = "futures-io" 666 | version = "0.3.31" 667 | source = "registry+https://github.com/rust-lang/crates.io-index" 668 | checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 669 | 670 | [[package]] 671 | name = "futures-macro" 672 | version = "0.3.31" 673 | source = "registry+https://github.com/rust-lang/crates.io-index" 674 | checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 675 | dependencies = [ 676 | "proc-macro2", 677 | "quote", 678 | "syn 2.0.79", 679 | ] 680 | 681 | [[package]] 682 | name = "futures-task" 683 | version = "0.3.31" 684 | source = "registry+https://github.com/rust-lang/crates.io-index" 685 | checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 686 | 687 | [[package]] 688 | name = "futures-util" 689 | version = "0.3.31" 690 | source = "registry+https://github.com/rust-lang/crates.io-index" 691 | checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 692 | dependencies = [ 693 | "futures-core", 694 | "futures-macro", 695 | "futures-task", 696 | "pin-project-lite", 697 | "pin-utils", 698 | "slab", 699 | ] 700 | 701 | [[package]] 702 | name = "fxhash" 703 | version = "0.2.1" 704 | source = "registry+https://github.com/rust-lang/crates.io-index" 705 | checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" 706 | dependencies = [ 707 | "byteorder", 708 | ] 709 | 710 | [[package]] 711 | name = "gain" 712 | version = "0.1.0" 713 | dependencies = [ 714 | "nih_plug", 715 | "nih_plug_webview", 716 | "serde", 717 | "serde_json", 718 | ] 719 | 720 | [[package]] 721 | name = "gdk" 722 | version = "0.18.0" 723 | source = "registry+https://github.com/rust-lang/crates.io-index" 724 | checksum = "f5ba081bdef3b75ebcdbfc953699ed2d7417d6bd853347a42a37d76406a33646" 725 | dependencies = [ 726 | "cairo-rs", 727 | "gdk-pixbuf", 728 | "gdk-sys", 729 | "gio", 730 | "glib", 731 | "libc", 732 | "pango", 733 | ] 734 | 735 | [[package]] 736 | name = "gdk-pixbuf" 737 | version = "0.18.5" 738 | source = "registry+https://github.com/rust-lang/crates.io-index" 739 | checksum = "50e1f5f1b0bfb830d6ccc8066d18db35c487b1b2b1e8589b5dfe9f07e8defaec" 740 | dependencies = [ 741 | "gdk-pixbuf-sys", 742 | "gio", 743 | "glib", 744 | "libc", 745 | "once_cell", 746 | ] 747 | 748 | [[package]] 749 | name = "gdk-pixbuf-sys" 750 | version = "0.18.0" 751 | source = "registry+https://github.com/rust-lang/crates.io-index" 752 | checksum = "3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7" 753 | dependencies = [ 754 | "gio-sys", 755 | "glib-sys", 756 | "gobject-sys", 757 | "libc", 758 | "system-deps", 759 | ] 760 | 761 | [[package]] 762 | name = "gdk-sys" 763 | version = "0.18.0" 764 | source = "registry+https://github.com/rust-lang/crates.io-index" 765 | checksum = "31ff856cb3386dae1703a920f803abafcc580e9b5f711ca62ed1620c25b51ff2" 766 | dependencies = [ 767 | "cairo-sys-rs", 768 | "gdk-pixbuf-sys", 769 | "gio-sys", 770 | "glib-sys", 771 | "gobject-sys", 772 | "libc", 773 | "pango-sys", 774 | "pkg-config", 775 | "system-deps", 776 | ] 777 | 778 | [[package]] 779 | name = "gdkx11" 780 | version = "0.18.0" 781 | source = "registry+https://github.com/rust-lang/crates.io-index" 782 | checksum = "db2ea8a4909d530f79921290389cbd7c34cb9d623bfe970eaae65ca5f9cd9cce" 783 | dependencies = [ 784 | "gdk", 785 | "gdkx11-sys", 786 | "gio", 787 | "glib", 788 | "libc", 789 | "x11", 790 | ] 791 | 792 | [[package]] 793 | name = "gdkx11-sys" 794 | version = "0.18.0" 795 | source = "registry+https://github.com/rust-lang/crates.io-index" 796 | checksum = "fee8f00f4ee46cad2939b8990f5c70c94ff882c3028f3cc5abf950fa4ab53043" 797 | dependencies = [ 798 | "gdk-sys", 799 | "glib-sys", 800 | "libc", 801 | "system-deps", 802 | "x11", 803 | ] 804 | 805 | [[package]] 806 | name = "generic-array" 807 | version = "0.14.7" 808 | source = "registry+https://github.com/rust-lang/crates.io-index" 809 | checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 810 | dependencies = [ 811 | "typenum", 812 | "version_check", 813 | ] 814 | 815 | [[package]] 816 | name = "gethostname" 817 | version = "0.4.3" 818 | source = "registry+https://github.com/rust-lang/crates.io-index" 819 | checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" 820 | dependencies = [ 821 | "libc", 822 | "windows-targets 0.48.5", 823 | ] 824 | 825 | [[package]] 826 | name = "getrandom" 827 | version = "0.1.16" 828 | source = "registry+https://github.com/rust-lang/crates.io-index" 829 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" 830 | dependencies = [ 831 | "cfg-if", 832 | "libc", 833 | "wasi 0.9.0+wasi-snapshot-preview1", 834 | ] 835 | 836 | [[package]] 837 | name = "getrandom" 838 | version = "0.2.15" 839 | source = "registry+https://github.com/rust-lang/crates.io-index" 840 | checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 841 | dependencies = [ 842 | "cfg-if", 843 | "libc", 844 | "wasi 0.11.0+wasi-snapshot-preview1", 845 | ] 846 | 847 | [[package]] 848 | name = "gimli" 849 | version = "0.31.1" 850 | source = "registry+https://github.com/rust-lang/crates.io-index" 851 | checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 852 | 853 | [[package]] 854 | name = "gio" 855 | version = "0.18.4" 856 | source = "registry+https://github.com/rust-lang/crates.io-index" 857 | checksum = "d4fc8f532f87b79cbc51a79748f16a6828fb784be93145a322fa14d06d354c73" 858 | dependencies = [ 859 | "futures-channel", 860 | "futures-core", 861 | "futures-io", 862 | "futures-util", 863 | "gio-sys", 864 | "glib", 865 | "libc", 866 | "once_cell", 867 | "pin-project-lite", 868 | "smallvec", 869 | "thiserror", 870 | ] 871 | 872 | [[package]] 873 | name = "gio-sys" 874 | version = "0.18.1" 875 | source = "registry+https://github.com/rust-lang/crates.io-index" 876 | checksum = "37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2" 877 | dependencies = [ 878 | "glib-sys", 879 | "gobject-sys", 880 | "libc", 881 | "system-deps", 882 | "winapi", 883 | ] 884 | 885 | [[package]] 886 | name = "glib" 887 | version = "0.18.5" 888 | source = "registry+https://github.com/rust-lang/crates.io-index" 889 | checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" 890 | dependencies = [ 891 | "bitflags 2.6.0", 892 | "futures-channel", 893 | "futures-core", 894 | "futures-executor", 895 | "futures-task", 896 | "futures-util", 897 | "gio-sys", 898 | "glib-macros", 899 | "glib-sys", 900 | "gobject-sys", 901 | "libc", 902 | "memchr", 903 | "once_cell", 904 | "smallvec", 905 | "thiserror", 906 | ] 907 | 908 | [[package]] 909 | name = "glib-macros" 910 | version = "0.18.5" 911 | source = "registry+https://github.com/rust-lang/crates.io-index" 912 | checksum = "0bb0228f477c0900c880fd78c8759b95c7636dbd7842707f49e132378aa2acdc" 913 | dependencies = [ 914 | "heck 0.4.1", 915 | "proc-macro-crate 2.0.2", 916 | "proc-macro-error", 917 | "proc-macro2", 918 | "quote", 919 | "syn 2.0.79", 920 | ] 921 | 922 | [[package]] 923 | name = "glib-sys" 924 | version = "0.18.1" 925 | source = "registry+https://github.com/rust-lang/crates.io-index" 926 | checksum = "063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898" 927 | dependencies = [ 928 | "libc", 929 | "system-deps", 930 | ] 931 | 932 | [[package]] 933 | name = "gobject-sys" 934 | version = "0.18.0" 935 | source = "registry+https://github.com/rust-lang/crates.io-index" 936 | checksum = "0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44" 937 | dependencies = [ 938 | "glib-sys", 939 | "libc", 940 | "system-deps", 941 | ] 942 | 943 | [[package]] 944 | name = "goblin" 945 | version = "0.6.1" 946 | source = "registry+https://github.com/rust-lang/crates.io-index" 947 | checksum = "0d6b4de4a8eb6c46a8c77e1d3be942cb9a8bf073c22374578e5ba4b08ed0ff68" 948 | dependencies = [ 949 | "log", 950 | "plain", 951 | "scroll", 952 | ] 953 | 954 | [[package]] 955 | name = "gtk" 956 | version = "0.18.1" 957 | source = "registry+https://github.com/rust-lang/crates.io-index" 958 | checksum = "93c4f5e0e20b60e10631a5f06da7fe3dda744b05ad0ea71fee2f47adf865890c" 959 | dependencies = [ 960 | "atk", 961 | "cairo-rs", 962 | "field-offset", 963 | "futures-channel", 964 | "gdk", 965 | "gdk-pixbuf", 966 | "gio", 967 | "glib", 968 | "gtk-sys", 969 | "gtk3-macros", 970 | "libc", 971 | "pango", 972 | "pkg-config", 973 | ] 974 | 975 | [[package]] 976 | name = "gtk-sys" 977 | version = "0.18.0" 978 | source = "registry+https://github.com/rust-lang/crates.io-index" 979 | checksum = "771437bf1de2c1c0b496c11505bdf748e26066bbe942dfc8f614c9460f6d7722" 980 | dependencies = [ 981 | "atk-sys", 982 | "cairo-sys-rs", 983 | "gdk-pixbuf-sys", 984 | "gdk-sys", 985 | "gio-sys", 986 | "glib-sys", 987 | "gobject-sys", 988 | "libc", 989 | "pango-sys", 990 | "system-deps", 991 | ] 992 | 993 | [[package]] 994 | name = "gtk3-macros" 995 | version = "0.18.0" 996 | source = "registry+https://github.com/rust-lang/crates.io-index" 997 | checksum = "c6063efb63db582968fb7df72e1ae68aa6360dcfb0a75143f34fc7d616bad75e" 998 | dependencies = [ 999 | "proc-macro-crate 1.3.1", 1000 | "proc-macro-error", 1001 | "proc-macro2", 1002 | "quote", 1003 | "syn 2.0.79", 1004 | ] 1005 | 1006 | [[package]] 1007 | name = "hashbrown" 1008 | version = "0.12.3" 1009 | source = "registry+https://github.com/rust-lang/crates.io-index" 1010 | checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1011 | 1012 | [[package]] 1013 | name = "hashbrown" 1014 | version = "0.15.0" 1015 | source = "registry+https://github.com/rust-lang/crates.io-index" 1016 | checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" 1017 | 1018 | [[package]] 1019 | name = "heck" 1020 | version = "0.4.1" 1021 | source = "registry+https://github.com/rust-lang/crates.io-index" 1022 | checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1023 | 1024 | [[package]] 1025 | name = "heck" 1026 | version = "0.5.0" 1027 | source = "registry+https://github.com/rust-lang/crates.io-index" 1028 | checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" 1029 | 1030 | [[package]] 1031 | name = "hermit-abi" 1032 | version = "0.1.19" 1033 | source = "registry+https://github.com/rust-lang/crates.io-index" 1034 | checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 1035 | dependencies = [ 1036 | "libc", 1037 | ] 1038 | 1039 | [[package]] 1040 | name = "html5ever" 1041 | version = "0.26.0" 1042 | source = "registry+https://github.com/rust-lang/crates.io-index" 1043 | checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" 1044 | dependencies = [ 1045 | "log", 1046 | "mac", 1047 | "markup5ever", 1048 | "proc-macro2", 1049 | "quote", 1050 | "syn 1.0.109", 1051 | ] 1052 | 1053 | [[package]] 1054 | name = "http" 1055 | version = "0.2.12" 1056 | source = "registry+https://github.com/rust-lang/crates.io-index" 1057 | checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" 1058 | dependencies = [ 1059 | "bytes", 1060 | "fnv", 1061 | "itoa 1.0.11", 1062 | ] 1063 | 1064 | [[package]] 1065 | name = "idna" 1066 | version = "0.5.0" 1067 | source = "registry+https://github.com/rust-lang/crates.io-index" 1068 | checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" 1069 | dependencies = [ 1070 | "unicode-bidi", 1071 | "unicode-normalization", 1072 | ] 1073 | 1074 | [[package]] 1075 | name = "indexmap" 1076 | version = "1.9.3" 1077 | source = "registry+https://github.com/rust-lang/crates.io-index" 1078 | checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" 1079 | dependencies = [ 1080 | "autocfg", 1081 | "hashbrown 0.12.3", 1082 | ] 1083 | 1084 | [[package]] 1085 | name = "indexmap" 1086 | version = "2.6.0" 1087 | source = "registry+https://github.com/rust-lang/crates.io-index" 1088 | checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" 1089 | dependencies = [ 1090 | "equivalent", 1091 | "hashbrown 0.15.0", 1092 | ] 1093 | 1094 | [[package]] 1095 | name = "itoa" 1096 | version = "0.4.8" 1097 | source = "registry+https://github.com/rust-lang/crates.io-index" 1098 | checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" 1099 | 1100 | [[package]] 1101 | name = "itoa" 1102 | version = "1.0.11" 1103 | source = "registry+https://github.com/rust-lang/crates.io-index" 1104 | checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 1105 | 1106 | [[package]] 1107 | name = "javascriptcore-rs" 1108 | version = "1.1.2" 1109 | source = "registry+https://github.com/rust-lang/crates.io-index" 1110 | checksum = "ca5671e9ffce8ffba57afc24070e906da7fc4b1ba66f2cabebf61bf2ea257fcc" 1111 | dependencies = [ 1112 | "bitflags 1.3.2", 1113 | "glib", 1114 | "javascriptcore-rs-sys", 1115 | ] 1116 | 1117 | [[package]] 1118 | name = "javascriptcore-rs-sys" 1119 | version = "1.1.1" 1120 | source = "registry+https://github.com/rust-lang/crates.io-index" 1121 | checksum = "af1be78d14ffa4b75b66df31840478fef72b51f8c2465d4ca7c194da9f7a5124" 1122 | dependencies = [ 1123 | "glib-sys", 1124 | "gobject-sys", 1125 | "libc", 1126 | "system-deps", 1127 | ] 1128 | 1129 | [[package]] 1130 | name = "jni" 1131 | version = "0.21.1" 1132 | source = "registry+https://github.com/rust-lang/crates.io-index" 1133 | checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" 1134 | dependencies = [ 1135 | "cesu8", 1136 | "cfg-if", 1137 | "combine", 1138 | "jni-sys", 1139 | "log", 1140 | "thiserror", 1141 | "walkdir", 1142 | "windows-sys 0.45.0", 1143 | ] 1144 | 1145 | [[package]] 1146 | name = "jni-sys" 1147 | version = "0.3.0" 1148 | source = "registry+https://github.com/rust-lang/crates.io-index" 1149 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1150 | 1151 | [[package]] 1152 | name = "keyboard-types" 1153 | version = "0.6.2" 1154 | source = "registry+https://github.com/rust-lang/crates.io-index" 1155 | checksum = "0b7668b7cff6a51fe61cdde64cd27c8a220786f399501b57ebe36f7d8112fd68" 1156 | dependencies = [ 1157 | "bitflags 1.3.2", 1158 | "serde", 1159 | "unicode-segmentation", 1160 | ] 1161 | 1162 | [[package]] 1163 | name = "kuchikiki" 1164 | version = "0.8.2" 1165 | source = "registry+https://github.com/rust-lang/crates.io-index" 1166 | checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" 1167 | dependencies = [ 1168 | "cssparser", 1169 | "html5ever", 1170 | "indexmap 1.9.3", 1171 | "matches", 1172 | "selectors", 1173 | ] 1174 | 1175 | [[package]] 1176 | name = "libc" 1177 | version = "0.2.159" 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" 1179 | checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" 1180 | 1181 | [[package]] 1182 | name = "linux-raw-sys" 1183 | version = "0.4.14" 1184 | source = "registry+https://github.com/rust-lang/crates.io-index" 1185 | checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" 1186 | 1187 | [[package]] 1188 | name = "lock_api" 1189 | version = "0.4.12" 1190 | source = "registry+https://github.com/rust-lang/crates.io-index" 1191 | checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 1192 | dependencies = [ 1193 | "autocfg", 1194 | "scopeguard", 1195 | ] 1196 | 1197 | [[package]] 1198 | name = "log" 1199 | version = "0.4.22" 1200 | source = "registry+https://github.com/rust-lang/crates.io-index" 1201 | checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" 1202 | 1203 | [[package]] 1204 | name = "mac" 1205 | version = "0.1.1" 1206 | source = "registry+https://github.com/rust-lang/crates.io-index" 1207 | checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" 1208 | 1209 | [[package]] 1210 | name = "malloc_buf" 1211 | version = "0.0.6" 1212 | source = "registry+https://github.com/rust-lang/crates.io-index" 1213 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 1214 | dependencies = [ 1215 | "libc", 1216 | ] 1217 | 1218 | [[package]] 1219 | name = "markup5ever" 1220 | version = "0.11.0" 1221 | source = "registry+https://github.com/rust-lang/crates.io-index" 1222 | checksum = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016" 1223 | dependencies = [ 1224 | "log", 1225 | "phf 0.10.1", 1226 | "phf_codegen 0.10.0", 1227 | "string_cache", 1228 | "string_cache_codegen", 1229 | "tendril", 1230 | ] 1231 | 1232 | [[package]] 1233 | name = "matches" 1234 | version = "0.1.10" 1235 | source = "registry+https://github.com/rust-lang/crates.io-index" 1236 | checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" 1237 | 1238 | [[package]] 1239 | name = "memchr" 1240 | version = "2.7.4" 1241 | source = "registry+https://github.com/rust-lang/crates.io-index" 1242 | checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 1243 | 1244 | [[package]] 1245 | name = "memoffset" 1246 | version = "0.6.5" 1247 | source = "registry+https://github.com/rust-lang/crates.io-index" 1248 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 1249 | dependencies = [ 1250 | "autocfg", 1251 | ] 1252 | 1253 | [[package]] 1254 | name = "memoffset" 1255 | version = "0.9.1" 1256 | source = "registry+https://github.com/rust-lang/crates.io-index" 1257 | checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" 1258 | dependencies = [ 1259 | "autocfg", 1260 | ] 1261 | 1262 | [[package]] 1263 | name = "midi-consts" 1264 | version = "0.1.0" 1265 | source = "registry+https://github.com/rust-lang/crates.io-index" 1266 | checksum = "6f2dd5c7f8aaf48a76e389068ab25ed80bdbc226b887f9013844c415698c9952" 1267 | 1268 | [[package]] 1269 | name = "miniz_oxide" 1270 | version = "0.8.0" 1271 | source = "registry+https://github.com/rust-lang/crates.io-index" 1272 | checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" 1273 | dependencies = [ 1274 | "adler2", 1275 | ] 1276 | 1277 | [[package]] 1278 | name = "ndk" 1279 | version = "0.7.0" 1280 | source = "registry+https://github.com/rust-lang/crates.io-index" 1281 | checksum = "451422b7e4718271c8b5b3aadf5adedba43dc76312454b387e98fae0fc951aa0" 1282 | dependencies = [ 1283 | "bitflags 1.3.2", 1284 | "jni-sys", 1285 | "ndk-sys", 1286 | "num_enum", 1287 | "raw-window-handle", 1288 | "thiserror", 1289 | ] 1290 | 1291 | [[package]] 1292 | name = "ndk-context" 1293 | version = "0.1.1" 1294 | source = "registry+https://github.com/rust-lang/crates.io-index" 1295 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 1296 | 1297 | [[package]] 1298 | name = "ndk-sys" 1299 | version = "0.4.1+23.1.7779620" 1300 | source = "registry+https://github.com/rust-lang/crates.io-index" 1301 | checksum = "3cf2aae958bd232cac5069850591667ad422d263686d75b52a065f9badeee5a3" 1302 | dependencies = [ 1303 | "jni-sys", 1304 | ] 1305 | 1306 | [[package]] 1307 | name = "new_debug_unreachable" 1308 | version = "1.0.6" 1309 | source = "registry+https://github.com/rust-lang/crates.io-index" 1310 | checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" 1311 | 1312 | [[package]] 1313 | name = "nih_log" 1314 | version = "0.3.1" 1315 | source = "registry+https://github.com/rust-lang/crates.io-index" 1316 | checksum = "d0cdb52ef79af48ae110401c883bdb9c15e0306a99ab6ecf18bc52068b668e54" 1317 | dependencies = [ 1318 | "atty", 1319 | "log", 1320 | "once_cell", 1321 | "termcolor", 1322 | "time", 1323 | "windows 0.44.0", 1324 | ] 1325 | 1326 | [[package]] 1327 | name = "nih_plug" 1328 | version = "0.0.0" 1329 | source = "git+https://github.com/robbert-vdh/nih-plug.git#dfafe90349aa3d8e40922ec031b6d673803d6432" 1330 | dependencies = [ 1331 | "anyhow", 1332 | "anymap", 1333 | "assert_no_alloc", 1334 | "atomic_float", 1335 | "atomic_refcell", 1336 | "backtrace", 1337 | "bitflags 1.3.2", 1338 | "cfg-if", 1339 | "clap-sys", 1340 | "core-foundation", 1341 | "crossbeam", 1342 | "libc", 1343 | "log", 1344 | "midi-consts", 1345 | "nih_log", 1346 | "nih_plug_derive", 1347 | "objc", 1348 | "parking_lot", 1349 | "raw-window-handle", 1350 | "serde", 1351 | "serde_json", 1352 | "vst3-sys", 1353 | "widestring", 1354 | "windows 0.44.0", 1355 | ] 1356 | 1357 | [[package]] 1358 | name = "nih_plug_derive" 1359 | version = "0.1.0" 1360 | source = "git+https://github.com/robbert-vdh/nih-plug.git#dfafe90349aa3d8e40922ec031b6d673803d6432" 1361 | dependencies = [ 1362 | "proc-macro2", 1363 | "quote", 1364 | "syn 1.0.109", 1365 | ] 1366 | 1367 | [[package]] 1368 | name = "nih_plug_webview" 1369 | version = "0.0.0" 1370 | dependencies = [ 1371 | "baseview", 1372 | "crossbeam", 1373 | "keyboard-types", 1374 | "nih_plug", 1375 | "parking_lot", 1376 | "raw-window-handle", 1377 | "serde_json", 1378 | "wry", 1379 | ] 1380 | 1381 | [[package]] 1382 | name = "nih_plug_xtask" 1383 | version = "0.1.0" 1384 | source = "git+https://github.com/robbert-vdh/nih-plug.git#dfafe90349aa3d8e40922ec031b6d673803d6432" 1385 | dependencies = [ 1386 | "anyhow", 1387 | "cargo_metadata", 1388 | "goblin", 1389 | "reflink", 1390 | "serde", 1391 | "toml 0.7.8", 1392 | ] 1393 | 1394 | [[package]] 1395 | name = "nix" 1396 | version = "0.22.3" 1397 | source = "registry+https://github.com/rust-lang/crates.io-index" 1398 | checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" 1399 | dependencies = [ 1400 | "bitflags 1.3.2", 1401 | "cc", 1402 | "cfg-if", 1403 | "libc", 1404 | "memoffset 0.6.5", 1405 | ] 1406 | 1407 | [[package]] 1408 | name = "nodrop" 1409 | version = "0.1.14" 1410 | source = "registry+https://github.com/rust-lang/crates.io-index" 1411 | checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" 1412 | 1413 | [[package]] 1414 | name = "num-conv" 1415 | version = "0.1.0" 1416 | source = "registry+https://github.com/rust-lang/crates.io-index" 1417 | checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 1418 | 1419 | [[package]] 1420 | name = "num_enum" 1421 | version = "0.5.11" 1422 | source = "registry+https://github.com/rust-lang/crates.io-index" 1423 | checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" 1424 | dependencies = [ 1425 | "num_enum_derive", 1426 | ] 1427 | 1428 | [[package]] 1429 | name = "num_enum_derive" 1430 | version = "0.5.11" 1431 | source = "registry+https://github.com/rust-lang/crates.io-index" 1432 | checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" 1433 | dependencies = [ 1434 | "proc-macro-crate 1.3.1", 1435 | "proc-macro2", 1436 | "quote", 1437 | "syn 1.0.109", 1438 | ] 1439 | 1440 | [[package]] 1441 | name = "num_threads" 1442 | version = "0.1.7" 1443 | source = "registry+https://github.com/rust-lang/crates.io-index" 1444 | checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" 1445 | dependencies = [ 1446 | "libc", 1447 | ] 1448 | 1449 | [[package]] 1450 | name = "objc" 1451 | version = "0.2.7" 1452 | source = "registry+https://github.com/rust-lang/crates.io-index" 1453 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 1454 | dependencies = [ 1455 | "malloc_buf", 1456 | "objc_exception", 1457 | ] 1458 | 1459 | [[package]] 1460 | name = "objc_exception" 1461 | version = "0.1.2" 1462 | source = "registry+https://github.com/rust-lang/crates.io-index" 1463 | checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" 1464 | dependencies = [ 1465 | "cc", 1466 | ] 1467 | 1468 | [[package]] 1469 | name = "objc_id" 1470 | version = "0.1.1" 1471 | source = "registry+https://github.com/rust-lang/crates.io-index" 1472 | checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" 1473 | dependencies = [ 1474 | "objc", 1475 | ] 1476 | 1477 | [[package]] 1478 | name = "object" 1479 | version = "0.36.5" 1480 | source = "registry+https://github.com/rust-lang/crates.io-index" 1481 | checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" 1482 | dependencies = [ 1483 | "memchr", 1484 | ] 1485 | 1486 | [[package]] 1487 | name = "once_cell" 1488 | version = "1.20.2" 1489 | source = "registry+https://github.com/rust-lang/crates.io-index" 1490 | checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" 1491 | 1492 | [[package]] 1493 | name = "pango" 1494 | version = "0.18.3" 1495 | source = "registry+https://github.com/rust-lang/crates.io-index" 1496 | checksum = "7ca27ec1eb0457ab26f3036ea52229edbdb74dee1edd29063f5b9b010e7ebee4" 1497 | dependencies = [ 1498 | "gio", 1499 | "glib", 1500 | "libc", 1501 | "once_cell", 1502 | "pango-sys", 1503 | ] 1504 | 1505 | [[package]] 1506 | name = "pango-sys" 1507 | version = "0.18.0" 1508 | source = "registry+https://github.com/rust-lang/crates.io-index" 1509 | checksum = "436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5" 1510 | dependencies = [ 1511 | "glib-sys", 1512 | "gobject-sys", 1513 | "libc", 1514 | "system-deps", 1515 | ] 1516 | 1517 | [[package]] 1518 | name = "parking_lot" 1519 | version = "0.12.3" 1520 | source = "registry+https://github.com/rust-lang/crates.io-index" 1521 | checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1522 | dependencies = [ 1523 | "lock_api", 1524 | "parking_lot_core", 1525 | ] 1526 | 1527 | [[package]] 1528 | name = "parking_lot_core" 1529 | version = "0.9.10" 1530 | source = "registry+https://github.com/rust-lang/crates.io-index" 1531 | checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1532 | dependencies = [ 1533 | "cfg-if", 1534 | "libc", 1535 | "redox_syscall", 1536 | "smallvec", 1537 | "windows-targets 0.52.6", 1538 | ] 1539 | 1540 | [[package]] 1541 | name = "percent-encoding" 1542 | version = "2.3.1" 1543 | source = "registry+https://github.com/rust-lang/crates.io-index" 1544 | checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1545 | 1546 | [[package]] 1547 | name = "phf" 1548 | version = "0.8.0" 1549 | source = "registry+https://github.com/rust-lang/crates.io-index" 1550 | checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" 1551 | dependencies = [ 1552 | "phf_macros", 1553 | "phf_shared 0.8.0", 1554 | "proc-macro-hack", 1555 | ] 1556 | 1557 | [[package]] 1558 | name = "phf" 1559 | version = "0.10.1" 1560 | source = "registry+https://github.com/rust-lang/crates.io-index" 1561 | checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" 1562 | dependencies = [ 1563 | "phf_shared 0.10.0", 1564 | ] 1565 | 1566 | [[package]] 1567 | name = "phf_codegen" 1568 | version = "0.8.0" 1569 | source = "registry+https://github.com/rust-lang/crates.io-index" 1570 | checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" 1571 | dependencies = [ 1572 | "phf_generator 0.8.0", 1573 | "phf_shared 0.8.0", 1574 | ] 1575 | 1576 | [[package]] 1577 | name = "phf_codegen" 1578 | version = "0.10.0" 1579 | source = "registry+https://github.com/rust-lang/crates.io-index" 1580 | checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" 1581 | dependencies = [ 1582 | "phf_generator 0.10.0", 1583 | "phf_shared 0.10.0", 1584 | ] 1585 | 1586 | [[package]] 1587 | name = "phf_generator" 1588 | version = "0.8.0" 1589 | source = "registry+https://github.com/rust-lang/crates.io-index" 1590 | checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" 1591 | dependencies = [ 1592 | "phf_shared 0.8.0", 1593 | "rand 0.7.3", 1594 | ] 1595 | 1596 | [[package]] 1597 | name = "phf_generator" 1598 | version = "0.10.0" 1599 | source = "registry+https://github.com/rust-lang/crates.io-index" 1600 | checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" 1601 | dependencies = [ 1602 | "phf_shared 0.10.0", 1603 | "rand 0.8.5", 1604 | ] 1605 | 1606 | [[package]] 1607 | name = "phf_macros" 1608 | version = "0.8.0" 1609 | source = "registry+https://github.com/rust-lang/crates.io-index" 1610 | checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" 1611 | dependencies = [ 1612 | "phf_generator 0.8.0", 1613 | "phf_shared 0.8.0", 1614 | "proc-macro-hack", 1615 | "proc-macro2", 1616 | "quote", 1617 | "syn 1.0.109", 1618 | ] 1619 | 1620 | [[package]] 1621 | name = "phf_shared" 1622 | version = "0.8.0" 1623 | source = "registry+https://github.com/rust-lang/crates.io-index" 1624 | checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" 1625 | dependencies = [ 1626 | "siphasher", 1627 | ] 1628 | 1629 | [[package]] 1630 | name = "phf_shared" 1631 | version = "0.10.0" 1632 | source = "registry+https://github.com/rust-lang/crates.io-index" 1633 | checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" 1634 | dependencies = [ 1635 | "siphasher", 1636 | ] 1637 | 1638 | [[package]] 1639 | name = "pin-project-lite" 1640 | version = "0.2.14" 1641 | source = "registry+https://github.com/rust-lang/crates.io-index" 1642 | checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" 1643 | 1644 | [[package]] 1645 | name = "pin-utils" 1646 | version = "0.1.0" 1647 | source = "registry+https://github.com/rust-lang/crates.io-index" 1648 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1649 | 1650 | [[package]] 1651 | name = "pkg-config" 1652 | version = "0.3.31" 1653 | source = "registry+https://github.com/rust-lang/crates.io-index" 1654 | checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" 1655 | 1656 | [[package]] 1657 | name = "plain" 1658 | version = "0.2.3" 1659 | source = "registry+https://github.com/rust-lang/crates.io-index" 1660 | checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" 1661 | 1662 | [[package]] 1663 | name = "powerfmt" 1664 | version = "0.2.0" 1665 | source = "registry+https://github.com/rust-lang/crates.io-index" 1666 | checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 1667 | 1668 | [[package]] 1669 | name = "ppv-lite86" 1670 | version = "0.2.20" 1671 | source = "registry+https://github.com/rust-lang/crates.io-index" 1672 | checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" 1673 | dependencies = [ 1674 | "zerocopy", 1675 | ] 1676 | 1677 | [[package]] 1678 | name = "precomputed-hash" 1679 | version = "0.1.1" 1680 | source = "registry+https://github.com/rust-lang/crates.io-index" 1681 | checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 1682 | 1683 | [[package]] 1684 | name = "proc-macro-crate" 1685 | version = "1.3.1" 1686 | source = "registry+https://github.com/rust-lang/crates.io-index" 1687 | checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" 1688 | dependencies = [ 1689 | "once_cell", 1690 | "toml_edit 0.19.15", 1691 | ] 1692 | 1693 | [[package]] 1694 | name = "proc-macro-crate" 1695 | version = "2.0.2" 1696 | source = "registry+https://github.com/rust-lang/crates.io-index" 1697 | checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" 1698 | dependencies = [ 1699 | "toml_datetime", 1700 | "toml_edit 0.20.2", 1701 | ] 1702 | 1703 | [[package]] 1704 | name = "proc-macro-error" 1705 | version = "1.0.4" 1706 | source = "registry+https://github.com/rust-lang/crates.io-index" 1707 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1708 | dependencies = [ 1709 | "proc-macro-error-attr", 1710 | "proc-macro2", 1711 | "quote", 1712 | "syn 1.0.109", 1713 | "version_check", 1714 | ] 1715 | 1716 | [[package]] 1717 | name = "proc-macro-error-attr" 1718 | version = "1.0.4" 1719 | source = "registry+https://github.com/rust-lang/crates.io-index" 1720 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1721 | dependencies = [ 1722 | "proc-macro2", 1723 | "quote", 1724 | "version_check", 1725 | ] 1726 | 1727 | [[package]] 1728 | name = "proc-macro-hack" 1729 | version = "0.5.20+deprecated" 1730 | source = "registry+https://github.com/rust-lang/crates.io-index" 1731 | checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" 1732 | 1733 | [[package]] 1734 | name = "proc-macro2" 1735 | version = "1.0.87" 1736 | source = "registry+https://github.com/rust-lang/crates.io-index" 1737 | checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" 1738 | dependencies = [ 1739 | "unicode-ident", 1740 | ] 1741 | 1742 | [[package]] 1743 | name = "quote" 1744 | version = "1.0.37" 1745 | source = "registry+https://github.com/rust-lang/crates.io-index" 1746 | checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" 1747 | dependencies = [ 1748 | "proc-macro2", 1749 | ] 1750 | 1751 | [[package]] 1752 | name = "rand" 1753 | version = "0.7.3" 1754 | source = "registry+https://github.com/rust-lang/crates.io-index" 1755 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" 1756 | dependencies = [ 1757 | "getrandom 0.1.16", 1758 | "libc", 1759 | "rand_chacha 0.2.2", 1760 | "rand_core 0.5.1", 1761 | "rand_hc", 1762 | "rand_pcg", 1763 | ] 1764 | 1765 | [[package]] 1766 | name = "rand" 1767 | version = "0.8.5" 1768 | source = "registry+https://github.com/rust-lang/crates.io-index" 1769 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1770 | dependencies = [ 1771 | "libc", 1772 | "rand_chacha 0.3.1", 1773 | "rand_core 0.6.4", 1774 | ] 1775 | 1776 | [[package]] 1777 | name = "rand_chacha" 1778 | version = "0.2.2" 1779 | source = "registry+https://github.com/rust-lang/crates.io-index" 1780 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" 1781 | dependencies = [ 1782 | "ppv-lite86", 1783 | "rand_core 0.5.1", 1784 | ] 1785 | 1786 | [[package]] 1787 | name = "rand_chacha" 1788 | version = "0.3.1" 1789 | source = "registry+https://github.com/rust-lang/crates.io-index" 1790 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1791 | dependencies = [ 1792 | "ppv-lite86", 1793 | "rand_core 0.6.4", 1794 | ] 1795 | 1796 | [[package]] 1797 | name = "rand_core" 1798 | version = "0.5.1" 1799 | source = "registry+https://github.com/rust-lang/crates.io-index" 1800 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 1801 | dependencies = [ 1802 | "getrandom 0.1.16", 1803 | ] 1804 | 1805 | [[package]] 1806 | name = "rand_core" 1807 | version = "0.6.4" 1808 | source = "registry+https://github.com/rust-lang/crates.io-index" 1809 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1810 | dependencies = [ 1811 | "getrandom 0.2.15", 1812 | ] 1813 | 1814 | [[package]] 1815 | name = "rand_hc" 1816 | version = "0.2.0" 1817 | source = "registry+https://github.com/rust-lang/crates.io-index" 1818 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 1819 | dependencies = [ 1820 | "rand_core 0.5.1", 1821 | ] 1822 | 1823 | [[package]] 1824 | name = "rand_pcg" 1825 | version = "0.2.1" 1826 | source = "registry+https://github.com/rust-lang/crates.io-index" 1827 | checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" 1828 | dependencies = [ 1829 | "rand_core 0.5.1", 1830 | ] 1831 | 1832 | [[package]] 1833 | name = "raw-window-handle" 1834 | version = "0.5.2" 1835 | source = "registry+https://github.com/rust-lang/crates.io-index" 1836 | checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" 1837 | 1838 | [[package]] 1839 | name = "redox_syscall" 1840 | version = "0.5.7" 1841 | source = "registry+https://github.com/rust-lang/crates.io-index" 1842 | checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" 1843 | dependencies = [ 1844 | "bitflags 2.6.0", 1845 | ] 1846 | 1847 | [[package]] 1848 | name = "reflink" 1849 | version = "0.1.3" 1850 | source = "git+https://github.com/nicokoch/reflink.git?rev=e8d93b465f5d9ad340cd052b64bbc77b8ee107e2#e8d93b465f5d9ad340cd052b64bbc77b8ee107e2" 1851 | dependencies = [ 1852 | "libc", 1853 | "winapi", 1854 | ] 1855 | 1856 | [[package]] 1857 | name = "rustc-demangle" 1858 | version = "0.1.24" 1859 | source = "registry+https://github.com/rust-lang/crates.io-index" 1860 | checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 1861 | 1862 | [[package]] 1863 | name = "rustc_version" 1864 | version = "0.4.1" 1865 | source = "registry+https://github.com/rust-lang/crates.io-index" 1866 | checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" 1867 | dependencies = [ 1868 | "semver", 1869 | ] 1870 | 1871 | [[package]] 1872 | name = "rustix" 1873 | version = "0.38.37" 1874 | source = "registry+https://github.com/rust-lang/crates.io-index" 1875 | checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" 1876 | dependencies = [ 1877 | "bitflags 2.6.0", 1878 | "errno", 1879 | "libc", 1880 | "linux-raw-sys", 1881 | "windows-sys 0.52.0", 1882 | ] 1883 | 1884 | [[package]] 1885 | name = "ryu" 1886 | version = "1.0.18" 1887 | source = "registry+https://github.com/rust-lang/crates.io-index" 1888 | checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" 1889 | 1890 | [[package]] 1891 | name = "same-file" 1892 | version = "1.0.6" 1893 | source = "registry+https://github.com/rust-lang/crates.io-index" 1894 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1895 | dependencies = [ 1896 | "winapi-util", 1897 | ] 1898 | 1899 | [[package]] 1900 | name = "scopeguard" 1901 | version = "1.2.0" 1902 | source = "registry+https://github.com/rust-lang/crates.io-index" 1903 | checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1904 | 1905 | [[package]] 1906 | name = "scroll" 1907 | version = "0.11.0" 1908 | source = "registry+https://github.com/rust-lang/crates.io-index" 1909 | checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" 1910 | dependencies = [ 1911 | "scroll_derive", 1912 | ] 1913 | 1914 | [[package]] 1915 | name = "scroll_derive" 1916 | version = "0.11.1" 1917 | source = "registry+https://github.com/rust-lang/crates.io-index" 1918 | checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" 1919 | dependencies = [ 1920 | "proc-macro2", 1921 | "quote", 1922 | "syn 2.0.79", 1923 | ] 1924 | 1925 | [[package]] 1926 | name = "selectors" 1927 | version = "0.22.0" 1928 | source = "registry+https://github.com/rust-lang/crates.io-index" 1929 | checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" 1930 | dependencies = [ 1931 | "bitflags 1.3.2", 1932 | "cssparser", 1933 | "derive_more", 1934 | "fxhash", 1935 | "log", 1936 | "matches", 1937 | "phf 0.8.0", 1938 | "phf_codegen 0.8.0", 1939 | "precomputed-hash", 1940 | "servo_arc", 1941 | "smallvec", 1942 | "thin-slice", 1943 | ] 1944 | 1945 | [[package]] 1946 | name = "semver" 1947 | version = "1.0.23" 1948 | source = "registry+https://github.com/rust-lang/crates.io-index" 1949 | checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" 1950 | dependencies = [ 1951 | "serde", 1952 | ] 1953 | 1954 | [[package]] 1955 | name = "serde" 1956 | version = "1.0.210" 1957 | source = "registry+https://github.com/rust-lang/crates.io-index" 1958 | checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" 1959 | dependencies = [ 1960 | "serde_derive", 1961 | ] 1962 | 1963 | [[package]] 1964 | name = "serde_derive" 1965 | version = "1.0.210" 1966 | source = "registry+https://github.com/rust-lang/crates.io-index" 1967 | checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" 1968 | dependencies = [ 1969 | "proc-macro2", 1970 | "quote", 1971 | "syn 2.0.79", 1972 | ] 1973 | 1974 | [[package]] 1975 | name = "serde_json" 1976 | version = "1.0.128" 1977 | source = "registry+https://github.com/rust-lang/crates.io-index" 1978 | checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" 1979 | dependencies = [ 1980 | "itoa 1.0.11", 1981 | "memchr", 1982 | "ryu", 1983 | "serde", 1984 | ] 1985 | 1986 | [[package]] 1987 | name = "serde_spanned" 1988 | version = "0.6.8" 1989 | source = "registry+https://github.com/rust-lang/crates.io-index" 1990 | checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" 1991 | dependencies = [ 1992 | "serde", 1993 | ] 1994 | 1995 | [[package]] 1996 | name = "servo_arc" 1997 | version = "0.1.1" 1998 | source = "registry+https://github.com/rust-lang/crates.io-index" 1999 | checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" 2000 | dependencies = [ 2001 | "nodrop", 2002 | "stable_deref_trait", 2003 | ] 2004 | 2005 | [[package]] 2006 | name = "sha2" 2007 | version = "0.10.8" 2008 | source = "registry+https://github.com/rust-lang/crates.io-index" 2009 | checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 2010 | dependencies = [ 2011 | "cfg-if", 2012 | "cpufeatures", 2013 | "digest", 2014 | ] 2015 | 2016 | [[package]] 2017 | name = "shlex" 2018 | version = "1.3.0" 2019 | source = "registry+https://github.com/rust-lang/crates.io-index" 2020 | checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 2021 | 2022 | [[package]] 2023 | name = "siphasher" 2024 | version = "0.3.11" 2025 | source = "registry+https://github.com/rust-lang/crates.io-index" 2026 | checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" 2027 | 2028 | [[package]] 2029 | name = "slab" 2030 | version = "0.4.9" 2031 | source = "registry+https://github.com/rust-lang/crates.io-index" 2032 | checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 2033 | dependencies = [ 2034 | "autocfg", 2035 | ] 2036 | 2037 | [[package]] 2038 | name = "smallvec" 2039 | version = "1.13.2" 2040 | source = "registry+https://github.com/rust-lang/crates.io-index" 2041 | checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 2042 | 2043 | [[package]] 2044 | name = "soup3" 2045 | version = "0.5.0" 2046 | source = "registry+https://github.com/rust-lang/crates.io-index" 2047 | checksum = "471f924a40f31251afc77450e781cb26d55c0b650842efafc9c6cbd2f7cc4f9f" 2048 | dependencies = [ 2049 | "futures-channel", 2050 | "gio", 2051 | "glib", 2052 | "libc", 2053 | "soup3-sys", 2054 | ] 2055 | 2056 | [[package]] 2057 | name = "soup3-sys" 2058 | version = "0.5.0" 2059 | source = "registry+https://github.com/rust-lang/crates.io-index" 2060 | checksum = "7ebe8950a680a12f24f15ebe1bf70db7af98ad242d9db43596ad3108aab86c27" 2061 | dependencies = [ 2062 | "gio-sys", 2063 | "glib-sys", 2064 | "gobject-sys", 2065 | "libc", 2066 | "system-deps", 2067 | ] 2068 | 2069 | [[package]] 2070 | name = "stable_deref_trait" 2071 | version = "1.2.0" 2072 | source = "registry+https://github.com/rust-lang/crates.io-index" 2073 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 2074 | 2075 | [[package]] 2076 | name = "string_cache" 2077 | version = "0.8.7" 2078 | source = "registry+https://github.com/rust-lang/crates.io-index" 2079 | checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" 2080 | dependencies = [ 2081 | "new_debug_unreachable", 2082 | "once_cell", 2083 | "parking_lot", 2084 | "phf_shared 0.10.0", 2085 | "precomputed-hash", 2086 | "serde", 2087 | ] 2088 | 2089 | [[package]] 2090 | name = "string_cache_codegen" 2091 | version = "0.5.2" 2092 | source = "registry+https://github.com/rust-lang/crates.io-index" 2093 | checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" 2094 | dependencies = [ 2095 | "phf_generator 0.10.0", 2096 | "phf_shared 0.10.0", 2097 | "proc-macro2", 2098 | "quote", 2099 | ] 2100 | 2101 | [[package]] 2102 | name = "syn" 2103 | version = "1.0.109" 2104 | source = "registry+https://github.com/rust-lang/crates.io-index" 2105 | checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 2106 | dependencies = [ 2107 | "proc-macro2", 2108 | "quote", 2109 | "unicode-ident", 2110 | ] 2111 | 2112 | [[package]] 2113 | name = "syn" 2114 | version = "2.0.79" 2115 | source = "registry+https://github.com/rust-lang/crates.io-index" 2116 | checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" 2117 | dependencies = [ 2118 | "proc-macro2", 2119 | "quote", 2120 | "unicode-ident", 2121 | ] 2122 | 2123 | [[package]] 2124 | name = "system-deps" 2125 | version = "6.2.2" 2126 | source = "registry+https://github.com/rust-lang/crates.io-index" 2127 | checksum = "a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349" 2128 | dependencies = [ 2129 | "cfg-expr", 2130 | "heck 0.5.0", 2131 | "pkg-config", 2132 | "toml 0.8.2", 2133 | "version-compare", 2134 | ] 2135 | 2136 | [[package]] 2137 | name = "tao-macros" 2138 | version = "0.1.3" 2139 | source = "registry+https://github.com/rust-lang/crates.io-index" 2140 | checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" 2141 | dependencies = [ 2142 | "proc-macro2", 2143 | "quote", 2144 | "syn 2.0.79", 2145 | ] 2146 | 2147 | [[package]] 2148 | name = "target-lexicon" 2149 | version = "0.12.16" 2150 | source = "registry+https://github.com/rust-lang/crates.io-index" 2151 | checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" 2152 | 2153 | [[package]] 2154 | name = "tendril" 2155 | version = "0.4.3" 2156 | source = "registry+https://github.com/rust-lang/crates.io-index" 2157 | checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" 2158 | dependencies = [ 2159 | "futf", 2160 | "mac", 2161 | "utf-8", 2162 | ] 2163 | 2164 | [[package]] 2165 | name = "termcolor" 2166 | version = "1.4.1" 2167 | source = "registry+https://github.com/rust-lang/crates.io-index" 2168 | checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 2169 | dependencies = [ 2170 | "winapi-util", 2171 | ] 2172 | 2173 | [[package]] 2174 | name = "thin-slice" 2175 | version = "0.1.1" 2176 | source = "registry+https://github.com/rust-lang/crates.io-index" 2177 | checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" 2178 | 2179 | [[package]] 2180 | name = "thiserror" 2181 | version = "1.0.64" 2182 | source = "registry+https://github.com/rust-lang/crates.io-index" 2183 | checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" 2184 | dependencies = [ 2185 | "thiserror-impl", 2186 | ] 2187 | 2188 | [[package]] 2189 | name = "thiserror-impl" 2190 | version = "1.0.64" 2191 | source = "registry+https://github.com/rust-lang/crates.io-index" 2192 | checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" 2193 | dependencies = [ 2194 | "proc-macro2", 2195 | "quote", 2196 | "syn 2.0.79", 2197 | ] 2198 | 2199 | [[package]] 2200 | name = "time" 2201 | version = "0.3.36" 2202 | source = "registry+https://github.com/rust-lang/crates.io-index" 2203 | checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" 2204 | dependencies = [ 2205 | "deranged", 2206 | "itoa 1.0.11", 2207 | "libc", 2208 | "num-conv", 2209 | "num_threads", 2210 | "powerfmt", 2211 | "serde", 2212 | "time-core", 2213 | "time-macros", 2214 | ] 2215 | 2216 | [[package]] 2217 | name = "time-core" 2218 | version = "0.1.2" 2219 | source = "registry+https://github.com/rust-lang/crates.io-index" 2220 | checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 2221 | 2222 | [[package]] 2223 | name = "time-macros" 2224 | version = "0.2.18" 2225 | source = "registry+https://github.com/rust-lang/crates.io-index" 2226 | checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" 2227 | dependencies = [ 2228 | "num-conv", 2229 | "time-core", 2230 | ] 2231 | 2232 | [[package]] 2233 | name = "tinyvec" 2234 | version = "1.8.0" 2235 | source = "registry+https://github.com/rust-lang/crates.io-index" 2236 | checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" 2237 | dependencies = [ 2238 | "tinyvec_macros", 2239 | ] 2240 | 2241 | [[package]] 2242 | name = "tinyvec_macros" 2243 | version = "0.1.1" 2244 | source = "registry+https://github.com/rust-lang/crates.io-index" 2245 | checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 2246 | 2247 | [[package]] 2248 | name = "toml" 2249 | version = "0.7.8" 2250 | source = "registry+https://github.com/rust-lang/crates.io-index" 2251 | checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" 2252 | dependencies = [ 2253 | "serde", 2254 | "serde_spanned", 2255 | "toml_datetime", 2256 | "toml_edit 0.19.15", 2257 | ] 2258 | 2259 | [[package]] 2260 | name = "toml" 2261 | version = "0.8.2" 2262 | source = "registry+https://github.com/rust-lang/crates.io-index" 2263 | checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" 2264 | dependencies = [ 2265 | "serde", 2266 | "serde_spanned", 2267 | "toml_datetime", 2268 | "toml_edit 0.20.2", 2269 | ] 2270 | 2271 | [[package]] 2272 | name = "toml_datetime" 2273 | version = "0.6.3" 2274 | source = "registry+https://github.com/rust-lang/crates.io-index" 2275 | checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" 2276 | dependencies = [ 2277 | "serde", 2278 | ] 2279 | 2280 | [[package]] 2281 | name = "toml_edit" 2282 | version = "0.19.15" 2283 | source = "registry+https://github.com/rust-lang/crates.io-index" 2284 | checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" 2285 | dependencies = [ 2286 | "indexmap 2.6.0", 2287 | "serde", 2288 | "serde_spanned", 2289 | "toml_datetime", 2290 | "winnow", 2291 | ] 2292 | 2293 | [[package]] 2294 | name = "toml_edit" 2295 | version = "0.20.2" 2296 | source = "registry+https://github.com/rust-lang/crates.io-index" 2297 | checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" 2298 | dependencies = [ 2299 | "indexmap 2.6.0", 2300 | "serde", 2301 | "serde_spanned", 2302 | "toml_datetime", 2303 | "winnow", 2304 | ] 2305 | 2306 | [[package]] 2307 | name = "typenum" 2308 | version = "1.17.0" 2309 | source = "registry+https://github.com/rust-lang/crates.io-index" 2310 | checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 2311 | 2312 | [[package]] 2313 | name = "unicode-bidi" 2314 | version = "0.3.17" 2315 | source = "registry+https://github.com/rust-lang/crates.io-index" 2316 | checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" 2317 | 2318 | [[package]] 2319 | name = "unicode-ident" 2320 | version = "1.0.13" 2321 | source = "registry+https://github.com/rust-lang/crates.io-index" 2322 | checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" 2323 | 2324 | [[package]] 2325 | name = "unicode-normalization" 2326 | version = "0.1.24" 2327 | source = "registry+https://github.com/rust-lang/crates.io-index" 2328 | checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" 2329 | dependencies = [ 2330 | "tinyvec", 2331 | ] 2332 | 2333 | [[package]] 2334 | name = "unicode-segmentation" 2335 | version = "1.12.0" 2336 | source = "registry+https://github.com/rust-lang/crates.io-index" 2337 | checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 2338 | 2339 | [[package]] 2340 | name = "url" 2341 | version = "2.5.2" 2342 | source = "registry+https://github.com/rust-lang/crates.io-index" 2343 | checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" 2344 | dependencies = [ 2345 | "form_urlencoded", 2346 | "idna", 2347 | "percent-encoding", 2348 | ] 2349 | 2350 | [[package]] 2351 | name = "utf-8" 2352 | version = "0.7.6" 2353 | source = "registry+https://github.com/rust-lang/crates.io-index" 2354 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 2355 | 2356 | [[package]] 2357 | name = "uuid" 2358 | version = "0.8.2" 2359 | source = "registry+https://github.com/rust-lang/crates.io-index" 2360 | checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" 2361 | dependencies = [ 2362 | "getrandom 0.2.15", 2363 | ] 2364 | 2365 | [[package]] 2366 | name = "version-compare" 2367 | version = "0.2.0" 2368 | source = "registry+https://github.com/rust-lang/crates.io-index" 2369 | checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" 2370 | 2371 | [[package]] 2372 | name = "version_check" 2373 | version = "0.9.5" 2374 | source = "registry+https://github.com/rust-lang/crates.io-index" 2375 | checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 2376 | 2377 | [[package]] 2378 | name = "vst3-com" 2379 | version = "0.1.0" 2380 | source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 2381 | dependencies = [ 2382 | "vst3-com-macros", 2383 | ] 2384 | 2385 | [[package]] 2386 | name = "vst3-com-macros" 2387 | version = "0.2.0" 2388 | source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 2389 | dependencies = [ 2390 | "proc-macro2", 2391 | "quote", 2392 | "syn 1.0.109", 2393 | "vst3-com-macros-support", 2394 | ] 2395 | 2396 | [[package]] 2397 | name = "vst3-com-macros-support" 2398 | version = "0.2.0" 2399 | source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 2400 | dependencies = [ 2401 | "proc-macro2", 2402 | "quote", 2403 | "syn 1.0.109", 2404 | ] 2405 | 2406 | [[package]] 2407 | name = "vst3-sys" 2408 | version = "0.1.0" 2409 | source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 2410 | dependencies = [ 2411 | "vst3-com", 2412 | ] 2413 | 2414 | [[package]] 2415 | name = "walkdir" 2416 | version = "2.5.0" 2417 | source = "registry+https://github.com/rust-lang/crates.io-index" 2418 | checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 2419 | dependencies = [ 2420 | "same-file", 2421 | "winapi-util", 2422 | ] 2423 | 2424 | [[package]] 2425 | name = "wasi" 2426 | version = "0.9.0+wasi-snapshot-preview1" 2427 | source = "registry+https://github.com/rust-lang/crates.io-index" 2428 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" 2429 | 2430 | [[package]] 2431 | name = "wasi" 2432 | version = "0.11.0+wasi-snapshot-preview1" 2433 | source = "registry+https://github.com/rust-lang/crates.io-index" 2434 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2435 | 2436 | [[package]] 2437 | name = "webkit2gtk" 2438 | version = "2.0.1" 2439 | source = "registry+https://github.com/rust-lang/crates.io-index" 2440 | checksum = "76b1bc1e54c581da1e9f179d0b38512ba358fb1af2d634a1affe42e37172361a" 2441 | dependencies = [ 2442 | "bitflags 1.3.2", 2443 | "cairo-rs", 2444 | "gdk", 2445 | "gdk-sys", 2446 | "gio", 2447 | "gio-sys", 2448 | "glib", 2449 | "glib-sys", 2450 | "gobject-sys", 2451 | "gtk", 2452 | "gtk-sys", 2453 | "javascriptcore-rs", 2454 | "libc", 2455 | "once_cell", 2456 | "soup3", 2457 | "webkit2gtk-sys", 2458 | ] 2459 | 2460 | [[package]] 2461 | name = "webkit2gtk-sys" 2462 | version = "2.0.1" 2463 | source = "registry+https://github.com/rust-lang/crates.io-index" 2464 | checksum = "62daa38afc514d1f8f12b8693d30d5993ff77ced33ce30cd04deebc267a6d57c" 2465 | dependencies = [ 2466 | "bitflags 1.3.2", 2467 | "cairo-sys-rs", 2468 | "gdk-sys", 2469 | "gio-sys", 2470 | "glib-sys", 2471 | "gobject-sys", 2472 | "gtk-sys", 2473 | "javascriptcore-rs-sys", 2474 | "libc", 2475 | "pkg-config", 2476 | "soup3-sys", 2477 | "system-deps", 2478 | ] 2479 | 2480 | [[package]] 2481 | name = "webview2-com" 2482 | version = "0.28.0" 2483 | source = "registry+https://github.com/rust-lang/crates.io-index" 2484 | checksum = "e0ae9c7e420783826cf769d2c06ac9ba462f450eca5893bb8c6c6529a4e5dd33" 2485 | dependencies = [ 2486 | "webview2-com-macros", 2487 | "webview2-com-sys", 2488 | "windows 0.52.0", 2489 | "windows-core", 2490 | "windows-implement", 2491 | "windows-interface", 2492 | ] 2493 | 2494 | [[package]] 2495 | name = "webview2-com-macros" 2496 | version = "0.7.0" 2497 | source = "registry+https://github.com/rust-lang/crates.io-index" 2498 | checksum = "ac1345798ecd8122468840bcdf1b95e5dc6d2206c5e4b0eafa078d061f59c9bc" 2499 | dependencies = [ 2500 | "proc-macro2", 2501 | "quote", 2502 | "syn 2.0.79", 2503 | ] 2504 | 2505 | [[package]] 2506 | name = "webview2-com-sys" 2507 | version = "0.28.0" 2508 | source = "registry+https://github.com/rust-lang/crates.io-index" 2509 | checksum = "d6ad85fceee6c42fa3d61239eba5a11401bf38407a849ed5ea1b407df08cca72" 2510 | dependencies = [ 2511 | "thiserror", 2512 | "windows 0.52.0", 2513 | "windows-core", 2514 | ] 2515 | 2516 | [[package]] 2517 | name = "widestring" 2518 | version = "1.1.0" 2519 | source = "registry+https://github.com/rust-lang/crates.io-index" 2520 | checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" 2521 | 2522 | [[package]] 2523 | name = "winapi" 2524 | version = "0.3.9" 2525 | source = "registry+https://github.com/rust-lang/crates.io-index" 2526 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2527 | dependencies = [ 2528 | "winapi-i686-pc-windows-gnu", 2529 | "winapi-x86_64-pc-windows-gnu", 2530 | ] 2531 | 2532 | [[package]] 2533 | name = "winapi-i686-pc-windows-gnu" 2534 | version = "0.4.0" 2535 | source = "registry+https://github.com/rust-lang/crates.io-index" 2536 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2537 | 2538 | [[package]] 2539 | name = "winapi-util" 2540 | version = "0.1.9" 2541 | source = "registry+https://github.com/rust-lang/crates.io-index" 2542 | checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" 2543 | dependencies = [ 2544 | "windows-sys 0.59.0", 2545 | ] 2546 | 2547 | [[package]] 2548 | name = "winapi-x86_64-pc-windows-gnu" 2549 | version = "0.4.0" 2550 | source = "registry+https://github.com/rust-lang/crates.io-index" 2551 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2552 | 2553 | [[package]] 2554 | name = "windows" 2555 | version = "0.44.0" 2556 | source = "registry+https://github.com/rust-lang/crates.io-index" 2557 | checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" 2558 | dependencies = [ 2559 | "windows-targets 0.42.2", 2560 | ] 2561 | 2562 | [[package]] 2563 | name = "windows" 2564 | version = "0.52.0" 2565 | source = "registry+https://github.com/rust-lang/crates.io-index" 2566 | checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" 2567 | dependencies = [ 2568 | "windows-core", 2569 | "windows-implement", 2570 | "windows-interface", 2571 | "windows-targets 0.52.6", 2572 | ] 2573 | 2574 | [[package]] 2575 | name = "windows-core" 2576 | version = "0.52.0" 2577 | source = "registry+https://github.com/rust-lang/crates.io-index" 2578 | checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" 2579 | dependencies = [ 2580 | "windows-targets 0.52.6", 2581 | ] 2582 | 2583 | [[package]] 2584 | name = "windows-implement" 2585 | version = "0.52.0" 2586 | source = "registry+https://github.com/rust-lang/crates.io-index" 2587 | checksum = "12168c33176773b86799be25e2a2ba07c7aab9968b37541f1094dbd7a60c8946" 2588 | dependencies = [ 2589 | "proc-macro2", 2590 | "quote", 2591 | "syn 2.0.79", 2592 | ] 2593 | 2594 | [[package]] 2595 | name = "windows-interface" 2596 | version = "0.52.0" 2597 | source = "registry+https://github.com/rust-lang/crates.io-index" 2598 | checksum = "9d8dc32e0095a7eeccebd0e3f09e9509365ecb3fc6ac4d6f5f14a3f6392942d1" 2599 | dependencies = [ 2600 | "proc-macro2", 2601 | "quote", 2602 | "syn 2.0.79", 2603 | ] 2604 | 2605 | [[package]] 2606 | name = "windows-sys" 2607 | version = "0.45.0" 2608 | source = "registry+https://github.com/rust-lang/crates.io-index" 2609 | checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 2610 | dependencies = [ 2611 | "windows-targets 0.42.2", 2612 | ] 2613 | 2614 | [[package]] 2615 | name = "windows-sys" 2616 | version = "0.52.0" 2617 | source = "registry+https://github.com/rust-lang/crates.io-index" 2618 | checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2619 | dependencies = [ 2620 | "windows-targets 0.52.6", 2621 | ] 2622 | 2623 | [[package]] 2624 | name = "windows-sys" 2625 | version = "0.59.0" 2626 | source = "registry+https://github.com/rust-lang/crates.io-index" 2627 | checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 2628 | dependencies = [ 2629 | "windows-targets 0.52.6", 2630 | ] 2631 | 2632 | [[package]] 2633 | name = "windows-targets" 2634 | version = "0.42.2" 2635 | source = "registry+https://github.com/rust-lang/crates.io-index" 2636 | checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 2637 | dependencies = [ 2638 | "windows_aarch64_gnullvm 0.42.2", 2639 | "windows_aarch64_msvc 0.42.2", 2640 | "windows_i686_gnu 0.42.2", 2641 | "windows_i686_msvc 0.42.2", 2642 | "windows_x86_64_gnu 0.42.2", 2643 | "windows_x86_64_gnullvm 0.42.2", 2644 | "windows_x86_64_msvc 0.42.2", 2645 | ] 2646 | 2647 | [[package]] 2648 | name = "windows-targets" 2649 | version = "0.48.5" 2650 | source = "registry+https://github.com/rust-lang/crates.io-index" 2651 | checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 2652 | dependencies = [ 2653 | "windows_aarch64_gnullvm 0.48.5", 2654 | "windows_aarch64_msvc 0.48.5", 2655 | "windows_i686_gnu 0.48.5", 2656 | "windows_i686_msvc 0.48.5", 2657 | "windows_x86_64_gnu 0.48.5", 2658 | "windows_x86_64_gnullvm 0.48.5", 2659 | "windows_x86_64_msvc 0.48.5", 2660 | ] 2661 | 2662 | [[package]] 2663 | name = "windows-targets" 2664 | version = "0.52.6" 2665 | source = "registry+https://github.com/rust-lang/crates.io-index" 2666 | checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 2667 | dependencies = [ 2668 | "windows_aarch64_gnullvm 0.52.6", 2669 | "windows_aarch64_msvc 0.52.6", 2670 | "windows_i686_gnu 0.52.6", 2671 | "windows_i686_gnullvm", 2672 | "windows_i686_msvc 0.52.6", 2673 | "windows_x86_64_gnu 0.52.6", 2674 | "windows_x86_64_gnullvm 0.52.6", 2675 | "windows_x86_64_msvc 0.52.6", 2676 | ] 2677 | 2678 | [[package]] 2679 | name = "windows-version" 2680 | version = "0.1.1" 2681 | source = "registry+https://github.com/rust-lang/crates.io-index" 2682 | checksum = "6998aa457c9ba8ff2fb9f13e9d2a930dabcea28f1d0ab94d687d8b3654844515" 2683 | dependencies = [ 2684 | "windows-targets 0.52.6", 2685 | ] 2686 | 2687 | [[package]] 2688 | name = "windows_aarch64_gnullvm" 2689 | version = "0.42.2" 2690 | source = "registry+https://github.com/rust-lang/crates.io-index" 2691 | checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 2692 | 2693 | [[package]] 2694 | name = "windows_aarch64_gnullvm" 2695 | version = "0.48.5" 2696 | source = "registry+https://github.com/rust-lang/crates.io-index" 2697 | checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 2698 | 2699 | [[package]] 2700 | name = "windows_aarch64_gnullvm" 2701 | version = "0.52.6" 2702 | source = "registry+https://github.com/rust-lang/crates.io-index" 2703 | checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 2704 | 2705 | [[package]] 2706 | name = "windows_aarch64_msvc" 2707 | version = "0.42.2" 2708 | source = "registry+https://github.com/rust-lang/crates.io-index" 2709 | checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 2710 | 2711 | [[package]] 2712 | name = "windows_aarch64_msvc" 2713 | version = "0.48.5" 2714 | source = "registry+https://github.com/rust-lang/crates.io-index" 2715 | checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 2716 | 2717 | [[package]] 2718 | name = "windows_aarch64_msvc" 2719 | version = "0.52.6" 2720 | source = "registry+https://github.com/rust-lang/crates.io-index" 2721 | checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 2722 | 2723 | [[package]] 2724 | name = "windows_i686_gnu" 2725 | version = "0.42.2" 2726 | source = "registry+https://github.com/rust-lang/crates.io-index" 2727 | checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 2728 | 2729 | [[package]] 2730 | name = "windows_i686_gnu" 2731 | version = "0.48.5" 2732 | source = "registry+https://github.com/rust-lang/crates.io-index" 2733 | checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 2734 | 2735 | [[package]] 2736 | name = "windows_i686_gnu" 2737 | version = "0.52.6" 2738 | source = "registry+https://github.com/rust-lang/crates.io-index" 2739 | checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 2740 | 2741 | [[package]] 2742 | name = "windows_i686_gnullvm" 2743 | version = "0.52.6" 2744 | source = "registry+https://github.com/rust-lang/crates.io-index" 2745 | checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 2746 | 2747 | [[package]] 2748 | name = "windows_i686_msvc" 2749 | version = "0.42.2" 2750 | source = "registry+https://github.com/rust-lang/crates.io-index" 2751 | checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 2752 | 2753 | [[package]] 2754 | name = "windows_i686_msvc" 2755 | version = "0.48.5" 2756 | source = "registry+https://github.com/rust-lang/crates.io-index" 2757 | checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 2758 | 2759 | [[package]] 2760 | name = "windows_i686_msvc" 2761 | version = "0.52.6" 2762 | source = "registry+https://github.com/rust-lang/crates.io-index" 2763 | checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 2764 | 2765 | [[package]] 2766 | name = "windows_x86_64_gnu" 2767 | version = "0.42.2" 2768 | source = "registry+https://github.com/rust-lang/crates.io-index" 2769 | checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 2770 | 2771 | [[package]] 2772 | name = "windows_x86_64_gnu" 2773 | version = "0.48.5" 2774 | source = "registry+https://github.com/rust-lang/crates.io-index" 2775 | checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 2776 | 2777 | [[package]] 2778 | name = "windows_x86_64_gnu" 2779 | version = "0.52.6" 2780 | source = "registry+https://github.com/rust-lang/crates.io-index" 2781 | checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 2782 | 2783 | [[package]] 2784 | name = "windows_x86_64_gnullvm" 2785 | version = "0.42.2" 2786 | source = "registry+https://github.com/rust-lang/crates.io-index" 2787 | checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 2788 | 2789 | [[package]] 2790 | name = "windows_x86_64_gnullvm" 2791 | version = "0.48.5" 2792 | source = "registry+https://github.com/rust-lang/crates.io-index" 2793 | checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 2794 | 2795 | [[package]] 2796 | name = "windows_x86_64_gnullvm" 2797 | version = "0.52.6" 2798 | source = "registry+https://github.com/rust-lang/crates.io-index" 2799 | checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 2800 | 2801 | [[package]] 2802 | name = "windows_x86_64_msvc" 2803 | version = "0.42.2" 2804 | source = "registry+https://github.com/rust-lang/crates.io-index" 2805 | checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 2806 | 2807 | [[package]] 2808 | name = "windows_x86_64_msvc" 2809 | version = "0.48.5" 2810 | source = "registry+https://github.com/rust-lang/crates.io-index" 2811 | checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" 2812 | 2813 | [[package]] 2814 | name = "windows_x86_64_msvc" 2815 | version = "0.52.6" 2816 | source = "registry+https://github.com/rust-lang/crates.io-index" 2817 | checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 2818 | 2819 | [[package]] 2820 | name = "winnow" 2821 | version = "0.5.40" 2822 | source = "registry+https://github.com/rust-lang/crates.io-index" 2823 | checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" 2824 | dependencies = [ 2825 | "memchr", 2826 | ] 2827 | 2828 | [[package]] 2829 | name = "wry" 2830 | version = "0.35.2" 2831 | source = "registry+https://github.com/rust-lang/crates.io-index" 2832 | checksum = "d3016c47c9b6f7029a9da7cd48af8352327226bba0e955f3c92e2966651365a9" 2833 | dependencies = [ 2834 | "base64", 2835 | "block", 2836 | "cfg_aliases", 2837 | "cocoa 0.25.0", 2838 | "core-graphics 0.23.2", 2839 | "crossbeam-channel", 2840 | "dunce", 2841 | "gdkx11", 2842 | "gtk", 2843 | "html5ever", 2844 | "http", 2845 | "javascriptcore-rs", 2846 | "jni", 2847 | "kuchikiki", 2848 | "libc", 2849 | "log", 2850 | "ndk", 2851 | "ndk-context", 2852 | "ndk-sys", 2853 | "objc", 2854 | "objc_id", 2855 | "once_cell", 2856 | "raw-window-handle", 2857 | "serde", 2858 | "serde_json", 2859 | "sha2", 2860 | "soup3", 2861 | "tao-macros", 2862 | "thiserror", 2863 | "url", 2864 | "webkit2gtk", 2865 | "webkit2gtk-sys", 2866 | "webview2-com", 2867 | "windows 0.52.0", 2868 | "windows-implement", 2869 | "windows-version", 2870 | "x11-dl", 2871 | ] 2872 | 2873 | [[package]] 2874 | name = "x11" 2875 | version = "2.21.0" 2876 | source = "registry+https://github.com/rust-lang/crates.io-index" 2877 | checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" 2878 | dependencies = [ 2879 | "libc", 2880 | "pkg-config", 2881 | ] 2882 | 2883 | [[package]] 2884 | name = "x11-dl" 2885 | version = "2.21.0" 2886 | source = "registry+https://github.com/rust-lang/crates.io-index" 2887 | checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" 2888 | dependencies = [ 2889 | "libc", 2890 | "once_cell", 2891 | "pkg-config", 2892 | ] 2893 | 2894 | [[package]] 2895 | name = "x11rb" 2896 | version = "0.13.1" 2897 | source = "registry+https://github.com/rust-lang/crates.io-index" 2898 | checksum = "5d91ffca73ee7f68ce055750bf9f6eca0780b8c85eff9bc046a3b0da41755e12" 2899 | dependencies = [ 2900 | "as-raw-xcb-connection", 2901 | "gethostname", 2902 | "libc", 2903 | "rustix", 2904 | "x11rb-protocol", 2905 | ] 2906 | 2907 | [[package]] 2908 | name = "x11rb-protocol" 2909 | version = "0.13.1" 2910 | source = "registry+https://github.com/rust-lang/crates.io-index" 2911 | checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d" 2912 | 2913 | [[package]] 2914 | name = "xtask" 2915 | version = "0.1.0" 2916 | dependencies = [ 2917 | "nih_plug_xtask", 2918 | ] 2919 | 2920 | [[package]] 2921 | name = "zerocopy" 2922 | version = "0.7.35" 2923 | source = "registry+https://github.com/rust-lang/crates.io-index" 2924 | checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" 2925 | dependencies = [ 2926 | "byteorder", 2927 | "zerocopy-derive", 2928 | ] 2929 | 2930 | [[package]] 2931 | name = "zerocopy-derive" 2932 | version = "0.7.35" 2933 | source = "registry+https://github.com/rust-lang/crates.io-index" 2934 | checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" 2935 | dependencies = [ 2936 | "proc-macro2", 2937 | "quote", 2938 | "syn 2.0.79", 2939 | ] 2940 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "nih_plug_webview" 3 | version = "0.0.0" 4 | edition = "2021" 5 | authors = ["Max Huttunen "] 6 | license = "ISC" 7 | 8 | description = "An adapter to use webview GUIs with NIH-plug" 9 | 10 | [workspace] 11 | members = [ 12 | "example", 13 | "xtask" 14 | ] 15 | 16 | [dependencies] 17 | nih_plug = { git = "https://github.com/robbert-vdh/nih-plug.git" } 18 | parking_lot = "0.12.1" 19 | serde_json = "1.0" 20 | wry = { version = "0.35.1" } 21 | baseview = { git = "https://github.com/RustAudio/baseview" } 22 | raw-window-handle = "0.5" 23 | crossbeam = "0.8.2" 24 | keyboard-types = "0.6.2" 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2022 Max Huttunen 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # nih-plug-webview 2 | 3 | **Warning: work in progress, not production-ready yet.** 4 | Experimental webview editor for [nih-plug](https://github.com/robbert-vdh/nih-plug) using [wry](https://github.com/tauri-apps/wry). 5 | Built on top of [baseview](https://github.com/RustAudio/baseview). 6 | 7 | ## Current status 8 | 9 | I've only been able to test this on macOS so far on which it has been working quite robustly. 10 | Now that wry officially supports attaching to an existing window handle, I'm hoping that Windows also works but this needs to be verified. 11 | 12 | On macOS there is an unresolved issue where pressing the escape key in Ableton Live will lead to a crash. 13 | I've reported this to Ableton, and I'm currently mitigating this by consuming the escape keypress behind the scenes. 14 | 15 | ## Features 16 | - send arbitrary JSON values back and forth to the webview using Serde 17 | - resizable plug-in window 18 | - drag and drop files with full paths 19 | - callback for deciding which key events from DAW to consume 20 | - customisable background color for when the view is still loading (avoid initial flash of white) 21 | - use devtools 22 | 23 | ## Usage 24 | 25 | [Check out the example.](https://github.com/maxjvh/nih-plug-webview/blob/main/example/src/) 26 | 27 | Build the example with `cargo xtask bundle gain` in the `example` folder. 28 | -------------------------------------------------------------------------------- /example/Cargo.lock: -------------------------------------------------------------------------------- 1 | # This file is automatically @generated by Cargo. 2 | # It is not intended for manual editing. 3 | version = 3 4 | 5 | [[package]] 6 | name = "addr2line" 7 | version = "0.19.0" 8 | source = "registry+https://github.com/rust-lang/crates.io-index" 9 | checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" 10 | dependencies = [ 11 | "gimli", 12 | ] 13 | 14 | [[package]] 15 | name = "adler" 16 | version = "1.0.2" 17 | source = "registry+https://github.com/rust-lang/crates.io-index" 18 | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 | 20 | [[package]] 21 | name = "aho-corasick" 22 | version = "0.7.20" 23 | source = "registry+https://github.com/rust-lang/crates.io-index" 24 | checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" 25 | dependencies = [ 26 | "memchr", 27 | ] 28 | 29 | [[package]] 30 | name = "anyhow" 31 | version = "1.0.68" 32 | source = "registry+https://github.com/rust-lang/crates.io-index" 33 | checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" 34 | 35 | [[package]] 36 | name = "assert_no_alloc" 37 | version = "1.1.2" 38 | source = "git+https://github.com/robbert-vdh/rust-assert-no-alloc.git?branch=nih-plug#95120d996240a2c279a6067502e11b62d30563a6" 39 | dependencies = [ 40 | "backtrace", 41 | ] 42 | 43 | [[package]] 44 | name = "atk" 45 | version = "0.15.1" 46 | source = "registry+https://github.com/rust-lang/crates.io-index" 47 | checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" 48 | dependencies = [ 49 | "atk-sys", 50 | "bitflags", 51 | "glib", 52 | "libc", 53 | ] 54 | 55 | [[package]] 56 | name = "atk-sys" 57 | version = "0.15.1" 58 | source = "registry+https://github.com/rust-lang/crates.io-index" 59 | checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" 60 | dependencies = [ 61 | "glib-sys", 62 | "gobject-sys", 63 | "libc", 64 | "system-deps 6.0.3", 65 | ] 66 | 67 | [[package]] 68 | name = "atomic_float" 69 | version = "0.1.0" 70 | source = "registry+https://github.com/rust-lang/crates.io-index" 71 | checksum = "62af46d040ba9df09edc6528dae9d8e49f5f3e82f55b7d2ec31a733c38dbc49d" 72 | 73 | [[package]] 74 | name = "atomic_refcell" 75 | version = "0.1.8" 76 | source = "registry+https://github.com/rust-lang/crates.io-index" 77 | checksum = "73b5e5f48b927f04e952dedc932f31995a65a0bf65ec971c74436e51bf6e970d" 78 | 79 | [[package]] 80 | name = "autocfg" 81 | version = "1.1.0" 82 | source = "registry+https://github.com/rust-lang/crates.io-index" 83 | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" 84 | 85 | [[package]] 86 | name = "backtrace" 87 | version = "0.3.67" 88 | source = "registry+https://github.com/rust-lang/crates.io-index" 89 | checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" 90 | dependencies = [ 91 | "addr2line", 92 | "cc", 93 | "cfg-if", 94 | "libc", 95 | "miniz_oxide", 96 | "object", 97 | "rustc-demangle", 98 | ] 99 | 100 | [[package]] 101 | name = "base64" 102 | version = "0.13.1" 103 | source = "registry+https://github.com/rust-lang/crates.io-index" 104 | checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 105 | 106 | [[package]] 107 | name = "bitflags" 108 | version = "1.3.2" 109 | source = "registry+https://github.com/rust-lang/crates.io-index" 110 | checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 111 | 112 | [[package]] 113 | name = "block" 114 | version = "0.1.6" 115 | source = "registry+https://github.com/rust-lang/crates.io-index" 116 | checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" 117 | 118 | [[package]] 119 | name = "block-buffer" 120 | version = "0.10.3" 121 | source = "registry+https://github.com/rust-lang/crates.io-index" 122 | checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" 123 | dependencies = [ 124 | "generic-array", 125 | ] 126 | 127 | [[package]] 128 | name = "bytemuck" 129 | version = "1.12.3" 130 | source = "registry+https://github.com/rust-lang/crates.io-index" 131 | checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" 132 | 133 | [[package]] 134 | name = "byteorder" 135 | version = "1.4.3" 136 | source = "registry+https://github.com/rust-lang/crates.io-index" 137 | checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 138 | 139 | [[package]] 140 | name = "bytes" 141 | version = "1.3.0" 142 | source = "registry+https://github.com/rust-lang/crates.io-index" 143 | checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c" 144 | 145 | [[package]] 146 | name = "cacao" 147 | version = "0.3.2" 148 | source = "git+https://github.com/maxjvh/cacao?branch=trunk#e5e428cdbc03f6ca5097a2dddf910562ac1c270a" 149 | dependencies = [ 150 | "block", 151 | "core-foundation", 152 | "core-graphics", 153 | "dispatch", 154 | "infer", 155 | "lazy_static", 156 | "libc", 157 | "objc", 158 | "objc_id", 159 | "os_info", 160 | "url", 161 | ] 162 | 163 | [[package]] 164 | name = "cairo-rs" 165 | version = "0.15.12" 166 | source = "registry+https://github.com/rust-lang/crates.io-index" 167 | checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" 168 | dependencies = [ 169 | "bitflags", 170 | "cairo-sys-rs", 171 | "glib", 172 | "libc", 173 | "thiserror", 174 | ] 175 | 176 | [[package]] 177 | name = "cairo-sys-rs" 178 | version = "0.15.1" 179 | source = "registry+https://github.com/rust-lang/crates.io-index" 180 | checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" 181 | dependencies = [ 182 | "glib-sys", 183 | "libc", 184 | "system-deps 6.0.3", 185 | ] 186 | 187 | [[package]] 188 | name = "cc" 189 | version = "1.0.78" 190 | source = "registry+https://github.com/rust-lang/crates.io-index" 191 | checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" 192 | 193 | [[package]] 194 | name = "cesu8" 195 | version = "1.1.0" 196 | source = "registry+https://github.com/rust-lang/crates.io-index" 197 | checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" 198 | 199 | [[package]] 200 | name = "cfb" 201 | version = "0.7.3" 202 | source = "registry+https://github.com/rust-lang/crates.io-index" 203 | checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" 204 | dependencies = [ 205 | "byteorder", 206 | "fnv", 207 | "uuid", 208 | ] 209 | 210 | [[package]] 211 | name = "cfg-expr" 212 | version = "0.9.1" 213 | source = "registry+https://github.com/rust-lang/crates.io-index" 214 | checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" 215 | dependencies = [ 216 | "smallvec", 217 | ] 218 | 219 | [[package]] 220 | name = "cfg-expr" 221 | version = "0.11.0" 222 | source = "registry+https://github.com/rust-lang/crates.io-index" 223 | checksum = "b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa" 224 | dependencies = [ 225 | "smallvec", 226 | ] 227 | 228 | [[package]] 229 | name = "cfg-if" 230 | version = "1.0.0" 231 | source = "registry+https://github.com/rust-lang/crates.io-index" 232 | checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 233 | 234 | [[package]] 235 | name = "clap-sys" 236 | version = "0.3.0" 237 | source = "registry+https://github.com/rust-lang/crates.io-index" 238 | checksum = "27f4e06657d33d5d194db1155cef359c359483a4170362bf4e105146dd0109e3" 239 | 240 | [[package]] 241 | name = "cocoa" 242 | version = "0.24.1" 243 | source = "registry+https://github.com/rust-lang/crates.io-index" 244 | checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" 245 | dependencies = [ 246 | "bitflags", 247 | "block", 248 | "cocoa-foundation", 249 | "core-foundation", 250 | "core-graphics", 251 | "foreign-types", 252 | "libc", 253 | "objc", 254 | ] 255 | 256 | [[package]] 257 | name = "cocoa-foundation" 258 | version = "0.1.0" 259 | source = "registry+https://github.com/rust-lang/crates.io-index" 260 | checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" 261 | dependencies = [ 262 | "bitflags", 263 | "block", 264 | "core-foundation", 265 | "core-graphics-types", 266 | "foreign-types", 267 | "libc", 268 | "objc", 269 | ] 270 | 271 | [[package]] 272 | name = "color_quant" 273 | version = "1.1.0" 274 | source = "registry+https://github.com/rust-lang/crates.io-index" 275 | checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" 276 | 277 | [[package]] 278 | name = "combine" 279 | version = "4.6.6" 280 | source = "registry+https://github.com/rust-lang/crates.io-index" 281 | checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" 282 | dependencies = [ 283 | "bytes", 284 | "memchr", 285 | ] 286 | 287 | [[package]] 288 | name = "convert_case" 289 | version = "0.4.0" 290 | source = "registry+https://github.com/rust-lang/crates.io-index" 291 | checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" 292 | 293 | [[package]] 294 | name = "core-foundation" 295 | version = "0.9.3" 296 | source = "registry+https://github.com/rust-lang/crates.io-index" 297 | checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" 298 | dependencies = [ 299 | "core-foundation-sys", 300 | "libc", 301 | ] 302 | 303 | [[package]] 304 | name = "core-foundation-sys" 305 | version = "0.8.3" 306 | source = "registry+https://github.com/rust-lang/crates.io-index" 307 | checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" 308 | 309 | [[package]] 310 | name = "core-graphics" 311 | version = "0.22.3" 312 | source = "registry+https://github.com/rust-lang/crates.io-index" 313 | checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" 314 | dependencies = [ 315 | "bitflags", 316 | "core-foundation", 317 | "core-graphics-types", 318 | "foreign-types", 319 | "libc", 320 | ] 321 | 322 | [[package]] 323 | name = "core-graphics-types" 324 | version = "0.1.1" 325 | source = "registry+https://github.com/rust-lang/crates.io-index" 326 | checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" 327 | dependencies = [ 328 | "bitflags", 329 | "core-foundation", 330 | "foreign-types", 331 | "libc", 332 | ] 333 | 334 | [[package]] 335 | name = "cpufeatures" 336 | version = "0.2.5" 337 | source = "registry+https://github.com/rust-lang/crates.io-index" 338 | checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" 339 | dependencies = [ 340 | "libc", 341 | ] 342 | 343 | [[package]] 344 | name = "crc32fast" 345 | version = "1.3.2" 346 | source = "registry+https://github.com/rust-lang/crates.io-index" 347 | checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" 348 | dependencies = [ 349 | "cfg-if", 350 | ] 351 | 352 | [[package]] 353 | name = "crossbeam" 354 | version = "0.8.2" 355 | source = "registry+https://github.com/rust-lang/crates.io-index" 356 | checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" 357 | dependencies = [ 358 | "cfg-if", 359 | "crossbeam-channel", 360 | "crossbeam-deque", 361 | "crossbeam-epoch", 362 | "crossbeam-queue", 363 | "crossbeam-utils", 364 | ] 365 | 366 | [[package]] 367 | name = "crossbeam-channel" 368 | version = "0.5.6" 369 | source = "registry+https://github.com/rust-lang/crates.io-index" 370 | checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" 371 | dependencies = [ 372 | "cfg-if", 373 | "crossbeam-utils", 374 | ] 375 | 376 | [[package]] 377 | name = "crossbeam-deque" 378 | version = "0.8.2" 379 | source = "registry+https://github.com/rust-lang/crates.io-index" 380 | checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" 381 | dependencies = [ 382 | "cfg-if", 383 | "crossbeam-epoch", 384 | "crossbeam-utils", 385 | ] 386 | 387 | [[package]] 388 | name = "crossbeam-epoch" 389 | version = "0.9.13" 390 | source = "registry+https://github.com/rust-lang/crates.io-index" 391 | checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" 392 | dependencies = [ 393 | "autocfg", 394 | "cfg-if", 395 | "crossbeam-utils", 396 | "memoffset 0.7.1", 397 | "scopeguard", 398 | ] 399 | 400 | [[package]] 401 | name = "crossbeam-queue" 402 | version = "0.3.8" 403 | source = "registry+https://github.com/rust-lang/crates.io-index" 404 | checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" 405 | dependencies = [ 406 | "cfg-if", 407 | "crossbeam-utils", 408 | ] 409 | 410 | [[package]] 411 | name = "crossbeam-utils" 412 | version = "0.8.14" 413 | source = "registry+https://github.com/rust-lang/crates.io-index" 414 | checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" 415 | dependencies = [ 416 | "cfg-if", 417 | ] 418 | 419 | [[package]] 420 | name = "crypto-common" 421 | version = "0.1.6" 422 | source = "registry+https://github.com/rust-lang/crates.io-index" 423 | checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 424 | dependencies = [ 425 | "generic-array", 426 | "typenum", 427 | ] 428 | 429 | [[package]] 430 | name = "cssparser" 431 | version = "0.27.2" 432 | source = "registry+https://github.com/rust-lang/crates.io-index" 433 | checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" 434 | dependencies = [ 435 | "cssparser-macros", 436 | "dtoa-short", 437 | "itoa 0.4.8", 438 | "matches", 439 | "phf", 440 | "proc-macro2", 441 | "quote", 442 | "smallvec", 443 | "syn", 444 | ] 445 | 446 | [[package]] 447 | name = "cssparser-macros" 448 | version = "0.6.0" 449 | source = "registry+https://github.com/rust-lang/crates.io-index" 450 | checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" 451 | dependencies = [ 452 | "quote", 453 | "syn", 454 | ] 455 | 456 | [[package]] 457 | name = "cty" 458 | version = "0.2.2" 459 | source = "registry+https://github.com/rust-lang/crates.io-index" 460 | checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" 461 | 462 | [[package]] 463 | name = "derive_more" 464 | version = "0.99.17" 465 | source = "registry+https://github.com/rust-lang/crates.io-index" 466 | checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" 467 | dependencies = [ 468 | "convert_case", 469 | "proc-macro2", 470 | "quote", 471 | "rustc_version 0.4.0", 472 | "syn", 473 | ] 474 | 475 | [[package]] 476 | name = "digest" 477 | version = "0.10.6" 478 | source = "registry+https://github.com/rust-lang/crates.io-index" 479 | checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" 480 | dependencies = [ 481 | "block-buffer", 482 | "crypto-common", 483 | ] 484 | 485 | [[package]] 486 | name = "dispatch" 487 | version = "0.2.0" 488 | source = "registry+https://github.com/rust-lang/crates.io-index" 489 | checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" 490 | 491 | [[package]] 492 | name = "dtoa" 493 | version = "0.4.8" 494 | source = "registry+https://github.com/rust-lang/crates.io-index" 495 | checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" 496 | 497 | [[package]] 498 | name = "dtoa-short" 499 | version = "0.3.3" 500 | source = "registry+https://github.com/rust-lang/crates.io-index" 501 | checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6" 502 | dependencies = [ 503 | "dtoa", 504 | ] 505 | 506 | [[package]] 507 | name = "dunce" 508 | version = "1.0.3" 509 | source = "registry+https://github.com/rust-lang/crates.io-index" 510 | checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" 511 | 512 | [[package]] 513 | name = "field-offset" 514 | version = "0.3.4" 515 | source = "registry+https://github.com/rust-lang/crates.io-index" 516 | checksum = "1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92" 517 | dependencies = [ 518 | "memoffset 0.6.5", 519 | "rustc_version 0.3.3", 520 | ] 521 | 522 | [[package]] 523 | name = "flate2" 524 | version = "1.0.25" 525 | source = "registry+https://github.com/rust-lang/crates.io-index" 526 | checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" 527 | dependencies = [ 528 | "crc32fast", 529 | "miniz_oxide", 530 | ] 531 | 532 | [[package]] 533 | name = "fnv" 534 | version = "1.0.7" 535 | source = "registry+https://github.com/rust-lang/crates.io-index" 536 | checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 537 | 538 | [[package]] 539 | name = "foreign-types" 540 | version = "0.3.2" 541 | source = "registry+https://github.com/rust-lang/crates.io-index" 542 | checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" 543 | dependencies = [ 544 | "foreign-types-shared", 545 | ] 546 | 547 | [[package]] 548 | name = "foreign-types-shared" 549 | version = "0.1.1" 550 | source = "registry+https://github.com/rust-lang/crates.io-index" 551 | checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" 552 | 553 | [[package]] 554 | name = "form_urlencoded" 555 | version = "1.1.0" 556 | source = "registry+https://github.com/rust-lang/crates.io-index" 557 | checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" 558 | dependencies = [ 559 | "percent-encoding", 560 | ] 561 | 562 | [[package]] 563 | name = "futf" 564 | version = "0.1.5" 565 | source = "registry+https://github.com/rust-lang/crates.io-index" 566 | checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" 567 | dependencies = [ 568 | "mac", 569 | "new_debug_unreachable", 570 | ] 571 | 572 | [[package]] 573 | name = "futures-channel" 574 | version = "0.3.25" 575 | source = "registry+https://github.com/rust-lang/crates.io-index" 576 | checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed" 577 | dependencies = [ 578 | "futures-core", 579 | ] 580 | 581 | [[package]] 582 | name = "futures-core" 583 | version = "0.3.25" 584 | source = "registry+https://github.com/rust-lang/crates.io-index" 585 | checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac" 586 | 587 | [[package]] 588 | name = "futures-executor" 589 | version = "0.3.25" 590 | source = "registry+https://github.com/rust-lang/crates.io-index" 591 | checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2" 592 | dependencies = [ 593 | "futures-core", 594 | "futures-task", 595 | "futures-util", 596 | ] 597 | 598 | [[package]] 599 | name = "futures-io" 600 | version = "0.3.25" 601 | source = "registry+https://github.com/rust-lang/crates.io-index" 602 | checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb" 603 | 604 | [[package]] 605 | name = "futures-task" 606 | version = "0.3.25" 607 | source = "registry+https://github.com/rust-lang/crates.io-index" 608 | checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea" 609 | 610 | [[package]] 611 | name = "futures-util" 612 | version = "0.3.25" 613 | source = "registry+https://github.com/rust-lang/crates.io-index" 614 | checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6" 615 | dependencies = [ 616 | "futures-core", 617 | "futures-task", 618 | "pin-project-lite", 619 | "pin-utils", 620 | "slab", 621 | ] 622 | 623 | [[package]] 624 | name = "fxhash" 625 | version = "0.2.1" 626 | source = "registry+https://github.com/rust-lang/crates.io-index" 627 | checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" 628 | dependencies = [ 629 | "byteorder", 630 | ] 631 | 632 | [[package]] 633 | name = "gain" 634 | version = "0.1.0" 635 | dependencies = [ 636 | "nih_plug", 637 | "nih_plug_webview", 638 | "serde_json", 639 | ] 640 | 641 | [[package]] 642 | name = "gdk" 643 | version = "0.15.4" 644 | source = "registry+https://github.com/rust-lang/crates.io-index" 645 | checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" 646 | dependencies = [ 647 | "bitflags", 648 | "cairo-rs", 649 | "gdk-pixbuf", 650 | "gdk-sys", 651 | "gio", 652 | "glib", 653 | "libc", 654 | "pango", 655 | ] 656 | 657 | [[package]] 658 | name = "gdk-pixbuf" 659 | version = "0.15.11" 660 | source = "registry+https://github.com/rust-lang/crates.io-index" 661 | checksum = "ad38dd9cc8b099cceecdf41375bb6d481b1b5a7cd5cd603e10a69a9383f8619a" 662 | dependencies = [ 663 | "bitflags", 664 | "gdk-pixbuf-sys", 665 | "gio", 666 | "glib", 667 | "libc", 668 | ] 669 | 670 | [[package]] 671 | name = "gdk-pixbuf-sys" 672 | version = "0.15.10" 673 | source = "registry+https://github.com/rust-lang/crates.io-index" 674 | checksum = "140b2f5378256527150350a8346dbdb08fadc13453a7a2d73aecd5fab3c402a7" 675 | dependencies = [ 676 | "gio-sys", 677 | "glib-sys", 678 | "gobject-sys", 679 | "libc", 680 | "system-deps 6.0.3", 681 | ] 682 | 683 | [[package]] 684 | name = "gdk-sys" 685 | version = "0.15.1" 686 | source = "registry+https://github.com/rust-lang/crates.io-index" 687 | checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" 688 | dependencies = [ 689 | "cairo-sys-rs", 690 | "gdk-pixbuf-sys", 691 | "gio-sys", 692 | "glib-sys", 693 | "gobject-sys", 694 | "libc", 695 | "pango-sys", 696 | "pkg-config", 697 | "system-deps 6.0.3", 698 | ] 699 | 700 | [[package]] 701 | name = "gdkx11-sys" 702 | version = "0.15.1" 703 | source = "registry+https://github.com/rust-lang/crates.io-index" 704 | checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" 705 | dependencies = [ 706 | "gdk-sys", 707 | "glib-sys", 708 | "libc", 709 | "system-deps 6.0.3", 710 | "x11", 711 | ] 712 | 713 | [[package]] 714 | name = "generic-array" 715 | version = "0.14.6" 716 | source = "registry+https://github.com/rust-lang/crates.io-index" 717 | checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" 718 | dependencies = [ 719 | "typenum", 720 | "version_check", 721 | ] 722 | 723 | [[package]] 724 | name = "getrandom" 725 | version = "0.1.16" 726 | source = "registry+https://github.com/rust-lang/crates.io-index" 727 | checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" 728 | dependencies = [ 729 | "cfg-if", 730 | "libc", 731 | "wasi 0.9.0+wasi-snapshot-preview1", 732 | ] 733 | 734 | [[package]] 735 | name = "getrandom" 736 | version = "0.2.8" 737 | source = "registry+https://github.com/rust-lang/crates.io-index" 738 | checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" 739 | dependencies = [ 740 | "cfg-if", 741 | "libc", 742 | "wasi 0.11.0+wasi-snapshot-preview1", 743 | ] 744 | 745 | [[package]] 746 | name = "gimli" 747 | version = "0.27.0" 748 | source = "registry+https://github.com/rust-lang/crates.io-index" 749 | checksum = "dec7af912d60cdbd3677c1af9352ebae6fb8394d165568a2234df0fa00f87793" 750 | 751 | [[package]] 752 | name = "gio" 753 | version = "0.15.12" 754 | source = "registry+https://github.com/rust-lang/crates.io-index" 755 | checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" 756 | dependencies = [ 757 | "bitflags", 758 | "futures-channel", 759 | "futures-core", 760 | "futures-io", 761 | "gio-sys", 762 | "glib", 763 | "libc", 764 | "once_cell", 765 | "thiserror", 766 | ] 767 | 768 | [[package]] 769 | name = "gio-sys" 770 | version = "0.15.10" 771 | source = "registry+https://github.com/rust-lang/crates.io-index" 772 | checksum = "32157a475271e2c4a023382e9cab31c4584ee30a97da41d3c4e9fdd605abcf8d" 773 | dependencies = [ 774 | "glib-sys", 775 | "gobject-sys", 776 | "libc", 777 | "system-deps 6.0.3", 778 | "winapi", 779 | ] 780 | 781 | [[package]] 782 | name = "glib" 783 | version = "0.15.12" 784 | source = "registry+https://github.com/rust-lang/crates.io-index" 785 | checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" 786 | dependencies = [ 787 | "bitflags", 788 | "futures-channel", 789 | "futures-core", 790 | "futures-executor", 791 | "futures-task", 792 | "glib-macros", 793 | "glib-sys", 794 | "gobject-sys", 795 | "libc", 796 | "once_cell", 797 | "smallvec", 798 | "thiserror", 799 | ] 800 | 801 | [[package]] 802 | name = "glib-macros" 803 | version = "0.15.11" 804 | source = "registry+https://github.com/rust-lang/crates.io-index" 805 | checksum = "25a68131a662b04931e71891fb14aaf65ee4b44d08e8abc10f49e77418c86c64" 806 | dependencies = [ 807 | "anyhow", 808 | "heck 0.4.0", 809 | "proc-macro-crate", 810 | "proc-macro-error", 811 | "proc-macro2", 812 | "quote", 813 | "syn", 814 | ] 815 | 816 | [[package]] 817 | name = "glib-sys" 818 | version = "0.15.10" 819 | source = "registry+https://github.com/rust-lang/crates.io-index" 820 | checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" 821 | dependencies = [ 822 | "libc", 823 | "system-deps 6.0.3", 824 | ] 825 | 826 | [[package]] 827 | name = "gobject-sys" 828 | version = "0.15.10" 829 | source = "registry+https://github.com/rust-lang/crates.io-index" 830 | checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" 831 | dependencies = [ 832 | "glib-sys", 833 | "libc", 834 | "system-deps 6.0.3", 835 | ] 836 | 837 | [[package]] 838 | name = "goblin" 839 | version = "0.5.4" 840 | source = "registry+https://github.com/rust-lang/crates.io-index" 841 | checksum = "a7666983ed0dd8d21a6f6576ee00053ca0926fb281a5522577a4dbd0f1b54143" 842 | dependencies = [ 843 | "log", 844 | "plain", 845 | "scroll", 846 | ] 847 | 848 | [[package]] 849 | name = "gtk" 850 | version = "0.15.5" 851 | source = "registry+https://github.com/rust-lang/crates.io-index" 852 | checksum = "92e3004a2d5d6d8b5057d2b57b3712c9529b62e82c77f25c1fecde1fd5c23bd0" 853 | dependencies = [ 854 | "atk", 855 | "bitflags", 856 | "cairo-rs", 857 | "field-offset", 858 | "futures-channel", 859 | "gdk", 860 | "gdk-pixbuf", 861 | "gio", 862 | "glib", 863 | "gtk-sys", 864 | "gtk3-macros", 865 | "libc", 866 | "once_cell", 867 | "pango", 868 | "pkg-config", 869 | ] 870 | 871 | [[package]] 872 | name = "gtk-sys" 873 | version = "0.15.3" 874 | source = "registry+https://github.com/rust-lang/crates.io-index" 875 | checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" 876 | dependencies = [ 877 | "atk-sys", 878 | "cairo-sys-rs", 879 | "gdk-pixbuf-sys", 880 | "gdk-sys", 881 | "gio-sys", 882 | "glib-sys", 883 | "gobject-sys", 884 | "libc", 885 | "pango-sys", 886 | "system-deps 6.0.3", 887 | ] 888 | 889 | [[package]] 890 | name = "gtk3-macros" 891 | version = "0.15.4" 892 | source = "registry+https://github.com/rust-lang/crates.io-index" 893 | checksum = "24f518afe90c23fba585b2d7697856f9e6a7bbc62f65588035e66f6afb01a2e9" 894 | dependencies = [ 895 | "anyhow", 896 | "proc-macro-crate", 897 | "proc-macro-error", 898 | "proc-macro2", 899 | "quote", 900 | "syn", 901 | ] 902 | 903 | [[package]] 904 | name = "heck" 905 | version = "0.3.3" 906 | source = "registry+https://github.com/rust-lang/crates.io-index" 907 | checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" 908 | dependencies = [ 909 | "unicode-segmentation", 910 | ] 911 | 912 | [[package]] 913 | name = "heck" 914 | version = "0.4.0" 915 | source = "registry+https://github.com/rust-lang/crates.io-index" 916 | checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" 917 | 918 | [[package]] 919 | name = "html5ever" 920 | version = "0.25.2" 921 | source = "registry+https://github.com/rust-lang/crates.io-index" 922 | checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" 923 | dependencies = [ 924 | "log", 925 | "mac", 926 | "markup5ever", 927 | "proc-macro2", 928 | "quote", 929 | "syn", 930 | ] 931 | 932 | [[package]] 933 | name = "http" 934 | version = "0.2.8" 935 | source = "registry+https://github.com/rust-lang/crates.io-index" 936 | checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" 937 | dependencies = [ 938 | "bytes", 939 | "fnv", 940 | "itoa 1.0.5", 941 | ] 942 | 943 | [[package]] 944 | name = "idna" 945 | version = "0.3.0" 946 | source = "registry+https://github.com/rust-lang/crates.io-index" 947 | checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" 948 | dependencies = [ 949 | "unicode-bidi", 950 | "unicode-normalization", 951 | ] 952 | 953 | [[package]] 954 | name = "image" 955 | version = "0.24.5" 956 | source = "registry+https://github.com/rust-lang/crates.io-index" 957 | checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945" 958 | dependencies = [ 959 | "bytemuck", 960 | "byteorder", 961 | "color_quant", 962 | "num-rational", 963 | "num-traits", 964 | ] 965 | 966 | [[package]] 967 | name = "infer" 968 | version = "0.9.0" 969 | source = "registry+https://github.com/rust-lang/crates.io-index" 970 | checksum = "f178e61cdbfe084aa75a2f4f7a25a5bb09701a47ae1753608f194b15783c937a" 971 | dependencies = [ 972 | "cfb", 973 | ] 974 | 975 | [[package]] 976 | name = "instant" 977 | version = "0.1.12" 978 | source = "registry+https://github.com/rust-lang/crates.io-index" 979 | checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" 980 | dependencies = [ 981 | "cfg-if", 982 | ] 983 | 984 | [[package]] 985 | name = "itoa" 986 | version = "0.4.8" 987 | source = "registry+https://github.com/rust-lang/crates.io-index" 988 | checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" 989 | 990 | [[package]] 991 | name = "itoa" 992 | version = "1.0.5" 993 | source = "registry+https://github.com/rust-lang/crates.io-index" 994 | checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" 995 | 996 | [[package]] 997 | name = "javascriptcore-rs" 998 | version = "0.16.0" 999 | source = "registry+https://github.com/rust-lang/crates.io-index" 1000 | checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" 1001 | dependencies = [ 1002 | "bitflags", 1003 | "glib", 1004 | "javascriptcore-rs-sys", 1005 | ] 1006 | 1007 | [[package]] 1008 | name = "javascriptcore-rs-sys" 1009 | version = "0.4.0" 1010 | source = "registry+https://github.com/rust-lang/crates.io-index" 1011 | checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" 1012 | dependencies = [ 1013 | "glib-sys", 1014 | "gobject-sys", 1015 | "libc", 1016 | "system-deps 5.0.0", 1017 | ] 1018 | 1019 | [[package]] 1020 | name = "jni" 1021 | version = "0.20.0" 1022 | source = "registry+https://github.com/rust-lang/crates.io-index" 1023 | checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" 1024 | dependencies = [ 1025 | "cesu8", 1026 | "combine", 1027 | "jni-sys", 1028 | "log", 1029 | "thiserror", 1030 | "walkdir", 1031 | ] 1032 | 1033 | [[package]] 1034 | name = "jni-sys" 1035 | version = "0.3.0" 1036 | source = "registry+https://github.com/rust-lang/crates.io-index" 1037 | checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" 1038 | 1039 | [[package]] 1040 | name = "kuchiki" 1041 | version = "0.8.1" 1042 | source = "registry+https://github.com/rust-lang/crates.io-index" 1043 | checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" 1044 | dependencies = [ 1045 | "cssparser", 1046 | "html5ever", 1047 | "matches", 1048 | "selectors", 1049 | ] 1050 | 1051 | [[package]] 1052 | name = "lazy_static" 1053 | version = "1.4.0" 1054 | source = "registry+https://github.com/rust-lang/crates.io-index" 1055 | checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 1056 | 1057 | [[package]] 1058 | name = "libc" 1059 | version = "0.2.139" 1060 | source = "registry+https://github.com/rust-lang/crates.io-index" 1061 | checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" 1062 | 1063 | [[package]] 1064 | name = "lock_api" 1065 | version = "0.4.9" 1066 | source = "registry+https://github.com/rust-lang/crates.io-index" 1067 | checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" 1068 | dependencies = [ 1069 | "autocfg", 1070 | "scopeguard", 1071 | ] 1072 | 1073 | [[package]] 1074 | name = "log" 1075 | version = "0.4.17" 1076 | source = "registry+https://github.com/rust-lang/crates.io-index" 1077 | checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" 1078 | dependencies = [ 1079 | "cfg-if", 1080 | ] 1081 | 1082 | [[package]] 1083 | name = "mac" 1084 | version = "0.1.1" 1085 | source = "registry+https://github.com/rust-lang/crates.io-index" 1086 | checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" 1087 | 1088 | [[package]] 1089 | name = "malloc_buf" 1090 | version = "0.0.6" 1091 | source = "registry+https://github.com/rust-lang/crates.io-index" 1092 | checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 1093 | dependencies = [ 1094 | "libc", 1095 | ] 1096 | 1097 | [[package]] 1098 | name = "markup5ever" 1099 | version = "0.10.1" 1100 | source = "registry+https://github.com/rust-lang/crates.io-index" 1101 | checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" 1102 | dependencies = [ 1103 | "log", 1104 | "phf", 1105 | "phf_codegen", 1106 | "string_cache", 1107 | "string_cache_codegen", 1108 | "tendril", 1109 | ] 1110 | 1111 | [[package]] 1112 | name = "matches" 1113 | version = "0.1.9" 1114 | source = "registry+https://github.com/rust-lang/crates.io-index" 1115 | checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" 1116 | 1117 | [[package]] 1118 | name = "memchr" 1119 | version = "2.5.0" 1120 | source = "registry+https://github.com/rust-lang/crates.io-index" 1121 | checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 1122 | 1123 | [[package]] 1124 | name = "memoffset" 1125 | version = "0.6.5" 1126 | source = "registry+https://github.com/rust-lang/crates.io-index" 1127 | checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" 1128 | dependencies = [ 1129 | "autocfg", 1130 | ] 1131 | 1132 | [[package]] 1133 | name = "memoffset" 1134 | version = "0.7.1" 1135 | source = "registry+https://github.com/rust-lang/crates.io-index" 1136 | checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" 1137 | dependencies = [ 1138 | "autocfg", 1139 | ] 1140 | 1141 | [[package]] 1142 | name = "midi-consts" 1143 | version = "0.1.0" 1144 | source = "registry+https://github.com/rust-lang/crates.io-index" 1145 | checksum = "6f2dd5c7f8aaf48a76e389068ab25ed80bdbc226b887f9013844c415698c9952" 1146 | 1147 | [[package]] 1148 | name = "miniz_oxide" 1149 | version = "0.6.2" 1150 | source = "registry+https://github.com/rust-lang/crates.io-index" 1151 | checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" 1152 | dependencies = [ 1153 | "adler", 1154 | ] 1155 | 1156 | [[package]] 1157 | name = "ndk" 1158 | version = "0.6.0" 1159 | source = "registry+https://github.com/rust-lang/crates.io-index" 1160 | checksum = "2032c77e030ddee34a6787a64166008da93f6a352b629261d0fee232b8742dd4" 1161 | dependencies = [ 1162 | "bitflags", 1163 | "jni-sys", 1164 | "ndk-sys", 1165 | "num_enum", 1166 | "thiserror", 1167 | ] 1168 | 1169 | [[package]] 1170 | name = "ndk-context" 1171 | version = "0.1.1" 1172 | source = "registry+https://github.com/rust-lang/crates.io-index" 1173 | checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" 1174 | 1175 | [[package]] 1176 | name = "ndk-sys" 1177 | version = "0.3.0" 1178 | source = "registry+https://github.com/rust-lang/crates.io-index" 1179 | checksum = "6e5a6ae77c8ee183dcbbba6150e2e6b9f3f4196a7666c02a715a95692ec1fa97" 1180 | dependencies = [ 1181 | "jni-sys", 1182 | ] 1183 | 1184 | [[package]] 1185 | name = "new_debug_unreachable" 1186 | version = "1.0.4" 1187 | source = "registry+https://github.com/rust-lang/crates.io-index" 1188 | checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" 1189 | 1190 | [[package]] 1191 | name = "nih_plug" 1192 | version = "0.0.0" 1193 | source = "git+https://github.com/robbert-vdh/nih-plug.git#ab9adaf13e3d6be00b8f4a0f7bf32cf2329779a9" 1194 | dependencies = [ 1195 | "anyhow", 1196 | "assert_no_alloc", 1197 | "atomic_float", 1198 | "atomic_refcell", 1199 | "backtrace", 1200 | "bitflags", 1201 | "cfg-if", 1202 | "clap-sys", 1203 | "crossbeam", 1204 | "lazy_static", 1205 | "libc", 1206 | "log", 1207 | "midi-consts", 1208 | "nih_plug_derive", 1209 | "parking_lot", 1210 | "raw-window-handle 0.4.3", 1211 | "serde", 1212 | "serde_json", 1213 | "simplelog", 1214 | "vst3-sys", 1215 | "widestring", 1216 | "win_dbg_logger", 1217 | "windows 0.32.0", 1218 | ] 1219 | 1220 | [[package]] 1221 | name = "nih_plug_derive" 1222 | version = "0.1.0" 1223 | source = "git+https://github.com/robbert-vdh/nih-plug.git#ab9adaf13e3d6be00b8f4a0f7bf32cf2329779a9" 1224 | dependencies = [ 1225 | "proc-macro2", 1226 | "quote", 1227 | "syn", 1228 | ] 1229 | 1230 | [[package]] 1231 | name = "nih_plug_webview" 1232 | version = "0.0.0" 1233 | dependencies = [ 1234 | "cacao", 1235 | "nih_plug", 1236 | "raw-window-handle 0.4.3", 1237 | "serde_json", 1238 | "winapi", 1239 | "wry", 1240 | ] 1241 | 1242 | [[package]] 1243 | name = "nih_plug_xtask" 1244 | version = "0.1.0" 1245 | source = "git+https://github.com/robbert-vdh/nih-plug.git#ab9adaf13e3d6be00b8f4a0f7bf32cf2329779a9" 1246 | dependencies = [ 1247 | "anyhow", 1248 | "goblin", 1249 | "reflink", 1250 | "serde", 1251 | "toml", 1252 | ] 1253 | 1254 | [[package]] 1255 | name = "nodrop" 1256 | version = "0.1.14" 1257 | source = "registry+https://github.com/rust-lang/crates.io-index" 1258 | checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" 1259 | 1260 | [[package]] 1261 | name = "num-integer" 1262 | version = "0.1.45" 1263 | source = "registry+https://github.com/rust-lang/crates.io-index" 1264 | checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 1265 | dependencies = [ 1266 | "autocfg", 1267 | "num-traits", 1268 | ] 1269 | 1270 | [[package]] 1271 | name = "num-rational" 1272 | version = "0.4.1" 1273 | source = "registry+https://github.com/rust-lang/crates.io-index" 1274 | checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" 1275 | dependencies = [ 1276 | "autocfg", 1277 | "num-integer", 1278 | "num-traits", 1279 | ] 1280 | 1281 | [[package]] 1282 | name = "num-traits" 1283 | version = "0.2.15" 1284 | source = "registry+https://github.com/rust-lang/crates.io-index" 1285 | checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" 1286 | dependencies = [ 1287 | "autocfg", 1288 | ] 1289 | 1290 | [[package]] 1291 | name = "num_enum" 1292 | version = "0.5.7" 1293 | source = "registry+https://github.com/rust-lang/crates.io-index" 1294 | checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" 1295 | dependencies = [ 1296 | "num_enum_derive", 1297 | ] 1298 | 1299 | [[package]] 1300 | name = "num_enum_derive" 1301 | version = "0.5.7" 1302 | source = "registry+https://github.com/rust-lang/crates.io-index" 1303 | checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" 1304 | dependencies = [ 1305 | "proc-macro-crate", 1306 | "proc-macro2", 1307 | "quote", 1308 | "syn", 1309 | ] 1310 | 1311 | [[package]] 1312 | name = "num_threads" 1313 | version = "0.1.6" 1314 | source = "registry+https://github.com/rust-lang/crates.io-index" 1315 | checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" 1316 | dependencies = [ 1317 | "libc", 1318 | ] 1319 | 1320 | [[package]] 1321 | name = "objc" 1322 | version = "0.2.7" 1323 | source = "registry+https://github.com/rust-lang/crates.io-index" 1324 | checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 1325 | dependencies = [ 1326 | "malloc_buf", 1327 | "objc_exception", 1328 | ] 1329 | 1330 | [[package]] 1331 | name = "objc_exception" 1332 | version = "0.1.2" 1333 | source = "registry+https://github.com/rust-lang/crates.io-index" 1334 | checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" 1335 | dependencies = [ 1336 | "cc", 1337 | ] 1338 | 1339 | [[package]] 1340 | name = "objc_id" 1341 | version = "0.1.1" 1342 | source = "registry+https://github.com/rust-lang/crates.io-index" 1343 | checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" 1344 | dependencies = [ 1345 | "objc", 1346 | ] 1347 | 1348 | [[package]] 1349 | name = "object" 1350 | version = "0.30.0" 1351 | source = "registry+https://github.com/rust-lang/crates.io-index" 1352 | checksum = "239da7f290cfa979f43f85a8efeee9a8a76d0827c356d37f9d3d7254d6b537fb" 1353 | dependencies = [ 1354 | "memchr", 1355 | ] 1356 | 1357 | [[package]] 1358 | name = "once_cell" 1359 | version = "1.17.0" 1360 | source = "registry+https://github.com/rust-lang/crates.io-index" 1361 | checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" 1362 | 1363 | [[package]] 1364 | name = "os_info" 1365 | version = "3.5.1" 1366 | source = "registry+https://github.com/rust-lang/crates.io-index" 1367 | checksum = "c4750134fb6a5d49afc80777394ad5d95b04bc12068c6abb92fae8f43817270f" 1368 | dependencies = [ 1369 | "log", 1370 | "serde", 1371 | "winapi", 1372 | ] 1373 | 1374 | [[package]] 1375 | name = "pango" 1376 | version = "0.15.10" 1377 | source = "registry+https://github.com/rust-lang/crates.io-index" 1378 | checksum = "22e4045548659aee5313bde6c582b0d83a627b7904dd20dc2d9ef0895d414e4f" 1379 | dependencies = [ 1380 | "bitflags", 1381 | "glib", 1382 | "libc", 1383 | "once_cell", 1384 | "pango-sys", 1385 | ] 1386 | 1387 | [[package]] 1388 | name = "pango-sys" 1389 | version = "0.15.10" 1390 | source = "registry+https://github.com/rust-lang/crates.io-index" 1391 | checksum = "d2a00081cde4661982ed91d80ef437c20eacaf6aa1a5962c0279ae194662c3aa" 1392 | dependencies = [ 1393 | "glib-sys", 1394 | "gobject-sys", 1395 | "libc", 1396 | "system-deps 6.0.3", 1397 | ] 1398 | 1399 | [[package]] 1400 | name = "parking_lot" 1401 | version = "0.12.1" 1402 | source = "registry+https://github.com/rust-lang/crates.io-index" 1403 | checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 1404 | dependencies = [ 1405 | "lock_api", 1406 | "parking_lot_core", 1407 | ] 1408 | 1409 | [[package]] 1410 | name = "parking_lot_core" 1411 | version = "0.9.5" 1412 | source = "registry+https://github.com/rust-lang/crates.io-index" 1413 | checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba" 1414 | dependencies = [ 1415 | "cfg-if", 1416 | "libc", 1417 | "redox_syscall", 1418 | "smallvec", 1419 | "windows-sys", 1420 | ] 1421 | 1422 | [[package]] 1423 | name = "percent-encoding" 1424 | version = "2.2.0" 1425 | source = "registry+https://github.com/rust-lang/crates.io-index" 1426 | checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" 1427 | 1428 | [[package]] 1429 | name = "pest" 1430 | version = "2.5.2" 1431 | source = "registry+https://github.com/rust-lang/crates.io-index" 1432 | checksum = "0f6e86fb9e7026527a0d46bc308b841d73170ef8f443e1807f6ef88526a816d4" 1433 | dependencies = [ 1434 | "thiserror", 1435 | "ucd-trie", 1436 | ] 1437 | 1438 | [[package]] 1439 | name = "phf" 1440 | version = "0.8.0" 1441 | source = "registry+https://github.com/rust-lang/crates.io-index" 1442 | checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" 1443 | dependencies = [ 1444 | "phf_macros", 1445 | "phf_shared 0.8.0", 1446 | "proc-macro-hack", 1447 | ] 1448 | 1449 | [[package]] 1450 | name = "phf_codegen" 1451 | version = "0.8.0" 1452 | source = "registry+https://github.com/rust-lang/crates.io-index" 1453 | checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" 1454 | dependencies = [ 1455 | "phf_generator 0.8.0", 1456 | "phf_shared 0.8.0", 1457 | ] 1458 | 1459 | [[package]] 1460 | name = "phf_generator" 1461 | version = "0.8.0" 1462 | source = "registry+https://github.com/rust-lang/crates.io-index" 1463 | checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" 1464 | dependencies = [ 1465 | "phf_shared 0.8.0", 1466 | "rand 0.7.3", 1467 | ] 1468 | 1469 | [[package]] 1470 | name = "phf_generator" 1471 | version = "0.10.0" 1472 | source = "registry+https://github.com/rust-lang/crates.io-index" 1473 | checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" 1474 | dependencies = [ 1475 | "phf_shared 0.10.0", 1476 | "rand 0.8.5", 1477 | ] 1478 | 1479 | [[package]] 1480 | name = "phf_macros" 1481 | version = "0.8.0" 1482 | source = "registry+https://github.com/rust-lang/crates.io-index" 1483 | checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" 1484 | dependencies = [ 1485 | "phf_generator 0.8.0", 1486 | "phf_shared 0.8.0", 1487 | "proc-macro-hack", 1488 | "proc-macro2", 1489 | "quote", 1490 | "syn", 1491 | ] 1492 | 1493 | [[package]] 1494 | name = "phf_shared" 1495 | version = "0.8.0" 1496 | source = "registry+https://github.com/rust-lang/crates.io-index" 1497 | checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" 1498 | dependencies = [ 1499 | "siphasher", 1500 | ] 1501 | 1502 | [[package]] 1503 | name = "phf_shared" 1504 | version = "0.10.0" 1505 | source = "registry+https://github.com/rust-lang/crates.io-index" 1506 | checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" 1507 | dependencies = [ 1508 | "siphasher", 1509 | ] 1510 | 1511 | [[package]] 1512 | name = "pin-project-lite" 1513 | version = "0.2.9" 1514 | source = "registry+https://github.com/rust-lang/crates.io-index" 1515 | checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" 1516 | 1517 | [[package]] 1518 | name = "pin-utils" 1519 | version = "0.1.0" 1520 | source = "registry+https://github.com/rust-lang/crates.io-index" 1521 | checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1522 | 1523 | [[package]] 1524 | name = "pkg-config" 1525 | version = "0.3.26" 1526 | source = "registry+https://github.com/rust-lang/crates.io-index" 1527 | checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" 1528 | 1529 | [[package]] 1530 | name = "plain" 1531 | version = "0.2.3" 1532 | source = "registry+https://github.com/rust-lang/crates.io-index" 1533 | checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" 1534 | 1535 | [[package]] 1536 | name = "png" 1537 | version = "0.17.7" 1538 | source = "registry+https://github.com/rust-lang/crates.io-index" 1539 | checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638" 1540 | dependencies = [ 1541 | "bitflags", 1542 | "crc32fast", 1543 | "flate2", 1544 | "miniz_oxide", 1545 | ] 1546 | 1547 | [[package]] 1548 | name = "ppv-lite86" 1549 | version = "0.2.17" 1550 | source = "registry+https://github.com/rust-lang/crates.io-index" 1551 | checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1552 | 1553 | [[package]] 1554 | name = "precomputed-hash" 1555 | version = "0.1.1" 1556 | source = "registry+https://github.com/rust-lang/crates.io-index" 1557 | checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" 1558 | 1559 | [[package]] 1560 | name = "proc-macro-crate" 1561 | version = "1.2.1" 1562 | source = "registry+https://github.com/rust-lang/crates.io-index" 1563 | checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" 1564 | dependencies = [ 1565 | "once_cell", 1566 | "thiserror", 1567 | "toml", 1568 | ] 1569 | 1570 | [[package]] 1571 | name = "proc-macro-error" 1572 | version = "1.0.4" 1573 | source = "registry+https://github.com/rust-lang/crates.io-index" 1574 | checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" 1575 | dependencies = [ 1576 | "proc-macro-error-attr", 1577 | "proc-macro2", 1578 | "quote", 1579 | "syn", 1580 | "version_check", 1581 | ] 1582 | 1583 | [[package]] 1584 | name = "proc-macro-error-attr" 1585 | version = "1.0.4" 1586 | source = "registry+https://github.com/rust-lang/crates.io-index" 1587 | checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" 1588 | dependencies = [ 1589 | "proc-macro2", 1590 | "quote", 1591 | "version_check", 1592 | ] 1593 | 1594 | [[package]] 1595 | name = "proc-macro-hack" 1596 | version = "0.5.20+deprecated" 1597 | source = "registry+https://github.com/rust-lang/crates.io-index" 1598 | checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" 1599 | 1600 | [[package]] 1601 | name = "proc-macro2" 1602 | version = "1.0.49" 1603 | source = "registry+https://github.com/rust-lang/crates.io-index" 1604 | checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" 1605 | dependencies = [ 1606 | "unicode-ident", 1607 | ] 1608 | 1609 | [[package]] 1610 | name = "quote" 1611 | version = "1.0.23" 1612 | source = "registry+https://github.com/rust-lang/crates.io-index" 1613 | checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" 1614 | dependencies = [ 1615 | "proc-macro2", 1616 | ] 1617 | 1618 | [[package]] 1619 | name = "rand" 1620 | version = "0.7.3" 1621 | source = "registry+https://github.com/rust-lang/crates.io-index" 1622 | checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" 1623 | dependencies = [ 1624 | "getrandom 0.1.16", 1625 | "libc", 1626 | "rand_chacha 0.2.2", 1627 | "rand_core 0.5.1", 1628 | "rand_hc", 1629 | "rand_pcg", 1630 | ] 1631 | 1632 | [[package]] 1633 | name = "rand" 1634 | version = "0.8.5" 1635 | source = "registry+https://github.com/rust-lang/crates.io-index" 1636 | checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1637 | dependencies = [ 1638 | "libc", 1639 | "rand_chacha 0.3.1", 1640 | "rand_core 0.6.4", 1641 | ] 1642 | 1643 | [[package]] 1644 | name = "rand_chacha" 1645 | version = "0.2.2" 1646 | source = "registry+https://github.com/rust-lang/crates.io-index" 1647 | checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" 1648 | dependencies = [ 1649 | "ppv-lite86", 1650 | "rand_core 0.5.1", 1651 | ] 1652 | 1653 | [[package]] 1654 | name = "rand_chacha" 1655 | version = "0.3.1" 1656 | source = "registry+https://github.com/rust-lang/crates.io-index" 1657 | checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1658 | dependencies = [ 1659 | "ppv-lite86", 1660 | "rand_core 0.6.4", 1661 | ] 1662 | 1663 | [[package]] 1664 | name = "rand_core" 1665 | version = "0.5.1" 1666 | source = "registry+https://github.com/rust-lang/crates.io-index" 1667 | checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" 1668 | dependencies = [ 1669 | "getrandom 0.1.16", 1670 | ] 1671 | 1672 | [[package]] 1673 | name = "rand_core" 1674 | version = "0.6.4" 1675 | source = "registry+https://github.com/rust-lang/crates.io-index" 1676 | checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1677 | dependencies = [ 1678 | "getrandom 0.2.8", 1679 | ] 1680 | 1681 | [[package]] 1682 | name = "rand_hc" 1683 | version = "0.2.0" 1684 | source = "registry+https://github.com/rust-lang/crates.io-index" 1685 | checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" 1686 | dependencies = [ 1687 | "rand_core 0.5.1", 1688 | ] 1689 | 1690 | [[package]] 1691 | name = "rand_pcg" 1692 | version = "0.2.1" 1693 | source = "registry+https://github.com/rust-lang/crates.io-index" 1694 | checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" 1695 | dependencies = [ 1696 | "rand_core 0.5.1", 1697 | ] 1698 | 1699 | [[package]] 1700 | name = "raw-window-handle" 1701 | version = "0.4.3" 1702 | source = "registry+https://github.com/rust-lang/crates.io-index" 1703 | checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41" 1704 | dependencies = [ 1705 | "cty", 1706 | ] 1707 | 1708 | [[package]] 1709 | name = "raw-window-handle" 1710 | version = "0.5.0" 1711 | source = "registry+https://github.com/rust-lang/crates.io-index" 1712 | checksum = "ed7e3d950b66e19e0c372f3fa3fbbcf85b1746b571f74e0c2af6042a5c93420a" 1713 | dependencies = [ 1714 | "cty", 1715 | ] 1716 | 1717 | [[package]] 1718 | name = "redox_syscall" 1719 | version = "0.2.16" 1720 | source = "registry+https://github.com/rust-lang/crates.io-index" 1721 | checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 1722 | dependencies = [ 1723 | "bitflags", 1724 | ] 1725 | 1726 | [[package]] 1727 | name = "reflink" 1728 | version = "0.1.3" 1729 | source = "git+https://github.com/nicokoch/reflink.git?rev=e8d93b465f5d9ad340cd052b64bbc77b8ee107e2#e8d93b465f5d9ad340cd052b64bbc77b8ee107e2" 1730 | dependencies = [ 1731 | "libc", 1732 | "winapi", 1733 | ] 1734 | 1735 | [[package]] 1736 | name = "regex" 1737 | version = "1.7.0" 1738 | source = "registry+https://github.com/rust-lang/crates.io-index" 1739 | checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a" 1740 | dependencies = [ 1741 | "aho-corasick", 1742 | "memchr", 1743 | "regex-syntax", 1744 | ] 1745 | 1746 | [[package]] 1747 | name = "regex-syntax" 1748 | version = "0.6.28" 1749 | source = "registry+https://github.com/rust-lang/crates.io-index" 1750 | checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" 1751 | 1752 | [[package]] 1753 | name = "rustc-demangle" 1754 | version = "0.1.21" 1755 | source = "registry+https://github.com/rust-lang/crates.io-index" 1756 | checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" 1757 | 1758 | [[package]] 1759 | name = "rustc_version" 1760 | version = "0.3.3" 1761 | source = "registry+https://github.com/rust-lang/crates.io-index" 1762 | checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" 1763 | dependencies = [ 1764 | "semver 0.11.0", 1765 | ] 1766 | 1767 | [[package]] 1768 | name = "rustc_version" 1769 | version = "0.4.0" 1770 | source = "registry+https://github.com/rust-lang/crates.io-index" 1771 | checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 1772 | dependencies = [ 1773 | "semver 1.0.16", 1774 | ] 1775 | 1776 | [[package]] 1777 | name = "ryu" 1778 | version = "1.0.12" 1779 | source = "registry+https://github.com/rust-lang/crates.io-index" 1780 | checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" 1781 | 1782 | [[package]] 1783 | name = "same-file" 1784 | version = "1.0.6" 1785 | source = "registry+https://github.com/rust-lang/crates.io-index" 1786 | checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1787 | dependencies = [ 1788 | "winapi-util", 1789 | ] 1790 | 1791 | [[package]] 1792 | name = "scopeguard" 1793 | version = "1.1.0" 1794 | source = "registry+https://github.com/rust-lang/crates.io-index" 1795 | checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 1796 | 1797 | [[package]] 1798 | name = "scroll" 1799 | version = "0.11.0" 1800 | source = "registry+https://github.com/rust-lang/crates.io-index" 1801 | checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" 1802 | dependencies = [ 1803 | "scroll_derive", 1804 | ] 1805 | 1806 | [[package]] 1807 | name = "scroll_derive" 1808 | version = "0.11.0" 1809 | source = "registry+https://github.com/rust-lang/crates.io-index" 1810 | checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" 1811 | dependencies = [ 1812 | "proc-macro2", 1813 | "quote", 1814 | "syn", 1815 | ] 1816 | 1817 | [[package]] 1818 | name = "selectors" 1819 | version = "0.22.0" 1820 | source = "registry+https://github.com/rust-lang/crates.io-index" 1821 | checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" 1822 | dependencies = [ 1823 | "bitflags", 1824 | "cssparser", 1825 | "derive_more", 1826 | "fxhash", 1827 | "log", 1828 | "matches", 1829 | "phf", 1830 | "phf_codegen", 1831 | "precomputed-hash", 1832 | "servo_arc", 1833 | "smallvec", 1834 | "thin-slice", 1835 | ] 1836 | 1837 | [[package]] 1838 | name = "semver" 1839 | version = "0.11.0" 1840 | source = "registry+https://github.com/rust-lang/crates.io-index" 1841 | checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" 1842 | dependencies = [ 1843 | "semver-parser", 1844 | ] 1845 | 1846 | [[package]] 1847 | name = "semver" 1848 | version = "1.0.16" 1849 | source = "registry+https://github.com/rust-lang/crates.io-index" 1850 | checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" 1851 | 1852 | [[package]] 1853 | name = "semver-parser" 1854 | version = "0.10.2" 1855 | source = "registry+https://github.com/rust-lang/crates.io-index" 1856 | checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" 1857 | dependencies = [ 1858 | "pest", 1859 | ] 1860 | 1861 | [[package]] 1862 | name = "serde" 1863 | version = "1.0.152" 1864 | source = "registry+https://github.com/rust-lang/crates.io-index" 1865 | checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" 1866 | dependencies = [ 1867 | "serde_derive", 1868 | ] 1869 | 1870 | [[package]] 1871 | name = "serde_derive" 1872 | version = "1.0.152" 1873 | source = "registry+https://github.com/rust-lang/crates.io-index" 1874 | checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" 1875 | dependencies = [ 1876 | "proc-macro2", 1877 | "quote", 1878 | "syn", 1879 | ] 1880 | 1881 | [[package]] 1882 | name = "serde_json" 1883 | version = "1.0.91" 1884 | source = "registry+https://github.com/rust-lang/crates.io-index" 1885 | checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" 1886 | dependencies = [ 1887 | "itoa 1.0.5", 1888 | "ryu", 1889 | "serde", 1890 | ] 1891 | 1892 | [[package]] 1893 | name = "servo_arc" 1894 | version = "0.1.1" 1895 | source = "registry+https://github.com/rust-lang/crates.io-index" 1896 | checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" 1897 | dependencies = [ 1898 | "nodrop", 1899 | "stable_deref_trait", 1900 | ] 1901 | 1902 | [[package]] 1903 | name = "sha2" 1904 | version = "0.10.6" 1905 | source = "registry+https://github.com/rust-lang/crates.io-index" 1906 | checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" 1907 | dependencies = [ 1908 | "cfg-if", 1909 | "cpufeatures", 1910 | "digest", 1911 | ] 1912 | 1913 | [[package]] 1914 | name = "simplelog" 1915 | version = "0.12.0" 1916 | source = "registry+https://github.com/rust-lang/crates.io-index" 1917 | checksum = "48dfff04aade74dd495b007c831cd6f4e0cee19c344dd9dc0884c0289b70a786" 1918 | dependencies = [ 1919 | "log", 1920 | "termcolor", 1921 | "time", 1922 | ] 1923 | 1924 | [[package]] 1925 | name = "siphasher" 1926 | version = "0.3.10" 1927 | source = "registry+https://github.com/rust-lang/crates.io-index" 1928 | checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" 1929 | 1930 | [[package]] 1931 | name = "slab" 1932 | version = "0.4.7" 1933 | source = "registry+https://github.com/rust-lang/crates.io-index" 1934 | checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" 1935 | dependencies = [ 1936 | "autocfg", 1937 | ] 1938 | 1939 | [[package]] 1940 | name = "smallvec" 1941 | version = "1.10.0" 1942 | source = "registry+https://github.com/rust-lang/crates.io-index" 1943 | checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" 1944 | 1945 | [[package]] 1946 | name = "soup2" 1947 | version = "0.2.1" 1948 | source = "registry+https://github.com/rust-lang/crates.io-index" 1949 | checksum = "b2b4d76501d8ba387cf0fefbe055c3e0a59891d09f0f995ae4e4b16f6b60f3c0" 1950 | dependencies = [ 1951 | "bitflags", 1952 | "gio", 1953 | "glib", 1954 | "libc", 1955 | "once_cell", 1956 | "soup2-sys", 1957 | ] 1958 | 1959 | [[package]] 1960 | name = "soup2-sys" 1961 | version = "0.2.0" 1962 | source = "registry+https://github.com/rust-lang/crates.io-index" 1963 | checksum = "009ef427103fcb17f802871647a7fa6c60cbb654b4c4e4c0ac60a31c5f6dc9cf" 1964 | dependencies = [ 1965 | "bitflags", 1966 | "gio-sys", 1967 | "glib-sys", 1968 | "gobject-sys", 1969 | "libc", 1970 | "system-deps 5.0.0", 1971 | ] 1972 | 1973 | [[package]] 1974 | name = "stable_deref_trait" 1975 | version = "1.2.0" 1976 | source = "registry+https://github.com/rust-lang/crates.io-index" 1977 | checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1978 | 1979 | [[package]] 1980 | name = "string_cache" 1981 | version = "0.8.4" 1982 | source = "registry+https://github.com/rust-lang/crates.io-index" 1983 | checksum = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08" 1984 | dependencies = [ 1985 | "new_debug_unreachable", 1986 | "once_cell", 1987 | "parking_lot", 1988 | "phf_shared 0.10.0", 1989 | "precomputed-hash", 1990 | "serde", 1991 | ] 1992 | 1993 | [[package]] 1994 | name = "string_cache_codegen" 1995 | version = "0.5.2" 1996 | source = "registry+https://github.com/rust-lang/crates.io-index" 1997 | checksum = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988" 1998 | dependencies = [ 1999 | "phf_generator 0.10.0", 2000 | "phf_shared 0.10.0", 2001 | "proc-macro2", 2002 | "quote", 2003 | ] 2004 | 2005 | [[package]] 2006 | name = "syn" 2007 | version = "1.0.107" 2008 | source = "registry+https://github.com/rust-lang/crates.io-index" 2009 | checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" 2010 | dependencies = [ 2011 | "proc-macro2", 2012 | "quote", 2013 | "unicode-ident", 2014 | ] 2015 | 2016 | [[package]] 2017 | name = "system-deps" 2018 | version = "5.0.0" 2019 | source = "registry+https://github.com/rust-lang/crates.io-index" 2020 | checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" 2021 | dependencies = [ 2022 | "cfg-expr 0.9.1", 2023 | "heck 0.3.3", 2024 | "pkg-config", 2025 | "toml", 2026 | "version-compare 0.0.11", 2027 | ] 2028 | 2029 | [[package]] 2030 | name = "system-deps" 2031 | version = "6.0.3" 2032 | source = "registry+https://github.com/rust-lang/crates.io-index" 2033 | checksum = "2955b1fe31e1fa2fbd1976b71cc69a606d7d4da16f6de3333d0c92d51419aeff" 2034 | dependencies = [ 2035 | "cfg-expr 0.11.0", 2036 | "heck 0.4.0", 2037 | "pkg-config", 2038 | "toml", 2039 | "version-compare 0.1.1", 2040 | ] 2041 | 2042 | [[package]] 2043 | name = "tao" 2044 | version = "0.15.8" 2045 | source = "git+https://github.com/tauri-apps/tao?branch=dev#b3aa3982d18a1ca2c8f08a135d7256b1aca46369" 2046 | dependencies = [ 2047 | "bitflags", 2048 | "cairo-rs", 2049 | "cc", 2050 | "cocoa", 2051 | "core-foundation", 2052 | "core-graphics", 2053 | "crossbeam-channel", 2054 | "dispatch", 2055 | "gdk", 2056 | "gdk-pixbuf", 2057 | "gdk-sys", 2058 | "gdkx11-sys", 2059 | "gio", 2060 | "glib", 2061 | "glib-sys", 2062 | "gtk", 2063 | "image", 2064 | "instant", 2065 | "jni", 2066 | "lazy_static", 2067 | "libc", 2068 | "log", 2069 | "ndk", 2070 | "ndk-context", 2071 | "ndk-sys", 2072 | "objc", 2073 | "once_cell", 2074 | "parking_lot", 2075 | "png", 2076 | "raw-window-handle 0.5.0", 2077 | "scopeguard", 2078 | "serde", 2079 | "tao-macros", 2080 | "unicode-segmentation", 2081 | "uuid", 2082 | "windows 0.39.0", 2083 | "windows-implement", 2084 | "x11-dl", 2085 | ] 2086 | 2087 | [[package]] 2088 | name = "tao-macros" 2089 | version = "0.0.0" 2090 | source = "git+https://github.com/tauri-apps/tao?branch=dev#b3aa3982d18a1ca2c8f08a135d7256b1aca46369" 2091 | dependencies = [ 2092 | "proc-macro2", 2093 | "quote", 2094 | "syn", 2095 | ] 2096 | 2097 | [[package]] 2098 | name = "tendril" 2099 | version = "0.4.3" 2100 | source = "registry+https://github.com/rust-lang/crates.io-index" 2101 | checksum = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0" 2102 | dependencies = [ 2103 | "futf", 2104 | "mac", 2105 | "utf-8", 2106 | ] 2107 | 2108 | [[package]] 2109 | name = "termcolor" 2110 | version = "1.1.3" 2111 | source = "registry+https://github.com/rust-lang/crates.io-index" 2112 | checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" 2113 | dependencies = [ 2114 | "winapi-util", 2115 | ] 2116 | 2117 | [[package]] 2118 | name = "thin-slice" 2119 | version = "0.1.1" 2120 | source = "registry+https://github.com/rust-lang/crates.io-index" 2121 | checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" 2122 | 2123 | [[package]] 2124 | name = "thiserror" 2125 | version = "1.0.38" 2126 | source = "registry+https://github.com/rust-lang/crates.io-index" 2127 | checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" 2128 | dependencies = [ 2129 | "thiserror-impl", 2130 | ] 2131 | 2132 | [[package]] 2133 | name = "thiserror-impl" 2134 | version = "1.0.38" 2135 | source = "registry+https://github.com/rust-lang/crates.io-index" 2136 | checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" 2137 | dependencies = [ 2138 | "proc-macro2", 2139 | "quote", 2140 | "syn", 2141 | ] 2142 | 2143 | [[package]] 2144 | name = "time" 2145 | version = "0.3.17" 2146 | source = "registry+https://github.com/rust-lang/crates.io-index" 2147 | checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" 2148 | dependencies = [ 2149 | "itoa 1.0.5", 2150 | "libc", 2151 | "num_threads", 2152 | "serde", 2153 | "time-core", 2154 | "time-macros", 2155 | ] 2156 | 2157 | [[package]] 2158 | name = "time-core" 2159 | version = "0.1.0" 2160 | source = "registry+https://github.com/rust-lang/crates.io-index" 2161 | checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" 2162 | 2163 | [[package]] 2164 | name = "time-macros" 2165 | version = "0.2.6" 2166 | source = "registry+https://github.com/rust-lang/crates.io-index" 2167 | checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" 2168 | dependencies = [ 2169 | "time-core", 2170 | ] 2171 | 2172 | [[package]] 2173 | name = "tinyvec" 2174 | version = "1.6.0" 2175 | source = "registry+https://github.com/rust-lang/crates.io-index" 2176 | checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" 2177 | dependencies = [ 2178 | "tinyvec_macros", 2179 | ] 2180 | 2181 | [[package]] 2182 | name = "tinyvec_macros" 2183 | version = "0.1.0" 2184 | source = "registry+https://github.com/rust-lang/crates.io-index" 2185 | checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" 2186 | 2187 | [[package]] 2188 | name = "toml" 2189 | version = "0.5.10" 2190 | source = "registry+https://github.com/rust-lang/crates.io-index" 2191 | checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" 2192 | dependencies = [ 2193 | "serde", 2194 | ] 2195 | 2196 | [[package]] 2197 | name = "typenum" 2198 | version = "1.16.0" 2199 | source = "registry+https://github.com/rust-lang/crates.io-index" 2200 | checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" 2201 | 2202 | [[package]] 2203 | name = "ucd-trie" 2204 | version = "0.1.5" 2205 | source = "registry+https://github.com/rust-lang/crates.io-index" 2206 | checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" 2207 | 2208 | [[package]] 2209 | name = "unicode-bidi" 2210 | version = "0.3.8" 2211 | source = "registry+https://github.com/rust-lang/crates.io-index" 2212 | checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" 2213 | 2214 | [[package]] 2215 | name = "unicode-ident" 2216 | version = "1.0.6" 2217 | source = "registry+https://github.com/rust-lang/crates.io-index" 2218 | checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" 2219 | 2220 | [[package]] 2221 | name = "unicode-normalization" 2222 | version = "0.1.22" 2223 | source = "registry+https://github.com/rust-lang/crates.io-index" 2224 | checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 2225 | dependencies = [ 2226 | "tinyvec", 2227 | ] 2228 | 2229 | [[package]] 2230 | name = "unicode-segmentation" 2231 | version = "1.10.0" 2232 | source = "registry+https://github.com/rust-lang/crates.io-index" 2233 | checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a" 2234 | 2235 | [[package]] 2236 | name = "url" 2237 | version = "2.3.1" 2238 | source = "registry+https://github.com/rust-lang/crates.io-index" 2239 | checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" 2240 | dependencies = [ 2241 | "form_urlencoded", 2242 | "idna", 2243 | "percent-encoding", 2244 | ] 2245 | 2246 | [[package]] 2247 | name = "utf-8" 2248 | version = "0.7.6" 2249 | source = "registry+https://github.com/rust-lang/crates.io-index" 2250 | checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" 2251 | 2252 | [[package]] 2253 | name = "uuid" 2254 | version = "1.2.2" 2255 | source = "registry+https://github.com/rust-lang/crates.io-index" 2256 | checksum = "422ee0de9031b5b948b97a8fc04e3aa35230001a722ddd27943e0be31564ce4c" 2257 | dependencies = [ 2258 | "getrandom 0.2.8", 2259 | ] 2260 | 2261 | [[package]] 2262 | name = "version-compare" 2263 | version = "0.0.11" 2264 | source = "registry+https://github.com/rust-lang/crates.io-index" 2265 | checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" 2266 | 2267 | [[package]] 2268 | name = "version-compare" 2269 | version = "0.1.1" 2270 | source = "registry+https://github.com/rust-lang/crates.io-index" 2271 | checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" 2272 | 2273 | [[package]] 2274 | name = "version_check" 2275 | version = "0.9.4" 2276 | source = "registry+https://github.com/rust-lang/crates.io-index" 2277 | checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 2278 | 2279 | [[package]] 2280 | name = "vst3-com" 2281 | version = "0.1.0" 2282 | source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 2283 | dependencies = [ 2284 | "vst3-com-macros", 2285 | ] 2286 | 2287 | [[package]] 2288 | name = "vst3-com-macros" 2289 | version = "0.2.0" 2290 | source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 2291 | dependencies = [ 2292 | "proc-macro2", 2293 | "quote", 2294 | "syn", 2295 | "vst3-com-macros-support", 2296 | ] 2297 | 2298 | [[package]] 2299 | name = "vst3-com-macros-support" 2300 | version = "0.2.0" 2301 | source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 2302 | dependencies = [ 2303 | "proc-macro2", 2304 | "quote", 2305 | "syn", 2306 | ] 2307 | 2308 | [[package]] 2309 | name = "vst3-sys" 2310 | version = "0.1.0" 2311 | source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 2312 | dependencies = [ 2313 | "vst3-com", 2314 | ] 2315 | 2316 | [[package]] 2317 | name = "walkdir" 2318 | version = "2.3.2" 2319 | source = "registry+https://github.com/rust-lang/crates.io-index" 2320 | checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" 2321 | dependencies = [ 2322 | "same-file", 2323 | "winapi", 2324 | "winapi-util", 2325 | ] 2326 | 2327 | [[package]] 2328 | name = "wasi" 2329 | version = "0.9.0+wasi-snapshot-preview1" 2330 | source = "registry+https://github.com/rust-lang/crates.io-index" 2331 | checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" 2332 | 2333 | [[package]] 2334 | name = "wasi" 2335 | version = "0.11.0+wasi-snapshot-preview1" 2336 | source = "registry+https://github.com/rust-lang/crates.io-index" 2337 | checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2338 | 2339 | [[package]] 2340 | name = "webkit2gtk" 2341 | version = "0.18.2" 2342 | source = "registry+https://github.com/rust-lang/crates.io-index" 2343 | checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" 2344 | dependencies = [ 2345 | "bitflags", 2346 | "cairo-rs", 2347 | "gdk", 2348 | "gdk-sys", 2349 | "gio", 2350 | "gio-sys", 2351 | "glib", 2352 | "glib-sys", 2353 | "gobject-sys", 2354 | "gtk", 2355 | "gtk-sys", 2356 | "javascriptcore-rs", 2357 | "libc", 2358 | "once_cell", 2359 | "soup2", 2360 | "webkit2gtk-sys", 2361 | ] 2362 | 2363 | [[package]] 2364 | name = "webkit2gtk-sys" 2365 | version = "0.18.0" 2366 | source = "registry+https://github.com/rust-lang/crates.io-index" 2367 | checksum = "4d76ca6ecc47aeba01ec61e480139dda143796abcae6f83bcddf50d6b5b1dcf3" 2368 | dependencies = [ 2369 | "atk-sys", 2370 | "bitflags", 2371 | "cairo-sys-rs", 2372 | "gdk-pixbuf-sys", 2373 | "gdk-sys", 2374 | "gio-sys", 2375 | "glib-sys", 2376 | "gobject-sys", 2377 | "gtk-sys", 2378 | "javascriptcore-rs-sys", 2379 | "libc", 2380 | "pango-sys", 2381 | "pkg-config", 2382 | "soup2-sys", 2383 | "system-deps 6.0.3", 2384 | ] 2385 | 2386 | [[package]] 2387 | name = "webview2-com" 2388 | version = "0.19.1" 2389 | source = "registry+https://github.com/rust-lang/crates.io-index" 2390 | checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" 2391 | dependencies = [ 2392 | "webview2-com-macros", 2393 | "webview2-com-sys", 2394 | "windows 0.39.0", 2395 | "windows-implement", 2396 | ] 2397 | 2398 | [[package]] 2399 | name = "webview2-com-macros" 2400 | version = "0.6.0" 2401 | source = "registry+https://github.com/rust-lang/crates.io-index" 2402 | checksum = "eaebe196c01691db62e9e4ca52c5ef1e4fd837dcae27dae3ada599b5a8fd05ac" 2403 | dependencies = [ 2404 | "proc-macro2", 2405 | "quote", 2406 | "syn", 2407 | ] 2408 | 2409 | [[package]] 2410 | name = "webview2-com-sys" 2411 | version = "0.19.0" 2412 | source = "registry+https://github.com/rust-lang/crates.io-index" 2413 | checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" 2414 | dependencies = [ 2415 | "regex", 2416 | "serde", 2417 | "serde_json", 2418 | "thiserror", 2419 | "windows 0.39.0", 2420 | "windows-bindgen", 2421 | "windows-metadata", 2422 | ] 2423 | 2424 | [[package]] 2425 | name = "widestring" 2426 | version = "1.0.2" 2427 | source = "registry+https://github.com/rust-lang/crates.io-index" 2428 | checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" 2429 | 2430 | [[package]] 2431 | name = "win_dbg_logger" 2432 | version = "0.1.0" 2433 | source = "registry+https://github.com/rust-lang/crates.io-index" 2434 | checksum = "7d1b4c22244dc27534d81e2f6fc3efd6b20e50c010f177efc20b719ec759a779" 2435 | dependencies = [ 2436 | "log", 2437 | ] 2438 | 2439 | [[package]] 2440 | name = "winapi" 2441 | version = "0.3.9" 2442 | source = "registry+https://github.com/rust-lang/crates.io-index" 2443 | checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 2444 | dependencies = [ 2445 | "winapi-i686-pc-windows-gnu", 2446 | "winapi-x86_64-pc-windows-gnu", 2447 | ] 2448 | 2449 | [[package]] 2450 | name = "winapi-i686-pc-windows-gnu" 2451 | version = "0.4.0" 2452 | source = "registry+https://github.com/rust-lang/crates.io-index" 2453 | checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 2454 | 2455 | [[package]] 2456 | name = "winapi-util" 2457 | version = "0.1.5" 2458 | source = "registry+https://github.com/rust-lang/crates.io-index" 2459 | checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 2460 | dependencies = [ 2461 | "winapi", 2462 | ] 2463 | 2464 | [[package]] 2465 | name = "winapi-x86_64-pc-windows-gnu" 2466 | version = "0.4.0" 2467 | source = "registry+https://github.com/rust-lang/crates.io-index" 2468 | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 2469 | 2470 | [[package]] 2471 | name = "windows" 2472 | version = "0.32.0" 2473 | source = "registry+https://github.com/rust-lang/crates.io-index" 2474 | checksum = "fbedf6db9096bc2364adce0ae0aa636dcd89f3c3f2cd67947062aaf0ca2a10ec" 2475 | dependencies = [ 2476 | "windows_aarch64_msvc 0.32.0", 2477 | "windows_i686_gnu 0.32.0", 2478 | "windows_i686_msvc 0.32.0", 2479 | "windows_x86_64_gnu 0.32.0", 2480 | "windows_x86_64_msvc 0.32.0", 2481 | ] 2482 | 2483 | [[package]] 2484 | name = "windows" 2485 | version = "0.39.0" 2486 | source = "registry+https://github.com/rust-lang/crates.io-index" 2487 | checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" 2488 | dependencies = [ 2489 | "windows-implement", 2490 | "windows_aarch64_msvc 0.39.0", 2491 | "windows_i686_gnu 0.39.0", 2492 | "windows_i686_msvc 0.39.0", 2493 | "windows_x86_64_gnu 0.39.0", 2494 | "windows_x86_64_msvc 0.39.0", 2495 | ] 2496 | 2497 | [[package]] 2498 | name = "windows-bindgen" 2499 | version = "0.39.0" 2500 | source = "registry+https://github.com/rust-lang/crates.io-index" 2501 | checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" 2502 | dependencies = [ 2503 | "windows-metadata", 2504 | "windows-tokens", 2505 | ] 2506 | 2507 | [[package]] 2508 | name = "windows-implement" 2509 | version = "0.39.0" 2510 | source = "registry+https://github.com/rust-lang/crates.io-index" 2511 | checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" 2512 | dependencies = [ 2513 | "syn", 2514 | "windows-tokens", 2515 | ] 2516 | 2517 | [[package]] 2518 | name = "windows-metadata" 2519 | version = "0.39.0" 2520 | source = "registry+https://github.com/rust-lang/crates.io-index" 2521 | checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" 2522 | 2523 | [[package]] 2524 | name = "windows-sys" 2525 | version = "0.42.0" 2526 | source = "registry+https://github.com/rust-lang/crates.io-index" 2527 | checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 2528 | dependencies = [ 2529 | "windows_aarch64_gnullvm", 2530 | "windows_aarch64_msvc 0.42.0", 2531 | "windows_i686_gnu 0.42.0", 2532 | "windows_i686_msvc 0.42.0", 2533 | "windows_x86_64_gnu 0.42.0", 2534 | "windows_x86_64_gnullvm", 2535 | "windows_x86_64_msvc 0.42.0", 2536 | ] 2537 | 2538 | [[package]] 2539 | name = "windows-tokens" 2540 | version = "0.39.0" 2541 | source = "registry+https://github.com/rust-lang/crates.io-index" 2542 | checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" 2543 | 2544 | [[package]] 2545 | name = "windows_aarch64_gnullvm" 2546 | version = "0.42.0" 2547 | source = "registry+https://github.com/rust-lang/crates.io-index" 2548 | checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" 2549 | 2550 | [[package]] 2551 | name = "windows_aarch64_msvc" 2552 | version = "0.32.0" 2553 | source = "registry+https://github.com/rust-lang/crates.io-index" 2554 | checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" 2555 | 2556 | [[package]] 2557 | name = "windows_aarch64_msvc" 2558 | version = "0.39.0" 2559 | source = "registry+https://github.com/rust-lang/crates.io-index" 2560 | checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" 2561 | 2562 | [[package]] 2563 | name = "windows_aarch64_msvc" 2564 | version = "0.42.0" 2565 | source = "registry+https://github.com/rust-lang/crates.io-index" 2566 | checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" 2567 | 2568 | [[package]] 2569 | name = "windows_i686_gnu" 2570 | version = "0.32.0" 2571 | source = "registry+https://github.com/rust-lang/crates.io-index" 2572 | checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" 2573 | 2574 | [[package]] 2575 | name = "windows_i686_gnu" 2576 | version = "0.39.0" 2577 | source = "registry+https://github.com/rust-lang/crates.io-index" 2578 | checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" 2579 | 2580 | [[package]] 2581 | name = "windows_i686_gnu" 2582 | version = "0.42.0" 2583 | source = "registry+https://github.com/rust-lang/crates.io-index" 2584 | checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" 2585 | 2586 | [[package]] 2587 | name = "windows_i686_msvc" 2588 | version = "0.32.0" 2589 | source = "registry+https://github.com/rust-lang/crates.io-index" 2590 | checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" 2591 | 2592 | [[package]] 2593 | name = "windows_i686_msvc" 2594 | version = "0.39.0" 2595 | source = "registry+https://github.com/rust-lang/crates.io-index" 2596 | checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" 2597 | 2598 | [[package]] 2599 | name = "windows_i686_msvc" 2600 | version = "0.42.0" 2601 | source = "registry+https://github.com/rust-lang/crates.io-index" 2602 | checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" 2603 | 2604 | [[package]] 2605 | name = "windows_x86_64_gnu" 2606 | version = "0.32.0" 2607 | source = "registry+https://github.com/rust-lang/crates.io-index" 2608 | checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" 2609 | 2610 | [[package]] 2611 | name = "windows_x86_64_gnu" 2612 | version = "0.39.0" 2613 | source = "registry+https://github.com/rust-lang/crates.io-index" 2614 | checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" 2615 | 2616 | [[package]] 2617 | name = "windows_x86_64_gnu" 2618 | version = "0.42.0" 2619 | source = "registry+https://github.com/rust-lang/crates.io-index" 2620 | checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" 2621 | 2622 | [[package]] 2623 | name = "windows_x86_64_gnullvm" 2624 | version = "0.42.0" 2625 | source = "registry+https://github.com/rust-lang/crates.io-index" 2626 | checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" 2627 | 2628 | [[package]] 2629 | name = "windows_x86_64_msvc" 2630 | version = "0.32.0" 2631 | source = "registry+https://github.com/rust-lang/crates.io-index" 2632 | checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" 2633 | 2634 | [[package]] 2635 | name = "windows_x86_64_msvc" 2636 | version = "0.39.0" 2637 | source = "registry+https://github.com/rust-lang/crates.io-index" 2638 | checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" 2639 | 2640 | [[package]] 2641 | name = "windows_x86_64_msvc" 2642 | version = "0.42.0" 2643 | source = "registry+https://github.com/rust-lang/crates.io-index" 2644 | checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" 2645 | 2646 | [[package]] 2647 | name = "wry" 2648 | version = "0.23.4" 2649 | source = "git+https://github.com/maxjvh/wry#82a054369568f920e046c6c2fb859ae52bbc436d" 2650 | dependencies = [ 2651 | "base64", 2652 | "block", 2653 | "cocoa", 2654 | "core-graphics", 2655 | "crossbeam-channel", 2656 | "dunce", 2657 | "gdk", 2658 | "gio", 2659 | "glib", 2660 | "gtk", 2661 | "html5ever", 2662 | "http", 2663 | "kuchiki", 2664 | "libc", 2665 | "log", 2666 | "objc", 2667 | "objc_id", 2668 | "once_cell", 2669 | "serde", 2670 | "serde_json", 2671 | "sha2", 2672 | "soup2", 2673 | "tao", 2674 | "thiserror", 2675 | "url", 2676 | "webkit2gtk", 2677 | "webkit2gtk-sys", 2678 | "webview2-com", 2679 | "windows 0.39.0", 2680 | "windows-implement", 2681 | ] 2682 | 2683 | [[package]] 2684 | name = "x11" 2685 | version = "2.20.1" 2686 | source = "registry+https://github.com/rust-lang/crates.io-index" 2687 | checksum = "c2638d5b9c17ac40575fb54bb461a4b1d2a8d1b4ffcc4ff237d254ec59ddeb82" 2688 | dependencies = [ 2689 | "libc", 2690 | "pkg-config", 2691 | ] 2692 | 2693 | [[package]] 2694 | name = "x11-dl" 2695 | version = "2.20.1" 2696 | source = "registry+https://github.com/rust-lang/crates.io-index" 2697 | checksum = "b1536d6965a5d4e573c7ef73a2c15ebcd0b2de3347bdf526c34c297c00ac40f0" 2698 | dependencies = [ 2699 | "lazy_static", 2700 | "libc", 2701 | "pkg-config", 2702 | ] 2703 | 2704 | [[package]] 2705 | name = "xtask" 2706 | version = "0.1.0" 2707 | dependencies = [ 2708 | "nih_plug_xtask", 2709 | ] 2710 | -------------------------------------------------------------------------------- /example/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "gain" 3 | version = "0.1.0" 4 | edition = "2021" 5 | authors = ["Robbert van der Helm ", "Max Huttunen "] 6 | license = "ISC" 7 | 8 | [lib] 9 | crate-type = ["cdylib"] 10 | 11 | [dependencies] 12 | nih_plug = { git = "https://github.com/robbert-vdh/nih-plug.git", features = ["assert_process_allocs"] } 13 | nih_plug_webview = { path = ".." } 14 | serde = { version = "1.0.152", features = ["derive"] } 15 | serde_json = "1.0" 16 | -------------------------------------------------------------------------------- /example/src/gui.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Gain plugin 8 | 36 | 37 | 38 | 39 | Gain: 40 | 41 | 42 | 43 |
44 | 45 | 46 | 47 |
48 | 49 |
 50 | 
 51 |   
52 | 53 | 117 | 118 | -------------------------------------------------------------------------------- /example/src/lib.rs: -------------------------------------------------------------------------------- 1 | // Forked and modified from: https://github.com/robbert-vdh/nih-plug/tree/master/plugins/examples/gain 2 | use nih_plug::prelude::*; 3 | use nih_plug_webview::*; 4 | use serde::Deserialize; 5 | use serde_json::json; 6 | use std::sync::atomic::{AtomicBool, Ordering}; 7 | use std::sync::Arc; 8 | 9 | struct Gain { 10 | params: Arc, 11 | } 12 | 13 | #[derive(Deserialize)] 14 | #[serde(tag = "type")] 15 | enum Action { 16 | Init, 17 | SetSize { width: u32, height: u32 }, 18 | SetGain { value: f32 }, 19 | } 20 | 21 | #[derive(Params)] 22 | struct GainParams { 23 | #[id = "gain"] 24 | pub gain: FloatParam, 25 | gain_value_changed: Arc, 26 | } 27 | 28 | impl Default for Gain { 29 | fn default() -> Self { 30 | Self { 31 | params: Arc::new(GainParams::default()), 32 | } 33 | } 34 | } 35 | 36 | impl Default for GainParams { 37 | fn default() -> Self { 38 | let gain_value_changed = Arc::new(AtomicBool::new(false)); 39 | 40 | let v = gain_value_changed.clone(); 41 | let param_callback = Arc::new(move |_: f32| { 42 | v.store(true, Ordering::Relaxed); 43 | }); 44 | 45 | Self { 46 | gain: FloatParam::new( 47 | "Gain", 48 | util::db_to_gain(0.0), 49 | FloatRange::Skewed { 50 | min: util::db_to_gain(-30.0), 51 | max: util::db_to_gain(30.0), 52 | factor: FloatRange::gain_skew_factor(-30.0, 30.0), 53 | }, 54 | ) 55 | .with_smoother(SmoothingStyle::Logarithmic(50.0)) 56 | .with_unit(" dB") 57 | .with_value_to_string(formatters::v2s_f32_gain_to_db(2)) 58 | .with_string_to_value(formatters::s2v_f32_gain_to_db()) 59 | .with_callback(param_callback.clone()), 60 | gain_value_changed, 61 | } 62 | } 63 | } 64 | 65 | impl Plugin for Gain { 66 | type BackgroundTask = (); 67 | type SysExMessage = (); 68 | 69 | const NAME: &'static str = "Gain"; 70 | const VENDOR: &'static str = "Moist Plugins GmbH"; 71 | const URL: &'static str = "https://youtu.be/dQw4w9WgXcQ"; 72 | const EMAIL: &'static str = "info@example.com"; 73 | 74 | const VERSION: &'static str = "0.0.1"; 75 | 76 | const AUDIO_IO_LAYOUTS: &'static [AudioIOLayout] = &[ 77 | AudioIOLayout { 78 | main_input_channels: NonZeroU32::new(2), 79 | main_output_channels: NonZeroU32::new(2), 80 | aux_input_ports: &[], 81 | aux_output_ports: &[], 82 | names: PortNames::const_default(), 83 | }, 84 | AudioIOLayout { 85 | main_input_channels: NonZeroU32::new(1), 86 | main_output_channels: NonZeroU32::new(1), 87 | ..AudioIOLayout::const_default() 88 | }, 89 | ]; 90 | 91 | const MIDI_INPUT: MidiConfig = MidiConfig::None; 92 | const SAMPLE_ACCURATE_AUTOMATION: bool = true; 93 | 94 | fn params(&self) -> Arc { 95 | self.params.clone() 96 | } 97 | 98 | fn process( 99 | &mut self, 100 | buffer: &mut Buffer, 101 | _aux: &mut AuxiliaryBuffers, 102 | _context: &mut impl ProcessContext, 103 | ) -> ProcessStatus { 104 | for channel_samples in buffer.iter_samples() { 105 | let gain = self.params.gain.smoothed.next(); 106 | 107 | for sample in channel_samples { 108 | *sample *= gain; 109 | } 110 | } 111 | 112 | ProcessStatus::Normal 113 | } 114 | 115 | fn editor(&mut self, _async_executor: AsyncExecutor) -> Option> { 116 | let params = self.params.clone(); 117 | let gain_value_changed = self.params.gain_value_changed.clone(); 118 | let editor = WebViewEditor::new(HTMLSource::String(include_str!("gui.html")), (200, 200)) 119 | .with_background_color((150, 150, 150, 255)) 120 | .with_developer_mode(true) 121 | .with_keyboard_handler(move |event| { 122 | println!("keyboard event: {event:#?}"); 123 | event.key == Key::Escape 124 | }) 125 | .with_mouse_handler(|event| match event { 126 | MouseEvent::DragEntered { .. } => { 127 | println!("drag entered"); 128 | EventStatus::AcceptDrop(DropEffect::Copy) 129 | } 130 | MouseEvent::DragMoved { .. } => { 131 | println!("drag moved"); 132 | EventStatus::AcceptDrop(DropEffect::Copy) 133 | } 134 | MouseEvent::DragLeft => { 135 | println!("drag left"); 136 | EventStatus::Ignored 137 | } 138 | MouseEvent::DragDropped { data, .. } => { 139 | if let DropData::Files(files) = data { 140 | println!("drag dropped: {:?}", files); 141 | } 142 | EventStatus::AcceptDrop(DropEffect::Copy) 143 | } 144 | _ => EventStatus::Ignored, 145 | }) 146 | .with_event_loop(move |ctx, setter, window| { 147 | while let Ok(value) = ctx.next_event() { 148 | if let Ok(action) = serde_json::from_value(value) { 149 | match action { 150 | Action::SetGain { value } => { 151 | setter.begin_set_parameter(¶ms.gain); 152 | setter.set_parameter_normalized(¶ms.gain, value); 153 | setter.end_set_parameter(¶ms.gain); 154 | } 155 | Action::SetSize { width, height } => { 156 | ctx.resize(window, width, height); 157 | } 158 | Action::Init => { 159 | ctx.send_json(json!({ 160 | "type": "set_size", 161 | "width": ctx.width.load(Ordering::Relaxed), 162 | "height": ctx.height.load(Ordering::Relaxed) 163 | })); 164 | } 165 | } 166 | } else { 167 | panic!("Invalid action received from web UI.") 168 | } 169 | } 170 | 171 | if gain_value_changed.swap(false, Ordering::Relaxed) { 172 | ctx.send_json(json!({ 173 | "type": "param_change", 174 | "param": "gain", 175 | "value": params.gain.unmodulated_normalized_value(), 176 | "text": params.gain.to_string() 177 | })); 178 | } 179 | }); 180 | 181 | Some(Box::new(editor)) 182 | } 183 | 184 | fn deactivate(&mut self) {} 185 | } 186 | 187 | impl ClapPlugin for Gain { 188 | const CLAP_ID: &'static str = "com.moist-plugins-gmbh.gain"; 189 | const CLAP_DESCRIPTION: Option<&'static str> = Some("A smoothed gain parameter example plugin"); 190 | const CLAP_MANUAL_URL: Option<&'static str> = Some(Self::URL); 191 | const CLAP_SUPPORT_URL: Option<&'static str> = None; 192 | const CLAP_FEATURES: &'static [ClapFeature] = &[ 193 | ClapFeature::AudioEffect, 194 | ClapFeature::Stereo, 195 | ClapFeature::Mono, 196 | ClapFeature::Utility, 197 | ]; 198 | } 199 | 200 | impl Vst3Plugin for Gain { 201 | const VST3_CLASS_ID: [u8; 16] = *b"GainMoistestPlug"; 202 | const VST3_SUBCATEGORIES: &'static [Vst3SubCategory] = 203 | &[Vst3SubCategory::Fx, Vst3SubCategory::Tools]; 204 | } 205 | 206 | nih_export_clap!(Gain); 207 | nih_export_vst3!(Gain); 208 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- 1 | use baseview::{Event, Size, Window, WindowHandle, WindowOpenOptions, WindowScalePolicy}; 2 | use nih_plug::prelude::{Editor, GuiContext, ParamSetter}; 3 | use serde_json::Value; 4 | use std::{ 5 | borrow::Cow, 6 | sync::{ 7 | atomic::{AtomicU32, Ordering}, 8 | Arc, 9 | }, 10 | }; 11 | use wry::{ 12 | http::{Request, Response}, 13 | WebContext, WebView, WebViewBuilder, 14 | }; 15 | 16 | use crossbeam::channel::{unbounded, Receiver}; 17 | 18 | pub use wry::http; 19 | 20 | pub use baseview::{DropData, DropEffect, EventStatus, MouseEvent}; 21 | pub use keyboard_types::*; 22 | 23 | type EventLoopHandler = dyn Fn(&WindowHandler, ParamSetter, &mut Window) + Send + Sync; 24 | type KeyboardHandler = dyn Fn(KeyboardEvent) -> bool + Send + Sync; 25 | type MouseHandler = dyn Fn(MouseEvent) -> EventStatus + Send + Sync; 26 | type CustomProtocolHandler = 27 | dyn Fn(&Request>) -> wry::Result>> + Send + Sync; 28 | 29 | pub struct WebViewEditor { 30 | source: Arc, 31 | width: Arc, 32 | height: Arc, 33 | event_loop_handler: Arc, 34 | keyboard_handler: Arc, 35 | mouse_handler: Arc, 36 | custom_protocol: Option<(String, Arc)>, 37 | developer_mode: bool, 38 | background_color: (u8, u8, u8, u8), 39 | } 40 | 41 | pub enum HTMLSource { 42 | String(&'static str), 43 | URL(&'static str), 44 | } 45 | 46 | impl WebViewEditor { 47 | pub fn new(source: HTMLSource, size: (u32, u32)) -> Self { 48 | let width = Arc::new(AtomicU32::new(size.0)); 49 | let height = Arc::new(AtomicU32::new(size.1)); 50 | Self { 51 | source: Arc::new(source), 52 | width, 53 | height, 54 | developer_mode: false, 55 | background_color: (255, 255, 255, 255), 56 | event_loop_handler: Arc::new(|_, _, _| {}), 57 | keyboard_handler: Arc::new(|_| false), 58 | mouse_handler: Arc::new(|_| EventStatus::Ignored), 59 | custom_protocol: None, 60 | } 61 | } 62 | 63 | pub fn with_background_color(mut self, background_color: (u8, u8, u8, u8)) -> Self { 64 | self.background_color = background_color; 65 | self 66 | } 67 | 68 | pub fn with_custom_protocol(mut self, name: String, handler: F) -> Self 69 | where 70 | F: Fn(&Request>) -> wry::Result>> 71 | + 'static 72 | + Send 73 | + Sync, 74 | { 75 | self.custom_protocol = Some((name, Arc::new(handler))); 76 | self 77 | } 78 | 79 | pub fn with_event_loop(mut self, handler: F) -> Self 80 | where 81 | F: Fn(&WindowHandler, ParamSetter, &mut baseview::Window) + 'static + Send + Sync, 82 | { 83 | self.event_loop_handler = Arc::new(handler); 84 | self 85 | } 86 | 87 | pub fn with_developer_mode(mut self, mode: bool) -> Self { 88 | self.developer_mode = mode; 89 | self 90 | } 91 | 92 | pub fn with_keyboard_handler(mut self, handler: F) -> Self 93 | where 94 | F: Fn(KeyboardEvent) -> bool + Send + Sync + 'static, 95 | { 96 | self.keyboard_handler = Arc::new(handler); 97 | self 98 | } 99 | 100 | pub fn with_mouse_handler(mut self, handler: F) -> Self 101 | where 102 | F: Fn(MouseEvent) -> EventStatus + Send + Sync + 'static, 103 | { 104 | self.mouse_handler = Arc::new(handler); 105 | self 106 | } 107 | } 108 | 109 | pub struct WindowHandler { 110 | context: Arc, 111 | event_loop_handler: Arc, 112 | keyboard_handler: Arc, 113 | mouse_handler: Arc, 114 | webview: WebView, 115 | events_receiver: Receiver, 116 | pub width: Arc, 117 | pub height: Arc, 118 | } 119 | 120 | impl WindowHandler { 121 | pub fn resize(&self, window: &mut baseview::Window, width: u32, height: u32) { 122 | self.webview.set_bounds(wry::Rect { 123 | x: 0, 124 | y: 0, 125 | width, 126 | height, 127 | }); 128 | self.width.store(width, Ordering::Relaxed); 129 | self.height.store(height, Ordering::Relaxed); 130 | self.context.request_resize(); 131 | window.resize(Size { 132 | width: width as f64, 133 | height: height as f64, 134 | }); 135 | } 136 | 137 | pub fn send_json(&self, json: Value) { 138 | let json_str = json.to_string(); 139 | let json_str_quoted = 140 | serde_json::to_string(&json_str).expect("Should not fail: the value is always string"); 141 | self.webview 142 | .evaluate_script(&format!("onPluginMessageInternal({});", json_str_quoted)) 143 | .unwrap(); 144 | } 145 | 146 | pub fn next_event(&self) -> Result { 147 | self.events_receiver.try_recv() 148 | } 149 | } 150 | 151 | impl baseview::WindowHandler for WindowHandler { 152 | fn on_frame(&mut self, window: &mut baseview::Window) { 153 | let setter = ParamSetter::new(&*self.context); 154 | (self.event_loop_handler)(&self, setter, window); 155 | } 156 | 157 | fn on_event(&mut self, _window: &mut baseview::Window, event: Event) -> EventStatus { 158 | match event { 159 | Event::Keyboard(event) => { 160 | if (self.keyboard_handler)(event) { 161 | EventStatus::Captured 162 | } else { 163 | EventStatus::Ignored 164 | } 165 | } 166 | Event::Mouse(mouse_event) => (self.mouse_handler)(mouse_event), 167 | _ => EventStatus::Ignored, 168 | } 169 | } 170 | } 171 | 172 | struct Instance { 173 | window_handle: WindowHandle, 174 | } 175 | 176 | impl Drop for Instance { 177 | fn drop(&mut self) { 178 | self.window_handle.close(); 179 | } 180 | } 181 | 182 | unsafe impl Send for Instance {} 183 | 184 | impl Editor for WebViewEditor { 185 | fn spawn( 186 | &self, 187 | parent: nih_plug::prelude::ParentWindowHandle, 188 | context: Arc, 189 | ) -> Box { 190 | let options = WindowOpenOptions { 191 | scale: WindowScalePolicy::SystemScaleFactor, 192 | size: Size { 193 | width: self.width.load(Ordering::Relaxed) as f64, 194 | height: self.height.load(Ordering::Relaxed) as f64, 195 | }, 196 | title: "Plug-in".to_owned(), 197 | }; 198 | 199 | let width = self.width.clone(); 200 | let height = self.height.clone(); 201 | let developer_mode = self.developer_mode; 202 | let source = self.source.clone(); 203 | let background_color = self.background_color; 204 | let custom_protocol = self.custom_protocol.clone(); 205 | let event_loop_handler = self.event_loop_handler.clone(); 206 | let keyboard_handler = self.keyboard_handler.clone(); 207 | let mouse_handler = self.mouse_handler.clone(); 208 | 209 | let window_handle = baseview::Window::open_parented(&parent, options, move |window| { 210 | let (events_sender, events_receiver) = unbounded(); 211 | 212 | let mut web_context = WebContext::new(Some(std::env::temp_dir())); 213 | 214 | let mut webview_builder = WebViewBuilder::new_as_child(window) 215 | .with_bounds(wry::Rect { 216 | x: 0, 217 | y: 0, 218 | width: width.load(Ordering::Relaxed) as u32, 219 | height: height.load(Ordering::Relaxed) as u32, 220 | }) 221 | .with_accept_first_mouse(true) 222 | .with_devtools(developer_mode) 223 | .with_web_context(&mut web_context) 224 | .with_initialization_script(include_str!("script.js")) 225 | .with_ipc_handler(move |msg: String| { 226 | if let Ok(json_value) = serde_json::from_str(&msg) { 227 | let _ = events_sender.send(json_value); 228 | } else { 229 | panic!("Invalid JSON from web view: {}.", msg); 230 | } 231 | }) 232 | .with_background_color(background_color); 233 | 234 | if let Some(custom_protocol) = custom_protocol.as_ref() { 235 | let handler = custom_protocol.1.clone(); 236 | webview_builder = webview_builder 237 | .with_custom_protocol(custom_protocol.0.to_owned(), move |request| { 238 | handler(&request).unwrap() 239 | }); 240 | } 241 | 242 | let webview = match source.as_ref() { 243 | HTMLSource::String(html_str) => webview_builder.with_html(*html_str), 244 | HTMLSource::URL(url) => webview_builder.with_url(*url), 245 | } 246 | .unwrap() 247 | .build(); 248 | 249 | WindowHandler { 250 | context, 251 | event_loop_handler, 252 | webview: webview.unwrap_or_else(|e| panic!("Failed to construct webview. {}", e)), 253 | events_receiver, 254 | keyboard_handler, 255 | mouse_handler, 256 | width, 257 | height, 258 | } 259 | }); 260 | return Box::new(Instance { window_handle }); 261 | } 262 | 263 | fn size(&self) -> (u32, u32) { 264 | ( 265 | self.width.load(Ordering::Relaxed), 266 | self.height.load(Ordering::Relaxed), 267 | ) 268 | } 269 | 270 | fn set_scale_factor(&self, _factor: f32) -> bool { 271 | // TODO: implement for Windows and Linux 272 | return false; 273 | } 274 | 275 | fn param_values_changed(&self) {} 276 | 277 | fn param_value_changed(&self, _id: &str, _normalized_value: f32) {} 278 | 279 | fn param_modulation_changed(&self, _id: &str, _modulation_offset: f32) {} 280 | } 281 | -------------------------------------------------------------------------------- /src/script.js: -------------------------------------------------------------------------------- 1 | window.sendToPlugin = function (msg) { 2 | window.ipc.postMessage(JSON.stringify(msg)); 3 | } 4 | 5 | window.onPluginMessage = function() {}; 6 | 7 | window.onPluginMessageInternal = function(msg) { 8 | const json = JSON.parse(msg); 9 | window.onPluginMessage && window.onPluginMessage(json); 10 | } 11 | -------------------------------------------------------------------------------- /xtask/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "xtask" 3 | version = "0.1.0" 4 | edition = "2021" 5 | 6 | [dependencies] 7 | nih_plug_xtask = { git = "https://github.com/robbert-vdh/nih-plug.git" } 8 | -------------------------------------------------------------------------------- /xtask/src/main.rs: -------------------------------------------------------------------------------- 1 | fn main() -> nih_plug_xtask::Result<()> { 2 | nih_plug_xtask::main() 3 | } 4 | --------------------------------------------------------------------------------