Commit graph

48 commits

Author SHA1 Message Date
43289e1c42
Merge pull request #2 from olivr2346:pr/save-album-as-playlist
feat: add native support for saving albums and results as playlists
2026-10-29 19:09:12 +01:00
0867ebe682
Merge branch 'main' into pr/save-album-as-playlist 2026-10-29 19:08:59 +01:00
fc21fbffd8
docs(readme): add install script distros 2026-10-29 18:47:25 +01:00
olivr
ad2a1462e8 fix(app): restore split_artists import after rebase onto upstream 1.4 2026-10-29 18:32:14 +01:00
olivr
d594184ff7 fix(ui): add savealbum and saveresults to command palette descriptions 2026-10-29 18:30:23 +01:00
olivr
1cd329d112 feat: add native support for saving albums and results as playlists 2026-10-29 18:30:23 +01:00
c1d75b1f7c
Update README with Discord client ID instructions 1.4
fuck you copilot
2026-10-29 17:21:45 +00:00
eb6b16e70b feat: discord presence, cached audio playback, multiinstance safety
Add
- Discord rich presence ("Listening to", cover, progress, Listen Along
  button). enable via [discord] client_id in config.toml : retries quietly
  if Discord isn't running. new dep: discord-rich-presence.
- :save! / :w! to overwrite a playlist. Plain :save now refuses to
  clobber an existing name.

Change
- Download audio with yt-dlp into the cache dir and play the local file
  (mpv --ytdl=no) instead of streaming. Keep the last 40 files and
  prefetch the next queued track.
- show the the actual yt-dlp/mpv error on playback failure instead of the
  generic "update yt-dlp" hint; allow wider status messages (70 - 120 char).
- Split artists from YouTube's linked artist runs and yt-dlp's 'artists'
  list (new Track::artists) rather than guessing from the display string.
  Fallback splitter keeps names like "Tyler, The Creator" whole and
  matches separators case-insensitively. (shit)
- Restyle selection (accent bold text + bar) and tab bar (underlined
  active tab instead of pills)
- Share one ureq agent across yt Music requests

Fix
- Multiple drift instances: only the first (flock on session.lock) owns
  the session, and playlist saves merge with what other instances wrote.
- Collection picker no longer steals keys while typing.
- "Play next" now shifts `played` indices so shuffle history stays right.
- Leaving the queue for a playlist/result list marks the queue as done.
- Replace unwrap() in lyrics sorting with total_cmp (NaN-safe).
2026-10-29 18:19:00 +01:00
a7f101d1e7
Update README with new commands for similar songs
Added commands for similar songs, album, and playlist search to the README.
2026-10-20 13:42:50 +02:00
b3fbcfdfd6
Revise CHANGELOG.md with recent updates 1.3
Updated changelog to reflect new features, changes, and fixes in Drift.
2026-10-20 13:37:54 +02:00
468ba7ee96 add(nix): add flake.lock 2026-10-20 13:33:17 +02:00
da5b76ab06 feat(mpris, similar search, playlist)
- added feature to search for similar songs using YouTube API
   ; can go to similar songs by pressing (gs)
- added mpris support (added support for playerctl)
   ; this means you can show the current playing song on waybar, shells, etc
- added playlist search
- added go to album
2026-10-20 13:28:39 +02:00
71c2ef6410 cleanup(app,ui): remove unused imports 2026-10-18 21:47:23 +02:00
c17152f449 add(flake): added as a nix flake 2026-10-18 17:12:01 +02:00
25fe357d57 add(nix): Added as a nix flake 2026-10-18 17:11:42 +02:00
ae399991a0
update(readme): updated readme :3 2026-10-17 21:19:06 +02:00
11e0b42b50 update(showcase): update showcase.gif 2026-10-17 21:10:48 +02:00
8f650f8820 feat: add synced lyrics panel and fullscreen view 1.2
- fetch lyrics from lrclib in the background, only while visible
- L toggles side panel, F opens fullscreen, :lyrics as a command
- highlight current line with a progress fill, fade surrounding lines
- fall back to scrollable plain lyrics when no synced version exists
2026-10-17 21:04:28 +02:00
bf11685a03 add: accent color option in config 2026-10-11 18:39:28 +02:00
b31d0226d3 update: showcase gif 2026-10-11 18:06:33 +02:00
14b23f7e50
Delete archive.zip 1.1.0 2026-10-11 15:56:52 +00:00
c0780d88d0 add: CHANGELOG.md 2026-10-11 17:56:25 +02:00
1d579f5311 UI Overhaul
- Windows support: drift now runs natively on Windows, using named pipes instead of Unix sockets.
- Song context menu: press G on any song for quick actions like play, queue, add to playlist, and song info
- Redesined command menu: the : prompt has a new, cleaner design
- Visualizer: a live audio visualizer now sits in the bottomleft corner
- Keybind hints: the most useful shortcuts are showen next to the volume control
2026-10-11 17:56:25 +02:00
9c6b54b705 yes 2026-10-11 17:56:25 +02:00
3f8e7ab05f
Add installation script for media tools and dependencies
Install mpv, yt-dlp, and cargo based on the package manager.
2026-10-11 10:27:26 +02:00
ca03d20d92
Update installation instructions in README.md
Added installation instructions for Arch Linux and other distros, including dependencies and build steps.
2026-10-11 10:09:51 +02:00
8a049b6fca Commit 10/11/26
- Added [artist] in config
- Automatically lists new songs when scrolled on :search
- You can view most popular songs on artist profile
- By adding this to your config:

[artist]
popular_first = true
2026-10-11 09:54:07 +02:00
a69820e5a3 cleanup 1.0.0 2026-10-10 18:13:51 +02:00
f1eb55801f (add): add confirmation for deleting playlists + fix playlist name overwriting 2026-10-10 18:13:30 +02:00
bcff53c373 (readme): change readme 2026-10-10 18:09:50 +02:00
576801f108 (cleanup): cleanup on src/ 2026-10-10 18:04:20 +02:00
0fc9c0bb2c fix clippy warnings in app.rs 2026-10-10 14:51:00 +02:00
678df67f08 (update): README 2026-10-10 11:41:42 +02:00
f8505ea239 (add): CONTRIBUTING.md 2026-10-10 11:39:26 +02:00
ebe54d386d (remove): makefile, not needed & update README 2026-10-10 11:05:00 +02:00
e2dfb42373 (fix): queue bugs 2026-10-10 10:26:43 +02:00
4431840c03 yes 2026-10-10 10:03:06 +02:00
d1e643e348 fix artist search 2026-10-09 21:43:36 +02:00
9c94cfbdcd Add Makefile, update README with install instructions, fix .gitignore 2026-10-09 20:09:56 +02:00
573faaeff7 Add [workspace] to Cargo.toml to fix makepkg build 2026-10-09 20:05:41 +02:00
d14ee29bf4 add readme 2026-10-09 19:58:14 +02:00
44aae221ec add examples 2026-10-09 19:52:38 +02:00
e7dba18e66 Merge branch 'main' of github.com:socatlolmeow/drift
# Conflicts:
#	examples/showcase.gif
2026-10-09 19:52:11 +02:00
c4788295f4 add examples v2 2026-10-09 19:51:27 +02:00
7bb3213315
Delete examples directory 2026-10-09 19:50:12 +02:00
81d0ef0f69 add examples 2026-10-09 19:49:36 +02:00
6d386dfe9a Add source code 2026-10-09 16:52:03 +02:00
c85d4b5c19
Initial commit 2026-10-09 16:03:10 +02:00