<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rsplayer/tests/queue.rs, branch main</title>
<subtitle>Daemon focused CLI music player
</subtitle>
<id>https://git.2137697.xyz/rsplayer/atom?h=main</id>
<link rel='self' href='https://git.2137697.xyz/rsplayer/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/'/>
<updated>2026-11-02T12:02:11Z</updated>
<entry>
<title>queue: use let chains and tidy imports</title>
<updated>2026-11-02T12:02:11Z</updated>
<author>
<name>salmonik</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-11-02T12:02:11Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=7683b319b851df5e66465db4916e239b788c09fa'/>
<id>urn:sha1:7683b319b851df5e66465db4916e239b788c09fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix a bug where adding track using `now` when shuffle is on does not work as expected</title>
<updated>2026-08-12T00:56:18Z</updated>
<author>
<name>salmon</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-08-12T00:56:18Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=8ec85d39c55769c564298782a51c6ec25dd6ba9f'/>
<id>urn:sha1:8ec85d39c55769c564298782a51c6ec25dd6ba9f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>queue logic fixes</title>
<updated>2026-08-12T00:17:02Z</updated>
<author>
<name>salmon</name>
<email>salmonik@tuta.io</email>
</author>
<published>2026-08-12T00:17:02Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=3c054ed1ec22b1cf9f1dea5d0a2403e6407fbdfa'/>
<id>urn:sha1:3c054ed1ec22b1cf9f1dea5d0a2403e6407fbdfa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add track index to MPRIS</title>
<updated>2026-07-06T13:58:01Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-07-06T13:58:01Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=fdfe24213d70b5548fb09051a0e32b7224210231'/>
<id>urn:sha1:fdfe24213d70b5548fb09051a0e32b7224210231</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix no metadata songs handling</title>
<updated>2026-05-27T18:52:27Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-05-27T18:52:27Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=e6e9b63f9cb7576c74680b919dff7e83dfde5852'/>
<id>urn:sha1:e6e9b63f9cb7576c74680b919dff7e83dfde5852</id>
<content type='text'>
format string is no longer used to represent songs that have insufficient metadata to fullfill the format string
</content>
</entry>
<entry>
<title>Add internet streams support</title>
<updated>2026-05-27T18:46:33Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-05-27T18:46:33Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=0ae9d89f18bf36407229798a3b4943604fb708e4'/>
<id>urn:sha1:0ae9d89f18bf36407229798a3b4943604fb708e4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add licensing</title>
<updated>2026-05-26T14:54:47Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-05-26T14:54:47Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=337a0ec8a55692f44031b00391a48a7b4b8c71b6'/>
<id>urn:sha1:337a0ec8a55692f44031b00391a48a7b4b8c71b6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix metadata extraction for symphonia 0.6 and add Albums shuffle mode</title>
<updated>2026-05-22T15:57:08Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-05-22T15:57:08Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=956e3be3808f918923aef3259ea5b28bfc055b03'/>
<id>urn:sha1:956e3be3808f918923aef3259ea5b28bfc055b03</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add scrobbling support (Last.fm + ListenBrainz) and rsp settings reload</title>
<updated>2026-05-16T09:43:32Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-05-16T09:43:32Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=04add15691578316ff3da5b5a07d05b314488370'/>
<id>urn:sha1:04add15691578316ff3da5b5a07d05b314488370</id>
<content type='text'>
- Full Last.fm API implementation with MD5 signing (track.updateNowPlaying, track.scrobble)
- Full ListenBrainz API implementation (/1/submit-listens for playing_now and single)
- ScrobbleState in daemon tracking track, start time, and unix timestamp per play
- Scrobble threshold: ≥30s play AND (≥half duration OR ≥4 min)
- Duration extraction from symphonia codec params into AudioMetadata and Track
- Token validation at daemon startup and on config change
- ListenBrainz token valid (user: Salmonium) command to re-read config from disk (avoids token in shell history)
- Desktop notifications for token validation results
- Empty-credential filtering (empty string = no-op)
</content>
</entry>
<entry>
<title>Add display_format config, fix restart command, clean up config code</title>
<updated>2026-05-11T14:25:49Z</updated>
<author>
<name>salmonik</name>
<email>raisersoft@proton.me</email>
</author>
<published>2026-05-11T14:25:49Z</published>
<link rel='alternate' type='text/html' href='https://git.2137697.xyz/rsplayer/commit/?id=455ec54613230f4004a24f8d2798fb0084e00cb4'/>
<id>urn:sha1:455ec54613230f4004a24f8d2798fb0084e00cb4</id>
<content type='text'>
- Add display_format option with get/set/list/unset for customizing track display
- Add Track::format() supporting $ARTIST, $ALBUM, $TRACK variables
- Update queue, status, notifications to use display_format
- Fix restart command using wrong subcommand 'start' -&gt; 'start-daemon'
- Remove socket_path from config (now computed at runtime from XDG_RUNTIME_DIR)
- Consolidate duplicate save() and save_all() into single save()
- Fix redundant .clone().clone() in config.rs
- Add todo item for caching config in daemon hot paths
</content>
</entry>
</feed>
