1
0
Fork 0

Upgrade Vizia for the cosmic-text changes

This brings some breaking changes, and vertical positioning of text may
have changed slightly.
This commit is contained in:
Robbert van der Helm 2023-01-12 18:49:55 +01:00
parent e5a26ac199
commit bb521fcb82
14 changed files with 266 additions and 131 deletions

View file

@ -6,6 +6,18 @@ new and what's changed, this document lists all breaking changes in reverse
chronological order. If a new feature did not require any changes to existing
code then it will not be listed here.
## [2023-01-12]
- The Vizia dependency has been updated. This updated version uses a new text
rendering engine, so there are a couple breaking changes:
- The names for some of Vizia's fonts have changed. The constants and font
registration functions in `nih_plug_vizia::assets` and
`nih_plug_vizia::vizia_assets` still have the same name, but all uses of the
`font` CSS property and `.font()` view modifier will have to be changed.
- Metrics for rendered text have change slightly. Most notably the height and
vertical positioning of text is slightly different, so you may have to
adjust your layout slightly accordingly.
## [2023-01-11]
- `Editor::param_values_changes()` is no longer called from the audio thread and

312
Cargo.lock generated
View file

@ -10,9 +10,9 @@ checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3"
[[package]]
name = "ab_glyph"
version = "0.2.18"
version = "0.2.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dcdbc68024b653943864d436fe8a24b028095bc1cf91a8926f8241e4aaffe59"
checksum = "e5568a4aa5ba8adf5175c5c460b030e27d8893412976cc37bef0e4fbc16cfbba"
dependencies = [
"ab_glyph_rasterizer",
"owned_ttf_parser",
@ -68,6 +68,15 @@ dependencies = [
"version_check",
]
[[package]]
name = "aho-corasick"
version = "0.7.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
dependencies = [
"memchr",
]
[[package]]
name = "aliasable"
version = "0.1.3"
@ -98,9 +107,9 @@ dependencies = [
[[package]]
name = "anyhow"
version = "1.0.66"
version = "1.0.68"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6"
checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61"
[[package]]
name = "anymap"
@ -320,9 +329,9 @@ checksum = "62af46d040ba9df09edc6528dae9d8e49f5f3e82f55b7d2ec31a733c38dbc49d"
[[package]]
name = "atomic_refcell"
version = "0.1.8"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73b5e5f48b927f04e952dedc932f31995a65a0bf65ec971c74436e51bf6e970d"
checksum = "857253367827bd9d0fd973f0ef15506a96e79e41b0ad7aa691203a4e3214f6c8"
[[package]]
name = "atty"
@ -330,7 +339,7 @@ version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi",
"hermit-abi 0.1.19",
"libc",
"winapi",
]
@ -371,7 +380,7 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
[[package]]
name = "baseview"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/baseview.git?branch=feature/resize#512c3f2393d606f91963773c73cbf3ab8de5eb57"
source = "git+https://github.com/RustAudio/baseview.git?rev=7001c2521fa1a439a01967cb881b411cd75d9ee0#7001c2521fa1a439a01967cb881b411cd75d9ee0"
dependencies = [
"cocoa",
"core-foundation",
@ -407,7 +416,7 @@ dependencies = [
[[package]]
name = "baseview"
version = "0.1.0"
source = "git+https://github.com/RustAudio/baseview.git#ee156fb8840452984b5f9946635e9a35b2857c41"
source = "git+https://github.com/RustAudio/baseview.git#7001c2521fa1a439a01967cb881b411cd75d9ee0"
dependencies = [
"cocoa",
"core-foundation",
@ -855,6 +864,25 @@ dependencies = [
"bindgen",
]
[[package]]
name = "cosmic-text"
version = "0.6.0"
source = "git+https://github.com/pop-os/cosmic-text?rev=e00109d77f06d5a2e3057865eda3f530bc40a046#e00109d77f06d5a2e3057865eda3f530bc40a046"
dependencies = [
"fontdb 0.10.0",
"libm",
"log",
"ouroboros",
"rangemap",
"rustybuzz 0.6.0",
"swash",
"sys-locale",
"unicode-bidi",
"unicode-linebreak",
"unicode-script",
"unicode-segmentation",
]
[[package]]
name = "cpal"
version = "0.14.2"
@ -1088,7 +1116,7 @@ dependencies = [
"nih_plug_vizia",
"open",
"realfft",
"semver 1.0.14",
"semver 1.0.16",
"triple_buffer",
]
@ -1284,7 +1312,7 @@ dependencies = [
[[package]]
name = "femtovg"
version = "0.4.0"
source = "git+https://github.com/femtovg/femtovg?rev=20dc7ef142004736f1ba1c626dd9c5bb556dde14#20dc7ef142004736f1ba1c626dd9c5bb556dde14"
source = "git+https://github.com/rhelmot/femtovg?rev=e1f3f05cc050c0ed69ca702b368bb5d4eb2cabff#e1f3f05cc050c0ed69ca702b368bb5d4eb2cabff"
dependencies = [
"bitflags",
"fnv",
@ -1410,6 +1438,17 @@ dependencies = [
"ttf-parser 0.12.3",
]
[[package]]
name = "fontdb"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8131752b3f3b876a20f42b3d08233ad177d6e7ec6d18aaa6954489a201071be5"
dependencies = [
"log",
"memmap2 0.5.8",
"ttf-parser 0.17.1",
]
[[package]]
name = "foreign-types"
version = "0.3.2"
@ -1664,9 +1703,9 @@ dependencies = [
[[package]]
name = "glob"
version = "0.3.0"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
[[package]]
name = "gloo-timers"
@ -1890,6 +1929,15 @@ dependencies = [
"libc",
]
[[package]]
name = "hermit-abi"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
dependencies = [
"libc",
]
[[package]]
name = "hexf-parse"
version = "0.2.1"
@ -2110,9 +2158,9 @@ checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
[[package]]
name = "itoa"
version = "1.0.4"
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
[[package]]
name = "jack"
@ -2257,9 +2305,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "libc"
version = "0.2.138"
version = "0.2.139"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
[[package]]
name = "libloading"
@ -2271,6 +2319,12 @@ dependencies = [
"winapi",
]
[[package]]
name = "libm"
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb"
[[package]]
name = "linked-hash-map"
version = "0.5.6"
@ -2492,7 +2546,7 @@ dependencies = [
[[package]]
name = "morphorm"
version = "0.3.0"
source = "git+https://github.com/vizia/morphorm?rev=c14e888b1d66719fc3f13ccdb1ea01a10368ef9e#c14e888b1d66719fc3f13ccdb1ea01a10368ef9e"
source = "git+https://github.com/vizia/morphorm?rev=3d74358fe976249738f58724854270aa2f0fdb4a#3d74358fe976249738f58724854270aa2f0fdb4a"
dependencies = [
"bitflags",
"smallvec",
@ -2613,7 +2667,7 @@ dependencies = [
"atomic_float",
"atomic_refcell",
"backtrace",
"baseview 0.1.0 (git+https://github.com/robbert-vdh/baseview.git?branch=feature/resize)",
"baseview 0.1.0 (git+https://github.com/RustAudio/baseview.git?rev=7001c2521fa1a439a01967cb881b411cd75d9ee0)",
"bitflags",
"cfg-if 1.0.0",
"clap",
@ -2687,7 +2741,7 @@ dependencies = [
name = "nih_plug_vizia"
version = "0.0.0"
dependencies = [
"baseview 0.1.0 (git+https://github.com/robbert-vdh/baseview.git?branch=feature/resize)",
"baseview 0.1.0 (git+https://github.com/RustAudio/baseview.git?rev=7001c2521fa1a439a01967cb881b411cd75d9ee0)",
"crossbeam",
"nih_plug",
"nih_plug_assets",
@ -2752,9 +2806,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
[[package]]
name = "nom"
version = "7.1.1"
version = "7.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c"
dependencies = [
"memchr",
"minimal-lexical",
@ -2834,11 +2888,11 @@ dependencies = [
[[package]]
name = "num_cpus"
version = "1.14.0"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5"
checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
dependencies = [
"hermit-abi",
"hermit-abi 0.2.6",
"libc",
]
@ -2913,9 +2967,9 @@ dependencies = [
[[package]]
name = "object"
version = "0.30.0"
version = "0.30.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "239da7f290cfa979f43f85a8efeee9a8a76d0827c356d37f9d3d7254d6b537fb"
checksum = "2b8c786513eb403643f2a88c244c2aaa270ef2153f55094587d0c48a3cf22a83"
dependencies = [
"memchr",
]
@ -2945,9 +2999,9 @@ dependencies = [
[[package]]
name = "once_cell"
version = "1.16.0"
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
[[package]]
name = "open"
@ -3008,11 +3062,11 @@ dependencies = [
[[package]]
name = "owned_ttf_parser"
version = "0.17.1"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "18904d3c65493a9f0d7542293d1a7f69bfdc309a6b9ef4f46dc3e58b0577edc5"
checksum = "2a5f3c7ca08b6879e7965fb25e24d1f5eeb32ea73f9ad99b3854778a38c57e93"
dependencies = [
"ttf-parser 0.17.1",
"ttf-parser 0.18.1",
]
[[package]]
@ -3063,7 +3117,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
dependencies = [
"lock_api",
"parking_lot_core 0.9.5",
"parking_lot_core 0.9.6",
]
[[package]]
@ -3082,9 +3136,9 @@ dependencies = [
[[package]]
name = "parking_lot_core"
version = "0.9.5"
version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ff9f3fef3968a3ec5945535ed654cb38ff72d7495a25619e2247fb15a2ed9ba"
checksum = "ba1ef8814b5c993410bb3adfad7a5ed269563e4a2f90c41f5d85be7fb47133bf"
dependencies = [
"cfg-if 1.0.0",
"libc",
@ -3132,9 +3186,9 @@ checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
[[package]]
name = "pest"
version = "2.5.1"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc8bed3549e0f9b0a2a78bf7c0018237a2cdf085eecbbc048e52612438e4e9d0"
checksum = "4257b4a04d91f7e9e6290be5d3da4804dd5784fafde3a497d73eb2b4a158c30a"
dependencies = [
"thiserror",
"ucd-trie",
@ -3323,15 +3377,15 @@ dependencies = [
[[package]]
name = "proc-macro-hack"
version = "0.5.19"
version = "0.5.20+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
[[package]]
name = "proc-macro2"
version = "1.0.47"
version = "1.0.49"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
dependencies = [
"unicode-ident",
]
@ -3370,9 +3424,9 @@ dependencies = [
[[package]]
name = "quote"
version = "1.0.21"
version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
dependencies = [
"proc-macro2",
]
@ -3473,6 +3527,12 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63e935c45e09cc6dcf00d2f0b2d630a58f4095320223d47fc68918722f0538b6"
[[package]]
name = "rangemap"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b9283c6b06096b47afc7109834fdedab891175bb5241ee5d4f7d2546549f263"
[[package]]
name = "raw-window-handle"
version = "0.4.3"
@ -3559,10 +3619,12 @@ dependencies = [
[[package]]
name = "regex"
version = "1.7.0"
version = "1.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
dependencies = [
"aho-corasick",
"memchr",
"regex-syntax",
]
@ -3578,6 +3640,12 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1382d1f0a252c4bf97dc20d979a2fdd05b024acd7c2ed0f7595d7817666a157"
[[package]]
name = "replace_with"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3a8614ee435691de62bcffcf4a66d91b3594bf1428a5722e79103249a095690"
[[package]]
name = "resvg"
version = "0.18.0"
@ -3690,6 +3758,7 @@ checksum = "ab9e34ecf6900625412355a61bda0bd68099fe674de707c67e5e4aed2c05e489"
dependencies = [
"bitflags",
"bytemuck",
"libm",
"smallvec",
"ttf-parser 0.17.1",
"unicode-bidi-mirroring",
@ -3700,9 +3769,9 @@ dependencies = [
[[package]]
name = "ryu"
version = "1.0.11"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
[[package]]
name = "safe_arch"
@ -3787,9 +3856,9 @@ dependencies = [
[[package]]
name = "semver"
version = "1.0.14"
version = "1.0.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a"
[[package]]
name = "semver-parser"
@ -3808,18 +3877,18 @@ dependencies = [
[[package]]
name = "serde"
version = "1.0.151"
version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0"
checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.151"
version = "1.0.152"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8"
checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
dependencies = [
"proc-macro2",
"quote",
@ -3828,11 +3897,11 @@ dependencies = [
[[package]]
name = "serde_json"
version = "1.0.89"
version = "1.0.91"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
dependencies = [
"itoa 1.0.4",
"itoa 1.0.5",
"ryu",
"serde",
]
@ -4149,10 +4218,20 @@ dependencies = [
]
[[package]]
name = "syn"
version = "1.0.105"
name = "swash"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
checksum = "8bb18e5888a9b5f0a89ea3ebdf6883dc479347ca9183b6c51a8f9cf2041f23a0"
dependencies = [
"yazi",
"zeno",
]
[[package]]
name = "syn"
version = "1.0.107"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
dependencies = [
"proc-macro2",
"quote",
@ -4189,18 +4268,18 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
[[package]]
name = "thiserror"
version = "1.0.37"
version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.37"
version = "1.0.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
dependencies = [
"proc-macro2",
"quote",
@ -4213,7 +4292,7 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376"
dependencies = [
"itoa 1.0.4",
"itoa 1.0.5",
"libc",
"num_threads",
"serde",
@ -4261,9 +4340,9 @@ dependencies = [
[[package]]
name = "tokio"
version = "1.23.0"
version = "1.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eab6d665857cc6ca78d6e80303a02cea7a7851e85dfbd77cbdc09bd129f1ef46"
checksum = "1d9f76183f91ecfb55e1d7d5602bd1d979e38a3a522fe900241cf195624d67ae"
dependencies = [
"autocfg",
"num_cpus",
@ -4331,6 +4410,12 @@ version = "0.17.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "375812fa44dab6df41c195cd2f7fecb488f6c09fbaafb62807488cefab642bff"
[[package]]
name = "ttf-parser"
version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0609f771ad9c6155384897e1df4d948e692667cc0588548b68eb44d052b27633"
[[package]]
name = "twox-hash"
version = "1.6.3"
@ -4407,9 +4492,19 @@ checksum = "2281c8c1d221438e373249e065ca4989c4c36952c211ff21a0ee91c44a3869e7"
[[package]]
name = "unicode-ident"
version = "1.0.5"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
[[package]]
name = "unicode-linebreak"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
dependencies = [
"hashbrown",
"regex",
]
[[package]]
name = "unicode-script"
@ -4445,7 +4540,7 @@ dependencies = [
"data-url",
"flate2",
"float-cmp",
"fontdb",
"fontdb 0.6.2",
"kurbo",
"log",
"pico-args",
@ -4490,7 +4585,7 @@ checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "vizia"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#9bc55a4ba309cff64dcf0192358842e73d40be46"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#02890d98efcafa549079a4191e6684e29a2a60f2"
dependencies = [
"vizia_baseview",
"vizia_core",
@ -4500,9 +4595,9 @@ dependencies = [
[[package]]
name = "vizia_baseview"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#9bc55a4ba309cff64dcf0192358842e73d40be46"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#02890d98efcafa549079a4191e6684e29a2a60f2"
dependencies = [
"baseview 0.1.0 (git+https://github.com/robbert-vdh/baseview.git?branch=feature/resize)",
"baseview 0.1.0 (git+https://github.com/RustAudio/baseview.git?rev=7001c2521fa1a439a01967cb881b411cd75d9ee0)",
"femtovg",
"lazy_static",
"raw-window-handle 0.4.3",
@ -4514,10 +4609,11 @@ dependencies = [
[[package]]
name = "vizia_core"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#9bc55a4ba309cff64dcf0192358842e73d40be46"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#02890d98efcafa549079a4191e6684e29a2a60f2"
dependencies = [
"bitflags",
"copypasta 0.8.1",
"cosmic-text",
"cssparser",
"femtovg",
"fluent-bundle",
@ -4527,6 +4623,9 @@ dependencies = [
"image 0.24.5",
"instant",
"morphorm",
"ouroboros",
"replace_with",
"swash",
"sys-locale",
"unic-langid",
"unicode-bidi",
@ -4542,7 +4641,7 @@ dependencies = [
[[package]]
name = "vizia_derive"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#9bc55a4ba309cff64dcf0192358842e73d40be46"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#02890d98efcafa549079a4191e6684e29a2a60f2"
dependencies = [
"proc-macro2",
"quote",
@ -4552,12 +4651,12 @@ dependencies = [
[[package]]
name = "vizia_id"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#9bc55a4ba309cff64dcf0192358842e73d40be46"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#02890d98efcafa549079a4191e6684e29a2a60f2"
[[package]]
name = "vizia_input"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#9bc55a4ba309cff64dcf0192358842e73d40be46"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#02890d98efcafa549079a4191e6684e29a2a60f2"
dependencies = [
"bitflags",
"keyboard-types",
@ -4567,7 +4666,7 @@ dependencies = [
[[package]]
name = "vizia_storage"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#9bc55a4ba309cff64dcf0192358842e73d40be46"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#02890d98efcafa549079a4191e6684e29a2a60f2"
dependencies = [
"morphorm",
"vizia_id",
@ -4576,7 +4675,7 @@ dependencies = [
[[package]]
name = "vizia_window"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#9bc55a4ba309cff64dcf0192358842e73d40be46"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#02890d98efcafa549079a4191e6684e29a2a60f2"
dependencies = [
"morphorm",
"vizia_input",
@ -4585,7 +4684,7 @@ dependencies = [
[[package]]
name = "vizia_winit"
version = "0.1.0"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#9bc55a4ba309cff64dcf0192358842e73d40be46"
source = "git+https://github.com/robbert-vdh/vizia.git?branch=patched#02890d98efcafa549079a4191e6684e29a2a60f2"
dependencies = [
"console_error_panic_hook",
"copypasta 0.8.1",
@ -5040,19 +5139,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc 0.42.0",
"windows_i686_gnu 0.42.0",
"windows_i686_msvc 0.42.0",
"windows_x86_64_gnu 0.42.0",
"windows_aarch64_msvc 0.42.1",
"windows_i686_gnu 0.42.1",
"windows_i686_msvc 0.42.1",
"windows_x86_64_gnu 0.42.1",
"windows_x86_64_gnullvm",
"windows_x86_64_msvc 0.42.0",
"windows_x86_64_msvc 0.42.1",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.42.0"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608"
[[package]]
name = "windows_aarch64_msvc"
@ -5074,9 +5173,9 @@ checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a"
[[package]]
name = "windows_aarch64_msvc"
version = "0.42.0"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7"
[[package]]
name = "windows_i686_gnu"
@ -5098,9 +5197,9 @@ checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1"
[[package]]
name = "windows_i686_gnu"
version = "0.42.0"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640"
[[package]]
name = "windows_i686_msvc"
@ -5122,9 +5221,9 @@ checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c"
[[package]]
name = "windows_i686_msvc"
version = "0.42.0"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605"
[[package]]
name = "windows_x86_64_gnu"
@ -5146,15 +5245,15 @@ checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d"
[[package]]
name = "windows_x86_64_gnu"
version = "0.42.0"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.42.0"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463"
[[package]]
name = "windows_x86_64_msvc"
@ -5176,9 +5275,9 @@ checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d"
[[package]]
name = "windows_x86_64_msvc"
version = "0.42.0"
version = "0.42.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
[[package]]
name = "winit"
@ -5340,6 +5439,18 @@ dependencies = [
"nih_plug_xtask",
]
[[package]]
name = "yazi"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c03b3e19c937b5b9bd8e52b1c88f30cce5c0d33d676cf174866175bb794ff658"
[[package]]
name = "zeno"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c110ba09c9b3a43edd4803d570df0da2414fed6e822e22b976a4e3ef50860701"
[[package]]
name = "zstd"
version = "0.11.2+zstd.1.5.2"
@ -5361,10 +5472,11 @@ dependencies = [
[[package]]
name = "zstd-sys"
version = "2.0.4+zstd.1.5.2"
version = "2.0.5+zstd.1.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4fa202f2ef00074143e219d15b62ffc317d17cc33909feac471c044087cad7b0"
checksum = "edc50ffce891ad571e9f9afe5039c4837bede781ac4bb13052ed7ae695518596"
dependencies = [
"cc",
"libc",
"pkg-config",
]

View file

@ -105,7 +105,7 @@ assert_no_alloc = { git = "https://github.com/robbert-vdh/rust-assert-no-alloc.g
# Used for the `standalone` feature
# NOTE: OpenGL support is not needed here, but rust-analyzer gets confused when
# some crates do use it and others don't
baseview = { git = "https://github.com/robbert-vdh/baseview.git", branch = "feature/resize", features = ["opengl"], optional = true }
baseview = { git = "https://github.com/RustAudio/baseview.git", rev = "7001c2521fa1a439a01967cb881b411cd75d9ee0", features = ["opengl"], optional = true }
# All the claps!
clap = { version = "3.2", features = ["derive"], optional = true }
cpal = { version = "0.14.1", optional = true }

View file

@ -11,10 +11,11 @@ description = "An adapter to use VIZIA GUIs with NIH-plug"
nih_plug = { path = ".." }
nih_plug_assets = { git = "https://github.com/robbert-vdh/nih_plug_assets.git" }
baseview = { git = "https://github.com/robbert-vdh/baseview.git", branch = "feature/resize" }
baseview = { git = "https://github.com/RustAudio/baseview.git", rev = "7001c2521fa1a439a01967cb881b411cd75d9ee0" }
crossbeam = "0.8"
# To make the state persistable
serde = { version = "1.0", features = ["derive"] }
# This fork contains changed for better keyboard modifier handling and DPI
# scaling, window scaling, and a lot more fixes and improvements
# This fork contains some additional patches on top of Vizia to make it more
# suitable for use in NIH-plug. The set of patches constantly changes as things
# are merged into upstream Vizia.
vizia = { git = "https://github.com/robbert-vdh/vizia.git", branch = "patched", default_features = false, features = ["baseview", "clipboard", "x11"] }

View file

@ -32,26 +32,26 @@ pub const NOTO_SANS_BOLD: &str = "Noto Sans Bold";
pub const NOTO_SANS_BOLD_ITALIC: &str = "Noto Sans Bold Italic";
pub fn register_noto_sans_regular(cx: &mut Context) {
cx.add_font_mem(NOTO_SANS_REGULAR, fonts::NOTO_SANS_REGULAR);
cx.add_fonts_mem(&[fonts::NOTO_SANS_REGULAR]);
}
pub fn register_noto_sans_regular_italic(cx: &mut Context) {
cx.add_font_mem(NOTO_SANS_REGULAR_ITALIC, fonts::NOTO_SANS_REGULAR_ITALIC);
cx.add_fonts_mem(&[fonts::NOTO_SANS_REGULAR_ITALIC]);
}
pub fn register_noto_sans_thin(cx: &mut Context) {
cx.add_font_mem(NOTO_SANS_THIN, fonts::NOTO_SANS_THIN);
cx.add_fonts_mem(&[fonts::NOTO_SANS_THIN]);
}
pub fn register_noto_sans_thin_italic(cx: &mut Context) {
cx.add_font_mem(NOTO_SANS_THIN_ITALIC, fonts::NOTO_SANS_THIN_ITALIC);
cx.add_fonts_mem(&[fonts::NOTO_SANS_THIN_ITALIC]);
}
pub fn register_noto_sans_light(cx: &mut Context) {
cx.add_font_mem(NOTO_SANS_LIGHT, fonts::NOTO_SANS_LIGHT);
cx.add_fonts_mem(&[fonts::NOTO_SANS_LIGHT]);
}
pub fn register_noto_sans_light_italic(cx: &mut Context) {
cx.add_font_mem(NOTO_SANS_LIGHT_ITALIC, fonts::NOTO_SANS_LIGHT_ITALIC);
cx.add_fonts_mem(&[fonts::NOTO_SANS_LIGHT_ITALIC]);
}
pub fn register_noto_sans_bold(cx: &mut Context) {
cx.add_font_mem(NOTO_SANS_BOLD, fonts::NOTO_SANS_BOLD);
cx.add_fonts_mem(&[fonts::NOTO_SANS_BOLD]);
}
pub fn register_noto_sans_bold_italic(cx: &mut Context) {
cx.add_font_mem(NOTO_SANS_BOLD_ITALIC, fonts::NOTO_SANS_BOLD_ITALIC);
cx.add_fonts_mem(&[fonts::NOTO_SANS_BOLD_ITALIC]);
}

View file

@ -49,7 +49,7 @@ impl Editor for ViziaEditor {
if theming >= ViziaTheming::Custom {
// NOTE: vizia's font rendering looks way too dark and thick. Going one font weight
// lower seems to compensate for this.
cx.set_default_font(assets::NOTO_SANS_LIGHT);
cx.set_default_font(&[assets::NOTO_SANS_LIGHT]);
cx.add_theme(include_str!("../assets/theme.css"));
// There doesn't seem to be any way to bundle styles with a widget, so we'll always

View file

@ -8,38 +8,38 @@ pub use vizia::fonts;
/// The font name for the Roboto (Regular) font, needs to be registered using [`register_roboto()`]
/// first.
pub const ROBOTO: &str = "roboto";
pub const ROBOTO: &str = "Roboto";
/// The font name for the Roboto Bold font, needs to be registered using [`register_roboto_bold()`]
/// first.
pub const ROBOTO_BOLD: &str = "roboto-bold";
pub const ROBOTO_BOLD: &str = "Roboto Bold";
/// The font name for the icon font (Entypo), needs to be registered using [`register_icons()`]
/// first.
pub const ICONS: &str = "icons";
pub const ICONS: &str = "Entypo";
/// The font name for the emoji font (Open Sans Eomji), needs to be registered using
/// [`register_emoji()`] first.
pub const EMOJI: &str = "emoji";
pub const EMOJI: &str = "OpenSansEmoji";
/// The font name for the arabic font (Amiri Regular), needs to be registered using
/// [`register_arabic()`] first.
pub const ARABIC: &str = "arabic";
pub const ARABIC: &str = "Amiri";
/// The font name for the material font (Material Icons), needs to be registered using
/// [`register_material()`] first.
pub const MATERIAL: &str = "material";
pub const MATERIAL: &str = "Material Icons";
pub fn register_roboto(cx: &mut Context) {
cx.add_font_mem(ROBOTO, fonts::ROBOTO_REGULAR);
cx.add_fonts_mem(&[fonts::ROBOTO_REGULAR]);
}
pub fn register_roboto_bold(cx: &mut Context) {
cx.add_font_mem(ROBOTO_BOLD, fonts::ROBOTO_BOLD);
cx.add_fonts_mem(&[fonts::ROBOTO_BOLD]);
}
pub fn register_icons(cx: &mut Context) {
cx.add_font_mem(ICONS, fonts::ENTYPO);
cx.add_fonts_mem(&[fonts::ENTYPO]);
}
pub fn register_emoji(cx: &mut Context) {
cx.add_font_mem(EMOJI, fonts::OPEN_SANS_EMOJI);
cx.add_fonts_mem(&[fonts::OPEN_SANS_EMOJI]);
}
pub fn register_arabic(cx: &mut Context) {
cx.add_font_mem(ARABIC, fonts::AMIRI_REGULAR);
cx.add_fonts_mem(&[fonts::AMIRI_REGULAR]);
}
pub fn register_material(cx: &mut Context) {
cx.add_font_mem(MATERIAL, fonts::MATERIAL_ICONS_REGULAR);
cx.add_fonts_mem(&[fonts::MATERIAL_ICONS_REGULAR]);
}

View file

@ -102,7 +102,7 @@ impl Model for WindowModel {
fn event(&mut self, cx: &mut EventContext, event: &mut Event) {
// This gets fired whenever the inner window gets resized
event.map(|window_event, _| {
if let WindowEvent::WindowResize = window_event {
if let WindowEvent::GeometryChanged { .. } = window_event {
let logical_size = (cx.window_size().width, cx.window_size().height);
let old_logical_size @ (old_logical_width, old_logical_height) =
self.vizia_state.size.load();

View file

@ -51,7 +51,9 @@ pub(crate) fn create(
VStack::new(cx, |cx| {
Label::new(cx, "Crisp")
.font(assets::NOTO_SANS_THIN)
.font_family(vec![FamilyOwned::Name(String::from(
assets::NOTO_SANS_THIN,
))])
.font_size(30.0)
.height(Pixels(50.0))
.child_top(Stretch(1.0))

View file

@ -86,7 +86,9 @@ pub(crate) fn create(editor_data: Data, editor_state: Arc<ViziaState>) -> Option
fn top_bar(cx: &mut Context) {
HStack::new(cx, |cx| {
Label::new(cx, "Diopser")
.font(assets::NOTO_SANS_THIN)
.font_family(vec![FamilyOwned::Name(String::from(
assets::NOTO_SANS_THIN,
))])
.font_size(37.0)
.top(Pixels(-2.0))
.left(Pixels(8.0))

View file

@ -4,7 +4,7 @@ use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;
use nih_plug::prelude::Param;
use nih_plug_vizia::vizia::prelude::EventContext;
use nih_plug_vizia::vizia::prelude::*;
use nih_plug_vizia::widgets::ParamEvent;
use crate::params::{self, DiopserParams};

View file

@ -41,7 +41,9 @@ pub(crate) fn create(
VStack::new(cx, |cx| {
Label::new(cx, "Gain GUI")
.font(assets::NOTO_SANS_THIN)
.font_family(vec![FamilyOwned::Name(String::from(
assets::NOTO_SANS_THIN,
))])
.font_size(30.0)
.height(Pixels(50.0))
.child_top(Stretch(1.0))

View file

@ -56,7 +56,9 @@ pub(crate) fn create(
VStack::new(cx, |cx| {
Label::new(cx, "Spectral Compressor")
.font(assets::NOTO_SANS_THIN)
.font_family(vec![FamilyOwned::Name(String::from(
assets::NOTO_SANS_THIN,
))])
.font_size(30.0)
.height(Pixels(50.0))
.child_top(Stretch(1.0))

View file

@ -103,6 +103,8 @@ pub fn setup_logger() {
let logger_config = simplelog::ConfigBuilder::new()
.set_thread_mode(simplelog::ThreadLogMode::Both)
.set_location_level(simplelog::LevelFilter::Debug)
.add_filter_ignore_str("cosmic_text::buffer")
.add_filter_ignore_str("cosmic_text::shape")
.build();
let init_stderr_logger = || {
simplelog::TermLogger::init(