Commit graph

34 commits

Author SHA1 Message Date
Daniel
44a7c3b61c fix(downloads): cache ffmpeg core js and wasm
This creates a blob url outside of the worker for for the core .js and .wasm files so they aren't downloaded on each run.
2026-03-08 01:54:29 +00:00
Daniel
50a5b79d70 feat(downloads): use taglib-wasm to set tags
taglib supports multiple media formats beyond what was previously supported, this would enable transcoding to other formats without needing to write additional metadata libraries.
2026-03-08 01:54:29 +00:00
Samidy
6067c893a8 die 2026-03-07 08:07:17 +03:00
edideaur
6db0923d20 update lockfiles 2026-03-06 20:09:44 +00:00
edideaur
8f945c8fd7 try wrangler.toml again 2026-03-06 09:59:14 +00:00
edideaur
9e5332d953 remove wrangler 2026-03-06 09:35:26 +00:00
edideaur
720cad4bbb upload function using catbox cause imgur just got taken down LMAO 2026-03-06 09:26:02 +00:00
edideaur
55854020b6
Merge pull request #275 from boidushya/main
feat: add kawarp as visualizer
2026-03-06 09:58:46 +02:00
Samidy
ad7d088e5c refactor(auth): migrate authentication from Firebase to (self-hosted) Appwrite 2026-03-06 02:14:43 +03:00
Boidushya
a2b8ce3cdf
feat: add kawarp as visualizer 2026-03-06 04:25:56 +05:30
edidealt
5cac487c0f pitch shit 2026-03-01 10:52:03 +00:00
Samidy
0fd5ad9c58 chore(deps): update dependencies 2026-03-01 02:11:52 +03:00
gpulch
8a17bddbc3 feat: add MP3 320kbps download option with ffmpeg.wasm
Implements MP3 320kbps download functionality using ffmpeg.wasm for
industry-standard encoding with libmp3lame.

Features:
- New MP3_320 quality option in download settings UI
- ID3v2.3 metadata writing (title, artist, album, cover art, ISRC, etc.)
- Non-blocking encoding via Web Worker to keep UI responsive
- Proper UTF-16 with BOM text encoding for international characters
- Album artist fallback to track artist (mirrors FLAC/M4A behavior)
- Automatic format detection for downloaded audio
- Year validation to prevent writing NaN to ID3 tags

Implementation:
- mp3-encoder.js: Main encoder module with worker orchestration
- mp3-encoder.worker.js: FFmpeg Web Worker for async encoding
- id3-writer.js: ID3v2.3 tag writer with synchsafe size encoding
- Updates to api.js, metadata.js, utils.js for MP3 support
- Vite config excludes @ffmpeg packages from dep optimization

Technical details:
- Uses @ffmpeg/ffmpeg (libmp3lame 320kbps CBR, 44.1kHz)
- FFmpeg binary lazy-loaded from CDN (~25MB, cached)
- Encoding runs in separate thread (non-blocking UI)
- Proper error handling with distinct encoding vs network errors
- Memory-efficient: transfers ArrayBuffer with zero-copy

Dependencies:
- @ffmpeg/ffmpeg ^0.12.10
- @ffmpeg/util ^0.12.1
- Removed: package-lock.json (project uses bun.lock)

Closes maintainer request to use ffmpeg.wasm instead of lamejs.
2026-02-22 19:13:03 +01:00
Julien Maille
d76526f5e9 FIX: google auth on windows/web 2026-02-15 10:25:27 +01:00
BlackSigKill
8d5d299b8d add back npm start & preview 2026-02-13 22:21:30 +01:00
Julien Maille
ea334a8318 FIX: restore npm run preview 2026-02-13 18:26:23 +01:00
Julien Maille
952da07230 IMP: cleanup and add npm run dev:desktop to test neutralino app locally 2026-02-12 16:00:19 +01:00
Eduard Prigoana
304eb78d7b set butterchurn as the default visualizer 2026-02-11 09:49:59 +00:00
Julien Maille
1e19b3026c WIP: neutralino 2026-02-10 13:52:06 +01:00
Julien Maille
2c165d7148 FIX: clean my own mess 2026-02-10 13:19:54 +01:00
JulienMaille
08b8e52258 style: auto-fix linting issues 2026-02-10 10:20:04 +00:00
Julien Maille
8f27000fcf add RPC to neutralino 2026-02-10 00:15:46 +01:00
Julien Maille
ff7b17b4eb feat: Add Neutralino desktop integration 2026-02-09 23:56:11 +01:00
BlackSigKill
5ffb14560b add server-side global auth for private selfhosted instance 2026-02-09 19:44:35 +01:00
Eduard Prigoana
cc6c600817 (beta) butterchurn visualizer 2026-02-09 03:30:38 +02:00
Julien Maille
1e7595c159 WIP: hi-res support 2026-01-16 18:35:32 +01:00
Samidy
fa716f002a New Account System 2026-01-16 18:47:28 +03:00
JulienMaille
dc3ae80d9f style: auto-fix linting issues 2026-01-11 00:36:22 +01:00
Julien Maille
caea2fc707 Add linting infrastructure (ESLint, Stylelint, HTMLHint, Prettier) and GitHub Action with auto-fix 2026-01-11 00:25:05 +01:00
Julien Maille
ff166b27ca Fix: Refactor playlist loading and sharing logic
Resolves an issue where Tidal playlists with UUIDs were incorrectly identified as missing user playlists.

Introduces explicit source (api/user) parameter to renderPlaylistPage for reliable routing.

Restricts the Share button to user playlists only and fixes npm deprecation warnings.

# Conflicts:
#	package.json
2026-01-08 13:13:11 +01:00
Julien Maille
21c947fd68 WIP: auto-deploy 2026-01-07 21:03:57 +01:00
Eduard Prigoana
9158cb60e3 qobuz is dead 2025-10-09 23:06:29 +03:00
Eduard Prigoana
58977b9f76 x 2025-10-01 20:49:09 +03:00
Eduard Prigoana
2942669f53 main 2025-09-30 22:36:04 +03:00