wvffle
e7349bf75e
Remove unused webworker module
2022-10-30 19:20:36 +01:00
wvffle
3ae5adc7ba
Fix playback of some token protected resources
2022-10-30 19:20:35 +01:00
wvffle
4cd7ca2cb4
Fall back to memory if indexedDB is unavailable
2022-10-30 19:20:35 +01:00
wvffle
cb5e6f1848
More indexedDB cleanup
2022-10-30 19:20:35 +01:00
wvffle
eba18cede3
Cleanup indexedDB when queue clears and when instance changes
2022-10-30 19:20:35 +01:00
wvffle
5616c9f066
Ensure we do not get undefineds from indexedDB
2022-10-30 19:20:35 +01:00
wvffle
34d4f3b25b
Fix transcoded track and add info if there are no track sources
2022-10-30 19:20:34 +01:00
wvffle
ab8699783d
Fix looping
2022-10-30 19:20:34 +01:00
wvffle
d90f41ec51
Fix some linting problems
2022-10-30 19:20:32 +01:00
wvffle
db932f2470
Add track position
2022-10-30 19:17:56 +01:00
wvffle
8c62d516b0
Resolve race condition
2022-10-30 19:17:56 +01:00
wvffle
0118fe0c63
Resolve TODOs
2022-10-30 19:17:56 +01:00
wvffle
4376e40e26
Fix shuffling
2022-10-30 19:17:55 +01:00
wvffle
f51007b807
Fetch only new queue tracks from indexedDB
2022-10-30 19:17:55 +01:00
wvffle
9f36c4b3a8
Cleanup old queue and player logic
2022-10-30 19:17:55 +01:00
wvffle
f06464ffa2
Fix calling createTrack multiple times when radio track changes
2022-10-30 19:17:55 +01:00
wvffle
c828e106b0
Add radio support
2022-10-30 19:17:55 +01:00
wvffle
1be6701752
Fix changing songs and add LRU cache
2022-10-30 19:17:54 +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
15f5056a59
Add web worker communication for offloading the main thread
2022-10-30 19:17:53 +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
de3d112434
Add listen submitting ( Fix #1874 )
2022-10-30 19:16:29 +01:00
wvffle
7c68fee276
Add track looping logic
2022-10-30 19:16:29 +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
Kasper Seweryn
b04b2ece50
Fix trackListened not being sent when tab is not focused
2022-09-17 13:08:41 +00:00
wvffle
436a76928f
Resolve most type conflicts
2022-09-06 09:26:36 +00:00
wvffle
e7da8b5f43
Resolve some TODOs
2022-09-06 09:26:36 +00:00
wvffle
b3a08c8688
Migrate user menu
2022-09-06 09:26:36 +00:00
wvffle
e6bc1ab655
Fix some glitchtip errors
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
801c04c07e
Fix radios starting from second track
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
bd1a92c5f1
Set `operator-linebreak` to `before`
2022-09-06 09:26:36 +00:00
wvffle
34610670c6
Fix #1381
2022-09-06 09:26:36 +00:00
wvffle
951d339904
Fix audio playback
2022-09-06 09:26:36 +00:00
wvffle
bbdb3dcb9d
Fix auto-fixable linter issues
2022-09-06 09:26:36 +00:00
wvffle
405eed0c0f
Add semantic ui types
2022-09-06 09:26:36 +00:00
wvffle
a37835a9c2
Allow displaying multiple same tracks in track list
...
Well, there was some error with `@mouseleave` not firing in some cases for some weird reason, so I decided to handle the `hover` prop in the container
2022-09-06 09:26:36 +00:00
wvffle
0251789f82
Fix a bunch of typescript errors
2022-09-06 09:26:36 +00:00
wvffle
77594351ae
Remove PlayOptions and Report mixins
2022-09-06 09:26:36 +00:00
wvffle
7d8d1a414d
Fix #1777
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
Kasper Seweryn
9e0596d136
Move *.js to *.ts
2022-09-06 09:26:36 +00:00