Commit Graph
100 Commits
Author SHA1 Message Date
yonlu daaa6b7f97 fix(01-01): add mutex protection to Queue, Library, and Playlist SetContext methods
- Queue.SetContext acquires existing q.mu before writing q.ctx
- Library struct gets new mu sync.Mutex; SetContext and SetRescanHooks acquire it
- Playlist Service struct gets new mu sync.Mutex; SetContext and SetFavoritesConfig acquire it
- Library and Playlist release lock before calling post-init methods (registerEventHandlers, migrateExistingPlaylists)
2026-02-28 12:09:14 -05:00
yonlu 4e2986e19c docs(01): create phase plan for concurrency race fixes 2026-02-27 14:50:27 -05:00
yonlu c086215533 docs: create roadmap (8 phases) 2026-02-27 13:16:41 -05:00
yonlu cdffd13395 docs: define v1 requirements 2026-02-27 11:16:03 -05:00
yonlu 98fd06d725 docs: complete project research for consolidation milestone 2026-02-27 10:53:44 -05:00
yonlu 1953b26957 chore: add project config 2026-02-27 10:20:07 -05:00
yonlu 94d42ada7b docs: initialize project 2026-02-27 10:20:03 -05:00
yonlu 572b7fb664 docs: map existing codebase 2026-02-26 16:58:25 -05:00
yonlu d01f5e5d14 added "default playlist"/ favorites system 2026-02-25 22:53:57 -05:00
yonlu 51da5cfb07 no longer using forked beep 2026-02-25 21:16:29 -05:00
yonlu 4f3244c992 added mpris (linux media player controls) support 2026-02-25 20:51:29 -05:00
yonlu d5010e6fa8 default user volume is 50 now 2026-02-25 19:32:44 -05:00
yonlu 012131283c fixed startup ondomready call to use wails bindings and call when complete 2026-02-25 19:10:37 -05:00
yonlu cf144bf0dd refactored many events to use wails bindings, reducing boilerplate 2026-02-25 18:51:07 -05:00
yonlu baa4644ece extracted cover art handling from library package 2026-02-25 15:31:05 -05:00
yonlu 5689c1be42 added genre cache 2026-02-25 10:16:43 -05:00
yonlu 8f1ee25053 track list search results now sorted by relevance and highlighted 2026-02-25 01:09:54 -05:00
yonlu e192d4625e playlist phantom track matching added, updated search queries for efficiency 2026-02-24 21:23:25 -05:00
yonlu ff7649600b refactored full rescan to use hook/lifecycle pattern and added rescan package 2026-02-24 16:11:41 -05:00
yonlu 768a8cf1f2 replaced track info string map with a struct 2026-02-24 15:39:54 -05:00
yonlu d764fefb10 fixed library scan using event listeners instead of store pattern 2026-02-24 15:04:35 -05:00
yonlu 1221a403cf cover grid refactor
-split component into several files
2026-02-24 09:49:34 -05:00
yonlu 352fa9da61 split queue package into multiple files. other minor fixes 2026-02-24 08:34:28 -05:00
yonlu d55cfb2411 added slide animation to grid views 2026-02-23 23:54:42 -05:00
yonlu 153cd0eae0 added refactoring catalog, fixed context menu freezing tracklist 2026-02-23 20:54:50 -05:00
yonlu d925e3d659 added mutex to player to prevent simultaneous access 2026-02-23 20:06:41 -05:00
yonlu 16060023bb audio file info added, fixed right click selecting. 2026-02-23 19:05:57 -05:00
yonlu a6b476399e hovering now-playing cover thumb shows full-res art 2026-02-23 15:53:30 -05:00
yonlu 967816ccd2 scroll restore on artists and genres pages 2026-02-23 13:08:44 -05:00
yonlu 3349e785d7 playing a new queue with shuffle enabled now starts at a random track. 2026-02-23 12:13:40 -05:00
yonlu 1dfbfd9595 added multi-select to artists and genres views 2026-02-23 11:46:44 -05:00
yonlu 588acf09ef added genres page 2026-02-23 11:10:21 -05:00
yonlu a08d59a4a0 context submenus now close when not hovering over 2026-02-23 10:47:32 -05:00
yonlu 90b7661483 added track-details page 2026-02-23 10:38:27 -05:00
yonlu d89dee44e3 single track drag-and-drop ghost 2026-02-23 09:42:11 -05:00
yonlu bd9652b378 faster fetching for artist albums 2026-02-22 20:42:32 -05:00
yonlu ab5f690c05 search results pill added to artist grid 2026-02-22 20:30:28 -05:00
yonlu 3c06277820 added context menu to artist grid 2026-02-22 19:52:46 -05:00
yonlu 9dabfb81c5 beginnings of artist grid and artist details view 2026-02-22 19:17:27 -05:00
yonlu 30bbdd7c53 added basic sorting in track-list and cover-grid 2026-02-22 17:16:01 -05:00
yonlu 8a2ceb9107 improved column resize logic 2026-02-22 14:53:35 -05:00
yonlu d3b04a9c29 added visual indicator of search results 2026-02-22 14:13:35 -05:00
yonlu 9cb1c6674a changed genre scanning to parse multiple genres, updated db to accommodate. 2026-02-22 13:59:28 -05:00
yonlu 3947c2d6aa fixed drag-and-drop visual styling 2026-02-22 11:44:51 -05:00
yonlu b5e70a8ce6 user can configure visible columns in track-list 2026-02-22 11:24:19 -05:00
yonlu 9d84a11543 drag and drop enhancements, fixed playlist creation using old db entries, added icons-only sidebar when small width 2026-02-21 14:16:37 -05:00
yonlu 8ad952e750 Merge branch 'wip' of github.com:LJ-Software/yellowjacket into wip 2026-02-21 11:06:11 -05:00
yonlu 4d9ab5d2b8 cleaned up album selection behavior, context menu now closes when clicking outside of it 2026-02-21 11:02:54 -05:00
yonlu 402789e763 search bar 2026-02-20 17:38:29 -05:00
yonlu 089af5e299 fixed common track scanning bugs with custom workarounds 2026-02-20 17:14:03 -05:00
yonlu 84f027aedf small ui changes 2026-02-20 15:22:49 -05:00
yonlu 88c3736110 added color/ theme settings, new config window 2026-02-20 14:43:35 -05:00
yonlu fa6506ed5d selecting an album while having a dropdown open no longer scrolls to the top of the grid. 2026-02-20 13:33:16 -05:00
yonlu 7bc85af5f4 fixed cover-grid selection and queuing behavior, added "clear queue" button 2026-02-20 13:16:13 -05:00
yonlu 560ab3a3b5 playlists now save to files, can be restored from files 2026-02-19 23:10:20 -05:00
yonlu 56cf92a44c fixed drag and drop behavior 2026-02-19 22:37:19 -05:00
yonlu 193f65bd98 basic drag-and-drop, fixed end of scan behavior 2026-02-19 15:25:49 -05:00
yonlu d9ebd38382 configurable scan parallelism based on hdd or sdd 2026-02-19 13:59:02 -05:00
yonlu 81793975b4 improved library scan speeds, added library manager component
-libraries tab now opens a library manager
-choose library directory, manually soft scan and rescan
-batched db queues
-mp3 header-based duration extraction
2026-02-19 10:17:09 -05:00
yonlu 8c013d4179 fixed edge cases in selected album scrollTo logic 2026-02-19 08:19:00 -05:00
yonlu c9e78c491c cover-grid album dropdown behavior fixes 2026-02-18 11:34:10 -05:00
yonlu 026ab1c333 adjusted frontend event handling to optimize json payload size for different events, fixed incorrect behavior when currently playing track is removed from queue 2026-02-18 00:49:29 -05:00
yonlu be6f4e9764 virtualization in queue list, queue db queries optimized for large queue requests 2026-02-17 19:54:24 -05:00
yonlu 1a1ac7d9a1 re-added virtualizer to cover grid, dropdown uses phantom-row method, minor user friendly resizing/focusing tweaks 2026-02-17 14:36:14 -05:00
yonlu 7f72df98ed pre-fetching main view data on startup, batched rendering for cover-grid 2026-02-17 12:47:35 -05:00
yonlu 50718fd633 added db query optimizations to playlists view, added caching 2026-02-17 11:39:17 -05:00
yonlu 93679761af fixed some colors and a small rendering bug in track-list 2026-02-17 11:02:26 -05:00
yonlu cfeb01728c removed queue panel slide-in animation and fixed resize flickering 2026-02-17 10:32:05 -05:00
yonlu f8391ddd3d fixed broken click selection in track-list component 2026-02-16 23:02:58 -05:00
yonlu 481beca00a frontend changes
-smaller thumbnails
-GPU acceleration
-lazy loading/ rendering only visible elements
-cover grid shows album tracks on click
2026-02-16 22:42:13 -05:00
yonlu 176b32fb0d frontend fixes
album artist gets populated with artist as fallback (frontend also uses
this as display name fallback for albums). added scroll position
persistence when switching main views. also added frontend cache for
faster switching.
2026-02-16 14:38:09 -05:00
yonlu 8311208dcb double click album to play 2026-02-16 09:55:18 -05:00
yonlu c9bc151a7d resizable now-playing, text highlighting disabled across the app 2026-02-16 09:42:23 -05:00
yonlu 322013f40f added multi-select to cover grid, added shift select to track list 2026-02-16 04:15:01 -05:00
yonlu 6fbe16a84b window size saved to config, smaller font in track-list 2026-02-16 03:48:53 -05:00
yonlu f97e8c4840 fixed some state persistence issues. player state now saves on changes. next track button doesn't autoplay when paused. 2026-02-16 03:22:13 -05:00
yonlu 419fec1672 fixed repeatOne/ same track twice in a row issues 2026-02-16 02:45:51 -05:00
yonlu 95e1b32e86 view tracks in playlist view and play playlists 2026-02-16 02:18:45 -05:00
yonlu 2a40be5f52 multi-select on track-list 2026-02-16 01:20:36 -05:00
yonlu 4c09e7abee playlist creation, viewing, integration with other views. still wip for full playlist functionality 2026-02-16 00:27:36 -05:00
yonlu 666ff9869e Merge branch 'main' into wip 2026-02-15 22:51:14 -05:00
yonlu a806e7e91c fixed colors 2026-02-15 22:11:59 -05:00
yonlu 3a696c57ac queue panel shares layer with main content, no longer an overlay 2026-02-15 20:29:22 -05:00
yonlu 86204e1b7a stopped player plays queue on play button click if queue is not empty. seek bar bigger. 2026-02-15 18:19:10 -05:00
yonlu 67cea5cfb0 fixed player behavior after final queue track completes, added click to play from queue window 2026-02-15 16:20:56 -05:00
yonlu 38f3abbd3e Cover art thumbnails
library scan creates thumbnails, cover grid component defaults to
thumbnail if available.
2026-02-14 15:25:12 -05:00
yonlu 7579a768be fix: virtual list and cover grid (#63)
* very basic slow buggy queue

* cover grid can now add albums to queue

* added virtualized lists to track list and cover grid components
2026-02-14 14:07:25 -06:00
yonlu a2fb2162ff renamed isPlaying to isProgressing 2025-04-13 18:04:53 -04:00
yonlu 71f707b5c2 fixed seek bar holding behavior 2025-04-13 17:59:13 -04:00
yonlu 18ac5ddc28 improved seek bar functionality. 2025-04-13 12:25:05 -04:00
yonlu c5d2ace3d5 Merge branch 'dev' of github.com:LJ-Software/yellowjacket into dev 2025-04-13 12:24:31 -04:00
yonlu be2fad3190 slowly adding seek bar, now it can increment over time. 2025-04-10 19:08:57 -04:00
yonlu f896587663 Merge branch 'player' into dev 2025-04-09 19:03:59 -04:00
yonlu 42d5eb94ff audio player basics complete 2025-04-09 14:03:33 -04:00
yonlu 4902093b0c fixed player test relative file paths 2025-03-28 17:08:05 -04:00
yonlu 32b7d2b457 Merge branch 'dev' into player 2025-03-28 15:28:54 -04:00
yonlu e3d9fcec6f fixed volume silent check 2025-03-28 15:27:24 -04:00
yonlu 653842117f minor player refactor/ delete wails logo image 2025-03-28 15:23:27 -04:00
yonlu 2ca2b50e83 got bulk of player api 2025-03-26 19:56:07 -04:00
yonlu d47301dbaf wip player 2025-03-26 14:38:58 -04:00