From 302609ed1b1bb065dbb494fbc78a35146aafff7a Mon Sep 17 00:00:00 2001 From: CDrummond Date: Wed, 5 Mar 2025 19:10:47 +0000 Subject: [PATCH] Update lofty version --- Cargo.lock | 53 ++++++++++++++++++++++++++--------------------------- Cargo.toml | 2 +- ChangeLog | 17 +++++++++-------- src/tags.rs | 9 ++++++--- 4 files changed, 42 insertions(+), 39 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 78d9197..e7ad179 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -94,12 +94,6 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - [[package]] name = "bindgen" version = "0.64.0" @@ -137,7 +131,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.32", + "syn 2.0.99", ] [[package]] @@ -380,6 +374,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "data-encoding" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "575f75dfd25738df5b91b8e43e14d44bda14637a58fae779fd2b064f8bf3e010" + [[package]] name = "dirs" version = "1.0.5" @@ -730,29 +730,28 @@ checksum = "d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab" [[package]] name = "lofty" -version = "0.16.1" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c18ba58211b3c3557970755d7afc3a7438c2d4557bcd684470b2195c0ae66e53" +checksum = "781de624f162b1a8cbfbd577103ee9b8e5f62854b053ff48f4e31e68a0a7df6f" dependencies = [ - "base64 0.21.7", "byteorder", + "data-encoding", "flate2", "lofty_attr", "log", "ogg_pager", - "once_cell", "paste", ] [[package]] name = "lofty_attr" -version = "0.9.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "764b60e1ddd07e5665a6a17636a95cd7d8f3b86c73503a69c32979d05f72f3cf" +checksum = "ed9983e64b2358522f745c1251924e3ab7252d55637e80f6a0a3de642d6a9efc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.99", ] [[package]] @@ -901,9 +900,9 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] name = "ogg_pager" -version = "0.5.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d218a406e5de88e1c492d0162d569916f7436efe851ba5cc40a4bf4fa97cb40" +checksum = "e034c10fb5c1c012c1b327b85df89fb0ef98ae66ec28af30f0d1eed804a40c19" dependencies = [ "byteorder", ] @@ -961,18 +960,18 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" [[package]] name = "proc-macro2" -version = "1.0.66" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.32" +version = "1.0.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +checksum = "c1f1914ce909e1658d9907913b4b91947430c7d9be598b15a1912935b8c04801" dependencies = [ "proc-macro2", ] @@ -1123,7 +1122,7 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" dependencies = [ - "base64 0.13.0", + "base64", "blake2b_simd", "constant_time_eq", "crossbeam-utils", @@ -1244,7 +1243,7 @@ checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.99", ] [[package]] @@ -1396,9 +1395,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.32" +version = "2.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2" +checksum = "e02e925281e18ffd9d640e234264753c43edc62d64b2d4cf898f1bc5e75f3fc2" dependencies = [ "proc-macro2", "quote", @@ -1441,7 +1440,7 @@ checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.99", ] [[package]] @@ -1551,7 +1550,7 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9399fa2f927a3d327187cbd201480cee55bee6ac5d3c77dd27f0c6814cff16d5" dependencies = [ - "base64 0.13.0", + "base64", "chunked_transfer", "flate2", "log", @@ -1832,5 +1831,5 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.32", + "syn 2.0.99", ] diff --git a/Cargo.toml b/Cargo.toml index b10b02d..8eb3ae0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ rusqlite = { version = "0.28.0", features = ["bundled"] } log = "0.4.14" env_logger = "0.8.4" indicatif = "0.16.2" -lofty = "0.16.1" +lofty = "0.22.2" dirs = "1" chrono = "0.4.19" regex = "1" diff --git a/ChangeLog b/ChangeLog index 33843b2..2df7f33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,17 +1,18 @@ 0.3.0 ----- 1. Add support for (DSD) WavPack - thanks to Bart Lauret -2. Update version of bliss library. -3. Use 'ffmpeg' commandline to decode files, and not ffmpeg libraries by - defualt. Pass '--features=libav' to cargo to build against ffmpeg +2. Update version of tag reader library. +3. Update version of bliss library. +4. Use 'ffmpeg' commandline to decode files, and not ffmpeg libraries by + default. Pass '--features=libav' to cargo to build against ffmpeg libraries. Pass '--features=libav,libavstatic' to cargo to build against ffmpeg libraries, and statically link these in. -4. Add ability to specify LMS JSONRPC port. -5. If new files analysed and 'ignore' file exists then update DB's 'ignore' +5. Add ability to specify LMS JSONRPC port. +6. If new files analysed and 'ignore' file exists then update DB's 'ignore' flags. -6. Add option to write analysis results to files, and use for future scans. -7. If log level set to 'trace' then set this level for the Bliss library too. -8. Enable support for '.dsf' files. +7. Add option to write analysis results to files, and use for future scans. +8. If log level set to 'trace' then set this level for the bliss library too. +9. Enable support for '.dsf' files. 0.2.3 ----- diff --git a/src/tags.rs b/src/tags.rs index 5c5c11e..d65b6a1 100644 --- a/src/tags.rs +++ b/src/tags.rs @@ -7,7 +7,10 @@ **/ use crate::db; -use lofty::{Accessor, AudioFile, ItemKey, ItemValue, Tag, TagExt, TaggedFileExt, TagItem}; +use lofty::config::WriteOptions; +use lofty::file::FileType; +use lofty::prelude::{Accessor, AudioFile, ItemKey, TagExt, TaggedFileExt}; +use lofty::tag::{ItemValue, Tag, TagItem}; use regex::Regex; use std::path::Path; use substring::Substring; @@ -55,7 +58,7 @@ pub fn write_analysis(track: &String, analysis: &Analysis) { // Store analysis results tag.push(TagItem::new(ANALYSIS_TAG, ItemValue::Text(value))); - let _ = tag.save_to_path(Path::new(track)); + let _ = tag.save_to_path(Path::new(track), WriteOptions::default()); } } @@ -78,7 +81,7 @@ pub fn read(track: &String, read_analysis: bool) -> db::Metadata { meta.genre = tag.genre().unwrap_or_default().to_string(); // Check whether MP3 has numeric genre, and if so covert to text - if file.file_type().eq(&lofty::FileType::Mpeg) { + if file.file_type().eq(&FileType::Mpeg) { match tag.genre() { Some(genre) => { let test = genre.parse::();