Commit Graph

156 Commits

Author SHA1 Message Date
wvffle c828e106b0
Add radio support 2022-10-30 19:17:55 +01:00
wvffle ccb905b004
Migrate queue component 2022-10-30 19:17:54 +01:00
wvffle bef0d1dec4
WIP Rewrite queue 2022-10-30 19:17:54 +01:00
wvffle aba816e8bf
Add queue shuffling 2022-10-30 19:17:53 +01:00
wvffle c08e1fad94
WIP: Rewrite queue 2022-10-30 19:17:51 +01:00
wvffle e47dbc5ab5
Add Sound implementation 2022-10-30 19:16:26 +01:00
wvffle 7b17c46987
Create audio system based on Web Audio API 2022-10-30 19:12:46 +01:00
wvffle e7da8b5f43 Resolve some TODOs 2022-09-06 09:26:36 +00:00
wvffle 7eca32e006 Couple fixes 2022-09-06 09:26:36 +00:00
wvffle 1d4a3468ee Revert "Rewrite player logic"
This reverts commit ec630a234ab5ea0dccddaf06c462536bbf1ed329.
2022-09-06 09:26:36 +00:00
wvffle 06310593ac WIP: Experiment with MediaElementAudioSourceNode 2022-09-06 09:26:36 +00:00
wvffle 97e7049333 Rewrite player logic
This commit will bring:
- Gapless play! (Fix #739)
- Chunked queue shuffling - we play first track after first 50 queue items are shuffled, then we shuffle chunks of 50 queue items with each new animation frame.
- We can now restore original queue order after shuffling! (Part of #1506)
- Preloading whole tracks into LRU cache (Should fix #1812)
- Preloading multiple tracks at once
2022-09-06 09:26:36 +00:00
wvffle 8aa073b976 Add player seek progress bar 2022-09-06 09:26:36 +00:00
wvffle c87bf7e6b8 Queue component enhancements
This commit provides following queue component enhancements:
- Use a virtual list to render queue items. We now render ~25-30 items at once compared to `queue.length` items. (Fix #1471)
- Faster queue opening and a smoother open animation. (Fix #1471)
- Faster song enqueueing: When enqueueing a playlist or an album, we modify the state only once compared to `tracks.length` modifications before.
- When opening the queue, current track is now already pre-scrolled and centered. This resolves an issue with big queues, where the track list was slowly scrolling to a random position.
- Dragging a track onto the edge of the track list will now scroll the container. You reorder a track from the very top to the very bottom even when you have 3000 tracks in the queue!
- Ability to use scroll wheel while reordering track items
- Track reordering on mobile devices! Currently dragging to edge is disabled
- Responsivity fixes
- Allow click outside modal (Fix #1581)
2022-09-06 09:26:36 +00:00
wvffle db167ad80b Fix rounded corners in progress bars 2022-09-06 09:26:36 +00:00
wvffle 998bd02a05 Fix #1215 2022-09-06 09:26:36 +00:00
wvffle 34610670c6 Fix #1381 2022-09-06 09:26:36 +00:00
wvffle bbdb3dcb9d Fix auto-fixable linter issues 2022-09-06 09:26:36 +00:00
wvffle 57692dcf6a Fix queue and player bugs 2022-09-06 09:26:36 +00:00
wvffle a43059899c Move track playing logic to usePlayer and useSound 2022-09-06 09:26:36 +00:00
wvffle 54a33cd14e Fix audio playback 2022-09-06 09:26:36 +00:00
wvffle cec34d49fa Rewrite player component to script setup 2022-09-06 09:26:36 +00:00
wvffle 8c11b6d0ea Rewrite queue 2022-09-06 09:26:36 +00:00
Kasper Seweryn 0b53ec5b1c Add store types and fix other type errors 2022-09-06 09:26:36 +00:00
Kasper Seweryn 9e0596d136 Move *.js to *.ts 2022-09-06 09:26:36 +00:00
Kasper Seweryn d6a46f5aab Remove required=false and disabled=false attributes 2022-09-06 09:26:36 +00:00
Kasper Seweryn 0e6097c7b8 Fix emit warning 2022-09-06 09:26:36 +00:00
Kasper Seweryn b3022c26b6 Add onKeyboardShortcut composable
Fixes #1726
2022-09-06 09:26:36 +00:00
Kasper Seweryn 0b51fb037f Remove JWT leftovers 2022-09-06 09:26:36 +00:00
Kasper Seweryn f61fafec2a Remove '@/' 2022-09-06 09:26:36 +00:00
Kasper Seweryn 2b40707f4f Cleanup a lot of stuff
I've replaced `lodash` with `lodash-es`, so it can be tree-shaken

`~/modules` is a directory with application modules that run before app is mounted. Useful for configuration, web socket connection, and other stuff

`~/composables` is a directory with our custom composables. Much like `~/utils` but each util is in its own file
2022-09-06 09:26:36 +00:00
Georg Krause 5c5b35a0ad
Merge branch 'stable' into develop 2022-07-04 17:18:55 +02:00
Marcos Peña 07e51bcfc4 "Repeatedly listening to a track submits a scrobble only the first time" 2022-07-01 16:39:44 +00:00
Kasper Seweryn 6b596e0cff Fix a typo (XOR -> OR) 2022-06-30 14:26:22 +00:00
Georg Krause 73128eef25
Merge branch 'stable' into develop 2022-05-07 13:54:59 +02:00
MattDHarding 1b8e19e129 Fix stopped player to not show 00:00 when loading a track 2022-05-03 18:26:24 +00:00
Kasper Seweryn 80ed06db04
Remove @/lodash.js
Vite handles tree shaking out of the box, so cherry picking modules is
now pointless
2022-02-21 22:49:02 +01:00
Ciaran Ainsworth d949909c40 Fix additional linting issues 2022-02-21 20:02:08 +01:00
Ciaran Ainsworth 60c6a1938f Fix some linting issues 2022-02-21 19:52:16 +01:00
Georg Krause e9c4bfe947
Start migration to vite 2022-02-21 15:07:07 +01:00
Georg Krause 8ee9a536e1
Lint the frontend code 2021-12-06 11:35:20 +01:00
Marcos Peña a0560f020f Reverts player changes introduced in MR!1291 breaking background playback (#1509)
MR !1397
2021-11-09 18:03:49 +00:00
Georg Krause 0abf71095c
Revert progress bar changes, see #1381 2021-10-21 10:24:14 +02:00
Georg Krause 5a74d1d3a0 Fix linting errors in touched files 2021-09-27 04:56:45 +00:00
Georg Krause 9bef230499 Update track progress bars with css transitions 2021-09-27 04:56:45 +00:00
JuniorJPDJ 61d7c8bf14 Lower delay for loading sound 2021-08-04 11:44:46 +00:00
JuniorJPDJ 13c3b22b02 Set global howler volume, use log volume scale internally
fixes:
- next track volume
- saves precise volume slider position
- keyboard shortcut now sets volume in correct scale
2021-08-04 11:44:46 +00:00
JuniorJPDJ f1f6a77d14 Don't allow track playing start if it's not current track
partially fixes #1213
2021-08-04 11:44:46 +00:00
jovuit f661e3a078 Reviewed comments on source strings on Weblate and modified source strings accordingly if needed
Replaced "email" with "e-mail address" when needed
2021-06-17 15:55:12 +00:00
Georg Krause 6d42c8337f Merge branch 'fix_resume_on_sleep' into 'develop'
Properly handle redundant MediaSession play/pause requests

See merge request funkwhale/funkwhale!1283
2021-04-12 04:46:57 +00:00