Commit graph

835 commits

Author SHA1 Message Date
Jordan Eldredge
f90c72d53b Avoid throwing when processing uploads 2025-04-07 16:41:30 -07:00
Jordan Eldredge
e82b06b5a7 Use GraphQL search while we are out of credits 2025-03-25 20:46:57 -07:00
Jordan Eldredge
a5bb19c852 Fix 'failed to parse skin' bug 2025-03-11 16:11:52 -07:00
Jordan Eldredge
71600a9fca Export more types 2025-02-18 21:47:45 -08:00
Jordan Eldredge
f5065235b7 Spelling 2025-02-05 17:55:24 -08:00
Jordan Eldredge
f656aba7d9 Improve graphql error logging 2025-02-05 17:54:42 -08:00
Jordan Eldredge
9510f7b37f Improve logging of fetch failures 2025-02-03 23:37:48 -08:00
Jordan Eldredge
b2226e84c6 Sentry upgrade 2025-02-03 20:11:15 -08:00
Jordan Eldredge
7e61c5e351 Enable Sentry logging for skin museum 2025-02-03 19:19:20 -08:00
Jordan Eldredge
020ad85401 Go back to Algolia search 2025-02-02 10:45:35 -08:00
Jordan Eldredge
925760af1d Increase search limit 2025-01-25 15:51:19 -08:00
Jordan Eldredge
784caeac54 Remove unused 2025-01-25 14:49:31 -08:00
Jordan Eldredge
eb6b28b326 Sqlite fallback search 2025-01-25 14:31:05 -08:00
Jordan Eldredge
faee5410ac Add support for SQLite based search 2025-01-25 13:24:22 -08:00
Jordan Eldredge
68b8b22a49 Handle search errors with a message 2025-01-23 20:33:17 -08:00
Jordan Eldredge
9af4c7336c Upgrade Grats 2025-01-23 20:12:54 -08:00
Jordan Eldredge
b01cdc5876 Hack on openAi tags 2025-01-14 22:50:51 -08:00
Jordan Eldredge
afff5d63d2 Linting and typing fixups
Summary:

