[PR #1219] [CLOSED] Draft: RFC supporting single track repeat #1284

Closed
opened 2026-02-27 20:01:51 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/librespot-org/librespot/pull/1219
Author: @sarjann
Created: 11/12/2023
Status: Closed

Base: devHead: feature/single_track_repeat


📝 Commits (1)

  • 65be3c6 Initial commit for repeat one

📊 Changes

4 files changed (+44 additions, -1 deletions)

View changed files

📝 connect/src/spirc.rs (+27 -0)
📝 contrib/event_handler_example.py (+3 -0)
📝 playback/src/player.rs (+12 -1)
📝 protocol/proto/spirc.proto (+2 -0)

📄 Description

Thinking of tackling the issue of single-track repeat not being supported.

Note I'm not planning on merging this branch as is as it's broken / logic / ugly doesn't work and doesn't implement the changes I'm discussing. This is more just to describe what I want to do.

I'm thinking of doing it in a similar way to that shown here if we want backward compatibility. i.e creating a separate field for repeat_one and handling the logic for that separately.

Or what I'd prefer to do is to make repeat an enum with something like Repeat::Track, Repeat::All, Repeat::Off although I'm pretty sure this will break backwards compatibility. Although I guess I could store it this way in the state but the messages/interface the end user sends can treat it as two different events and what's returned is repeat=true,repeat_one=false seperately for example, preserving backwards compatibility.

I'm new to this project, so sorry if I'm missing something or saying something stupid. Just wanted some feedback before going deeper. Thanks.

Related Issue: https://github.com/librespot-org/librespot/issues/19


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/librespot-org/librespot/pull/1219 **Author:** [@sarjann](https://github.com/sarjann) **Created:** 11/12/2023 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `feature/single_track_repeat` --- ### 📝 Commits (1) - [`65be3c6`](https://github.com/librespot-org/librespot/commit/65be3c6380b4dd1d7ff8b7b9eb304a147ec94090) Initial commit for repeat one ### 📊 Changes **4 files changed** (+44 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `connect/src/spirc.rs` (+27 -0) 📝 `contrib/event_handler_example.py` (+3 -0) 📝 `playback/src/player.rs` (+12 -1) 📝 `protocol/proto/spirc.proto` (+2 -0) </details> ### 📄 Description Thinking of tackling the issue of single-track repeat not being supported. Note I'm not planning on merging this branch as is as it's broken / logic / ugly doesn't work and doesn't implement the changes I'm discussing. This is more just to describe what I want to do. I'm thinking of doing it in a similar way to that shown here if we want backward compatibility. i.e creating a separate field for repeat_one and handling the logic for that separately. Or what I'd prefer to do is to make repeat an enum with something like Repeat::Track, Repeat::All, Repeat::Off although I'm pretty sure this will break backwards compatibility. Although I guess I could store it this way in the state but the messages/interface the end user sends can treat it as two different events and what's returned is repeat=true,repeat_one=false seperately for example, preserving backwards compatibility. I'm new to this project, so sorry if I'm missing something or saying something stupid. Just wanted some feedback before going deeper. Thanks. Related Issue: https://github.com/librespot-org/librespot/issues/19 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 20:01:51 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librespot#1284
No description provided.