this repo has no description
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

🚧 Start VST sub-crate

authored by

Gwenn Le Bihan and committed by
Ewen Le Bihan
d00370d2 5715893f

+1193
+2
vst/.cargo/config
··· 1 + [alias] 2 + xtask = "run --package xtask --release --"
+1
vst/.gitignore
··· 1 + /target
+975
vst/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.21.0" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" 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 = "anyhow" 22 + version = "1.0.82" 23 + source = "registry+https://github.com/rust-lang/crates.io-index" 24 + checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" 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 = "assert_no_alloc" 34 + version = "1.1.2" 35 + source = "git+https://github.com/robbert-vdh/rust-assert-no-alloc.git?branch=feature/nested-permit-forbid#a6fb4f62b9624715291e320ea5f0f70e73b035cf" 36 + dependencies = [ 37 + "backtrace", 38 + "log", 39 + ] 40 + 41 + [[package]] 42 + name = "atomic_float" 43 + version = "0.1.0" 44 + source = "registry+https://github.com/rust-lang/crates.io-index" 45 + checksum = "62af46d040ba9df09edc6528dae9d8e49f5f3e82f55b7d2ec31a733c38dbc49d" 46 + 47 + [[package]] 48 + name = "atomic_refcell" 49 + version = "0.1.13" 50 + source = "registry+https://github.com/rust-lang/crates.io-index" 51 + checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c" 52 + 53 + [[package]] 54 + name = "atty" 55 + version = "0.2.14" 56 + source = "registry+https://github.com/rust-lang/crates.io-index" 57 + checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" 58 + dependencies = [ 59 + "hermit-abi", 60 + "libc", 61 + "winapi", 62 + ] 63 + 64 + [[package]] 65 + name = "autocfg" 66 + version = "1.3.0" 67 + source = "registry+https://github.com/rust-lang/crates.io-index" 68 + checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" 69 + 70 + [[package]] 71 + name = "backtrace" 72 + version = "0.3.71" 73 + source = "registry+https://github.com/rust-lang/crates.io-index" 74 + checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" 75 + dependencies = [ 76 + "addr2line", 77 + "cc", 78 + "cfg-if", 79 + "libc", 80 + "miniz_oxide", 81 + "object", 82 + "rustc-demangle", 83 + ] 84 + 85 + [[package]] 86 + name = "bitflags" 87 + version = "1.3.2" 88 + source = "registry+https://github.com/rust-lang/crates.io-index" 89 + checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" 90 + 91 + [[package]] 92 + name = "bitflags" 93 + version = "2.5.0" 94 + source = "registry+https://github.com/rust-lang/crates.io-index" 95 + checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" 96 + 97 + [[package]] 98 + name = "camino" 99 + version = "1.1.6" 100 + source = "registry+https://github.com/rust-lang/crates.io-index" 101 + checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" 102 + dependencies = [ 103 + "serde", 104 + ] 105 + 106 + [[package]] 107 + name = "cargo-platform" 108 + version = "0.1.8" 109 + source = "registry+https://github.com/rust-lang/crates.io-index" 110 + checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" 111 + dependencies = [ 112 + "serde", 113 + ] 114 + 115 + [[package]] 116 + name = "cargo_metadata" 117 + version = "0.18.1" 118 + source = "registry+https://github.com/rust-lang/crates.io-index" 119 + checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" 120 + dependencies = [ 121 + "camino", 122 + "cargo-platform", 123 + "semver", 124 + "serde", 125 + "serde_json", 126 + "thiserror", 127 + ] 128 + 129 + [[package]] 130 + name = "cc" 131 + version = "1.0.96" 132 + source = "registry+https://github.com/rust-lang/crates.io-index" 133 + checksum = "065a29261d53ba54260972629f9ca6bffa69bac13cd1fed61420f7fa68b9f8bd" 134 + 135 + [[package]] 136 + name = "cfg-if" 137 + version = "1.0.0" 138 + source = "registry+https://github.com/rust-lang/crates.io-index" 139 + checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 140 + 141 + [[package]] 142 + name = "clap-sys" 143 + version = "0.3.0" 144 + source = "git+https://github.com/robbert-vdh/clap-sys.git?branch=feature/cstr-macro#523a5f8a8dd021ec99e7d6e0c0ebe7741a3da9d4" 145 + 146 + [[package]] 147 + name = "core-foundation" 148 + version = "0.9.4" 149 + source = "registry+https://github.com/rust-lang/crates.io-index" 150 + checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" 151 + dependencies = [ 152 + "core-foundation-sys", 153 + "libc", 154 + ] 155 + 156 + [[package]] 157 + name = "core-foundation-sys" 158 + version = "0.8.6" 159 + source = "registry+https://github.com/rust-lang/crates.io-index" 160 + checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" 161 + 162 + [[package]] 163 + name = "crossbeam" 164 + version = "0.8.4" 165 + source = "registry+https://github.com/rust-lang/crates.io-index" 166 + checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" 167 + dependencies = [ 168 + "crossbeam-channel", 169 + "crossbeam-deque", 170 + "crossbeam-epoch", 171 + "crossbeam-queue", 172 + "crossbeam-utils", 173 + ] 174 + 175 + [[package]] 176 + name = "crossbeam-channel" 177 + version = "0.5.12" 178 + source = "registry+https://github.com/rust-lang/crates.io-index" 179 + checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" 180 + dependencies = [ 181 + "crossbeam-utils", 182 + ] 183 + 184 + [[package]] 185 + name = "crossbeam-deque" 186 + version = "0.8.5" 187 + source = "registry+https://github.com/rust-lang/crates.io-index" 188 + checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" 189 + dependencies = [ 190 + "crossbeam-epoch", 191 + "crossbeam-utils", 192 + ] 193 + 194 + [[package]] 195 + name = "crossbeam-epoch" 196 + version = "0.9.18" 197 + source = "registry+https://github.com/rust-lang/crates.io-index" 198 + checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" 199 + dependencies = [ 200 + "crossbeam-utils", 201 + ] 202 + 203 + [[package]] 204 + name = "crossbeam-queue" 205 + version = "0.3.11" 206 + source = "registry+https://github.com/rust-lang/crates.io-index" 207 + checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" 208 + dependencies = [ 209 + "crossbeam-utils", 210 + ] 211 + 212 + [[package]] 213 + name = "crossbeam-utils" 214 + version = "0.8.19" 215 + source = "registry+https://github.com/rust-lang/crates.io-index" 216 + checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" 217 + 218 + [[package]] 219 + name = "deranged" 220 + version = "0.3.11" 221 + source = "registry+https://github.com/rust-lang/crates.io-index" 222 + checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" 223 + dependencies = [ 224 + "powerfmt", 225 + ] 226 + 227 + [[package]] 228 + name = "equivalent" 229 + version = "1.0.1" 230 + source = "registry+https://github.com/rust-lang/crates.io-index" 231 + checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" 232 + 233 + [[package]] 234 + name = "gimli" 235 + version = "0.28.1" 236 + source = "registry+https://github.com/rust-lang/crates.io-index" 237 + checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" 238 + 239 + [[package]] 240 + name = "goblin" 241 + version = "0.6.1" 242 + source = "registry+https://github.com/rust-lang/crates.io-index" 243 + checksum = "0d6b4de4a8eb6c46a8c77e1d3be942cb9a8bf073c22374578e5ba4b08ed0ff68" 244 + dependencies = [ 245 + "log", 246 + "plain", 247 + "scroll", 248 + ] 249 + 250 + [[package]] 251 + name = "hashbrown" 252 + version = "0.14.5" 253 + source = "registry+https://github.com/rust-lang/crates.io-index" 254 + checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 255 + 256 + [[package]] 257 + name = "hermit-abi" 258 + version = "0.1.19" 259 + source = "registry+https://github.com/rust-lang/crates.io-index" 260 + checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 261 + dependencies = [ 262 + "libc", 263 + ] 264 + 265 + [[package]] 266 + name = "indexmap" 267 + version = "2.2.6" 268 + source = "registry+https://github.com/rust-lang/crates.io-index" 269 + checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" 270 + dependencies = [ 271 + "equivalent", 272 + "hashbrown", 273 + ] 274 + 275 + [[package]] 276 + name = "itoa" 277 + version = "1.0.11" 278 + source = "registry+https://github.com/rust-lang/crates.io-index" 279 + checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" 280 + 281 + [[package]] 282 + name = "lazy_static" 283 + version = "1.4.0" 284 + source = "registry+https://github.com/rust-lang/crates.io-index" 285 + checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" 286 + 287 + [[package]] 288 + name = "libc" 289 + version = "0.2.154" 290 + source = "registry+https://github.com/rust-lang/crates.io-index" 291 + checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" 292 + 293 + [[package]] 294 + name = "lock_api" 295 + version = "0.4.12" 296 + source = "registry+https://github.com/rust-lang/crates.io-index" 297 + checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 298 + dependencies = [ 299 + "autocfg", 300 + "scopeguard", 301 + ] 302 + 303 + [[package]] 304 + name = "log" 305 + version = "0.4.21" 306 + source = "registry+https://github.com/rust-lang/crates.io-index" 307 + checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" 308 + 309 + [[package]] 310 + name = "malloc_buf" 311 + version = "0.0.6" 312 + source = "registry+https://github.com/rust-lang/crates.io-index" 313 + checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" 314 + dependencies = [ 315 + "libc", 316 + ] 317 + 318 + [[package]] 319 + name = "memchr" 320 + version = "2.7.2" 321 + source = "registry+https://github.com/rust-lang/crates.io-index" 322 + checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" 323 + 324 + [[package]] 325 + name = "midi-consts" 326 + version = "0.1.0" 327 + source = "registry+https://github.com/rust-lang/crates.io-index" 328 + checksum = "6f2dd5c7f8aaf48a76e389068ab25ed80bdbc226b887f9013844c415698c9952" 329 + 330 + [[package]] 331 + name = "miniz_oxide" 332 + version = "0.7.2" 333 + source = "registry+https://github.com/rust-lang/crates.io-index" 334 + checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" 335 + dependencies = [ 336 + "adler", 337 + ] 338 + 339 + [[package]] 340 + name = "nih_log" 341 + version = "0.3.1" 342 + source = "registry+https://github.com/rust-lang/crates.io-index" 343 + checksum = "d0cdb52ef79af48ae110401c883bdb9c15e0306a99ab6ecf18bc52068b668e54" 344 + dependencies = [ 345 + "atty", 346 + "log", 347 + "once_cell", 348 + "termcolor", 349 + "time", 350 + "windows", 351 + ] 352 + 353 + [[package]] 354 + name = "nih_plug" 355 + version = "0.0.0" 356 + source = "git+https://github.com/robbert-vdh/nih-plug.git#bb274976ca138289436b0bfa209b2c8c13244225" 357 + dependencies = [ 358 + "anyhow", 359 + "anymap", 360 + "assert_no_alloc", 361 + "atomic_float", 362 + "atomic_refcell", 363 + "backtrace", 364 + "bitflags 1.3.2", 365 + "cfg-if", 366 + "clap-sys", 367 + "core-foundation", 368 + "crossbeam", 369 + "lazy_static", 370 + "libc", 371 + "log", 372 + "midi-consts", 373 + "nih_log", 374 + "nih_plug_derive", 375 + "objc", 376 + "parking_lot", 377 + "raw-window-handle", 378 + "serde", 379 + "serde_json", 380 + "vst3-sys", 381 + "widestring", 382 + "windows", 383 + ] 384 + 385 + [[package]] 386 + name = "nih_plug_derive" 387 + version = "0.1.0" 388 + source = "git+https://github.com/robbert-vdh/nih-plug.git#bb274976ca138289436b0bfa209b2c8c13244225" 389 + dependencies = [ 390 + "proc-macro2", 391 + "quote", 392 + "syn 1.0.109", 393 + ] 394 + 395 + [[package]] 396 + name = "nih_plug_xtask" 397 + version = "0.1.0" 398 + source = "git+https://github.com/robbert-vdh/nih-plug.git#bb274976ca138289436b0bfa209b2c8c13244225" 399 + dependencies = [ 400 + "anyhow", 401 + "cargo_metadata", 402 + "goblin", 403 + "reflink", 404 + "serde", 405 + "toml", 406 + ] 407 + 408 + [[package]] 409 + name = "num-conv" 410 + version = "0.1.0" 411 + source = "registry+https://github.com/rust-lang/crates.io-index" 412 + checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" 413 + 414 + [[package]] 415 + name = "num_threads" 416 + version = "0.1.7" 417 + source = "registry+https://github.com/rust-lang/crates.io-index" 418 + checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" 419 + dependencies = [ 420 + "libc", 421 + ] 422 + 423 + [[package]] 424 + name = "objc" 425 + version = "0.2.7" 426 + source = "registry+https://github.com/rust-lang/crates.io-index" 427 + checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" 428 + dependencies = [ 429 + "malloc_buf", 430 + ] 431 + 432 + [[package]] 433 + name = "object" 434 + version = "0.32.2" 435 + source = "registry+https://github.com/rust-lang/crates.io-index" 436 + checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" 437 + dependencies = [ 438 + "memchr", 439 + ] 440 + 441 + [[package]] 442 + name = "once_cell" 443 + version = "1.19.0" 444 + source = "registry+https://github.com/rust-lang/crates.io-index" 445 + checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" 446 + 447 + [[package]] 448 + name = "parking_lot" 449 + version = "0.12.2" 450 + source = "registry+https://github.com/rust-lang/crates.io-index" 451 + checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" 452 + dependencies = [ 453 + "lock_api", 454 + "parking_lot_core", 455 + ] 456 + 457 + [[package]] 458 + name = "parking_lot_core" 459 + version = "0.9.10" 460 + source = "registry+https://github.com/rust-lang/crates.io-index" 461 + checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 462 + dependencies = [ 463 + "cfg-if", 464 + "libc", 465 + "redox_syscall", 466 + "smallvec", 467 + "windows-targets 0.52.5", 468 + ] 469 + 470 + [[package]] 471 + name = "plain" 472 + version = "0.2.3" 473 + source = "registry+https://github.com/rust-lang/crates.io-index" 474 + checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" 475 + 476 + [[package]] 477 + name = "powerfmt" 478 + version = "0.2.0" 479 + source = "registry+https://github.com/rust-lang/crates.io-index" 480 + checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" 481 + 482 + [[package]] 483 + name = "proc-macro2" 484 + version = "1.0.81" 485 + source = "registry+https://github.com/rust-lang/crates.io-index" 486 + checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" 487 + dependencies = [ 488 + "unicode-ident", 489 + ] 490 + 491 + [[package]] 492 + name = "quote" 493 + version = "1.0.36" 494 + source = "registry+https://github.com/rust-lang/crates.io-index" 495 + checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" 496 + dependencies = [ 497 + "proc-macro2", 498 + ] 499 + 500 + [[package]] 501 + name = "raw-window-handle" 502 + version = "0.5.2" 503 + source = "registry+https://github.com/rust-lang/crates.io-index" 504 + checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" 505 + 506 + [[package]] 507 + name = "redox_syscall" 508 + version = "0.5.1" 509 + source = "registry+https://github.com/rust-lang/crates.io-index" 510 + checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" 511 + dependencies = [ 512 + "bitflags 2.5.0", 513 + ] 514 + 515 + [[package]] 516 + name = "reflink" 517 + version = "0.1.3" 518 + source = "git+https://github.com/nicokoch/reflink.git?rev=e8d93b465f5d9ad340cd052b64bbc77b8ee107e2#e8d93b465f5d9ad340cd052b64bbc77b8ee107e2" 519 + dependencies = [ 520 + "libc", 521 + "winapi", 522 + ] 523 + 524 + [[package]] 525 + name = "rustc-demangle" 526 + version = "0.1.23" 527 + source = "registry+https://github.com/rust-lang/crates.io-index" 528 + checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" 529 + 530 + [[package]] 531 + name = "ryu" 532 + version = "1.0.17" 533 + source = "registry+https://github.com/rust-lang/crates.io-index" 534 + checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" 535 + 536 + [[package]] 537 + name = "scopeguard" 538 + version = "1.2.0" 539 + source = "registry+https://github.com/rust-lang/crates.io-index" 540 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 541 + 542 + [[package]] 543 + name = "scroll" 544 + version = "0.11.0" 545 + source = "registry+https://github.com/rust-lang/crates.io-index" 546 + checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" 547 + dependencies = [ 548 + "scroll_derive", 549 + ] 550 + 551 + [[package]] 552 + name = "scroll_derive" 553 + version = "0.11.1" 554 + source = "registry+https://github.com/rust-lang/crates.io-index" 555 + checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" 556 + dependencies = [ 557 + "proc-macro2", 558 + "quote", 559 + "syn 2.0.60", 560 + ] 561 + 562 + [[package]] 563 + name = "semver" 564 + version = "1.0.22" 565 + source = "registry+https://github.com/rust-lang/crates.io-index" 566 + checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" 567 + dependencies = [ 568 + "serde", 569 + ] 570 + 571 + [[package]] 572 + name = "serde" 573 + version = "1.0.200" 574 + source = "registry+https://github.com/rust-lang/crates.io-index" 575 + checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" 576 + dependencies = [ 577 + "serde_derive", 578 + ] 579 + 580 + [[package]] 581 + name = "serde_derive" 582 + version = "1.0.200" 583 + source = "registry+https://github.com/rust-lang/crates.io-index" 584 + checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" 585 + dependencies = [ 586 + "proc-macro2", 587 + "quote", 588 + "syn 2.0.60", 589 + ] 590 + 591 + [[package]] 592 + name = "serde_json" 593 + version = "1.0.116" 594 + source = "registry+https://github.com/rust-lang/crates.io-index" 595 + checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" 596 + dependencies = [ 597 + "itoa", 598 + "ryu", 599 + "serde", 600 + ] 601 + 602 + [[package]] 603 + name = "serde_spanned" 604 + version = "0.6.5" 605 + source = "registry+https://github.com/rust-lang/crates.io-index" 606 + checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" 607 + dependencies = [ 608 + "serde", 609 + ] 610 + 611 + [[package]] 612 + name = "shapemaker_vst" 613 + version = "0.1.0" 614 + dependencies = [ 615 + "nih_plug", 616 + ] 617 + 618 + [[package]] 619 + name = "smallvec" 620 + version = "1.13.2" 621 + source = "registry+https://github.com/rust-lang/crates.io-index" 622 + checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" 623 + 624 + [[package]] 625 + name = "syn" 626 + version = "1.0.109" 627 + source = "registry+https://github.com/rust-lang/crates.io-index" 628 + checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 629 + dependencies = [ 630 + "proc-macro2", 631 + "quote", 632 + "unicode-ident", 633 + ] 634 + 635 + [[package]] 636 + name = "syn" 637 + version = "2.0.60" 638 + source = "registry+https://github.com/rust-lang/crates.io-index" 639 + checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" 640 + dependencies = [ 641 + "proc-macro2", 642 + "quote", 643 + "unicode-ident", 644 + ] 645 + 646 + [[package]] 647 + name = "termcolor" 648 + version = "1.4.1" 649 + source = "registry+https://github.com/rust-lang/crates.io-index" 650 + checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" 651 + dependencies = [ 652 + "winapi-util", 653 + ] 654 + 655 + [[package]] 656 + name = "thiserror" 657 + version = "1.0.59" 658 + source = "registry+https://github.com/rust-lang/crates.io-index" 659 + checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" 660 + dependencies = [ 661 + "thiserror-impl", 662 + ] 663 + 664 + [[package]] 665 + name = "thiserror-impl" 666 + version = "1.0.59" 667 + source = "registry+https://github.com/rust-lang/crates.io-index" 668 + checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" 669 + dependencies = [ 670 + "proc-macro2", 671 + "quote", 672 + "syn 2.0.60", 673 + ] 674 + 675 + [[package]] 676 + name = "time" 677 + version = "0.3.36" 678 + source = "registry+https://github.com/rust-lang/crates.io-index" 679 + checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" 680 + dependencies = [ 681 + "deranged", 682 + "itoa", 683 + "libc", 684 + "num-conv", 685 + "num_threads", 686 + "powerfmt", 687 + "serde", 688 + "time-core", 689 + "time-macros", 690 + ] 691 + 692 + [[package]] 693 + name = "time-core" 694 + version = "0.1.2" 695 + source = "registry+https://github.com/rust-lang/crates.io-index" 696 + checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" 697 + 698 + [[package]] 699 + name = "time-macros" 700 + version = "0.2.18" 701 + source = "registry+https://github.com/rust-lang/crates.io-index" 702 + checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" 703 + dependencies = [ 704 + "num-conv", 705 + "time-core", 706 + ] 707 + 708 + [[package]] 709 + name = "toml" 710 + version = "0.7.8" 711 + source = "registry+https://github.com/rust-lang/crates.io-index" 712 + checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" 713 + dependencies = [ 714 + "serde", 715 + "serde_spanned", 716 + "toml_datetime", 717 + "toml_edit", 718 + ] 719 + 720 + [[package]] 721 + name = "toml_datetime" 722 + version = "0.6.5" 723 + source = "registry+https://github.com/rust-lang/crates.io-index" 724 + checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" 725 + dependencies = [ 726 + "serde", 727 + ] 728 + 729 + [[package]] 730 + name = "toml_edit" 731 + version = "0.19.15" 732 + source = "registry+https://github.com/rust-lang/crates.io-index" 733 + checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" 734 + dependencies = [ 735 + "indexmap", 736 + "serde", 737 + "serde_spanned", 738 + "toml_datetime", 739 + "winnow", 740 + ] 741 + 742 + [[package]] 743 + name = "unicode-ident" 744 + version = "1.0.12" 745 + source = "registry+https://github.com/rust-lang/crates.io-index" 746 + checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 747 + 748 + [[package]] 749 + name = "vst3-com" 750 + version = "0.1.0" 751 + source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 752 + dependencies = [ 753 + "vst3-com-macros", 754 + ] 755 + 756 + [[package]] 757 + name = "vst3-com-macros" 758 + version = "0.2.0" 759 + source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 760 + dependencies = [ 761 + "proc-macro2", 762 + "quote", 763 + "syn 1.0.109", 764 + "vst3-com-macros-support", 765 + ] 766 + 767 + [[package]] 768 + name = "vst3-com-macros-support" 769 + version = "0.2.0" 770 + source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 771 + dependencies = [ 772 + "proc-macro2", 773 + "quote", 774 + "syn 1.0.109", 775 + ] 776 + 777 + [[package]] 778 + name = "vst3-sys" 779 + version = "0.1.0" 780 + source = "git+https://github.com/robbert-vdh/vst3-sys.git?branch=fix/drop-box-from-raw#b3ff4d775940f5b476b9d1cca02a90e07e1922a2" 781 + dependencies = [ 782 + "vst3-com", 783 + ] 784 + 785 + [[package]] 786 + name = "widestring" 787 + version = "1.1.0" 788 + source = "registry+https://github.com/rust-lang/crates.io-index" 789 + checksum = "7219d36b6eac893fa81e84ebe06485e7dcbb616177469b142df14f1f4deb1311" 790 + 791 + [[package]] 792 + name = "winapi" 793 + version = "0.3.9" 794 + source = "registry+https://github.com/rust-lang/crates.io-index" 795 + checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" 796 + dependencies = [ 797 + "winapi-i686-pc-windows-gnu", 798 + "winapi-x86_64-pc-windows-gnu", 799 + ] 800 + 801 + [[package]] 802 + name = "winapi-i686-pc-windows-gnu" 803 + version = "0.4.0" 804 + source = "registry+https://github.com/rust-lang/crates.io-index" 805 + checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 806 + 807 + [[package]] 808 + name = "winapi-util" 809 + version = "0.1.8" 810 + source = "registry+https://github.com/rust-lang/crates.io-index" 811 + checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" 812 + dependencies = [ 813 + "windows-sys", 814 + ] 815 + 816 + [[package]] 817 + name = "winapi-x86_64-pc-windows-gnu" 818 + version = "0.4.0" 819 + source = "registry+https://github.com/rust-lang/crates.io-index" 820 + checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" 821 + 822 + [[package]] 823 + name = "windows" 824 + version = "0.44.0" 825 + source = "registry+https://github.com/rust-lang/crates.io-index" 826 + checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" 827 + dependencies = [ 828 + "windows-targets 0.42.2", 829 + ] 830 + 831 + [[package]] 832 + name = "windows-sys" 833 + version = "0.52.0" 834 + source = "registry+https://github.com/rust-lang/crates.io-index" 835 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 836 + dependencies = [ 837 + "windows-targets 0.52.5", 838 + ] 839 + 840 + [[package]] 841 + name = "windows-targets" 842 + version = "0.42.2" 843 + source = "registry+https://github.com/rust-lang/crates.io-index" 844 + checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" 845 + dependencies = [ 846 + "windows_aarch64_gnullvm 0.42.2", 847 + "windows_aarch64_msvc 0.42.2", 848 + "windows_i686_gnu 0.42.2", 849 + "windows_i686_msvc 0.42.2", 850 + "windows_x86_64_gnu 0.42.2", 851 + "windows_x86_64_gnullvm 0.42.2", 852 + "windows_x86_64_msvc 0.42.2", 853 + ] 854 + 855 + [[package]] 856 + name = "windows-targets" 857 + version = "0.52.5" 858 + source = "registry+https://github.com/rust-lang/crates.io-index" 859 + checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" 860 + dependencies = [ 861 + "windows_aarch64_gnullvm 0.52.5", 862 + "windows_aarch64_msvc 0.52.5", 863 + "windows_i686_gnu 0.52.5", 864 + "windows_i686_gnullvm", 865 + "windows_i686_msvc 0.52.5", 866 + "windows_x86_64_gnu 0.52.5", 867 + "windows_x86_64_gnullvm 0.52.5", 868 + "windows_x86_64_msvc 0.52.5", 869 + ] 870 + 871 + [[package]] 872 + name = "windows_aarch64_gnullvm" 873 + version = "0.42.2" 874 + source = "registry+https://github.com/rust-lang/crates.io-index" 875 + checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" 876 + 877 + [[package]] 878 + name = "windows_aarch64_gnullvm" 879 + version = "0.52.5" 880 + source = "registry+https://github.com/rust-lang/crates.io-index" 881 + checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" 882 + 883 + [[package]] 884 + name = "windows_aarch64_msvc" 885 + version = "0.42.2" 886 + source = "registry+https://github.com/rust-lang/crates.io-index" 887 + checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" 888 + 889 + [[package]] 890 + name = "windows_aarch64_msvc" 891 + version = "0.52.5" 892 + source = "registry+https://github.com/rust-lang/crates.io-index" 893 + checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" 894 + 895 + [[package]] 896 + name = "windows_i686_gnu" 897 + version = "0.42.2" 898 + source = "registry+https://github.com/rust-lang/crates.io-index" 899 + checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" 900 + 901 + [[package]] 902 + name = "windows_i686_gnu" 903 + version = "0.52.5" 904 + source = "registry+https://github.com/rust-lang/crates.io-index" 905 + checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" 906 + 907 + [[package]] 908 + name = "windows_i686_gnullvm" 909 + version = "0.52.5" 910 + source = "registry+https://github.com/rust-lang/crates.io-index" 911 + checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" 912 + 913 + [[package]] 914 + name = "windows_i686_msvc" 915 + version = "0.42.2" 916 + source = "registry+https://github.com/rust-lang/crates.io-index" 917 + checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" 918 + 919 + [[package]] 920 + name = "windows_i686_msvc" 921 + version = "0.52.5" 922 + source = "registry+https://github.com/rust-lang/crates.io-index" 923 + checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" 924 + 925 + [[package]] 926 + name = "windows_x86_64_gnu" 927 + version = "0.42.2" 928 + source = "registry+https://github.com/rust-lang/crates.io-index" 929 + checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" 930 + 931 + [[package]] 932 + name = "windows_x86_64_gnu" 933 + version = "0.52.5" 934 + source = "registry+https://github.com/rust-lang/crates.io-index" 935 + checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" 936 + 937 + [[package]] 938 + name = "windows_x86_64_gnullvm" 939 + version = "0.42.2" 940 + source = "registry+https://github.com/rust-lang/crates.io-index" 941 + checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" 942 + 943 + [[package]] 944 + name = "windows_x86_64_gnullvm" 945 + version = "0.52.5" 946 + source = "registry+https://github.com/rust-lang/crates.io-index" 947 + checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" 948 + 949 + [[package]] 950 + name = "windows_x86_64_msvc" 951 + version = "0.42.2" 952 + source = "registry+https://github.com/rust-lang/crates.io-index" 953 + checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" 954 + 955 + [[package]] 956 + name = "windows_x86_64_msvc" 957 + version = "0.52.5" 958 + source = "registry+https://github.com/rust-lang/crates.io-index" 959 + checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" 960 + 961 + [[package]] 962 + name = "winnow" 963 + version = "0.5.40" 964 + source = "registry+https://github.com/rust-lang/crates.io-index" 965 + checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" 966 + dependencies = [ 967 + "memchr", 968 + ] 969 + 970 + [[package]] 971 + name = "xtask" 972 + version = "0.1.0" 973 + dependencies = [ 974 + "nih_plug_xtask", 975 + ]
+31
vst/Cargo.toml
··· 1 + [package] 2 + name = "shapemaker_vst" 3 + version = "0.1.0" 4 + edition = "2021" 5 + authors = ["Ewen Le Bihan <hey@ewen.works>"] 6 + license = "GPL-3.0-or-later" 7 + homepage = "https://ewen.works/shapemaker" 8 + description = "A VST plugin for Shapemaker, an experimental audiovisual SVG-based rendering engine" 9 + 10 + [workspace] 11 + members = ["xtask"] 12 + 13 + [lib] 14 + crate-type = ["cdylib"] 15 + 16 + [dependencies] 17 + # Remove the `assert_process_allocs` feature to allow allocations on the audio 18 + # thread in debug builds. 19 + nih_plug = { git = "https://github.com/robbert-vdh/nih-plug.git", features = ["assert_process_allocs"] } 20 + # Uncomment the below line to disable the on-by-default VST3 feature to remove 21 + # the GPL compatibility requirement 22 + # nih_plug = { git = "https://github.com/robbert-vdh/nih-plug.git", default_features = false, features = ["assert_process_allocs"] } 23 + 24 + [profile.release] 25 + lto = "thin" 26 + strip = "symbols" 27 + 28 + [profile.profiling] 29 + inherits = "release" 30 + debug = true 31 + strip = "none"
+9
vst/README.md
··· 1 + # Shapemaker VST 2 + 3 + ## Building 4 + 5 + After installing [Rust](https://rustup.rs/), you can compile Shapemaker VST as follows: 6 + 7 + ```shell 8 + cargo xtask bundle shapemaker_vst --release 9 + ```
+8
vst/bundler.toml
··· 1 + # This provides metadata for NIH-plug's `cargo xtask bundle <foo>` plugin 2 + # bundler. This file's syntax is as follows: 3 + # 4 + # [package_name] 5 + # name = "Human Readable Plugin Name" # defaults to <package_name> 6 + 7 + [shapemaker_vst] 8 + name = "Shapemaker VST"
+157
vst/src/lib.rs
··· 1 + use nih_plug::prelude::*; 2 + use std::sync::Arc; 3 + 4 + // This is a shortened version of the gain example with most comments removed, check out 5 + // https://github.com/robbert-vdh/nih-plug/blob/master/plugins/examples/gain/src/lib.rs to get 6 + // started 7 + 8 + struct ShapemakerVST { 9 + params: Arc<ShapemakerVSTParams>, 10 + } 11 + 12 + #[derive(Params)] 13 + struct ShapemakerVSTParams { 14 + /// The parameter's ID is used to identify the parameter in the wrappred plugin API. As long as 15 + /// these IDs remain constant, you can rename and reorder these fields as you wish. The 16 + /// parameters are exposed to the host in the same order they were defined. In this case, this 17 + /// gain parameter is stored as linear gain while the values are displayed in decibels. 18 + #[id = "gain"] 19 + pub gain: FloatParam, 20 + } 21 + 22 + impl Default for ShapemakerVST { 23 + fn default() -> Self { 24 + Self { 25 + params: Arc::new(ShapemakerVSTParams::default()), 26 + } 27 + } 28 + } 29 + 30 + impl Default for ShapemakerVSTParams { 31 + fn default() -> Self { 32 + Self { 33 + // This gain is stored as linear gain. NIH-plug comes with useful conversion functions 34 + // to treat these kinds of parameters as if we were dealing with decibels. Storing this 35 + // as decibels is easier to work with, but requires a conversion for every sample. 36 + gain: FloatParam::new( 37 + "Gain", 38 + util::db_to_gain(0.0), 39 + FloatRange::Skewed { 40 + min: util::db_to_gain(-30.0), 41 + max: util::db_to_gain(30.0), 42 + // This makes the range appear as if it was linear when displaying the values as 43 + // decibels 44 + factor: FloatRange::gain_skew_factor(-30.0, 30.0), 45 + }, 46 + ) 47 + // Because the gain parameter is stored as linear gain instead of storing the value as 48 + // decibels, we need logarithmic smoothing 49 + .with_smoother(SmoothingStyle::Logarithmic(50.0)) 50 + .with_unit(" dB") 51 + // There are many predefined formatters we can use here. If the gain was stored as 52 + // decibels instead of as a linear gain value, we could have also used the 53 + // `.with_step_size(0.1)` function to get internal rounding. 54 + .with_value_to_string(formatters::v2s_f32_gain_to_db(2)) 55 + .with_string_to_value(formatters::s2v_f32_gain_to_db()), 56 + } 57 + } 58 + } 59 + 60 + impl Plugin for ShapemakerVST { 61 + const NAME: &'static str = "Shapemaker VST"; 62 + const VENDOR: &'static str = "Ewen Le Bihan"; 63 + const URL: &'static str = env!("CARGO_PKG_HOMEPAGE"); 64 + const EMAIL: &'static str = "hey@ewen.works"; 65 + 66 + const VERSION: &'static str = env!("CARGO_PKG_VERSION"); 67 + 68 + // The first audio IO layout is used as the default. The other layouts may be selected either 69 + // explicitly or automatically by the host or the user depending on the plugin API/backend. 70 + const AUDIO_IO_LAYOUTS: &'static [AudioIOLayout] = &[AudioIOLayout { 71 + main_input_channels: NonZeroU32::new(2), 72 + main_output_channels: NonZeroU32::new(2), 73 + 74 + aux_input_ports: &[], 75 + aux_output_ports: &[], 76 + 77 + // Individual ports and the layout as a whole can be named here. By default these names 78 + // are generated as needed. This layout will be called 'Stereo', while a layout with 79 + // only one input and output channel would be called 'Mono'. 80 + names: PortNames::const_default(), 81 + }]; 82 + 83 + 84 + const MIDI_INPUT: MidiConfig = MidiConfig::None; 85 + const MIDI_OUTPUT: MidiConfig = MidiConfig::None; 86 + 87 + const SAMPLE_ACCURATE_AUTOMATION: bool = true; 88 + 89 + // If the plugin can send or receive SysEx messages, it can define a type to wrap around those 90 + // messages here. The type implements the `SysExMessage` trait, which allows conversion to and 91 + // from plain byte buffers. 92 + type SysExMessage = (); 93 + // More advanced plugins can use this to run expensive background tasks. See the field's 94 + // documentation for more information. `()` means that the plugin does not have any background 95 + // tasks. 96 + type BackgroundTask = (); 97 + 98 + fn params(&self) -> Arc<dyn Params> { 99 + self.params.clone() 100 + } 101 + 102 + fn initialize( 103 + &mut self, 104 + _audio_io_layout: &AudioIOLayout, 105 + _buffer_config: &BufferConfig, 106 + _context: &mut impl InitContext<Self>, 107 + ) -> bool { 108 + // Resize buffers and perform other potentially expensive initialization operations here. 109 + // The `reset()` function is always called right after this function. You can remove this 110 + // function if you do not need it. 111 + true 112 + } 113 + 114 + fn reset(&mut self) { 115 + // Reset buffers and envelopes here. This can be called from the audio thread and may not 116 + // allocate. You can remove this function if you do not need it. 117 + } 118 + 119 + fn process( 120 + &mut self, 121 + buffer: &mut Buffer, 122 + _aux: &mut AuxiliaryBuffers, 123 + _context: &mut impl ProcessContext<Self>, 124 + ) -> ProcessStatus { 125 + for channel_samples in buffer.iter_samples() { 126 + // Smoothing is optionally built into the parameters themselves 127 + let gain = self.params.gain.smoothed.next(); 128 + 129 + for sample in channel_samples { 130 + *sample *= gain; 131 + } 132 + } 133 + 134 + ProcessStatus::Normal 135 + } 136 + } 137 + 138 + impl ClapPlugin for ShapemakerVST { 139 + const CLAP_ID: &'static str = "works.ewen.shapemaker"; 140 + const CLAP_DESCRIPTION: Option<&'static str> = Some("A VST plugin for Shapemaker, an experimental audiovisual SVG-based rendering engine"); 141 + const CLAP_MANUAL_URL: Option<&'static str> = Some(Self::URL); 142 + const CLAP_SUPPORT_URL: Option<&'static str> = None; 143 + 144 + // Don't forget to change these features 145 + const CLAP_FEATURES: &'static [ClapFeature] = &[ClapFeature::AudioEffect, ClapFeature::Stereo]; 146 + } 147 + 148 + impl Vst3Plugin for ShapemakerVST { 149 + const VST3_CLASS_ID: [u8; 16] = *b"ewenlbhshapemake"; 150 + 151 + // And also don't forget to change these categories 152 + const VST3_SUBCATEGORIES: &'static [Vst3SubCategory] = 153 + &[Vst3SubCategory::Fx, Vst3SubCategory::Dynamics]; 154 + } 155 + 156 + nih_export_clap!(ShapemakerVST); 157 + nih_export_vst3!(ShapemakerVST);
+7
vst/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" }
+3
vst/xtask/src/main.rs
··· 1 + fn main() -> nih_plug_xtask::Result<()> { 2 + nih_plug_xtask::main() 3 + }