Test Plan:
2025-01-11 21:36:24 -08:00
Eris Lund
e242054ec6
Improved Winamp Visualizer by @x2nie (#1260)
* Improved Winamp Visualizer by @x2nie

This contains work started by @x2nie and continued by me.

There's a lot that's either broken and/or unfinished.

The main goal of this PR is to improve the visualizer of Webamp, bringing improvements to the Oscilloscope and Spectrum analyzer rendering.

Improving the Oscilloscope was achieved by taking the rendering code from the Equalizer and implanting it into the small visualizer box done by x2nie, improving the Spectrum Analyzer involved ditching the Web Audio API in favor of FFTNullsoft, providing a much more accurate representation of the audio.
The spectrum analyzer code (at least for the thicker bands) was redone that makes use of reverse engineered code from Winamp 2.65, more specifically how the bar chunking is achieved as well as how the peaks are calculated (this is broken).

* Fixed analyzer responding to data immediately
Various code comments explaining the purpose behind the new implementation
Peaks are no longer visible at the bottom

* Added support for windowshade mode (colors are broken)
Replaced old Visualizer in the Playlist Editor in favor of the new Visualizer

* Fixed analyzer exceeding bounds in unwindowshaded mode

* Removed paintFrameThin() since it's now no longer needed (processing happens in paintFrameWide())
Also removed paintWavSolid() since that too is now processed in paintWavLine
Removed variables no longer in use
Adjusted how the FFT data is first processed in Vis.tsx and how that affects the thin and wide modes (they should now be consistent in volume)

* Add proper windowshade mode visualizer support (adapts correctly to doublesize too!)
Proper color handling for the Spectrum Analyzer if in windowshade and double size mode
Removed comemnts/functions no longer in use

* Visualizer is now pushed down by 2 pixels if not in double size mode
Fixed "doubled" not being able to be used outside of Vis.tsx
Set up base for eventual additional parameters that can be passed to the visualizer
Consolidate paintWavDot into paintWavLine
Remove dispose()

* Fixed accidentally setting oscStyle to "dots" for testing (oops)

* New (non-working) parameter: "sa", dictates vis mode
Allowed "mode" to be modifiable
Adjusted frequency scaling of the FFT

* Maybe fix deploy issues?

* Replace rangeByAmplitude with a colorIndex function
Attempt at addressing a few comments from the PR review

* Missed a few variables that weren't in camelCase
Finetuned the data going into timeToFrequencyDomain

* Move FFT stuff into VisPainter.ts
Attempt at addressing more of the PR review

* Moved the FFT to be part of BarPaintHandler, instead of being global
Added checking for the state of the Main Window so that the Playlist Editor visualizer no longer bugs out like it did (incorrectly showing the small visualizer, or showing the full capacity of it)
Changed the global variable `i` to be `chunk` to avoid potential issues
Ensure `y` is scaled down (in the y axis) correctly when in windowshade mode
Skip rendering of the Oscilloscope in the windowshade mode to avoid it drawing out of bounds
Missed a few variables that werent in camelCase (again)

* Missed implementing the solid mode drawing a pixel instead of a filled line if x is 0 and if visualizer is small

* Readded drawing the visualizer background
Prevent saPeaks from going "out of bounds" when the main window is in windowshade mode

* Missed accounting for the Playlist Editor Visualizer w.r.t to the background if Main Window was not visible, in windowshade mode and not in double size

* Addressing comments of the recent review
Fixes FFT being corrupted when multiple instances of Webamp exist and are playing at the same time
Fixes multiple Webamp instances fighting over what the current state of the Main Window really is
Moved a lot of global mutable variables to instead be owned by BarPaintHandler and PaintWavHandler
Renamed visualizer functions since they now handle a lot of things

* Make canvas required

* Ensure bars are split only in "wide" bandwidth

* Some small FFTNullsoft cleanup

* Call ``painter.prepare()`` only when doublesize is engaged/disengaged

* Confirmed order of Visualization modes
VisPaintHandler is an abstract class (is that how you do it?)
Instead of logging to console about paintBarLine reusing code from "Fire mode", it's been replaced with a code comment

* move ``processFFT()`` out of ``Painter.prepare()``
It never had a place there anyway
2025-01-11 21:35:32 -08:00
Jordan Eldredge
9a12a61c08 Upgrade Grats and adopt new patterns
Summary:

Test Plan:
2024-12-15 22:39:16 -08:00
Jordan Eldredge
2a8219299f Stub out description generation 2024-12-15 22:26:24 -08:00
Jordan Eldredge
b06490dd74 Revert "Change polyfill (#1278)"
This reverts commit 67e6cdf89d.
2024-10-06 12:16:35 -07:00
Jordan Eldredge
67e6cdf89d
Change polyfill (#1278) 2024-10-06 11:06:12 -07:00
Jordan Eldredge
bdd5f505e7
Upgrade jszip (#1276) 2024-10-02 22:21:51 -07:00
Jordan Eldredge
8083662f0d Fixes for webamp package 2024-10-02 21:31:56 -07:00
Jordan Eldredge
87012d8d00 1.5.0 2024-10-02 08:57:02 -07:00
Jordan Eldredge
6f7818057b
Experiment with Rollup/Vite (#1263)
* Trial switching to vite rollup

* Vite/Rollup fixups

* Cleanup

* Fixup CI

* Fix serve

* Disable post-css injection for vite

* Update image snapshots

* Update snapshots

* Enable graphql tests

* Remove tinder card

* Fix GraphQL tests with discord urls

* Avoid unused vars
2024-09-30 22:35:01 -07:00
Jordan Eldredge
e4ef68d657 Fix GraphQL 2024-09-30 21:32:44 -07:00
Jordan Eldredge
f854b95915 Revert "Avoid import cycle"
This reverts commit 02b40558a8.
2024-09-03 15:01:38 -07:00
Jordan Eldredge
919b52b52f Upgrade grats 2024-08-25 18:41:45 -07:00
Jordan Eldredge
02b40558a8 Avoid import cycle 2024-08-25 10:48:31 -07:00
Fathony Luthfillah
4a0a58b439
reactivate modern skins graphql. (a trial, can't do locally) (#1258)
Co-authored-by: Fathony L <fathony@smart-leaders.net>
2024-06-05 09:30:12 -07:00
Jordan Eldredge
8377ea06a8 Add a few more notes about maki bytecode 2024-05-28 22:02:24 +01:00
Jordan Eldredge
840e958442 Update snapshot fixtures 2024-05-28 21:51:23 +01:00
Jordan Eldredge
78e0937bdb Ensure dependencies get bundled in 2024-05-28 21:51:23 +01:00
Jordan Eldredge
3d89b6d5e1 Improve parcel build/bundle/release 2024-05-28 21:51:23 +01:00
Jordan Eldredge
dc644ad3be Try esmodule 2024-05-28 21:51:23 +01:00
Jordan Eldredge
8a3f464040 Improve docs 2024-05-28 21:51:23 +01:00
Fathony Luthfillah
01cd21e489
bring back GraphQL (#1256) 2024-05-23 10:00:48 +01:00
Fathony Luthfillah
bb9fb130ef
merge from latest: x2nie-dev series: 12. (#1255) 2024-05-22 13:05:08 +01:00
Jordan Eldredge
65041ab4d6 Fix link to preview image in OG tag on demo site 2024-05-08 17:18:41 -07:00
Jordan Eldredge
0f2731e4ef Revert accidental change to demo site config 2024-05-08 17:18:12 -07:00
Jordan Eldredge
eb8bdb5ca1 Cut another @next release 2024-05-07 21:07:14 -07:00
Jordan Eldredge
025f9e7a39 Improve docs and fix bug with specifying window size when not using Milkdrop 2024-05-07 21:05:45 -07:00
Jordan Eldredge
946b57a09d Only provide minified entrypoints 2024-05-07 17:22:45 -07:00
Jordan Eldredge
d2fa975fe8 Document webamp/lazy import 2024-05-07 17:21:16 -07:00
Jordan Eldredge
72b1a9f41a Bump version for @next release 2024-05-07 16:19:27 -07:00
Jordan Eldredge
143563d6e0 Don't transform object spread 2024-05-07 16:11:35 -07:00
Jordan Eldredge
6bfbcbcf84 Try defining exports 2024-05-07 16:00:31 -07:00
Jordan Eldredge
319f13129b Improve typing of Redux code 2024-05-07 16:00:31 -07:00