-
Notifications
You must be signed in to change notification settings - Fork 127
skins & skins-qt: visualizer rework #186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
i also forgot to mention in the last commit, i had to adjust m_data[x] by -1 to align it properly with the grid, previously it was one pixel off center
line drawing was also modified, based on Webamp
i keep forgetting to apply the changes to both at once
this results in both being more responsive and less wobbly/shakey fixed the peaks accidentally clipping into the analyzer itself
Thanks for your contribution!
Can you please create a separate PR with just the bug fix/fixes? Let's start with that before getting into the other changes. From a quick once-over, I also see:
I'll mark this draft, let's start with the bug fixes in a new PR and then come back to this. |
The formatting issues I have noticed are:
|
This PR aims to rework the visualizer seen in the Winamp Classic Interface.
Motivation
Reimplementations of the Winamp Classic UI, like Webamp, have studied and reimplemented all sorts of small details that makes classic skins look and feel as though you were actually using Winamp, the downside is that Webamp only exists in the browser and is not a fully fledged media player.
Though people still have a desire to re-experience those skins again, and more often than not, they install Audacious, which does a pretty decent job of emulating classic skins, but it could be better in some areas. This PR touches on the visualizer aspect of it.
Audacious vs. my patch series comparison
The top blocks shows Audacious' skins-qt (on the left) in its current state, next to skins-qt with my changes.
The windowshaded shows the lines mode in the same fashion, skins-qt with my patches applied at the top, current git below it, the same goes for the solid mode.
Spectrum analyzer comparison, the top window is more stable and smooth, whereas the bottom is more jittery and unstable:

In the windowshaded mode, the analyzer used to not have any sort of falloff applied and was instead very reactive, it was also missing peaks:

The same applies to the VU Meter (just that it isn't missing the peaks, they weren't there to begin with in Winamp):

Codebase changes
The changes were only done in
vis.cc
,svis.cc
andvis.h
(in bothskins-qt
andskins
respectively), the focus was on improving the rendering styles for the Oscilloscope and Analyzer modes, with additions and refactoring done where necessary.This also included a bugfix, where for the longest time, the oscilloscope had both the wrong color order, as well as having one of the colors from the analyzer incorrectly assigned to it.
The line mode for the scope was improved based on observations of Winamp and Webamp, as well as the solid mode, the dots mode remained unchanged.
This improvement was also applied to the mini visualizer, with the weird line drawing that's done and it only using one color for the overall scope, the scale for the audio data was also adjusted, as it visually appeared "too loud".
This is my second attempt at wanting to improve Audacious' Winamp skins support which is more focused and (hopefully) more organized, I will admit though that I did tend to forget to update
skins
as I primarily was using and testing with the Qt version, but from my own testing, they should at least line up with what I was seeing on my end.I hope that this PR doesn't cause too much trouble.