Wykres commitów

150 Commity (7b17c4698789c038cd045cb6fcff0acd50a6caed)

Autor SHA1 Wiadomość Data
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
Tony Wasserka 7900c2d065 Properly handle redundant MediaSession play/pause requests
MediaSession pause requests may happen even when Funkwhale is already in a
paused state. Previously FW would flip between play/pause without
consideration for the current state instead of doing nothing when
the playback state matches the requested one.

Notably, this made Funkwhale resume audio playback when entering sleep mode
on my system.
2021-04-11 15:19:59 +02:00
heyarne 75a1d74962 Stop all other tracks when loading a new track 2021-04-08 07:55:23 +00:00
heyarne c2587e0a94 Fix whitespace before album name link 2021-01-03 17:48:07 +01:00
Philipp Wolfer d67377afd4 Update playback position slider also when track is paused
Fixes the UI not updating when clicking the position slider while playback is paused.

Fixes #1266
2020-11-21 10:51:16 +01:00
Philipp Wolfer 997b510ec6 Update MediaSession metadata for initially loaded track
The MediaSession metadata was only set on track change, but not for the track already set during load.

Fixes #1252
2020-11-20 10:12:03 +01:00
Agate 83fde07afd Fix #1216: missing button title 2020-09-02 12:11:40 +02:00