[READ-ONLY] Mirror of https://github.com/probablykasper/ferrum. Music library app for Mac, Linux and Windows ferrum.kasper.space
electron linux macos music music-library music-player napi windows
0

Configure Feed

Select the types of activity you want to include in your feed.

Preserve "Up Next" when starting playback

Kasper (Sep 18, 2024, 11:51 AM +0200) a92805bd 1f521a5b

+9 -7
+1
CHANGELOG.md
··· 3 3 ## Next 4 4 - Drop support for Windows 7 and 8 5 5 - Drop support for macOS 10.13 and 10.14 6 + - Preserve "Up next" when starting a new playback 6 7 - Add playback history to queue panel 7 8 - Redesign queue panel 8 9 - Add queue panel slide-out transition
+8 -7
src/lib/queue.ts
··· 276 276 } 277 277 } 278 278 279 - // TODO: Preserve userQueue when setting a new queue. Before we do that, a clear user queue button would be nice 280 279 export function set_new_queue(new_ids: TrackID[], new_current_index: number) { 281 280 const auto_queue = new_ids.splice(new_current_index + 1) 282 281 const current = new_ids.pop() 283 - queue.set({ 284 - past: new_ids.map(new_queue_item), 285 - current: current 282 + queue.update((q) => { 283 + if (q.current) { 284 + q.past.push(q.current.item) 285 + } 286 + q.current = current 286 287 ? { 287 288 item: new_queue_item(current), 288 289 from_auto_queue: true, 289 290 } 290 - : null, 291 - user_queue: [], 292 - auto_queue: auto_queue.map(new_queue_item), 291 + : null 292 + q.auto_queue = auto_queue.map(new_queue_item) 293 + return q 293 294 }) 294 295 queue.removeDeleted() 295 296 apply_shuffle(get(shuffle))