Skip to content

Commit f760174

Browse files
committed
Update Rust dependencies
1 parent 8acf8dc commit f760174

File tree

23 files changed

+646
-1243
lines changed

23 files changed

+646
-1243
lines changed

Cargo.lock

+588-1,169
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/onetagger-autotag/Cargo.toml

+6-9
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,22 @@ edition = "2021"
66
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
77

88
[dependencies]
9-
zip = "0.6"
109
log = "0.4"
11-
regex = "1.7"
10+
regex = "1.10"
1211
dunce = "1.0"
13-
image = "0.24"
14-
rodio = "0.17"
12+
image = "0.25"
1513
anyhow = "1.0"
1614
chrono = "0.4"
17-
base64 = "0.21"
15+
base64 = "0.22"
1816
execute = "0.2"
19-
walkdir = "2.3"
20-
tempfile = "3.8"
17+
walkdir = "2.5"
2118
libloading = "0.8"
2219
serde_json = "1.0"
23-
lazy_static = "1.4"
20+
lazy_static = "1.5"
2421
crossbeam-channel = "0.5"
2522

2623
serde = { version = "1.0", features = ["derive"] }
27-
reqwest = { version = "0.11", features = ["json", "blocking", "rustls-tls"], default-features = false }
24+
reqwest = { version = "0.12", features = ["json", "blocking", "rustls-tls"], default-features = false }
2825

2926
songrec = { git = "https://github.com/Marekkon5/SongRec.git" }
3027

crates/onetagger-autotag/src/platforms.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ use std::sync::{Arc, Mutex};
77
use base64::Engine;
88
use libloading::{Library, Symbol};
99
use onetagger_platforms::{beatport, junodownload, spotify, traxsource, discogs, itunes, musicbrainz, beatsource, bpmsupreme, bandcamp, deezer, musixmatch};
10-
use image::io::Reader as ImageReader;
11-
use image::ImageOutputFormat;
10+
use image::{ImageFormat, ImageReader};
1211
use onetagger_shared::Settings;
1312
use onetagger_tagger::custom::MatchTrackResult;
1413
use onetagger_tagger::{AutotaggerSourceBuilder, PlatformInfo, AutotaggerSource, TaggerConfig, AudioFileInfo, Track, SupportedTag, TrackMatch, ConfigCallbackResponse};
14+
use serde::{Serialize, Deserialize};
1515

