[READ-ONLY] Mirror of https://github.com/probablykasper/mr-tagger. Music file tagging app for Mac, Linux and Windows
audio linux macos music tagger tauri windows
0

Configure Feed

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

Add opus support

Kasper (Feb 9, 2023, 4:59 AM +0100) 4ec690cf fc8466fa

+805 -634
+3
CHANGELOG.md
··· 1 1 # Changelog 2 2 3 + ## Next 4 + - Add Opus support 5 + 3 6 ## 0.1.6 - 2021 Dec 14 4 7 - Fix BPM not showing 5 8
+4
README.md
··· 13 13 - aiff 14 14 - mp3 15 15 - m4a / mp4 / m4p / m4b / m4r / m4v 16 + - opus 16 17 - wav 17 18 18 19 ![Screenshot](assets/screenshot.png) ··· 25 26 2. Install Rust 26 27 3. Follow the [Tauri setup guide](https://tauri.studio/en/docs/getting-started/intro) 27 28 4. Run `npm install` 29 + 30 + ### Useful resources 31 + - https://picard-docs.musicbrainz.org/en/appendices/tag_mapping.html 28 32 29 33 ### Commands 30 34 - `npm run dev`: Start app in dev mode
+611 -610
src-tauri/Cargo.lock
··· 4 4 5 5 [[package]] 6 6 name = "addr2line" 7 - version = "0.17.0" 7 + version = "0.19.0" 8 8 source = "registry+https://github.com/rust-lang/crates.io-index" 9 - checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" 9 + checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" 10 10 dependencies = [ 11 11 "gimli", 12 12 ] ··· 16 16 version = "1.0.2" 17 17 source = "registry+https://github.com/rust-lang/crates.io-index" 18 18 checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" 19 - 20 - [[package]] 21 - name = "adler32" 22 - version = "1.2.0" 23 - source = "registry+https://github.com/rust-lang/crates.io-index" 24 - checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" 25 19 26 20 [[package]] 27 21 name = "aho-corasick" 28 - version = "0.7.18" 22 + version = "0.7.20" 29 23 source = "registry+https://github.com/rust-lang/crates.io-index" 30 - checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" 24 + checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" 31 25 dependencies = [ 32 26 "memchr", 33 27 ] 34 28 35 29 [[package]] 36 30 name = "alloc-no-stdlib" 37 - version = "2.0.3" 31 + version = "2.0.4" 38 32 source = "registry+https://github.com/rust-lang/crates.io-index" 39 - checksum = "35ef4730490ad1c4eae5c4325b2a95f521d023e5c885853ff7aca0a6a1631db3" 33 + checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" 40 34 41 35 [[package]] 42 36 name = "alloc-stdlib" 43 - version = "0.2.1" 37 + version = "0.2.2" 44 38 source = "registry+https://github.com/rust-lang/crates.io-index" 45 - checksum = "697ed7edc0f1711de49ce108c541623a0af97c6c60b2f6e2b65229847ac843c2" 39 + checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" 46 40 dependencies = [ 47 41 "alloc-no-stdlib", 48 42 ] 49 43 50 44 [[package]] 51 - name = "ansi_term" 52 - version = "0.12.1" 53 - source = "registry+https://github.com/rust-lang/crates.io-index" 54 - checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" 55 - dependencies = [ 56 - "winapi", 57 - ] 58 - 59 - [[package]] 60 45 name = "anyhow" 61 - version = "1.0.57" 46 + version = "1.0.69" 62 47 source = "registry+https://github.com/rust-lang/crates.io-index" 63 - checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" 48 + checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" 64 49 65 50 [[package]] 66 51 name = "atk" ··· 83 68 "glib-sys", 84 69 "gobject-sys", 85 70 "libc", 86 - "system-deps 6.0.2", 71 + "system-deps 6.0.3", 87 72 ] 88 73 89 74 [[package]] ··· 94 79 95 80 [[package]] 96 81 name = "backtrace" 97 - version = "0.3.65" 82 + version = "0.3.67" 98 83 source = "registry+https://github.com/rust-lang/crates.io-index" 99 - checksum = "11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61" 84 + checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" 100 85 dependencies = [ 101 86 "addr2line", 102 87 "cc", ··· 109 94 110 95 [[package]] 111 96 name = "base64" 112 - version = "0.13.0" 97 + version = "0.13.1" 98 + source = "registry+https://github.com/rust-lang/crates.io-index" 99 + checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 100 + 101 + [[package]] 102 + name = "base64" 103 + version = "0.20.0" 104 + source = "registry+https://github.com/rust-lang/crates.io-index" 105 + checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5" 106 + 107 + [[package]] 108 + name = "base64" 109 + version = "0.21.0" 113 110 source = "registry+https://github.com/rust-lang/crates.io-index" 114 - checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" 111 + checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" 115 112 116 113 [[package]] 117 114 name = "bitflags" ··· 127 124 128 125 [[package]] 129 126 name = "block-buffer" 130 - version = "0.10.2" 127 + version = "0.10.3" 131 128 source = "registry+https://github.com/rust-lang/crates.io-index" 132 - checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" 129 + checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" 133 130 dependencies = [ 134 131 "generic-array", 135 132 ] ··· 147 144 148 145 [[package]] 149 146 name = "brotli-decompressor" 150 - version = "2.3.2" 147 + version = "2.3.4" 151 148 source = "registry+https://github.com/rust-lang/crates.io-index" 152 - checksum = "59ad2d4653bf5ca36ae797b1f4bb4dbddb60ce49ca4aed8a2ce4829f60425b80" 149 + checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" 153 150 dependencies = [ 154 151 "alloc-no-stdlib", 155 152 "alloc-stdlib", ··· 157 154 158 155 [[package]] 159 156 name = "bstr" 160 - version = "0.2.17" 157 + version = "1.2.0" 161 158 source = "registry+https://github.com/rust-lang/crates.io-index" 162 - checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" 159 + checksum = "b7f0778972c64420fdedc63f09919c8a88bda7b25135357fd25a5d9f3257e832" 163 160 dependencies = [ 164 161 "memchr", 162 + "serde", 165 163 ] 166 164 167 165 [[package]] 168 166 name = "bumpalo" 169 - version = "3.9.1" 167 + version = "3.12.0" 170 168 source = "registry+https://github.com/rust-lang/crates.io-index" 171 - checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" 169 + checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" 172 170 173 171 [[package]] 174 172 name = "bytemuck" 175 - version = "1.10.0" 173 + version = "1.13.0" 176 174 source = "registry+https://github.com/rust-lang/crates.io-index" 177 - checksum = "c53dfa917ec274df8ed3c572698f381a24eef2efba9492d797301b72b6db408a" 175 + checksum = "c041d3eab048880cb0b86b256447da3f18859a163c3b8d8893f4e6368abe6393" 178 176 179 177 [[package]] 180 178 name = "byteorder" ··· 184 182 185 183 [[package]] 186 184 name = "bytes" 187 - version = "1.1.0" 185 + version = "1.4.0" 188 186 source = "registry+https://github.com/rust-lang/crates.io-index" 189 - checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" 187 + checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" 190 188 191 189 [[package]] 192 190 name = "cairo-rs" 193 - version = "0.15.11" 191 + version = "0.15.12" 194 192 source = "registry+https://github.com/rust-lang/crates.io-index" 195 - checksum = "62be3562254e90c1c6050a72aa638f6315593e98c5cdaba9017cedbabf0a5dee" 193 + checksum = "c76ee391b03d35510d9fa917357c7f1855bd9a6659c95a1b392e33f49b3369bc" 196 194 dependencies = [ 197 195 "bitflags", 198 196 "cairo-sys-rs", ··· 209 207 dependencies = [ 210 208 "glib-sys", 211 209 "libc", 212 - "system-deps 6.0.2", 210 + "system-deps 6.0.3", 213 211 ] 214 212 215 213 [[package]] 216 214 name = "cargo_toml" 217 - version = "0.11.5" 215 + version = "0.13.3" 218 216 source = "registry+https://github.com/rust-lang/crates.io-index" 219 - checksum = "5809dd3e6444651fd1cdd3dbec71eca438c439a0fcc8081674a14da0afe50185" 217 + checksum = "497049e9477329f8f6a559972ee42e117487d01d1e8c2cc9f836ea6fa23a9e1a" 220 218 dependencies = [ 221 219 "serde", 222 - "serde_derive", 223 220 "toml", 224 221 ] 225 222 226 223 [[package]] 227 224 name = "cc" 228 - version = "1.0.73" 225 + version = "1.0.79" 229 226 source = "registry+https://github.com/rust-lang/crates.io-index" 230 - checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" 227 + checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 231 228 232 229 [[package]] 233 230 name = "cesu8" ··· 256 253 257 254 [[package]] 258 255 name = "cfg-expr" 259 - version = "0.10.3" 256 + version = "0.11.0" 260 257 source = "registry+https://github.com/rust-lang/crates.io-index" 261 - checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" 258 + checksum = "b0357a6402b295ca3a86bc148e84df46c02e41f41fef186bda662557ef6328aa" 262 259 dependencies = [ 263 260 "smallvec", 264 261 ] ··· 271 268 272 269 [[package]] 273 270 name = "cocoa" 274 - version = "0.24.0" 271 + version = "0.24.1" 275 272 source = "registry+https://github.com/rust-lang/crates.io-index" 276 - checksum = "6f63902e9223530efb4e26ccd0cf55ec30d592d3b42e21a28defc42a9586e832" 273 + checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" 277 274 dependencies = [ 278 275 "bitflags", 279 276 "block", ··· 308 305 309 306 [[package]] 310 307 name = "combine" 311 - version = "4.6.4" 308 + version = "4.6.6" 312 309 source = "registry+https://github.com/rust-lang/crates.io-index" 313 - checksum = "2a604e93b79d1808327a6fca85a6f2d69de66461e7620f5a4cbf5fb4d1d7c948" 310 + checksum = "35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4" 314 311 dependencies = [ 315 312 "bytes", 316 313 "memchr", ··· 365 362 366 363 [[package]] 367 364 name = "cpufeatures" 368 - version = "0.2.2" 365 + version = "0.2.5" 369 366 source = "registry+https://github.com/rust-lang/crates.io-index" 370 - checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" 367 + checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" 371 368 dependencies = [ 372 369 "libc", 373 370 ] ··· 383 380 384 381 [[package]] 385 382 name = "crossbeam-channel" 386 - version = "0.5.4" 383 + version = "0.5.6" 387 384 source = "registry+https://github.com/rust-lang/crates.io-index" 388 - checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" 385 + checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" 389 386 dependencies = [ 390 387 "cfg-if", 391 388 "crossbeam-utils", ··· 393 390 394 391 [[package]] 395 392 name = "crossbeam-utils" 396 - version = "0.8.8" 393 + version = "0.8.14" 397 394 source = "registry+https://github.com/rust-lang/crates.io-index" 398 - checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" 395 + checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" 399 396 dependencies = [ 400 397 "cfg-if", 401 - "lazy_static", 402 398 ] 403 399 404 400 [[package]] 405 401 name = "crypto-common" 406 - version = "0.1.3" 402 + version = "0.1.6" 407 403 source = "registry+https://github.com/rust-lang/crates.io-index" 408 - checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" 404 + checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" 409 405 dependencies = [ 410 406 "generic-array", 411 407 "typenum", ··· 440 436 441 437 [[package]] 442 438 name = "ctor" 443 - version = "0.1.22" 439 + version = "0.1.26" 444 440 source = "registry+https://github.com/rust-lang/crates.io-index" 445 - checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c" 441 + checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" 446 442 dependencies = [ 447 443 "quote", 448 444 "syn", ··· 490 486 ] 491 487 492 488 [[package]] 493 - name = "deflate" 494 - version = "0.7.20" 495 - source = "registry+https://github.com/rust-lang/crates.io-index" 496 - checksum = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4" 497 - dependencies = [ 498 - "adler32", 499 - "byteorder", 500 - ] 501 - 502 - [[package]] 503 - name = "deflate" 504 - version = "1.0.0" 505 - source = "registry+https://github.com/rust-lang/crates.io-index" 506 - checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f" 507 - dependencies = [ 508 - "adler32", 509 - ] 510 - 511 - [[package]] 512 489 name = "derive_more" 513 490 version = "0.99.17" 514 491 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 523 500 524 501 [[package]] 525 502 name = "digest" 526 - version = "0.10.3" 503 + version = "0.10.6" 527 504 source = "registry+https://github.com/rust-lang/crates.io-index" 528 - checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" 505 + checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" 529 506 dependencies = [ 530 507 "block-buffer", 531 508 "crypto-common", ··· 574 551 ] 575 552 576 553 [[package]] 577 - name = "embed-resource" 578 - version = "1.7.2" 554 + name = "dunce" 555 + version = "1.0.3" 579 556 source = "registry+https://github.com/rust-lang/crates.io-index" 580 - checksum = "ecc24ff8d764818e9ab17963b0593c535f077a513f565e75e4352d758bc4d8c0" 581 - dependencies = [ 582 - "cc", 583 - "rustc_version 0.4.0", 584 - "toml", 585 - "vswhom", 586 - "winreg", 587 - ] 557 + checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c" 588 558 589 559 [[package]] 590 560 name = "embed_plist" ··· 593 563 checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" 594 564 595 565 [[package]] 566 + name = "encoding_rs" 567 + version = "0.8.32" 568 + source = "registry+https://github.com/rust-lang/crates.io-index" 569 + checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" 570 + dependencies = [ 571 + "cfg-if", 572 + ] 573 + 574 + [[package]] 596 575 name = "fastrand" 597 - version = "1.7.0" 576 + version = "1.8.0" 598 577 source = "registry+https://github.com/rust-lang/crates.io-index" 599 - checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" 578 + checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" 600 579 dependencies = [ 601 580 "instant", 602 581 ] ··· 613 592 614 593 [[package]] 615 594 name = "filetime" 616 - version = "0.2.16" 595 + version = "0.2.19" 617 596 source = "registry+https://github.com/rust-lang/crates.io-index" 618 - checksum = "c0408e2626025178a6a7f7ffc05a25bc47103229f19c113755de7bf63816290c" 597 + checksum = "4e884668cd0c7480504233e951174ddc3b382f7c2666e3b7310b5c4e7b0c37f9" 619 598 dependencies = [ 620 599 "cfg-if", 621 600 "libc", 622 601 "redox_syscall", 623 - "winapi", 602 + "windows-sys 0.42.0", 624 603 ] 625 604 626 605 [[package]] 627 606 name = "flate2" 628 - version = "1.0.23" 607 + version = "1.0.25" 629 608 source = "registry+https://github.com/rust-lang/crates.io-index" 630 - checksum = "b39522e96686d38f4bc984b9198e3a0613264abaebaff2c5c918bfa6b6da09af" 609 + checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" 631 610 dependencies = [ 632 - "cfg-if", 633 611 "crc32fast", 634 - "libc", 635 612 "miniz_oxide", 636 613 ] 637 614 ··· 658 635 659 636 [[package]] 660 637 name = "form_urlencoded" 661 - version = "1.0.1" 638 + version = "1.1.0" 662 639 source = "registry+https://github.com/rust-lang/crates.io-index" 663 - checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" 640 + checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" 664 641 dependencies = [ 665 - "matches", 666 642 "percent-encoding", 667 643 ] 668 644 ··· 674 650 dependencies = [ 675 651 "mac", 676 652 "new_debug_unreachable", 677 - ] 678 - 679 - [[package]] 680 - name = "futures" 681 - version = "0.3.21" 682 - source = "registry+https://github.com/rust-lang/crates.io-index" 683 - checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e" 684 - dependencies = [ 685 - "futures-channel", 686 - "futures-core", 687 - "futures-executor", 688 - "futures-io", 689 - "futures-sink", 690 - "futures-task", 691 - "futures-util", 692 653 ] 693 654 694 655 [[package]] 695 656 name = "futures-channel" 696 - version = "0.3.21" 657 + version = "0.3.26" 697 658 source = "registry+https://github.com/rust-lang/crates.io-index" 698 - checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" 659 + checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" 699 660 dependencies = [ 700 661 "futures-core", 701 - "futures-sink", 702 662 ] 703 663 704 664 [[package]] 705 665 name = "futures-core" 706 - version = "0.3.21" 666 + version = "0.3.26" 707 667 source = "registry+https://github.com/rust-lang/crates.io-index" 708 - checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" 668 + checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" 709 669 710 670 [[package]] 711 671 name = "futures-executor" 712 - version = "0.3.21" 672 + version = "0.3.26" 713 673 source = "registry+https://github.com/rust-lang/crates.io-index" 714 - checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6" 674 + checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" 715 675 dependencies = [ 716 676 "futures-core", 717 677 "futures-task", ··· 720 680 721 681 [[package]] 722 682 name = "futures-io" 723 - version = "0.3.21" 683 + version = "0.3.26" 724 684 source = "registry+https://github.com/rust-lang/crates.io-index" 725 - checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" 726 - 727 - [[package]] 728 - name = "futures-lite" 729 - version = "1.12.0" 730 - source = "registry+https://github.com/rust-lang/crates.io-index" 731 - checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" 732 - dependencies = [ 733 - "fastrand", 734 - "futures-core", 735 - "futures-io", 736 - "memchr", 737 - "parking", 738 - "pin-project-lite", 739 - "waker-fn", 740 - ] 685 + checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" 741 686 742 687 [[package]] 743 688 name = "futures-macro" 744 - version = "0.3.21" 689 + version = "0.3.26" 745 690 source = "registry+https://github.com/rust-lang/crates.io-index" 746 - checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" 691 + checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" 747 692 dependencies = [ 748 693 "proc-macro2", 749 694 "quote", ··· 751 696 ] 752 697 753 698 [[package]] 754 - name = "futures-sink" 755 - version = "0.3.21" 756 - source = "registry+https://github.com/rust-lang/crates.io-index" 757 - checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" 758 - 759 - [[package]] 760 699 name = "futures-task" 761 - version = "0.3.21" 700 + version = "0.3.26" 762 701 source = "registry+https://github.com/rust-lang/crates.io-index" 763 - checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" 702 + checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" 764 703 765 704 [[package]] 766 705 name = "futures-util" 767 - version = "0.3.21" 706 + version = "0.3.26" 768 707 source = "registry+https://github.com/rust-lang/crates.io-index" 769 - checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" 708 + checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" 770 709 dependencies = [ 771 - "futures-channel", 772 710 "futures-core", 773 - "futures-io", 774 711 "futures-macro", 775 - "futures-sink", 776 712 "futures-task", 777 - "memchr", 778 713 "pin-project-lite", 779 714 "pin-utils", 780 715 "slab", ··· 828 763 "glib-sys", 829 764 "gobject-sys", 830 765 "libc", 831 - "system-deps 6.0.2", 766 + "system-deps 6.0.3", 832 767 ] 833 768 834 769 [[package]] ··· 845 780 "libc", 846 781 "pango-sys", 847 782 "pkg-config", 848 - "system-deps 6.0.2", 783 + "system-deps 6.0.3", 849 784 ] 850 785 851 786 [[package]] ··· 857 792 "gdk-sys", 858 793 "glib-sys", 859 794 "libc", 860 - "system-deps 6.0.2", 795 + "system-deps 6.0.3", 861 796 "x11", 862 797 ] 863 798 864 799 [[package]] 865 800 name = "generator" 866 - version = "0.7.0" 801 + version = "0.7.2" 867 802 source = "registry+https://github.com/rust-lang/crates.io-index" 868 - checksum = "c1d9279ca822891c1a4dae06d185612cf8fc6acfe5dff37781b41297811b12ee" 803 + checksum = "d266041a359dfa931b370ef684cceb84b166beb14f7f0421f4a6a3d0c446d12e" 869 804 dependencies = [ 870 805 "cc", 871 806 "libc", 872 807 "log", 873 808 "rustversion", 874 - "winapi", 809 + "windows 0.39.0", 875 810 ] 876 811 877 812 [[package]] 878 813 name = "generic-array" 879 - version = "0.14.5" 814 + version = "0.14.6" 880 815 source = "registry+https://github.com/rust-lang/crates.io-index" 881 - checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" 816 + checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" 882 817 dependencies = [ 883 818 "typenum", 884 819 "version_check", ··· 897 832 898 833 [[package]] 899 834 name = "getrandom" 900 - version = "0.2.6" 835 + version = "0.2.8" 901 836 source = "registry+https://github.com/rust-lang/crates.io-index" 902 - checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" 837 + checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" 903 838 dependencies = [ 904 839 "cfg-if", 905 840 "libc", 906 - "wasi 0.10.2+wasi-snapshot-preview1", 841 + "wasi 0.11.0+wasi-snapshot-preview1", 907 842 ] 908 843 909 844 [[package]] 910 845 name = "gimli" 911 - version = "0.26.1" 846 + version = "0.27.1" 912 847 source = "registry+https://github.com/rust-lang/crates.io-index" 913 - checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" 848 + checksum = "221996f774192f0f718773def8201c4ae31f02616a54ccfc2d358bb0e5cefdec" 914 849 915 850 [[package]] 916 851 name = "gio" 917 - version = "0.15.11" 852 + version = "0.15.12" 918 853 source = "registry+https://github.com/rust-lang/crates.io-index" 919 - checksum = "0f132be35e05d9662b9fa0fee3f349c6621f7782e0105917f4cc73c1bf47eceb" 854 + checksum = "68fdbc90312d462781a395f7a16d96a2b379bb6ef8cd6310a2df272771c4283b" 920 855 dependencies = [ 921 856 "bitflags", 922 857 "futures-channel", ··· 938 873 "glib-sys", 939 874 "gobject-sys", 940 875 "libc", 941 - "system-deps 6.0.2", 876 + "system-deps 6.0.3", 942 877 "winapi", 943 878 ] 944 879 945 880 [[package]] 946 881 name = "glib" 947 - version = "0.15.11" 882 + version = "0.15.12" 948 883 source = "registry+https://github.com/rust-lang/crates.io-index" 949 - checksum = "bd124026a2fa8c33a3d17a3fe59c103f2d9fa5bd92c19e029e037736729abeab" 884 + checksum = "edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d" 950 885 dependencies = [ 951 886 "bitflags", 952 887 "futures-channel", ··· 969 904 checksum = "25a68131a662b04931e71891fb14aaf65ee4b44d08e8abc10f49e77418c86c64" 970 905 dependencies = [ 971 906 "anyhow", 972 - "heck 0.4.0", 907 + "heck 0.4.1", 973 908 "proc-macro-crate", 974 909 "proc-macro-error", 975 910 "proc-macro2", ··· 984 919 checksum = "ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4" 985 920 dependencies = [ 986 921 "libc", 987 - "system-deps 6.0.2", 922 + "system-deps 6.0.3", 988 923 ] 989 924 990 925 [[package]] 991 926 name = "glob" 992 - version = "0.3.0" 927 + version = "0.3.1" 993 928 source = "registry+https://github.com/rust-lang/crates.io-index" 994 - checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" 929 + checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" 995 930 996 931 [[package]] 997 932 name = "globset" 998 - version = "0.4.8" 933 + version = "0.4.10" 999 934 source = "registry+https://github.com/rust-lang/crates.io-index" 1000 - checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd" 935 + checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" 1001 936 dependencies = [ 1002 937 "aho-corasick", 1003 938 "bstr", ··· 1014 949 dependencies = [ 1015 950 "glib-sys", 1016 951 "libc", 1017 - "system-deps 6.0.2", 952 + "system-deps 6.0.3", 1018 953 ] 1019 954 1020 955 [[package]] ··· 1055 990 "gobject-sys", 1056 991 "libc", 1057 992 "pango-sys", 1058 - "system-deps 6.0.2", 993 + "system-deps 6.0.3", 1059 994 ] 1060 995 1061 996 [[package]] ··· 1074 1009 1075 1010 [[package]] 1076 1011 name = "hashbrown" 1077 - version = "0.12.1" 1012 + version = "0.12.3" 1078 1013 source = "registry+https://github.com/rust-lang/crates.io-index" 1079 - checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3" 1014 + checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" 1080 1015 1081 1016 [[package]] 1082 1017 name = "heck" ··· 1089 1024 1090 1025 [[package]] 1091 1026 name = "heck" 1092 - version = "0.4.0" 1027 + version = "0.4.1" 1093 1028 source = "registry+https://github.com/rust-lang/crates.io-index" 1094 - checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" 1029 + checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" 1095 1030 1096 1031 [[package]] 1097 1032 name = "hermit-abi" 1098 - version = "0.1.19" 1033 + version = "0.2.6" 1099 1034 source = "registry+https://github.com/rust-lang/crates.io-index" 1100 - checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 1035 + checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" 1101 1036 dependencies = [ 1102 1037 "libc", 1103 1038 ] ··· 1118 1053 1119 1054 [[package]] 1120 1055 name = "http" 1121 - version = "0.2.7" 1056 + version = "0.2.8" 1122 1057 source = "registry+https://github.com/rust-lang/crates.io-index" 1123 - checksum = "ff8670570af52249509a86f5e3e18a08c60b177071826898fde8997cf5f6bfbb" 1058 + checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" 1124 1059 dependencies = [ 1125 1060 "bytes", 1126 1061 "fnv", 1127 - "itoa 1.0.2", 1062 + "itoa 1.0.5", 1128 1063 ] 1129 1064 1130 1065 [[package]] ··· 1135 1070 1136 1071 [[package]] 1137 1072 name = "ico" 1138 - version = "0.1.0" 1073 + version = "0.2.0" 1139 1074 source = "registry+https://github.com/rust-lang/crates.io-index" 1140 - checksum = "6a4b3331534254a9b64095ae60d3dc2a8225a7a70229cd5888be127cdc1f6804" 1075 + checksum = "031530fe562d8c8d71c0635013d6d155bbfe8ba0aa4b4d2d24ce8af6b71047bd" 1141 1076 dependencies = [ 1142 1077 "byteorder", 1143 - "png 0.11.0", 1078 + "png", 1144 1079 ] 1145 1080 1146 1081 [[package]] 1147 1082 name = "id3" 1148 - version = "1.2.0" 1083 + version = "1.6.0" 1149 1084 source = "registry+https://github.com/rust-lang/crates.io-index" 1150 - checksum = "58f8809c6e2845c0388438f2c6000ca41eaed5cae8f3183c5449594238cde52e" 1085 + checksum = "19d7a833474b30425eb64132d1f9b727b4e39537418bcc3288497c8d2f5c8948" 1151 1086 dependencies = [ 1152 1087 "bitflags", 1153 1088 "byteorder", ··· 1162 1097 1163 1098 [[package]] 1164 1099 name = "idna" 1165 - version = "0.2.3" 1100 + version = "0.3.0" 1166 1101 source = "registry+https://github.com/rust-lang/crates.io-index" 1167 - checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" 1102 + checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" 1168 1103 dependencies = [ 1169 - "matches", 1170 1104 "unicode-bidi", 1171 1105 "unicode-normalization", 1172 1106 ] ··· 1191 1125 1192 1126 [[package]] 1193 1127 name = "image" 1194 - version = "0.24.2" 1128 + version = "0.24.5" 1195 1129 source = "registry+https://github.com/rust-lang/crates.io-index" 1196 - checksum = "28edd9d7bc256be2502e325ac0628bde30b7001b9b52e0abe31a1a9dc2701212" 1130 + checksum = "69b7ea949b537b0fd0af141fff8c77690f2ce96f4f41f042ccb6c69c6c965945" 1197 1131 dependencies = [ 1198 1132 "bytemuck", 1199 1133 "byteorder", 1200 1134 "color_quant", 1201 - "num-iter", 1202 1135 "num-rational", 1203 1136 "num-traits", 1204 1137 ] 1205 1138 1206 1139 [[package]] 1207 1140 name = "indexmap" 1208 - version = "1.9.1" 1141 + version = "1.9.2" 1209 1142 source = "registry+https://github.com/rust-lang/crates.io-index" 1210 - checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" 1143 + checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" 1211 1144 dependencies = [ 1212 1145 "autocfg", 1213 1146 "hashbrown", ··· 1223 1156 ] 1224 1157 1225 1158 [[package]] 1226 - name = "inflate" 1227 - version = "0.3.4" 1228 - source = "registry+https://github.com/rust-lang/crates.io-index" 1229 - checksum = "f5f9f47468e9a76a6452271efadc88fe865a82be91fe75e6c0c57b87ccea59d4" 1230 - dependencies = [ 1231 - "adler32", 1232 - ] 1233 - 1234 - [[package]] 1235 1159 name = "instant" 1236 1160 version = "0.1.12" 1237 1161 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1248 1172 1249 1173 [[package]] 1250 1174 name = "itoa" 1251 - version = "1.0.2" 1175 + version = "1.0.5" 1252 1176 source = "registry+https://github.com/rust-lang/crates.io-index" 1253 - checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" 1177 + checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" 1254 1178 1255 1179 [[package]] 1256 1180 name = "javascriptcore-rs" ··· 1277 1201 1278 1202 [[package]] 1279 1203 name = "jni" 1280 - version = "0.18.0" 1204 + version = "0.20.0" 1281 1205 source = "registry+https://github.com/rust-lang/crates.io-index" 1282 - checksum = "24967112a1e4301ca5342ea339763613a37592b8a6ce6cf2e4494537c7a42faf" 1283 - dependencies = [ 1284 - "cesu8", 1285 - "combine", 1286 - "jni-sys", 1287 - "log", 1288 - "thiserror", 1289 - "walkdir", 1290 - ] 1291 - 1292 - [[package]] 1293 - name = "jni" 1294 - version = "0.19.0" 1295 - source = "registry+https://github.com/rust-lang/crates.io-index" 1296 - checksum = "c6df18c2e3db7e453d3c6ac5b3e9d5182664d28788126d39b91f2d1e22b017ec" 1206 + checksum = "039022cdf4d7b1cf548d31f60ae783138e5fd42013f6271049d7df7afadef96c" 1297 1207 dependencies = [ 1298 1208 "cesu8", 1299 1209 "combine", ··· 1311 1221 1312 1222 [[package]] 1313 1223 name = "js-sys" 1314 - version = "0.3.57" 1224 + version = "0.3.61" 1315 1225 source = "registry+https://github.com/rust-lang/crates.io-index" 1316 - checksum = "671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397" 1226 + checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" 1317 1227 dependencies = [ 1318 1228 "wasm-bindgen", 1319 1229 ] 1320 1230 1321 1231 [[package]] 1322 1232 name = "json-patch" 1323 - version = "0.2.6" 1233 + version = "0.2.7" 1324 1234 source = "registry+https://github.com/rust-lang/crates.io-index" 1325 - checksum = "f995a3c8f2bc3dd52a18a583e90f9ec109c047fa1603a853e46bcda14d2e279d" 1235 + checksum = "eb3fa5a61630976fc4c353c70297f2e93f1930e3ccee574d59d618ccbd5154ce" 1326 1236 dependencies = [ 1327 1237 "serde", 1328 1238 "serde_json", ··· 1349 1259 1350 1260 [[package]] 1351 1261 name = "libc" 1352 - version = "0.2.126" 1262 + version = "0.2.139" 1353 1263 source = "registry+https://github.com/rust-lang/crates.io-index" 1354 - checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" 1264 + checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" 1355 1265 1356 1266 [[package]] 1357 1267 name = "line-wrap" ··· 1364 1274 1365 1275 [[package]] 1366 1276 name = "lock_api" 1367 - version = "0.4.7" 1277 + version = "0.4.9" 1368 1278 source = "registry+https://github.com/rust-lang/crates.io-index" 1369 - checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53" 1279 + checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" 1370 1280 dependencies = [ 1371 1281 "autocfg", 1372 1282 "scopeguard", 1373 1283 ] 1374 1284 1375 1285 [[package]] 1286 + name = "lofty" 1287 + version = "0.11.0" 1288 + source = "registry+https://github.com/rust-lang/crates.io-index" 1289 + checksum = "fed685b48b30ef8f5213a32422d08c80b765f954ad5b6f6b634f901e7844ca52" 1290 + dependencies = [ 1291 + "base64 0.21.0", 1292 + "byteorder", 1293 + "cfg-if", 1294 + "flate2", 1295 + "lofty_attr", 1296 + "log", 1297 + "ogg_pager", 1298 + "once_cell", 1299 + "paste", 1300 + ] 1301 + 1302 + [[package]] 1303 + name = "lofty_attr" 1304 + version = "0.6.0" 1305 + source = "registry+https://github.com/rust-lang/crates.io-index" 1306 + checksum = "336dfabb2fdfd932cebfcaa5d0fc57abac0d49f6ae9ddaa7c47a51bf9f74f966" 1307 + dependencies = [ 1308 + "proc-macro2", 1309 + "quote", 1310 + "syn", 1311 + ] 1312 + 1313 + [[package]] 1376 1314 name = "log" 1377 1315 version = "0.4.17" 1378 1316 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1436 1374 1437 1375 [[package]] 1438 1376 name = "matches" 1439 - version = "0.1.9" 1377 + version = "0.1.10" 1440 1378 source = "registry+https://github.com/rust-lang/crates.io-index" 1441 - checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" 1379 + checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" 1442 1380 1443 1381 [[package]] 1444 1382 name = "memchr" ··· 1457 1395 1458 1396 [[package]] 1459 1397 name = "miniz_oxide" 1460 - version = "0.5.1" 1398 + version = "0.6.2" 1461 1399 source = "registry+https://github.com/rust-lang/crates.io-index" 1462 - checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082" 1400 + checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" 1463 1401 dependencies = [ 1464 1402 "adler", 1465 1403 ] ··· 1485 1423 version = "0.1.6" 1486 1424 dependencies = [ 1487 1425 "backtrace", 1488 - "base64", 1426 + "base64 0.20.0", 1489 1427 "id3", 1428 + "lofty", 1490 1429 "mp4ameta", 1491 1430 "serde", 1492 1431 "serde_json", ··· 1535 1474 checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" 1536 1475 1537 1476 [[package]] 1538 - name = "num-integer" 1539 - version = "0.1.45" 1477 + name = "nom8" 1478 + version = "0.2.0" 1540 1479 source = "registry+https://github.com/rust-lang/crates.io-index" 1541 - checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 1480 + checksum = "ae01545c9c7fc4486ab7debaf2aad7003ac19431791868fb2e8066df97fad2f8" 1481 + dependencies = [ 1482 + "memchr", 1483 + ] 1484 + 1485 + [[package]] 1486 + name = "nu-ansi-term" 1487 + version = "0.46.0" 1488 + source = "registry+https://github.com/rust-lang/crates.io-index" 1489 + checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" 1542 1490 dependencies = [ 1543 - "autocfg", 1544 - "num-traits", 1491 + "overload", 1492 + "winapi", 1545 1493 ] 1546 1494 1547 1495 [[package]] 1548 - name = "num-iter" 1549 - version = "0.1.43" 1496 + name = "num-integer" 1497 + version = "0.1.45" 1550 1498 source = "registry+https://github.com/rust-lang/crates.io-index" 1551 - checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" 1499 + checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" 1552 1500 dependencies = [ 1553 1501 "autocfg", 1554 - "num-integer", 1555 1502 "num-traits", 1556 1503 ] 1557 1504 ··· 1577 1524 1578 1525 [[package]] 1579 1526 name = "num_cpus" 1580 - version = "1.13.1" 1527 + version = "1.15.0" 1581 1528 source = "registry+https://github.com/rust-lang/crates.io-index" 1582 - checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" 1529 + checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" 1583 1530 dependencies = [ 1584 1531 "hermit-abi", 1585 1532 "libc", ··· 1587 1534 1588 1535 [[package]] 1589 1536 name = "num_enum" 1590 - version = "0.5.7" 1537 + version = "0.5.9" 1591 1538 source = "registry+https://github.com/rust-lang/crates.io-index" 1592 - checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" 1539 + checksum = "8d829733185c1ca374f17e52b762f24f535ec625d2cc1f070e34c8a9068f341b" 1593 1540 dependencies = [ 1594 1541 "num_enum_derive", 1595 1542 ] 1596 1543 1597 1544 [[package]] 1598 1545 name = "num_enum_derive" 1599 - version = "0.5.7" 1546 + version = "0.5.9" 1600 1547 source = "registry+https://github.com/rust-lang/crates.io-index" 1601 - checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" 1548 + checksum = "2be1598bf1c313dcdd12092e3f1920f463462525a21b7b4e11b4168353d0123e" 1602 1549 dependencies = [ 1603 1550 "proc-macro-crate", 1604 1551 "proc-macro2", 1605 1552 "quote", 1606 1553 "syn", 1607 - ] 1608 - 1609 - [[package]] 1610 - name = "num_threads" 1611 - version = "0.1.6" 1612 - source = "registry+https://github.com/rust-lang/crates.io-index" 1613 - checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" 1614 - dependencies = [ 1615 - "libc", 1616 1554 ] 1617 1555 1618 1556 [[package]] ··· 1656 1594 1657 1595 [[package]] 1658 1596 name = "object" 1659 - version = "0.28.4" 1597 + version = "0.30.3" 1660 1598 source = "registry+https://github.com/rust-lang/crates.io-index" 1661 - checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424" 1599 + checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" 1662 1600 dependencies = [ 1663 1601 "memchr", 1664 1602 ] 1665 1603 1666 1604 [[package]] 1605 + name = "ogg_pager" 1606 + version = "0.5.0" 1607 + source = "registry+https://github.com/rust-lang/crates.io-index" 1608 + checksum = "0d218a406e5de88e1c492d0162d569916f7436efe851ba5cc40a4bf4fa97cb40" 1609 + dependencies = [ 1610 + "byteorder", 1611 + ] 1612 + 1613 + [[package]] 1667 1614 name = "once_cell" 1668 - version = "1.12.0" 1615 + version = "1.17.0" 1669 1616 source = "registry+https://github.com/rust-lang/crates.io-index" 1670 - checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" 1617 + checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" 1671 1618 1672 1619 [[package]] 1673 1620 name = "open" 1674 - version = "3.0.1" 1621 + version = "3.2.0" 1675 1622 source = "registry+https://github.com/rust-lang/crates.io-index" 1676 - checksum = "360bcc8316bf6363aa3954c3ccc4de8add167b087e0259190a043c9514f910fe" 1623 + checksum = "2078c0039e6a54a0c42c28faa984e115fb4c2d5bf2208f77d1961002df8576f8" 1677 1624 dependencies = [ 1678 1625 "pathdiff", 1679 - "windows-sys", 1626 + "windows-sys 0.42.0", 1680 1627 ] 1681 1628 1682 1629 [[package]] 1630 + name = "overload" 1631 + version = "0.1.1" 1632 + source = "registry+https://github.com/rust-lang/crates.io-index" 1633 + checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" 1634 + 1635 + [[package]] 1683 1636 name = "pango" 1684 1637 version = "0.15.10" 1685 1638 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1701 1654 "glib-sys", 1702 1655 "gobject-sys", 1703 1656 "libc", 1704 - "system-deps 6.0.2", 1705 - ] 1706 - 1707 - [[package]] 1708 - name = "parking" 1709 - version = "2.0.0" 1710 - source = "registry+https://github.com/rust-lang/crates.io-index" 1711 - checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" 1712 - 1713 - [[package]] 1714 - name = "parking_lot" 1715 - version = "0.11.2" 1716 - source = "registry+https://github.com/rust-lang/crates.io-index" 1717 - checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" 1718 - dependencies = [ 1719 - "instant", 1720 - "lock_api", 1721 - "parking_lot_core 0.8.5", 1657 + "system-deps 6.0.3", 1722 1658 ] 1723 1659 1724 1660 [[package]] 1725 1661 name = "parking_lot" 1726 - version = "0.12.0" 1662 + version = "0.12.1" 1727 1663 source = "registry+https://github.com/rust-lang/crates.io-index" 1728 - checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" 1664 + checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" 1729 1665 dependencies = [ 1730 1666 "lock_api", 1731 - "parking_lot_core 0.9.3", 1732 - ] 1733 - 1734 - [[package]] 1735 - name = "parking_lot_core" 1736 - version = "0.8.5" 1737 - source = "registry+https://github.com/rust-lang/crates.io-index" 1738 - checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" 1739 - dependencies = [ 1740 - "cfg-if", 1741 - "instant", 1742 - "libc", 1743 - "redox_syscall", 1744 - "smallvec", 1745 - "winapi", 1667 + "parking_lot_core", 1746 1668 ] 1747 1669 1748 1670 [[package]] 1749 1671 name = "parking_lot_core" 1750 - version = "0.9.3" 1672 + version = "0.9.7" 1751 1673 source = "registry+https://github.com/rust-lang/crates.io-index" 1752 - checksum = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929" 1674 + checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" 1753 1675 dependencies = [ 1754 1676 "cfg-if", 1755 1677 "libc", 1756 1678 "redox_syscall", 1757 1679 "smallvec", 1758 - "windows-sys", 1680 + "windows-sys 0.45.0", 1759 1681 ] 1760 1682 1761 1683 [[package]] 1762 1684 name = "paste" 1763 - version = "1.0.7" 1685 + version = "1.0.11" 1764 1686 source = "registry+https://github.com/rust-lang/crates.io-index" 1765 - checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc" 1687 + checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" 1766 1688 1767 1689 [[package]] 1768 1690 name = "pathdiff" ··· 1772 1694 1773 1695 [[package]] 1774 1696 name = "percent-encoding" 1775 - version = "2.1.0" 1697 + version = "2.2.0" 1776 1698 source = "registry+https://github.com/rust-lang/crates.io-index" 1777 - checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" 1699 + checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" 1778 1700 1779 1701 [[package]] 1780 1702 name = "pest" 1781 - version = "2.1.3" 1703 + version = "2.5.4" 1782 1704 source = "registry+https://github.com/rust-lang/crates.io-index" 1783 - checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" 1705 + checksum = "4ab62d2fa33726dbe6321cc97ef96d8cde531e3eeaf858a058de53a8a6d40d8f" 1784 1706 dependencies = [ 1707 + "thiserror", 1785 1708 "ucd-trie", 1786 1709 ] 1787 1710 ··· 1897 1820 1898 1821 [[package]] 1899 1822 name = "pkg-config" 1900 - version = "0.3.25" 1823 + version = "0.3.26" 1901 1824 source = "registry+https://github.com/rust-lang/crates.io-index" 1902 - checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" 1825 + checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" 1903 1826 1904 1827 [[package]] 1905 1828 name = "plist" 1906 - version = "1.3.1" 1829 + version = "1.4.0" 1907 1830 source = "registry+https://github.com/rust-lang/crates.io-index" 1908 - checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225" 1831 + checksum = "5329b8f106a176ab0dce4aae5da86bfcb139bb74fb00882859e03745011f3635" 1909 1832 dependencies = [ 1910 - "base64", 1833 + "base64 0.13.1", 1911 1834 "indexmap", 1912 1835 "line-wrap", 1836 + "quick-xml", 1913 1837 "serde", 1914 1838 "time", 1915 - "xml-rs", 1916 1839 ] 1917 1840 1918 1841 [[package]] 1919 1842 name = "png" 1920 - version = "0.11.0" 1921 - source = "registry+https://github.com/rust-lang/crates.io-index" 1922 - checksum = "f0b0cabbbd20c2d7f06dbf015e06aad59b6ca3d9ed14848783e98af9aaf19925" 1923 - dependencies = [ 1924 - "bitflags", 1925 - "deflate 0.7.20", 1926 - "inflate", 1927 - "num-iter", 1928 - ] 1929 - 1930 - [[package]] 1931 - name = "png" 1932 - version = "0.17.5" 1843 + version = "0.17.7" 1933 1844 source = "registry+https://github.com/rust-lang/crates.io-index" 1934 - checksum = "dc38c0ad57efb786dd57b9864e5b18bae478c00c824dc55a38bbc9da95dde3ba" 1845 + checksum = "5d708eaf860a19b19ce538740d2b4bdeeb8337fa53f7738455e706623ad5c638" 1935 1846 dependencies = [ 1936 1847 "bitflags", 1937 1848 "crc32fast", 1938 - "deflate 1.0.0", 1849 + "flate2", 1939 1850 "miniz_oxide", 1940 1851 ] 1941 1852 1942 1853 [[package]] 1943 1854 name = "ppv-lite86" 1944 - version = "0.2.16" 1855 + version = "0.2.17" 1945 1856 source = "registry+https://github.com/rust-lang/crates.io-index" 1946 - checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" 1857 + checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 1947 1858 1948 1859 [[package]] 1949 1860 name = "precomputed-hash" ··· 1953 1864 1954 1865 [[package]] 1955 1866 name = "proc-macro-crate" 1956 - version = "1.1.3" 1867 + version = "1.3.0" 1957 1868 source = "registry+https://github.com/rust-lang/crates.io-index" 1958 - checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" 1869 + checksum = "66618389e4ec1c7afe67d51a9bf34ff9236480f8d51e7489b7d5ab0303c13f34" 1959 1870 dependencies = [ 1960 - "thiserror", 1961 - "toml", 1871 + "once_cell", 1872 + "toml_edit", 1962 1873 ] 1963 1874 1964 1875 [[package]] ··· 1987 1898 1988 1899 [[package]] 1989 1900 name = "proc-macro-hack" 1990 - version = "0.5.19" 1901 + version = "0.5.20+deprecated" 1991 1902 source = "registry+https://github.com/rust-lang/crates.io-index" 1992 - checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" 1903 + checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" 1993 1904 1994 1905 [[package]] 1995 1906 name = "proc-macro2" 1996 - version = "1.0.39" 1907 + version = "1.0.51" 1997 1908 source = "registry+https://github.com/rust-lang/crates.io-index" 1998 - checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" 1909 + checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" 1999 1910 dependencies = [ 2000 1911 "unicode-ident", 2001 1912 ] 2002 1913 2003 1914 [[package]] 1915 + name = "quick-xml" 1916 + version = "0.26.0" 1917 + source = "registry+https://github.com/rust-lang/crates.io-index" 1918 + checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" 1919 + dependencies = [ 1920 + "memchr", 1921 + ] 1922 + 1923 + [[package]] 2004 1924 name = "quote" 2005 - version = "1.0.18" 1925 + version = "1.0.23" 2006 1926 source = "registry+https://github.com/rust-lang/crates.io-index" 2007 - checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" 1927 + checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" 2008 1928 dependencies = [ 2009 1929 "proc-macro2", 2010 1930 ] ··· 2031 1951 dependencies = [ 2032 1952 "libc", 2033 1953 "rand_chacha 0.3.1", 2034 - "rand_core 0.6.3", 1954 + "rand_core 0.6.4", 2035 1955 ] 2036 1956 2037 1957 [[package]] ··· 2051 1971 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 2052 1972 dependencies = [ 2053 1973 "ppv-lite86", 2054 - "rand_core 0.6.3", 1974 + "rand_core 0.6.4", 2055 1975 ] 2056 1976 2057 1977 [[package]] ··· 2065 1985 2066 1986 [[package]] 2067 1987 name = "rand_core" 2068 - version = "0.6.3" 1988 + version = "0.6.4" 2069 1989 source = "registry+https://github.com/rust-lang/crates.io-index" 2070 - checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" 1990 + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 2071 1991 dependencies = [ 2072 - "getrandom 0.2.6", 1992 + "getrandom 0.2.8", 2073 1993 ] 2074 1994 2075 1995 [[package]] ··· 2092 2012 2093 2013 [[package]] 2094 2014 name = "raw-window-handle" 2095 - version = "0.4.3" 2015 + version = "0.5.0" 2096 2016 source = "registry+https://github.com/rust-lang/crates.io-index" 2097 - checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41" 2017 + checksum = "ed7e3d950b66e19e0c372f3fa3fbbcf85b1746b571f74e0c2af6042a5c93420a" 2098 2018 dependencies = [ 2099 2019 "cty", 2100 2020 ] 2101 2021 2102 2022 [[package]] 2103 2023 name = "redox_syscall" 2104 - version = "0.2.13" 2024 + version = "0.2.16" 2105 2025 source = "registry+https://github.com/rust-lang/crates.io-index" 2106 - checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" 2026 + checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" 2107 2027 dependencies = [ 2108 2028 "bitflags", 2109 2029 ] ··· 2114 2034 source = "registry+https://github.com/rust-lang/crates.io-index" 2115 2035 checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" 2116 2036 dependencies = [ 2117 - "getrandom 0.2.6", 2037 + "getrandom 0.2.8", 2118 2038 "redox_syscall", 2119 2039 "thiserror", 2120 2040 ] 2121 2041 2122 2042 [[package]] 2123 2043 name = "regex" 2124 - version = "1.5.6" 2044 + version = "1.7.1" 2125 2045 source = "registry+https://github.com/rust-lang/crates.io-index" 2126 - checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1" 2046 + checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" 2127 2047 dependencies = [ 2128 2048 "aho-corasick", 2129 2049 "memchr", ··· 2141 2061 2142 2062 [[package]] 2143 2063 name = "regex-syntax" 2144 - version = "0.6.26" 2064 + version = "0.6.28" 2145 2065 source = "registry+https://github.com/rust-lang/crates.io-index" 2146 - checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64" 2066 + checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" 2147 2067 2148 2068 [[package]] 2149 2069 name = "remove_dir_all" ··· 2156 2076 2157 2077 [[package]] 2158 2078 name = "rfd" 2159 - version = "0.9.1" 2079 + version = "0.10.0" 2160 2080 source = "registry+https://github.com/rust-lang/crates.io-index" 2161 - checksum = "f121348fd3b9035ed11be1f028e8944263c30641f8c5deacf57a4320782fb402" 2081 + checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea" 2162 2082 dependencies = [ 2163 2083 "block", 2164 2084 "dispatch", 2165 - "embed-resource", 2166 2085 "glib-sys", 2167 2086 "gobject-sys", 2168 2087 "gtk-sys", ··· 2176 2095 "wasm-bindgen", 2177 2096 "wasm-bindgen-futures", 2178 2097 "web-sys", 2179 - "windows", 2098 + "windows 0.37.0", 2180 2099 ] 2181 2100 2182 2101 [[package]] ··· 2200 2119 source = "registry+https://github.com/rust-lang/crates.io-index" 2201 2120 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" 2202 2121 dependencies = [ 2203 - "semver 1.0.9", 2122 + "semver 1.0.16", 2204 2123 ] 2205 2124 2206 2125 [[package]] 2207 2126 name = "rustversion" 2208 - version = "1.0.6" 2127 + version = "1.0.11" 2209 2128 source = "registry+https://github.com/rust-lang/crates.io-index" 2210 - checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" 2129 + checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" 2211 2130 2212 2131 [[package]] 2213 2132 name = "ryu" 2214 - version = "1.0.10" 2133 + version = "1.0.12" 2215 2134 source = "registry+https://github.com/rust-lang/crates.io-index" 2216 - checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" 2135 + checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" 2217 2136 2218 2137 [[package]] 2219 2138 name = "safemem" ··· 2232 2151 2233 2152 [[package]] 2234 2153 name = "scoped-tls" 2235 - version = "1.0.0" 2154 + version = "1.0.1" 2236 2155 source = "registry+https://github.com/rust-lang/crates.io-index" 2237 - checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" 2156 + checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294" 2238 2157 2239 2158 [[package]] 2240 2159 name = "scopeguard" ··· 2273 2192 2274 2193 [[package]] 2275 2194 name = "semver" 2276 - version = "1.0.9" 2195 + version = "1.0.16" 2277 2196 source = "registry+https://github.com/rust-lang/crates.io-index" 2278 - checksum = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd" 2197 + checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" 2279 2198 dependencies = [ 2280 2199 "serde", 2281 2200 ] ··· 2291 2210 2292 2211 [[package]] 2293 2212 name = "serde" 2294 - version = "1.0.137" 2213 + version = "1.0.152" 2295 2214 source = "registry+https://github.com/rust-lang/crates.io-index" 2296 - checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" 2215 + checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" 2297 2216 dependencies = [ 2298 2217 "serde_derive", 2299 2218 ] 2300 2219 2301 2220 [[package]] 2302 2221 name = "serde_derive" 2303 - version = "1.0.137" 2222 + version = "1.0.152" 2304 2223 source = "registry+https://github.com/rust-lang/crates.io-index" 2305 - checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" 2224 + checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" 2306 2225 dependencies = [ 2307 2226 "proc-macro2", 2308 2227 "quote", ··· 2311 2230 2312 2231 [[package]] 2313 2232 name = "serde_json" 2314 - version = "1.0.81" 2233 + version = "1.0.92" 2315 2234 source = "registry+https://github.com/rust-lang/crates.io-index" 2316 - checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" 2235 + checksum = "7434af0dc1cbd59268aa98b4c22c131c0584d2232f6fb166efb993e2832e896a" 2317 2236 dependencies = [ 2318 - "itoa 1.0.2", 2237 + "itoa 1.0.5", 2319 2238 "ryu", 2320 2239 "serde", 2321 2240 ] 2322 2241 2323 2242 [[package]] 2324 2243 name = "serde_repr" 2325 - version = "0.1.8" 2244 + version = "0.1.10" 2326 2245 source = "registry+https://github.com/rust-lang/crates.io-index" 2327 - checksum = "a2ad84e47328a31223de7fed7a4f5087f2d6ddfe586cf3ca25b7a165bc0a5aed" 2246 + checksum = "9a5ec9fa74a20ebbe5d9ac23dac1fc96ba0ecfe9f50f2843b52e537b10fbcb4e" 2328 2247 dependencies = [ 2329 2248 "proc-macro2", 2330 2249 "quote", ··· 2333 2252 2334 2253 [[package]] 2335 2254 name = "serde_with" 2336 - version = "1.13.0" 2255 + version = "1.14.0" 2337 2256 source = "registry+https://github.com/rust-lang/crates.io-index" 2338 - checksum = "b827f2113224f3f19a665136f006709194bdfdcb1fdc1e4b2b5cbac8e0cced54" 2257 + checksum = "678b5a069e50bf00ecd22d0cd8ddf7c236f68581b03db652061ed5eb13a312ff" 2339 2258 dependencies = [ 2340 - "rustversion", 2341 2259 "serde", 2342 2260 "serde_with_macros", 2343 2261 ] ··· 2388 2306 2389 2307 [[package]] 2390 2308 name = "sha2" 2391 - version = "0.10.2" 2309 + version = "0.10.6" 2392 2310 source = "registry+https://github.com/rust-lang/crates.io-index" 2393 - checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" 2311 + checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" 2394 2312 dependencies = [ 2395 2313 "cfg-if", 2396 2314 "cpufeatures", ··· 2414 2332 2415 2333 [[package]] 2416 2334 name = "slab" 2417 - version = "0.4.6" 2335 + version = "0.4.7" 2418 2336 source = "registry+https://github.com/rust-lang/crates.io-index" 2419 - checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" 2337 + checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef" 2338 + dependencies = [ 2339 + "autocfg", 2340 + ] 2420 2341 2421 2342 [[package]] 2422 2343 name = "smallvec" 2423 - version = "1.8.0" 2344 + version = "1.10.0" 2424 2345 source = "registry+https://github.com/rust-lang/crates.io-index" 2425 - checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" 2346 + checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" 2426 2347 2427 2348 [[package]] 2428 2349 name = "soup2" ··· 2475 2396 dependencies = [ 2476 2397 "new_debug_unreachable", 2477 2398 "once_cell", 2478 - "parking_lot 0.12.0", 2399 + "parking_lot", 2479 2400 "phf_shared 0.10.0", 2480 2401 "precomputed-hash", 2481 2402 "serde", ··· 2501 2422 2502 2423 [[package]] 2503 2424 name = "syn" 2504 - version = "1.0.95" 2425 + version = "1.0.107" 2505 2426 source = "registry+https://github.com/rust-lang/crates.io-index" 2506 - checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942" 2427 + checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" 2507 2428 dependencies = [ 2508 2429 "proc-macro2", 2509 2430 "quote", ··· 2525 2446 2526 2447 [[package]] 2527 2448 name = "system-deps" 2528 - version = "6.0.2" 2449 + version = "6.0.3" 2529 2450 source = "registry+https://github.com/rust-lang/crates.io-index" 2530 - checksum = "a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709" 2451 + checksum = "2955b1fe31e1fa2fbd1976b71cc69a606d7d4da16f6de3333d0c92d51419aeff" 2531 2452 dependencies = [ 2532 - "cfg-expr 0.10.3", 2533 - "heck 0.4.0", 2453 + "cfg-expr 0.11.0", 2454 + "heck 0.4.1", 2534 2455 "pkg-config", 2535 2456 "toml", 2536 - "version-compare 0.1.0", 2457 + "version-compare 0.1.1", 2537 2458 ] 2538 2459 2539 2460 [[package]] 2540 2461 name = "tao" 2541 - version = "0.12.1" 2462 + version = "0.15.8" 2542 2463 source = "registry+https://github.com/rust-lang/crates.io-index" 2543 - checksum = "a71c32c2fa7bba46b01becf9cf470f6a781573af7e376c5e317a313ecce27545" 2464 + checksum = "ac8e6399427c8494f9849b58694754d7cc741293348a6836b6c8d2c5aa82d8e6" 2544 2465 dependencies = [ 2545 2466 "bitflags", 2546 2467 "cairo-rs", ··· 2560 2481 "gtk", 2561 2482 "image", 2562 2483 "instant", 2563 - "jni 0.19.0", 2484 + "jni", 2564 2485 "lazy_static", 2565 2486 "libc", 2566 2487 "log", ··· 2569 2490 "ndk-sys", 2570 2491 "objc", 2571 2492 "once_cell", 2572 - "parking_lot 0.11.2", 2493 + "parking_lot", 2573 2494 "paste", 2574 - "png 0.17.5", 2495 + "png", 2575 2496 "raw-window-handle", 2576 2497 "scopeguard", 2577 2498 "serde", 2578 2499 "unicode-segmentation", 2579 - "uuid 0.8.2", 2580 - "windows", 2500 + "uuid 1.3.0", 2501 + "windows 0.39.0", 2581 2502 "windows-implement", 2582 2503 "x11-dl", 2583 2504 ] ··· 2595 2516 2596 2517 [[package]] 2597 2518 name = "tauri" 2598 - version = "1.0.2" 2519 + version = "1.2.4" 2599 2520 source = "registry+https://github.com/rust-lang/crates.io-index" 2600 - checksum = "421641ec549d34935530886151a42ce5ecbbb57beb30e5eec1b22f8e08e10ee9" 2521 + checksum = "fe7e0f1d535e7cbbbab43c82be4fc992b84f9156c16c160955617e0260ebc449" 2601 2522 dependencies = [ 2602 2523 "anyhow", 2603 2524 "cocoa", 2604 2525 "dirs-next", 2605 2526 "embed_plist", 2527 + "encoding_rs", 2606 2528 "flate2", 2607 - "futures", 2608 - "futures-lite", 2529 + "futures-util", 2609 2530 "glib", 2610 2531 "glob", 2611 2532 "gtk", 2612 - "heck 0.4.0", 2533 + "heck 0.4.1", 2613 2534 "http", 2614 2535 "ignore", 2615 2536 "objc", ··· 2620 2541 "raw-window-handle", 2621 2542 "regex", 2622 2543 "rfd", 2623 - "semver 1.0.9", 2544 + "semver 1.0.16", 2624 2545 "serde", 2625 2546 "serde_json", 2626 2547 "serde_repr", ··· 2635 2556 "thiserror", 2636 2557 "tokio", 2637 2558 "url", 2638 - "uuid 1.1.0", 2559 + "uuid 1.3.0", 2639 2560 "webkit2gtk", 2640 2561 "webview2-com", 2641 - "windows", 2562 + "windows 0.39.0", 2642 2563 ] 2643 2564 2644 2565 [[package]] 2645 2566 name = "tauri-build" 2646 - version = "1.0.2" 2567 + version = "1.2.1" 2647 2568 source = "registry+https://github.com/rust-lang/crates.io-index" 2648 - checksum = "598bd36884ee15ac73dfca9921066fd87d13d9beea60384b99a66c3a5d800d70" 2569 + checksum = "8807c85d656b2b93927c19fe5a5f1f1f348f96c2de8b90763b3c2d561511f9b4" 2649 2570 dependencies = [ 2650 2571 "anyhow", 2651 2572 "cargo_toml", 2652 - "heck 0.4.0", 2653 - "semver 1.0.9", 2573 + "heck 0.4.1", 2574 + "json-patch", 2575 + "semver 1.0.16", 2654 2576 "serde_json", 2655 2577 "tauri-utils", 2656 2578 "winres", ··· 2658 2580 2659 2581 [[package]] 2660 2582 name = "tauri-codegen" 2661 - version = "1.0.2" 2583 + version = "1.2.1" 2662 2584 source = "registry+https://github.com/rust-lang/crates.io-index" 2663 - checksum = "048a7b404b92c86e7dc32458fd0963f042a76d520681e6f598d73a97c2feeeef" 2585 + checksum = "14388d484b6b1b5dc0f6a7d6cc6433b3b230bec85eaa576adcdf3f9fafa49251" 2664 2586 dependencies = [ 2665 - "base64", 2587 + "base64 0.13.1", 2666 2588 "brotli", 2667 2589 "ico", 2590 + "json-patch", 2668 2591 "plist", 2669 - "png 0.17.5", 2592 + "png", 2670 2593 "proc-macro2", 2671 2594 "quote", 2672 2595 "regex", 2673 - "semver 1.0.9", 2596 + "semver 1.0.16", 2674 2597 "serde", 2675 2598 "serde_json", 2676 2599 "sha2", 2677 2600 "tauri-utils", 2678 2601 "thiserror", 2679 2602 "time", 2680 - "uuid 1.1.0", 2603 + "uuid 1.3.0", 2681 2604 "walkdir", 2682 2605 ] 2683 2606 2684 2607 [[package]] 2685 2608 name = "tauri-macros" 2686 - version = "1.0.2" 2609 + version = "1.2.1" 2687 2610 source = "registry+https://github.com/rust-lang/crates.io-index" 2688 - checksum = "aaf70098bfab21efde9b2c089008b319ba333f4ee6e55c38bdea188dea86497f" 2611 + checksum = "069319e5ecbe653a799b94b0690d9f9bf5d00f7b1d3989aa331c524d4e354075" 2689 2612 dependencies = [ 2690 - "heck 0.4.0", 2613 + "heck 0.4.1", 2691 2614 "proc-macro2", 2692 2615 "quote", 2693 2616 "syn", ··· 2697 2620 2698 2621 [[package]] 2699 2622 name = "tauri-runtime" 2700 - version = "0.10.1" 2623 + version = "0.12.1" 2701 2624 source = "registry+https://github.com/rust-lang/crates.io-index" 2702 - checksum = "82d34f58c61a6790ba3de5753daea61b5beb6926b2384d1ad03b9dfe622c72be" 2625 + checksum = "c507d954d08ac8705d235bc70ec6975b9054fb95ff7823af72dbb04186596f3b" 2703 2626 dependencies = [ 2704 2627 "gtk", 2705 2628 "http", 2706 2629 "http-range", 2707 - "infer", 2630 + "rand 0.8.5", 2708 2631 "raw-window-handle", 2709 2632 "serde", 2710 2633 "serde_json", 2711 2634 "tauri-utils", 2712 2635 "thiserror", 2713 - "uuid 1.1.0", 2636 + "uuid 1.3.0", 2714 2637 "webview2-com", 2715 - "windows", 2638 + "windows 0.39.0", 2716 2639 ] 2717 2640 2718 2641 [[package]] 2719 2642 name = "tauri-runtime-wry" 2720 - version = "0.10.1" 2643 + version = "0.12.2" 2721 2644 source = "registry+https://github.com/rust-lang/crates.io-index" 2722 - checksum = "cd9a56e25146ff1f13f37bdb010ed0d692e7e81c824b9f977ae439f446f37ab4" 2645 + checksum = "36b1c5764a41a13176a4599b5b7bd0881bea7d94dfe45e1e755f789b98317e30" 2723 2646 dependencies = [ 2724 2647 "cocoa", 2725 2648 "gtk", ··· 2728 2651 "raw-window-handle", 2729 2652 "tauri-runtime", 2730 2653 "tauri-utils", 2731 - "uuid 1.1.0", 2654 + "uuid 1.3.0", 2732 2655 "webkit2gtk", 2733 2656 "webview2-com", 2734 - "windows", 2657 + "windows 0.39.0", 2735 2658 "wry", 2736 2659 ] 2737 2660 2738 2661 [[package]] 2739 2662 name = "tauri-utils" 2740 - version = "1.0.2" 2663 + version = "1.2.1" 2741 2664 source = "registry+https://github.com/rust-lang/crates.io-index" 2742 - checksum = "616f178da1e0466ca45963ed108a1567d4b8803662addaca313169d0dcd97715" 2665 + checksum = "5abbc109a6eb45127956ffcc26ef0e875d160150ac16cfa45d26a6b2871686f1" 2743 2666 dependencies = [ 2744 2667 "brotli", 2745 2668 "ctor", 2746 2669 "glob", 2747 - "heck 0.4.0", 2670 + "heck 0.4.1", 2748 2671 "html5ever", 2672 + "infer", 2749 2673 "json-patch", 2750 2674 "kuchiki", 2751 2675 "memchr", 2752 2676 "phf 0.10.1", 2753 2677 "proc-macro2", 2754 2678 "quote", 2755 - "semver 1.0.9", 2679 + "semver 1.0.16", 2756 2680 "serde", 2757 2681 "serde_json", 2758 2682 "serde_with", 2759 2683 "thiserror", 2760 2684 "url", 2761 2685 "walkdir", 2762 - "windows", 2686 + "windows 0.39.0", 2763 2687 ] 2764 2688 2765 2689 [[package]] ··· 2795 2719 2796 2720 [[package]] 2797 2721 name = "thiserror" 2798 - version = "1.0.31" 2722 + version = "1.0.38" 2799 2723 source = "registry+https://github.com/rust-lang/crates.io-index" 2800 - checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" 2724 + checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" 2801 2725 dependencies = [ 2802 2726 "thiserror-impl", 2803 2727 ] 2804 2728 2805 2729 [[package]] 2806 2730 name = "thiserror-impl" 2807 - version = "1.0.31" 2731 + version = "1.0.38" 2808 2732 source = "registry+https://github.com/rust-lang/crates.io-index" 2809 - checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" 2733 + checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" 2810 2734 dependencies = [ 2811 2735 "proc-macro2", 2812 2736 "quote", ··· 2824 2748 2825 2749 [[package]] 2826 2750 name = "time" 2827 - version = "0.3.11" 2751 + version = "0.3.17" 2828 2752 source = "registry+https://github.com/rust-lang/crates.io-index" 2829 - checksum = "72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217" 2753 + checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" 2830 2754 dependencies = [ 2831 - "itoa 1.0.2", 2832 - "libc", 2833 - "num_threads", 2755 + "itoa 1.0.5", 2756 + "serde", 2757 + "time-core", 2758 + "time-macros", 2759 + ] 2760 + 2761 + [[package]] 2762 + name = "time-core" 2763 + version = "0.1.0" 2764 + source = "registry+https://github.com/rust-lang/crates.io-index" 2765 + checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" 2766 + 2767 + [[package]] 2768 + name = "time-macros" 2769 + version = "0.2.6" 2770 + source = "registry+https://github.com/rust-lang/crates.io-index" 2771 + checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" 2772 + dependencies = [ 2773 + "time-core", 2834 2774 ] 2835 2775 2836 2776 [[package]] ··· 2844 2784 2845 2785 [[package]] 2846 2786 name = "tinyvec_macros" 2847 - version = "0.1.0" 2787 + version = "0.1.1" 2848 2788 source = "registry+https://github.com/rust-lang/crates.io-index" 2849 - checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" 2789 + checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 2850 2790 2851 2791 [[package]] 2852 2792 name = "tokio" 2853 - version = "1.19.2" 2793 + version = "1.25.0" 2854 2794 source = "registry+https://github.com/rust-lang/crates.io-index" 2855 - checksum = "c51a52ed6686dd62c320f9b89299e9dfb46f730c7a48e635c19f21d116cb1439" 2795 + checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" 2856 2796 dependencies = [ 2797 + "autocfg", 2857 2798 "bytes", 2858 2799 "memchr", 2859 2800 "num_cpus", 2860 - "once_cell", 2861 2801 "pin-project-lite", 2802 + "windows-sys 0.42.0", 2862 2803 ] 2863 2804 2864 2805 [[package]] 2865 2806 name = "toml" 2866 - version = "0.5.9" 2807 + version = "0.5.11" 2867 2808 source = "registry+https://github.com/rust-lang/crates.io-index" 2868 - checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" 2809 + checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" 2869 2810 dependencies = [ 2870 2811 "serde", 2871 2812 ] 2872 2813 2873 2814 [[package]] 2815 + name = "toml_datetime" 2816 + version = "0.5.1" 2817 + source = "registry+https://github.com/rust-lang/crates.io-index" 2818 + checksum = "4553f467ac8e3d374bc9a177a26801e5d0f9b211aa1673fb137a403afd1c9cf5" 2819 + 2820 + [[package]] 2821 + name = "toml_edit" 2822 + version = "0.18.1" 2823 + source = "registry+https://github.com/rust-lang/crates.io-index" 2824 + checksum = "56c59d8dd7d0dcbc6428bf7aa2f0e823e26e43b3c9aca15bbc9475d23e5fa12b" 2825 + dependencies = [ 2826 + "indexmap", 2827 + "nom8", 2828 + "toml_datetime", 2829 + ] 2830 + 2831 + [[package]] 2874 2832 name = "tracing" 2875 - version = "0.1.34" 2833 + version = "0.1.37" 2876 2834 source = "registry+https://github.com/rust-lang/crates.io-index" 2877 - checksum = "5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09" 2835 + checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" 2878 2836 dependencies = [ 2879 2837 "cfg-if", 2880 2838 "pin-project-lite", ··· 2884 2842 2885 2843 [[package]] 2886 2844 name = "tracing-attributes" 2887 - version = "0.1.21" 2845 + version = "0.1.23" 2888 2846 source = "registry+https://github.com/rust-lang/crates.io-index" 2889 - checksum = "cc6b8ad3567499f98a1db7a752b07a7c8c7c7c34c332ec00effb2b0027974b7c" 2847 + checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" 2890 2848 dependencies = [ 2891 2849 "proc-macro2", 2892 2850 "quote", ··· 2895 2853 2896 2854 [[package]] 2897 2855 name = "tracing-core" 2898 - version = "0.1.26" 2856 + version = "0.1.30" 2899 2857 source = "registry+https://github.com/rust-lang/crates.io-index" 2900 - checksum = "f54c8ca710e81886d498c2fd3331b56c93aa248d49de2222ad2742247c60072f" 2858 + checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" 2901 2859 dependencies = [ 2902 - "lazy_static", 2860 + "once_cell", 2903 2861 "valuable", 2904 2862 ] 2905 2863 ··· 2916 2874 2917 2875 [[package]] 2918 2876 name = "tracing-subscriber" 2919 - version = "0.3.11" 2877 + version = "0.3.16" 2920 2878 source = "registry+https://github.com/rust-lang/crates.io-index" 2921 - checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" 2879 + checksum = "a6176eae26dd70d0c919749377897b54a9276bd7061339665dd68777926b5a70" 2922 2880 dependencies = [ 2923 - "ansi_term", 2924 - "lazy_static", 2925 2881 "matchers", 2882 + "nu-ansi-term", 2883 + "once_cell", 2926 2884 "regex", 2927 2885 "sharded-slab", 2928 2886 "smallvec", ··· 2943 2901 2944 2902 [[package]] 2945 2903 name = "typenum" 2946 - version = "1.15.0" 2904 + version = "1.16.0" 2947 2905 source = "registry+https://github.com/rust-lang/crates.io-index" 2948 - checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" 2906 + checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" 2949 2907 2950 2908 [[package]] 2951 2909 name = "ucd-trie" 2952 - version = "0.1.3" 2910 + version = "0.1.5" 2953 2911 source = "registry+https://github.com/rust-lang/crates.io-index" 2954 - checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" 2912 + checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" 2955 2913 2956 2914 [[package]] 2957 2915 name = "unicode-bidi" 2958 - version = "0.3.8" 2916 + version = "0.3.10" 2959 2917 source = "registry+https://github.com/rust-lang/crates.io-index" 2960 - checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" 2918 + checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" 2961 2919 2962 2920 [[package]] 2963 2921 name = "unicode-ident" 2964 - version = "1.0.0" 2922 + version = "1.0.6" 2965 2923 source = "registry+https://github.com/rust-lang/crates.io-index" 2966 - checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" 2924 + checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" 2967 2925 2968 2926 [[package]] 2969 2927 name = "unicode-normalization" 2970 - version = "0.1.19" 2928 + version = "0.1.22" 2971 2929 source = "registry+https://github.com/rust-lang/crates.io-index" 2972 - checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" 2930 + checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 2973 2931 dependencies = [ 2974 2932 "tinyvec", 2975 2933 ] 2976 2934 2977 2935 [[package]] 2978 2936 name = "unicode-segmentation" 2979 - version = "1.9.0" 2937 + version = "1.10.1" 2980 2938 source = "registry+https://github.com/rust-lang/crates.io-index" 2981 - checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" 2939 + checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" 2982 2940 2983 2941 [[package]] 2984 2942 name = "url" 2985 - version = "2.2.2" 2943 + version = "2.3.1" 2986 2944 source = "registry+https://github.com/rust-lang/crates.io-index" 2987 - checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" 2945 + checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" 2988 2946 dependencies = [ 2989 2947 "form_urlencoded", 2990 2948 "idna", 2991 - "matches", 2992 2949 "percent-encoding", 2993 2950 "serde", 2994 2951 ] ··· 3004 2961 version = "0.8.2" 3005 2962 source = "registry+https://github.com/rust-lang/crates.io-index" 3006 2963 checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" 3007 - dependencies = [ 3008 - "getrandom 0.2.6", 3009 - ] 3010 2964 3011 2965 [[package]] 3012 2966 name = "uuid" 3013 - version = "1.1.0" 2967 + version = "1.3.0" 3014 2968 source = "registry+https://github.com/rust-lang/crates.io-index" 3015 - checksum = "93bbc61e655a4833cf400d0d15bf3649313422fa7572886ad6dab16d79886365" 2969 + checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" 3016 2970 dependencies = [ 3017 - "getrandom 0.2.6", 2971 + "getrandom 0.2.8", 3018 2972 ] 3019 2973 3020 2974 [[package]] ··· 3031 2985 3032 2986 [[package]] 3033 2987 name = "version-compare" 3034 - version = "0.1.0" 2988 + version = "0.1.1" 3035 2989 source = "registry+https://github.com/rust-lang/crates.io-index" 3036 - checksum = "fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73" 2990 + checksum = "579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29" 3037 2991 3038 2992 [[package]] 3039 2993 name = "version_check" ··· 3042 2996 checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" 3043 2997 3044 2998 [[package]] 3045 - name = "vswhom" 3046 - version = "0.1.0" 3047 - source = "registry+https://github.com/rust-lang/crates.io-index" 3048 - checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b" 3049 - dependencies = [ 3050 - "libc", 3051 - "vswhom-sys", 3052 - ] 3053 - 3054 - [[package]] 3055 - name = "vswhom-sys" 3056 - version = "0.1.1" 3057 - source = "registry+https://github.com/rust-lang/crates.io-index" 3058 - checksum = "22025f6d8eb903ebf920ea6933b70b1e495be37e2cb4099e62c80454aaf57c39" 3059 - dependencies = [ 3060 - "cc", 3061 - "libc", 3062 - ] 3063 - 3064 - [[package]] 3065 - name = "waker-fn" 3066 - version = "1.1.0" 3067 - source = "registry+https://github.com/rust-lang/crates.io-index" 3068 - checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" 3069 - 3070 - [[package]] 3071 2999 name = "walkdir" 3072 3000 version = "2.3.2" 3073 3001 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 3086 3014 3087 3015 [[package]] 3088 3016 name = "wasi" 3089 - version = "0.10.2+wasi-snapshot-preview1" 3017 + version = "0.11.0+wasi-snapshot-preview1" 3090 3018 source = "registry+https://github.com/rust-lang/crates.io-index" 3091 - checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" 3019 + checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 3092 3020 3093 3021 [[package]] 3094 3022 name = "wasm-bindgen" 3095 - version = "0.2.80" 3023 + version = "0.2.84" 3096 3024 source = "registry+https://github.com/rust-lang/crates.io-index" 3097 - checksum = "27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad" 3025 + checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" 3098 3026 dependencies = [ 3099 3027 "cfg-if", 3100 3028 "wasm-bindgen-macro", ··· 3102 3030 3103 3031 [[package]] 3104 3032 name = "wasm-bindgen-backend" 3105 - version = "0.2.80" 3033 + version = "0.2.84" 3106 3034 source = "registry+https://github.com/rust-lang/crates.io-index" 3107 - checksum = "53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4" 3035 + checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" 3108 3036 dependencies = [ 3109 3037 "bumpalo", 3110 - "lazy_static", 3111 3038 "log", 3039 + "once_cell", 3112 3040 "proc-macro2", 3113 3041 "quote", 3114 3042 "syn", ··· 3117 3045 3118 3046 [[package]] 3119 3047 name = "wasm-bindgen-futures" 3120 - version = "0.4.30" 3048 + version = "0.4.34" 3121 3049 source = "registry+https://github.com/rust-lang/crates.io-index" 3122 - checksum = "6f741de44b75e14c35df886aff5f1eb73aa114fa5d4d00dcd37b5e01259bf3b2" 3050 + checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" 3123 3051 dependencies = [ 3124 3052 "cfg-if", 3125 3053 "js-sys", ··· 3129 3057 3130 3058 [[package]] 3131 3059 name = "wasm-bindgen-macro" 3132 - version = "0.2.80" 3060 + version = "0.2.84" 3133 3061 source = "registry+https://github.com/rust-lang/crates.io-index" 3134 - checksum = "17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5" 3062 + checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" 3135 3063 dependencies = [ 3136 3064 "quote", 3137 3065 "wasm-bindgen-macro-support", ··· 3139 3067 3140 3068 [[package]] 3141 3069 name = "wasm-bindgen-macro-support" 3142 - version = "0.2.80" 3070 + version = "0.2.84" 3143 3071 source = "registry+https://github.com/rust-lang/crates.io-index" 3144 - checksum = "99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b" 3072 + checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" 3145 3073 dependencies = [ 3146 3074 "proc-macro2", 3147 3075 "quote", ··· 3152 3080 3153 3081 [[package]] 3154 3082 name = "wasm-bindgen-shared" 3155 - version = "0.2.80" 3083 + version = "0.2.84" 3156 3084 source = "registry+https://github.com/rust-lang/crates.io-index" 3157 - checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744" 3085 + checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" 3158 3086 3159 3087 [[package]] 3160 3088 name = "web-sys" 3161 - version = "0.3.57" 3089 + version = "0.3.61" 3162 3090 source = "registry+https://github.com/rust-lang/crates.io-index" 3163 - checksum = "7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283" 3091 + checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" 3164 3092 dependencies = [ 3165 3093 "js-sys", 3166 3094 "wasm-bindgen", ··· 3168 3096 3169 3097 [[package]] 3170 3098 name = "webkit2gtk" 3171 - version = "0.18.0" 3099 + version = "0.18.2" 3172 3100 source = "registry+https://github.com/rust-lang/crates.io-index" 3173 - checksum = "29952969fb5e10fe834a52eb29ad0814ccdfd8387159b0933edf1344a1c9cdcc" 3101 + checksum = "b8f859735e4a452aeb28c6c56a852967a8a76c8eb1cc32dbf931ad28a13d6370" 3174 3102 dependencies = [ 3175 3103 "bitflags", 3176 3104 "cairo-rs", ··· 3210 3138 "pango-sys", 3211 3139 "pkg-config", 3212 3140 "soup2-sys", 3213 - "system-deps 6.0.2", 3141 + "system-deps 6.0.3", 3214 3142 ] 3215 3143 3216 3144 [[package]] 3217 3145 name = "webview2-com" 3218 - version = "0.16.0" 3146 + version = "0.19.1" 3219 3147 source = "registry+https://github.com/rust-lang/crates.io-index" 3220 - checksum = "a489a9420acabb3c2ed0434b6f71f6b56b9485ec32665a28dec1ee186d716e0f" 3148 + checksum = "b4a769c9f1a64a8734bde70caafac2b96cada12cd4aefa49196b3a386b8b4178" 3221 3149 dependencies = [ 3222 3150 "webview2-com-macros", 3223 3151 "webview2-com-sys", 3224 - "windows", 3152 + "windows 0.39.0", 3225 3153 "windows-implement", 3226 3154 ] 3227 3155 ··· 3238 3166 3239 3167 [[package]] 3240 3168 name = "webview2-com-sys" 3241 - version = "0.16.0" 3169 + version = "0.19.0" 3242 3170 source = "registry+https://github.com/rust-lang/crates.io-index" 3243 - checksum = "0258c53ee9adc0a4f8ba1c8c317588f7a58c7048a55b621d469ba75ab3709ca1" 3171 + checksum = "aac48ef20ddf657755fdcda8dfed2a7b4fc7e4581acce6fe9b88c3d64f29dee7" 3244 3172 dependencies = [ 3245 3173 "regex", 3246 3174 "serde", 3247 3175 "serde_json", 3248 3176 "thiserror", 3249 - "windows", 3177 + "windows 0.39.0", 3250 3178 "windows-bindgen", 3179 + "windows-metadata", 3251 3180 ] 3252 3181 3253 3182 [[package]] ··· 3287 3216 source = "registry+https://github.com/rust-lang/crates.io-index" 3288 3217 checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" 3289 3218 dependencies = [ 3290 - "windows-implement", 3291 3219 "windows_aarch64_msvc 0.37.0", 3292 3220 "windows_i686_gnu 0.37.0", 3293 3221 "windows_i686_msvc 0.37.0", ··· 3296 3224 ] 3297 3225 3298 3226 [[package]] 3227 + name = "windows" 3228 + version = "0.39.0" 3229 + source = "registry+https://github.com/rust-lang/crates.io-index" 3230 + checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" 3231 + dependencies = [ 3232 + "windows-implement", 3233 + "windows_aarch64_msvc 0.39.0", 3234 + "windows_i686_gnu 0.39.0", 3235 + "windows_i686_msvc 0.39.0", 3236 + "windows_x86_64_gnu 0.39.0", 3237 + "windows_x86_64_msvc 0.39.0", 3238 + ] 3239 + 3240 + [[package]] 3299 3241 name = "windows-bindgen" 3300 - version = "0.37.0" 3242 + version = "0.39.0" 3301 3243 source = "registry+https://github.com/rust-lang/crates.io-index" 3302 - checksum = "0bed7be31ade0af08fec9b5343e9edcc005d22b1f11859b8a59b24797f5858e8" 3244 + checksum = "68003dbd0e38abc0fb85b939240f4bce37c43a5981d3df37ccbaaa981b47cb41" 3303 3245 dependencies = [ 3304 3246 "windows-metadata", 3305 3247 "windows-tokens", ··· 3307 3249 3308 3250 [[package]] 3309 3251 name = "windows-implement" 3310 - version = "0.37.0" 3252 + version = "0.39.0" 3311 3253 source = "registry+https://github.com/rust-lang/crates.io-index" 3312 - checksum = "67a1062e555f7d9d66fd1130ed4f7c6ec41a47529ee0850cd0e926d95b26bb14" 3254 + checksum = "ba01f98f509cb5dc05f4e5fc95e535f78260f15fea8fe1a8abdd08f774f1cee7" 3313 3255 dependencies = [ 3314 3256 "syn", 3315 3257 "windows-tokens", ··· 3317 3259 3318 3260 [[package]] 3319 3261 name = "windows-metadata" 3320 - version = "0.37.0" 3262 + version = "0.39.0" 3321 3263 source = "registry+https://github.com/rust-lang/crates.io-index" 3322 - checksum = "4f33f2b90a6664e369c41ab5ff262d06f048fc9685d9bf8a0e99a47750bb0463" 3264 + checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" 3323 3265 3324 3266 [[package]] 3325 3267 name = "windows-sys" 3326 - version = "0.36.1" 3268 + version = "0.42.0" 3327 3269 source = "registry+https://github.com/rust-lang/crates.io-index" 3328 - checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" 3270 + checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 3329 3271 dependencies = [ 3330 - "windows_aarch64_msvc 0.36.1", 3331 - "windows_i686_gnu 0.36.1", 3332 - "windows_i686_msvc 0.36.1", 3333 - "windows_x86_64_gnu 0.36.1", 3334 - "windows_x86_64_msvc 0.36.1", 3272 + "windows_aarch64_gnullvm", 3273 + "windows_aarch64_msvc 0.42.1", 3274 + "windows_i686_gnu 0.42.1", 3275 + "windows_i686_msvc 0.42.1", 3276 + "windows_x86_64_gnu 0.42.1", 3277 + "windows_x86_64_gnullvm", 3278 + "windows_x86_64_msvc 0.42.1", 3279 + ] 3280 + 3281 + [[package]] 3282 + name = "windows-sys" 3283 + version = "0.45.0" 3284 + source = "registry+https://github.com/rust-lang/crates.io-index" 3285 + checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 3286 + dependencies = [ 3287 + "windows-targets", 3288 + ] 3289 + 3290 + [[package]] 3291 + name = "windows-targets" 3292 + version = "0.42.1" 3293 + source = "registry+https://github.com/rust-lang/crates.io-index" 3294 + checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" 3295 + dependencies = [ 3296 + "windows_aarch64_gnullvm", 3297 + "windows_aarch64_msvc 0.42.1", 3298 + "windows_i686_gnu 0.42.1", 3299 + "windows_i686_msvc 0.42.1", 3300 + "windows_x86_64_gnu 0.42.1", 3301 + "windows_x86_64_gnullvm", 3302 + "windows_x86_64_msvc 0.42.1", 3335 3303 ] 3336 3304 3337 3305 [[package]] 3338 3306 name = "windows-tokens" 3339 - version = "0.37.0" 3307 + version = "0.39.0" 3340 3308 source = "registry+https://github.com/rust-lang/crates.io-index" 3341 - checksum = "3263d25f1170419995b78ff10c06b949e8a986c35c208dc24333c64753a87169" 3309 + checksum = "f838de2fe15fe6bac988e74b798f26499a8b21a9d97edec321e79b28d1d7f597" 3342 3310 3343 3311 [[package]] 3344 - name = "windows_aarch64_msvc" 3345 - version = "0.36.1" 3312 + name = "windows_aarch64_gnullvm" 3313 + version = "0.42.1" 3346 3314 source = "registry+https://github.com/rust-lang/crates.io-index" 3347 - checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" 3315 + checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" 3348 3316 3349 3317 [[package]] 3350 3318 name = "windows_aarch64_msvc" ··· 3353 3321 checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" 3354 3322 3355 3323 [[package]] 3356 - name = "windows_i686_gnu" 3357 - version = "0.36.1" 3324 + name = "windows_aarch64_msvc" 3325 + version = "0.39.0" 3358 3326 source = "registry+https://github.com/rust-lang/crates.io-index" 3359 - checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" 3327 + checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" 3328 + 3329 + [[package]] 3330 + name = "windows_aarch64_msvc" 3331 + version = "0.42.1" 3332 + source = "registry+https://github.com/rust-lang/crates.io-index" 3333 + checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" 3360 3334 3361 3335 [[package]] 3362 3336 name = "windows_i686_gnu" ··· 3365 3339 checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" 3366 3340 3367 3341 [[package]] 3368 - name = "windows_i686_msvc" 3369 - version = "0.36.1" 3342 + name = "windows_i686_gnu" 3343 + version = "0.39.0" 3370 3344 source = "registry+https://github.com/rust-lang/crates.io-index" 3371 - checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" 3345 + checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" 3346 + 3347 + [[package]] 3348 + name = "windows_i686_gnu" 3349 + version = "0.42.1" 3350 + source = "registry+https://github.com/rust-lang/crates.io-index" 3351 + checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" 3372 3352 3373 3353 [[package]] 3374 3354 name = "windows_i686_msvc" ··· 3377 3357 checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" 3378 3358 3379 3359 [[package]] 3380 - name = "windows_x86_64_gnu" 3381 - version = "0.36.1" 3360 + name = "windows_i686_msvc" 3361 + version = "0.39.0" 3362 + source = "registry+https://github.com/rust-lang/crates.io-index" 3363 + checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" 3364 + 3365 + [[package]] 3366 + name = "windows_i686_msvc" 3367 + version = "0.42.1" 3382 3368 source = "registry+https://github.com/rust-lang/crates.io-index" 3383 - checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" 3369 + checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" 3384 3370 3385 3371 [[package]] 3386 3372 name = "windows_x86_64_gnu" ··· 3389 3375 checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" 3390 3376 3391 3377 [[package]] 3392 - name = "windows_x86_64_msvc" 3393 - version = "0.36.1" 3378 + name = "windows_x86_64_gnu" 3379 + version = "0.39.0" 3394 3380 source = "registry+https://github.com/rust-lang/crates.io-index" 3395 - checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" 3381 + checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" 3382 + 3383 + [[package]] 3384 + name = "windows_x86_64_gnu" 3385 + version = "0.42.1" 3386 + source = "registry+https://github.com/rust-lang/crates.io-index" 3387 + checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" 3388 + 3389 + [[package]] 3390 + name = "windows_x86_64_gnullvm" 3391 + version = "0.42.1" 3392 + source = "registry+https://github.com/rust-lang/crates.io-index" 3393 + checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" 3396 3394 3397 3395 [[package]] 3398 3396 name = "windows_x86_64_msvc" ··· 3401 3399 checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" 3402 3400 3403 3401 [[package]] 3404 - name = "winreg" 3405 - version = "0.10.1" 3402 + name = "windows_x86_64_msvc" 3403 + version = "0.39.0" 3406 3404 source = "registry+https://github.com/rust-lang/crates.io-index" 3407 - checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" 3408 - dependencies = [ 3409 - "winapi", 3410 - ] 3405 + checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" 3406 + 3407 + [[package]] 3408 + name = "windows_x86_64_msvc" 3409 + version = "0.42.1" 3410 + source = "registry+https://github.com/rust-lang/crates.io-index" 3411 + checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" 3411 3412 3412 3413 [[package]] 3413 3414 name = "winres" ··· 3420 3421 3421 3422 [[package]] 3422 3423 name = "wry" 3423 - version = "0.19.0" 3424 + version = "0.23.4" 3424 3425 source = "registry+https://github.com/rust-lang/crates.io-index" 3425 - checksum = "ce19dddbd3ce01dc8f14eb6d4c8f914123bf8379aaa838f6da4f981ff7104a3f" 3426 + checksum = "4c1ad8e2424f554cc5bdebe8aa374ef5b433feff817aebabca0389961fc7ef98" 3426 3427 dependencies = [ 3428 + "base64 0.13.1", 3427 3429 "block", 3428 3430 "cocoa", 3429 3431 "core-graphics", 3432 + "crossbeam-channel", 3433 + "dunce", 3430 3434 "gdk", 3431 3435 "gio", 3432 3436 "glib", 3433 3437 "gtk", 3438 + "html5ever", 3434 3439 "http", 3435 - "jni 0.18.0", 3440 + "kuchiki", 3436 3441 "libc", 3437 3442 "log", 3438 3443 "objc", ··· 3440 3445 "once_cell", 3441 3446 "serde", 3442 3447 "serde_json", 3448 + "sha2", 3449 + "soup2", 3443 3450 "tao", 3444 3451 "thiserror", 3445 3452 "url", 3446 3453 "webkit2gtk", 3447 3454 "webkit2gtk-sys", 3448 3455 "webview2-com", 3449 - "windows", 3456 + "windows 0.39.0", 3450 3457 "windows-implement", 3451 3458 ] 3452 3459 3453 3460 [[package]] 3454 3461 name = "x11" 3455 - version = "2.19.1" 3462 + version = "2.21.0" 3456 3463 source = "registry+https://github.com/rust-lang/crates.io-index" 3457 - checksum = "6dd0565fa8bfba8c5efe02725b14dff114c866724eff2cfd44d76cea74bcd87a" 3464 + checksum = "502da5464ccd04011667b11c435cb992822c2c0dbde1770c988480d312a0db2e" 3458 3465 dependencies = [ 3459 3466 "libc", 3460 3467 "pkg-config", ··· 3462 3469 3463 3470 [[package]] 3464 3471 name = "x11-dl" 3465 - version = "2.19.1" 3472 + version = "2.21.0" 3466 3473 source = "registry+https://github.com/rust-lang/crates.io-index" 3467 - checksum = "ea26926b4ce81a6f5d9d0f3a0bc401e5a37c6ae14a1bfaa8ff6099ca80038c59" 3474 + checksum = "38735924fedd5314a6e548792904ed8c6de6636285cb9fec04d5b1db85c1516f" 3468 3475 dependencies = [ 3469 - "lazy_static", 3470 3476 "libc", 3477 + "once_cell", 3471 3478 "pkg-config", 3472 3479 ] 3473 3480 ··· 3479 3486 dependencies = [ 3480 3487 "libc", 3481 3488 ] 3482 - 3483 - [[package]] 3484 - name = "xml-rs" 3485 - version = "0.8.4" 3486 - source = "registry+https://github.com/rust-lang/crates.io-index" 3487 - checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
+4 -3
src-tauri/Cargo.toml
··· 16 16 tauri = { version = "1.0", features = ["dialog-open", "dialog-save", "shell-open"] } 17 17 id3 = "1.2" 18 18 mp4ameta = "0.11" 19 - base64 = "0.13" 19 + base64 = "0.20" 20 + lofty = "0.11.0" 20 21 21 22 [features] 22 - default = [ "custom-protocol" ] 23 - custom-protocol = [ "tauri/custom-protocol" ] 23 + default = ["custom-protocol"] 24 + custom-protocol = ["tauri/custom-protocol"]
+30 -8
src-tauri/src/cmd.rs
··· 1 - use crate::frames::{get_frames, Metadata}; 1 + use crate::frames::Metadata; 2 2 use crate::throw; 3 3 use id3::TagLike; 4 + use lofty::Accessor; 4 5 use serde::Serialize; 5 6 use serde_json::Value; 6 7 use std::path::PathBuf; ··· 9 10 use tauri::api::dialog; 10 11 use tauri::{command, State}; 11 12 12 - #[derive(Debug, Clone, Serialize)] 13 + #[derive(Clone, Serialize)] 13 14 pub struct File { 14 15 pub path: PathBuf, 15 16 pub dirty: bool, ··· 17 18 pub metadata: Metadata, 18 19 } 19 20 20 - #[derive(Debug, Default, Serialize)] 21 + #[derive(Default, Serialize)] 21 22 pub struct App { 22 23 pub current_index: usize, 23 24 pub files: Vec<File>, ··· 89 90 let file = app.current_file().ok()?; 90 91 91 92 let title = match file.metadata { 92 - Metadata::Id3(ref tag) => tag.title().unwrap_or(""), 93 - Metadata::Mp4(ref tag) => tag.title().unwrap_or(""), 93 + Metadata::Id3(ref tag) => tag.title().unwrap_or("").to_string(), 94 + Metadata::Mp4(ref tag) => tag.title().unwrap_or("").to_string(), 95 + Metadata::VorbisComments(ref tag) => tag.title().map(|s| s.to_string()).unwrap_or_default(), 94 96 }; 95 97 96 98 let artists: Vec<_> = match file.metadata { 97 99 Metadata::Id3(ref tag) => id3_split(tag.artist()), 98 100 Metadata::Mp4(ref tag) => tag.artists().collect(), 101 + Metadata::VorbisComments(ref tag) => tag.get_all("ARTIST").collect(), 99 102 }; 100 103 101 104 let album = match file.metadata { 102 - Metadata::Id3(ref tag) => tag.album().unwrap_or(""), 103 - Metadata::Mp4(ref tag) => tag.album().unwrap_or(""), 105 + Metadata::Id3(ref tag) => tag.album().unwrap_or("").to_string(), 106 + Metadata::Mp4(ref tag) => tag.album().unwrap_or("").to_string(), 107 + Metadata::VorbisComments(ref tag) => tag.album().map(|s| s.to_string()).unwrap_or_default(), 104 108 }; 105 109 106 110 let album_artists: Vec<_> = match file.metadata { 107 111 Metadata::Id3(ref tag) => id3_split(tag.album_artist()), 108 112 Metadata::Mp4(ref tag) => tag.album_artists().collect(), 113 + Metadata::VorbisComments(ref tag) => tag.get_all("ALBUMARTIST").collect(), 109 114 }; 110 115 111 116 let composer = match file.metadata { 112 117 Metadata::Id3(ref tag) => id3_split(get_frame_text(&tag, "TCOM")), 113 118 Metadata::Mp4(ref tag) => tag.composers().collect(), 119 + Metadata::VorbisComments(ref tag) => tag.get_all("COMPOSER").collect(), 114 120 }; 115 121 116 122 let groupings = match file.metadata { ··· 120 126 None => get_frame_text(&tag, "GP1"), 121 127 }), 122 128 Metadata::Mp4(ref tag) => tag.groupings().collect(), 129 + Metadata::VorbisComments(ref tag) => tag.get_all("GROUPING").collect(), 123 130 }; 124 131 125 132 let genres = match file.metadata { 126 133 Metadata::Id3(ref tag) => id3_split(tag.genre()), 127 134 Metadata::Mp4(ref tag) => tag.genres().collect(), 135 + Metadata::VorbisComments(ref tag) => tag.get_all("GENRE").collect(), 128 136 }; 129 137 130 138 let track_num = match file.metadata { 131 139 Metadata::Id3(ref tag) => opt_to_str(tag.track()), 132 140 Metadata::Mp4(ref tag) => opt_to_str(tag.track().0), 141 + Metadata::VorbisComments(ref tag) => opt_to_str(tag.track()), 133 142 }; 134 143 let track_total = match file.metadata { 135 144 Metadata::Id3(ref tag) => opt_to_str(tag.total_tracks()), 136 145 Metadata::Mp4(ref tag) => opt_to_str(tag.track().1), 146 + Metadata::VorbisComments(ref tag) => opt_to_str(tag.track_total()), 137 147 }; 138 148 139 149 let disc_num = match file.metadata { 140 150 Metadata::Id3(ref tag) => opt_to_str(tag.disc()), 141 151 Metadata::Mp4(ref tag) => opt_to_str(tag.disc().0), 152 + Metadata::VorbisComments(ref tag) => opt_to_str(tag.disk()), 142 153 }; 143 154 let disc_total = match file.metadata { 144 155 Metadata::Id3(ref tag) => opt_to_str(tag.total_discs()), 145 156 Metadata::Mp4(ref tag) => opt_to_str(tag.disc().1), 157 + Metadata::VorbisComments(ref tag) => opt_to_str(tag.disk_total()), 146 158 }; 147 159 148 160 let compilation = match file.metadata { ··· 151 163 get_frame_text(&tag, "TCMP") == Some("1") || get_frame_text(&tag, "TCP") == Some("1") 152 164 } 153 165 Metadata::Mp4(ref tag) => tag.compilation(), 166 + Metadata::VorbisComments(ref tag) => tag.get("COMPILATION") == Some("1"), 154 167 }; 155 168 156 169 let bpm = match file.metadata { 157 170 Metadata::Id3(ref tag) => get_frame_text(&tag, "TBPM").unwrap_or("").to_string(), 158 171 Metadata::Mp4(ref tag) => opt_to_str(tag.bpm()), 172 + Metadata::VorbisComments(ref tag) => tag.get("BPM").unwrap_or("").to_string(), 159 173 }; 160 174 161 175 #[derive(Serialize)] ··· 181 195 description: None, 182 196 }) 183 197 .collect(), 198 + Metadata::VorbisComments(ref tag) => tag 199 + .get_all("COMMENT") 200 + .map(|c| Comment { 201 + text: c.to_string(), 202 + lang: None, 203 + description: None, 204 + }) 205 + .collect(), 184 206 }; 185 207 186 208 Some(serde_json::json!({ ··· 200 222 "compilation": compilation, 201 223 "bpm": bpm, 202 224 "comments": comments, 203 - "frames": get_frames(&file.metadata), 225 + "frames": file.metadata.get_frames(), 204 226 })) 205 227 }
+25
src-tauri/src/files.rs
··· 1 1 use crate::cmd::{AppArg, File}; 2 2 use crate::frames::Metadata; 3 3 use crate::throw; 4 + use lofty::{AudioFile, TagExt}; 4 5 use std::fs; 5 6 use std::path::PathBuf; 6 7 use tauri::api::dialog; 7 8 use tauri::command; 8 9 10 + fn open_file(path: &PathBuf) -> Result<fs::File, String> { 11 + match fs::File::open(&path) { 12 + Ok(f) => Ok(f), 13 + Err(e) => throw!("Error opening file {}: {}", path.to_string_lossy(), e), 14 + } 15 + } 16 + 9 17 fn get_metadata(path: &PathBuf) -> Result<Metadata, String> { 10 18 let ext = path.extension().unwrap_or_default().to_string_lossy(); 11 19 let path_str = path.to_string_lossy(); 12 20 let metadata = match ext.as_ref() { 21 + // ID3 13 22 "mp3" | "aiff" => { 14 23 let tag = match id3::Tag::read_from_path(&path) { 15 24 Ok(tag) => tag, ··· 20 29 }; 21 30 Metadata::Id3(tag) 22 31 } 32 + // iTunes-style 23 33 "m4a" | "mp4" | "m4p" | "m4b" | "m4r" | "m4v" => { 24 34 let tag = match mp4ameta::Tag::read_from_path(&path) { 25 35 Ok(tag) => tag, ··· 29 39 }, 30 40 }; 31 41 Metadata::Mp4(tag) 42 + } 43 + "opus" => { 44 + let mut file = open_file(&path)?; 45 + let mut opus = match lofty::ogg::OpusFile::read_from( 46 + &mut file, 47 + lofty::ParseOptions::new().read_properties(false), 48 + ) { 49 + Ok(f) => f, 50 + Err(e) => throw!("Error reading tag for file {}: {}", path_str, e), 51 + }; 52 + Metadata::VorbisComments(opus.remove_vorbis_comments()) 32 53 } 33 54 _ => throw!("Unsupported file type"), 34 55 }; ··· 97 118 Metadata::Mp4(ref tag) => match tag.write_to_path(&file.path) { 98 119 Ok(_) => {} 99 120 Err(e) => throw!("Error saving file: {}", e.description), 121 + }, 122 + Metadata::VorbisComments(ref tag) => match tag.save_to_path(&file.path) { 123 + Ok(_) => {} 124 + Err(e) => throw!("Error saving file: {}", e.to_string()), 100 125 }, 101 126 } 102 127 file.dirty = false;
+20 -6
src-tauri/src/frames.rs
··· 1 + use lofty::ogg::VorbisComments; 1 2 use serde::Serialize; 2 3 3 - #[derive(Debug, Clone)] 4 + #[derive(Clone)] 4 5 pub enum Metadata { 5 6 Id3(id3::Tag), 6 7 Mp4(mp4ameta::Tag), 8 + VorbisComments(lofty::ogg::VorbisComments), 7 9 } 8 - use Metadata::{Id3, Mp4}; 10 + impl Metadata { 11 + pub fn get_frames(&self) -> Vec<Frame> { 12 + match self { 13 + Self::Id3(id3) => get_id3_frames(id3), 14 + Self::Mp4(mp4) => get_mp4_frames(mp4), 15 + Self::VorbisComments(vorbis_comments) => get_vorbis_comments_frames(vorbis_comments), 16 + } 17 + } 18 + } 9 19 10 20 #[derive(Serialize)] 11 21 pub enum Frame { ··· 80 90 frames 81 91 } 82 92 83 - pub fn get_frames(md: &Metadata) -> Vec<Frame> { 84 - match md { 85 - Id3(id3) => get_id3_frames(id3), 86 - Mp4(mp4) => get_mp4_frames(mp4), 93 + fn get_vorbis_comments_frames(tag: &VorbisComments) -> Vec<Frame> { 94 + let mut frames = Vec::new(); 95 + for (key, value) in tag.items() { 96 + frames.push(Frame::Text { 97 + id: key.to_string(), 98 + value: value.to_string(), 99 + }); 87 100 } 101 + frames 88 102 }
+95 -6
src-tauri/src/image.rs
··· 3 3 use crate::throw; 4 4 use base64; 5 5 use id3::TagLike; 6 + use lofty::ogg::OggPictureStorage; 6 7 use serde::Serialize; 7 8 use std::fs; 8 9 use std::path::PathBuf; ··· 19 20 } 20 21 21 22 #[command] 22 - pub fn get_image(index: Option<usize>, app: AppArg<'_>) -> Option<Image> { 23 + pub fn get_image(index: Option<usize>, app: AppArg<'_>) -> Result<Option<Image>, String> { 23 24 let mut app = app.0.lock().unwrap(); 24 - let file = app.current_file().ok()?; 25 + let file = app.current_file()?; 25 26 let index = match index { 26 27 Some(index) => index, 27 28 None => match file.metadata { 28 29 Metadata::Id3(ref tag) => { 29 30 let mut index = match tag.pictures().next() { 30 31 Some(_pic) => 0, 31 - None => return None, 32 + None => return Ok(None), 32 33 }; 33 34 for (i, current_pic) in tag.pictures().enumerate() { 34 35 if current_pic.picture_type == id3::frame::PictureType::CoverFront { ··· 40 41 } 41 42 Metadata::Mp4(ref tag) => match tag.artwork() { 42 43 Some(_artwork) => 0, 43 - None => return None, 44 + None => return Ok(None), 44 45 }, 46 + Metadata::VorbisComments(ref tag) => { 47 + if tag.pictures().len() == 0 { 48 + return Ok(None); 49 + } 50 + 0 51 + } 45 52 }, 46 53 }; 47 - match file.metadata { 54 + let image_option = match file.metadata { 48 55 Metadata::Id3(ref tag) => match tag.pictures().nth(index) { 49 56 Some(pic) => Some(Image { 50 57 index, ··· 71 78 }), 72 79 None => None, 73 80 }, 74 - } 81 + Metadata::VorbisComments(ref tag) => match tag.pictures().get(index) { 82 + Some((pic, _info)) => Some(Image { 83 + index, 84 + total_images: tag.pictures().len(), 85 + data: base64::encode(pic.data()), 86 + mime_type: match pic.mime_type() { 87 + lofty::MimeType::Png => "image/png".to_string(), 88 + lofty::MimeType::Jpeg => "image/jpeg".to_string(), 89 + lofty::MimeType::Tiff => "image/tiff".to_string(), 90 + lofty::MimeType::Bmp => "image/bmp".to_string(), 91 + lofty::MimeType::Gif => "image/gif".to_string(), 92 + lofty::MimeType::Unknown(unknown) => throw!("Unknown picture type {unknown}"), 93 + lofty::MimeType::None => throw!("No picture type"), 94 + _ => throw!("Unsupported picture type"), 95 + }, 96 + description: pic.description().map(|s| s.to_string()), 97 + picture_type: Some(match pic.pic_type() { 98 + lofty::PictureType::Other => "Other".to_string(), 99 + lofty::PictureType::Icon => "Icon".to_string(), 100 + lofty::PictureType::OtherIcon => "Other icon".to_string(), 101 + lofty::PictureType::CoverFront => "Front cover".to_string(), 102 + lofty::PictureType::CoverBack => "Back cover".to_string(), 103 + lofty::PictureType::Leaflet => "Leaflet".to_string(), 104 + lofty::PictureType::Media => "Media".to_string(), 105 + lofty::PictureType::LeadArtist => "Lead artist".to_string(), 106 + lofty::PictureType::Artist => "Artist".to_string(), 107 + lofty::PictureType::Conductor => "Conductor".to_string(), 108 + lofty::PictureType::Band => "Band".to_string(), 109 + lofty::PictureType::Composer => "Composer".to_string(), 110 + lofty::PictureType::Lyricist => "Lyricist".to_string(), 111 + lofty::PictureType::RecordingLocation => "Recording location".to_string(), 112 + lofty::PictureType::DuringRecording => "During recording".to_string(), 113 + lofty::PictureType::DuringPerformance => "During performance".to_string(), 114 + lofty::PictureType::ScreenCapture => "Screen capture".to_string(), 115 + lofty::PictureType::BrightFish => "Bright fish".to_string(), 116 + lofty::PictureType::Illustration => "Illustration".to_string(), 117 + lofty::PictureType::BandLogo => "Band logo".to_string(), 118 + lofty::PictureType::PublisherLogo => "Publisher logo".to_string(), 119 + lofty::PictureType::Undefined(u) => throw!("Undefined type {u}"), 120 + _ => throw!("Unsupported picture type {:?}", pic.pic_type()), 121 + }), 122 + }), 123 + None => None, 124 + }, 125 + }; 126 + Ok(image_option) 75 127 } 76 128 77 129 #[command] ··· 96 148 artworks.remove(index); 97 149 tag.set_artworks(artworks); 98 150 } 151 + Metadata::VorbisComments(ref mut tag) => { 152 + tag.remove_picture(index); 153 + } 99 154 } 100 155 file.dirty = true; 101 156 Ok(()) 102 157 } 103 158 159 + enum MimeType { 160 + Png, 161 + Jpeg, 162 + } 163 + 104 164 #[command] 105 165 pub fn set_image(index: usize, path: PathBuf, app: AppArg<'_>) -> Result<(), String> { 106 166 let mut app = app.0.lock().unwrap(); ··· 110 170 Err(e) => throw!("Error reading that file: {}", e), 111 171 }; 112 172 let ext = path.extension().unwrap_or_default().to_string_lossy(); 173 + let mime_type = match ext.as_ref() { 174 + "jpg" | "jpeg" => MimeType::Jpeg, 175 + "png" => MimeType::Png, 176 + ext => throw!("Unsupported file type: {}", ext), 177 + }; 113 178 match file.metadata { 114 179 Metadata::Id3(ref mut tag) => { 115 180 let mut pic_frames: Vec<_> = tag ··· 174 239 } 175 240 } 176 241 tag.set_artworks(artworks); 242 + } 243 + Metadata::VorbisComments(ref mut tag) => { 244 + if index <= tag.pictures().len() { 245 + let info_result = match mime_type { 246 + MimeType::Png => lofty::PictureInformation::from_png(&new_bytes), 247 + MimeType::Jpeg => lofty::PictureInformation::from_jpeg(&new_bytes), 248 + }; 249 + let info = match info_result { 250 + Ok(info) => info, 251 + Err(e) => throw!("Error reading picture info: {}", e), 252 + }; 253 + let mut byte_cursor = std::io::Cursor::new(new_bytes); 254 + let pic = match lofty::Picture::from_reader(&mut byte_cursor) { 255 + Ok(mut pic) => { 256 + pic.set_pic_type(lofty::PictureType::Other); 257 + pic 258 + } 259 + Err(e) => throw!("Error reading picture: {}", e), 260 + }; 261 + // this is safe because set_picture appends if out of bounds: 262 + tag.set_picture(index, pic, info); 263 + } else { 264 + throw!("Index out of range"); 265 + } 177 266 } 178 267 } 179 268 file.dirty = true;
+13 -1
src/App.svelte
··· 37 37 await runCmd<App>('open_files', { paths }) 38 38 getApp() 39 39 } 40 - let extensions = ['mp3', 'aiff', 'wav', 'm4a', 'mp4', 'm4p', 'm4b', 'm4r', 'm4v'] 40 + let extensions = [ 41 + // 42 + 'aiff', 43 + 'mp3', 44 + 'm4a', 45 + 'mp4', 46 + 'm4p', 47 + 'm4b', 48 + 'm4r', 49 + 'm4v', 50 + 'opus', 51 + 'wav', 52 + ] 41 53 async function openDialog() { 42 54 let paths = await dialog.open({ 43 55 filters: [{ name: 'Audio/Video file', extensions }],