mirror of
https://github.com/librespot-org/librespot.git
synced 2026-04-27 08:15:50 +03:00
[PR #1356] [MERGED] Spirc: Replace Mecury with Dealer #1354
Labels
No labels
A-Alsa
SpotifyAPI
Tokio 1.0
audio
bug
can't reproduce
compilation
dependencies
duplicate
enhancement
good first issue
help wanted
high priority
imported
imported
invalid
new api
pull-request
question
reverse engineering
wiki
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/librespot#1354
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/librespot-org/librespot/pull/1356
Author: @photovoltex
Created: 9/29/2024
Status: ✅ Merged
Merged: 12/10/2024
Merged by: @roderickvd
Base:
dev← Head:integrate-dealer📝 Commits (10+)
736faafdealer wrapper for eas of use1073081improve sending protobuf requestsdfdfbd5replace connect config with connect_state config2ecb8f0start integrating dealer into spircc066c29payload handling, gzip supportf8f350cput connect state consistent23107e7formatting68728ferequest payload handling, gzip supporte450428expose dealer::protocol, move request in own file618473bintegrate handle of connect-state commands📊 Changes
43 files changed (+4175 additions, -1229 deletions)
View changed files
📝
CHANGELOG.md(+9 -0)📝
Cargo.lock(+33 -2)📝
connect/Cargo.toml(+1 -2)➖
connect/src/config.rs(+0 -22)➖
connect/src/context.rs(+0 -121)📝
connect/src/lib.rs(+2 -2)➕
connect/src/model.rs(+188 -0)📝
connect/src/spirc.rs(+958 -899)➕
connect/src/state.rs(+448 -0)➕
connect/src/state/context.rs(+415 -0)➕
connect/src/state/handle.rs(+65 -0)➕
connect/src/state/metadata.rs(+84 -0)➕
connect/src/state/options.rs(+88 -0)➕
connect/src/state/provider.rs(+66 -0)➕
connect/src/state/restrictions.rs(+61 -0)➕
connect/src/state/tracks.rs(+422 -0)➕
connect/src/state/transfer.rs(+146 -0)📝
core/Cargo.toml(+2 -0)📝
core/src/config.rs(+27 -0)📝
core/src/connection/handshake.rs(+2 -2)...and 23 more files
📄 Description
Initial PR Description
As suggested from @roderickvd a draft PR so i can have some community feedback and give now and then updates on the progress.
The replacement is in a working state, so the very basic do work again. There is still a lot of cleanup and re-implementing to do.
But so far what is working:
Previously Known Problems:
might be that that is already resolved, but i think i still saw that behavior not so long agoWhat i still have to do:
currently it works really well if the playback starts from a different device like the web-playerbut from a cold start it's still a bit weird and not fully sorted outI tried to keep my code clean, but if there are points that i could improve and such, i would like to here them^^
Currently Known Issues:
Fixes #19
repeating_trackandset_optionscommandFixes #434
Fixes #442
Fixes #701
set_queueFixes #765
Fixes #861
Fixes #1205
Fixes #1353
Thx again to all people testing the branch, helps a lot :D
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.