1616
lazy_static::lazy_static! {
1717
/// Globally loaded all platforms
@@ -88,7 +88,7 @@ impl AutotaggerPlatforms {
8888
fn reencode_image(data: &[u8]) -> Result<String, Error> {
8989
let img = ImageReader::new(Cursor::new(data)).with_guessed_format()?.decode()?;
9090
let mut buf = vec![];
91-
img.write_to(&mut Cursor::new(&mut buf), ImageOutputFormat::Png)?;
91+
img.write_to(&mut Cursor::new(&mut buf), ImageFormat::Png)?;
9292
Ok(format!("data:image/png;charset=utf-8;base64,{}", base64::engine::general_purpose::STANDARD.encode(buf)))
9393
}
9494

crates/onetagger-cli/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ anyhow = "1.0"
1111
serde_json = "1.0"
1212
convert_case = "0.6"
1313

14-
clap = { version = "4.1", features = ["derive"] }
14+
clap = { version = "4.5", features = ["derive"] }
1515

1616
onetagger-ui = { path = "../onetagger-ui" }
1717
onetagger-tagger = { path = "../onetagger-tagger" }

crates/onetagger-platforms/Cargo.toml

+5-8
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,18 @@ edition = "2021"
77

88
[dependencies]
99
log = "0.4"
10-
url = "2.2"
10+
url = "2.5"
1111
rand = "0.8"
12-
regex = "1.5"
12+
regex = "1.10"
1313
anyhow = "1.0"
14-
scraper = "0.18"
14+
scraper = "0.20"
1515
serde_json = "1.0"
1616
minify-html = "0.15"
1717

1818
serde = { version = "1.0", features = ["derive"] }
1919
chrono = { version = "0.4", features = ["serde"] }
20-
reqwest = { version = "0.11", features = ["json", "blocking", "rustls-tls"], default-features = false }
21-
# rspotify = { version = "0.12", features = ["client-ureq", "ureq-rustls-tls"], default-features = false }
22-
23-
# tmp fix for https://github.com/ramsayleung/rspotify/issues/452
24-
rspotify = { git = "https://github.com/Marekkon5/rspotify.git", branch = "artistf32", features = ["client-ureq", "ureq-rustls-tls"], default-features = false }
20+
reqwest = { version = "0.12", features = ["json", "blocking", "rustls-tls"], default-features = false }
21+
rspotify = { version = "0.13", features = ["client-ureq", "ureq-rustls-tls"], default-features = false }
2522

2623

2724
onetagger-tag = { path = "../onetagger-tag" }

crates/onetagger-platforms/src/bandcamp.rs

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use onetagger_tagger::{supported_tags, AudioFileInfo, AutotaggerSource, Autotagg
55
use reqwest::blocking::Client;
66
use scraper::{Html, Selector};
77
use serde_json::{json, Value};
8+
use serde::{Serialize, Deserialize};
89

910
pub struct Bandcamp {
1011
client: Client

crates/onetagger-platforms/src/deezer.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use chrono::NaiveDate;
44
use onetagger_tagger::{Track, AutotaggerSourceBuilder, PlatformInfo, TaggerConfig, AutotaggerSource, PlatformCustomOptions, PlatformCustomOptionValue, AudioFileInfo, MatchingUtils, TrackNumber, supported_tags, TrackMatch};
55
use reqwest::blocking::Client;
66
use serde::de::DeserializeOwned;
7+
use serde::{Serialize, Deserialize};
78

89
/// Rate limit error code
910
const RATE_LIMIT_CODE: i32 = 4;

crates/onetagger-platforms/src/spotify.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ fn full_track_to_track(track: FullTrack) -> Track {
250250
release_year: track.album.release_date.as_ref().map(|d| if d.len() > 4 { d[0..4].to_string().parse().ok() } else { None }).flatten(),
251251
release_date: track.album.release_date.as_ref().map(|d| NaiveDate::parse_from_str(d, "%Y-%m-%d").ok()).flatten(),
252252
explicit: Some(track.explicit),
253-
thumbnail: track.album.images.iter().min_by(|a, b| a.width.unwrap_or(1000.0).partial_cmp(&b.width.unwrap_or(1000.0)).unwrap()).map(|i| i.url.to_string()),
253+
thumbnail: track.album.images.iter().min_by(|a, b| a.width.unwrap_or(1000).partial_cmp(&b.width.unwrap_or(1000)).unwrap()).map(|i| i.url.to_string()),
254254
..Default::default()
255255
}
256256
}

crates/onetagger-player/Cargo.toml

+3-5
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,10 @@ edition = "2021"
99
log = "0.4"
1010
alac = "0.5"
1111
hound = "3.5"
12+
lofty = "0.21"
1213
anyhow = "1.0"
13-
lofty = "0.17"
14-
pacmog = "0.4.1"
14+
pacmog = "0.4.2"
1515
mp4parse = "0.17"
1616

17-
rodio = { version = "0.17", features = ["symphonia-aac", "symphonia-isomp4", "symphonia-mp3"] }
18-
19-
onetagger-shared = { path = "../onetagger-shared" }
17+
rodio = { version = "0.19", features = ["symphonia-aac", "symphonia-isomp4", "symphonia-mp3"] }
2018

crates/onetagger-player/src/aiff.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use std::path::{Path, PathBuf};
22
use anyhow::Error;
3+
use lofty::file::AudioFile;
34
use std::fs::File;
45
use std::io::Read;
56
use std::time::Duration;
6-
use lofty::AudioFile;
77
use pacmog::PcmReader;
88
use rodio::Source;
99

crates/onetagger-player/src/mp3.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::path::{Path, PathBuf};
22
use anyhow::Error;
3-
use lofty::AudioFile;
3+
use lofty::file::AudioFile;
44
use std::io::BufReader;
55
use std::fs::File;
66
use rodio::{Source, Decoder};

crates/onetagger-player/src/ogg.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use std::time::Duration;
22
use anyhow::Error;
3+
use lofty::file::AudioFile;
34
use std::path::{PathBuf, Path};
45
use std::io::BufReader;
56
use std::fs::File;
6-
use lofty::AudioFile;
77
use rodio::{Source, Decoder};
88

99
use crate::AudioSource;

crates/onetagger-playlist/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ base64 = "0.21"
1212
urlencoding = "2.1"
1313

1414
serde = { version = "1.0", features = ["derive"] }
15-
onetagger-tag = { path = "../onetagger-tag" }
16-
onetagger-shared = { path = "../onetagger-shared" }
15+
16+
onetagger-tag = { path = "../onetagger-tag" }

crates/onetagger-renamer/Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ edition = "2021"
99
log = "0.4"
1010
pad = "0.1"
1111
dunce = "1.0"
12-
regex = "1.7"
12+
regex = "1.10"
1313
anyhow = "1.0"
14-
titlecase = "2.2"
15-
lazy_static = "1.4"
16-
pulldown-cmark = "0.9"
14+
titlecase = "3.3"
15+
lazy_static = "1.5"
16+
pulldown-cmark = "0.12"
1717

1818
serde = { version = "1.0", features = ["derive"] }
1919

crates/onetagger-shared/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ log = "0.4"
1010
anyhow = "1.0"
1111
chrono = "0.4"
1212
backtrace = "0.3"
13-
crossterm = "0.27"
13+
crossterm = "0.28"
1414
serde_json = "1.0"
1515
directories = "5.0"
16-
lazy_static = "1.4"
16+
lazy_static = "1.5"
1717

1818
fern = { version = "0.6", features = ["colored"] }
1919
serde = { version = "1.0", features = ["derive"] }

crates/onetagger-tag/src/lib.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
#[cfg(feature = "tag")]
55
#[macro_use] extern crate anyhow;
66

7-
use serde::de::Visitor;
8-
use serde::{Serialize, Deserialize, Serializer, Deserializer};
9-
use std::ops::{Deref, DerefMut};
7+
use serde::{Serialize, Deserialize};
108
use std::path::PathBuf;
119
use std::time::Duration;
1210
use anyhow::Error;

crates/onetagger-tag/src/wav.rs

+6-12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use anyhow::Error;
2-
use std::io::{BufReader, BufWriter, Cursor};
2+
use std::io::{BufReader, BufWriter, Cursor, Seek, SeekFrom};
33
use std::fs::File;
44
use std::collections::HashMap;
55
use std::path::Path;
@@ -153,8 +153,7 @@ pub(crate) fn read_wav(path: impl AsRef<Path>) -> Result<Tag, Error> {
153153
offset += chunk.len() as u64;
154154
}
155155

156-
// Resolve nested chunks because SOME apps do that, also find ID3 chunk
157-
let mut id3 = None;
156+
// Resolve nested chunks because SOME apps do that
158157
let mut new_chunks = vec![];
159158
for chunk in chunks {
160159
// Resolve nested
@@ -164,18 +163,13 @@ pub(crate) fn read_wav(path: impl AsRef<Path>) -> Result<Tag, Error> {
164163
}
165164
continue;
166165
}
167-
// Resolve ID3
168-
if id3.is_none() && (chunk.id() == ID3_ID_1 || chunk.id() == ID3_ID_2) {
169-
let data = chunk.read_contents(&mut file)?;
170-
id3 = Tag::read_from(&data[..]).ok();
171-
continue;
172-
}
173-
174166
new_chunks.push(chunk);
175167
}
176168
let chunks = new_chunks;
177-
// Create default if invalid
178-
let mut id3 = id3.unwrap_or(Tag::new());
169+
170+
// Read ID3 using the new ID3 reader
171+
file.seek(SeekFrom::Start(0))?;
172+
let mut id3 = Tag::read_from2(&mut file).unwrap_or(Tag::new());
179173

180174
// Copy tags from RIFF to ID3 if missing
181175
for (frame_name, chunk_id) in ID3_RIFF.iter() {

crates/onetagger-tagger/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ edition = "2021"
77

88
[dependencies]
99
log = "0.4"
10-
regex = "1.7"
10+
regex = "1.10"
1111
anyhow = "1.0"
12-
strsim = "0.10"
12+
strsim = "0.11"
1313
unidecode = "0.3"
1414
serde_json = "1.0"
1515

crates/onetagger-ui/Cargo.toml

+5-6
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@ edition = "2021"
88
log = "0.4"
99
mime = "0.3"
1010
dunce = "1.0"
11-
trash = "4.0"
11+
trash = "5.1"
1212
image = "0.25"
1313
anyhow = "1.0"
14-
opener = "0.6"
14+
opener = "0.7"
1515
base64 = "0.22"
1616
walkdir = "2.3"
17-
tempfile = "3.3"
1817
serde_json = "1.0"
19-
webbrowser = "0.8"
18+
webbrowser = "1.0"
2019
mime_guess = "2.0"
2120
urlencoding = "2.1"
2221
include_dir = "0.7"
@@ -25,7 +24,7 @@ tinyfiledialogs = "3.9"
2524

2625
axum = { version = "0.7", features = ["ws"] }
2726
serde = { version = "1.0", features = ["derive"] }
28-
tokio = { version = "1.35", features = ["rt-multi-thread"] }
27+
tokio = { version = "1.39", features = ["rt-multi-thread"] }
2928

3029
onetagger-tag = { path = "../onetagger-tag" }
3130
onetagger-shared = { path = "../onetagger-shared" }
@@ -38,5 +37,5 @@ onetagger-platforms = { path = "../onetagger-platforms" }
3837

3938
# Windows specific
4039
[target.'cfg(windows)'.dependencies]
41-
sysinfo = "0.30"
40+
sysinfo = "0.31"
4241

crates/onetagger-ui/src/quicktag.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ use std::fs::read_dir;
55
use std::path::Path;
66
use std::io::Cursor;
77
use walkdir::WalkDir;
8-
use image::ImageFormat;
9-
use image::io::Reader as ImageReader;
8+
use image::{ImageFormat, ImageReader};
109
use serde::{Deserialize, Serialize};
1110
use onetagger_tag::{AudioFileFormat, Field, Tag, EXTENSIONS, TagSeparators};
1211
use onetagger_playlist::{UIPlaylist, get_files_from_playlist_file};

crates/onetagger-ui/src/tageditor.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use std::collections::HashMap;
44
use std::path::{Path, PathBuf};
55
use base64::Engine;
66
use serde::{Serialize, Deserialize};
7-
use image::{GenericImageView, io::Reader as ImageReader};
7+
use image::{GenericImageView, ImageReader};
88

99
use onetagger_tag::{AudioFileFormat, CoverType, Picture, Tag};
1010
use onetagger_tag::id3::{ID3Comment, ID3Popularimeter};

crates/onetagger/Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ log = "0.4"
1111
anyhow = "1.0"
1212
urlencoding = "2.1"
1313

14-
tao = { version = "0.24", features = ["rwh_05"] }
15-
wry = { version = "0.35", features = ["devtools"] }
16-
clap = { version = "4.1", features = ["derive"] }
14+
tao = { version = "0.29", features = ["rwh_05"] }
15+
wry = { version = "0.42", features = ["devtools"] }
16+
clap = { version = "4.5", features = ["derive"] }
1717
serde = { version = "1.0", features = ["derive"] }
1818

1919
onetagger-ui = { path = "../onetagger-ui" }
@@ -31,7 +31,7 @@ winres = "0.1"
3131

3232
# MacOS specific
3333
[target.'cfg(target_os = "macos")'.dependencies]
34-
muda = "0.11"
34+
muda = "0.14"
3535
native-dialog = "0.7.0"
3636

3737

crates/onetagger/src/main.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use anyhow::Error;
66
use clap::Parser;
77
use std::path::PathBuf;
88
use onetagger_shared::Settings;
9-
use wry::{WebViewBuilder, FileDropEvent, WebContext};
9+
use wry::{DragDropEvent, WebContext, WebViewBuilder};
1010
use tao::dpi::{Size, PhysicalSize};
1111
use tao::event::{StartCause, Event, WindowEvent};
1212
use tao::event_loop::{EventLoopBuilder, ControlFlow};
@@ -175,14 +175,14 @@ pub fn start_webview() -> Result<(), Error> {
175175

176176
// Configure
177177
let mut webview = builder
178-
.with_url(&format!("http://127.0.0.1:{PORT}/"))?
178+
.with_url(&format!("http://127.0.0.1:{PORT}/"))
179179
.with_devtools(Settings::load().map(|s| s.devtools()).unwrap_or(false))
180180
.with_ipc_handler(move |message| {
181181
let proxy = &p;
182-
if message == "devtools" {
182+
if message.body() == "devtools" {
183183
proxy.send_event(CustomWindowEvent::DevTools).ok();
184184
}
185-
if message == "exit" {
185+
if message.body() == "exit" {
186186
proxy.send_event(CustomWindowEvent::Exit).ok();
187187
}
188188
})
@@ -210,9 +210,9 @@ pub fn start_webview() -> Result<(), Error> {
210210

211211
// Handle dropped folders (for all other than Windows)
212212
if cfg!(not(target_os = "windows")) {
213-
webview = webview.with_file_drop_handler(move |event| {
213+
webview = webview.with_drag_drop_handler(move |event| {
214214
match event {
215-
FileDropEvent::Dropped { mut paths, .. } => {
215+
DragDropEvent::Drop { mut paths, .. } => {
216216
if paths.len() > 1 || paths.is_empty() {
217217
warn!("Drop only 1 path!");
218218
return true;

0 commit comments

Comments
 (0)