Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_vis_spectrum_analyzer (Read 73049 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_vis_spectrum_analyzer

Reply #300
and the Channels button.

Heh, I didn't even notice that. :P

I recently applied dark mode support to the colour picker and have an issue with the right hand slider where I can't style it. :/




Re: foo_vis_spectrum_analyzer

Reply #301
and the Channels button.
Heh, I didn't even notice that. :P

I recently applied dark mode support to the colour picker and have an issue with the right hand slider where I can't style it. :/
The gradient is just a Static control but the slider itself is a triangle drawn by the dialog when responding to mouse movement events. I had to recreate it completely to get the same behavior for the alpha slider.

 

Re: foo_vis_spectrum_analyzer

Reply #302
v0.7.0.0-beta-1, 2024-01-21

* New: The cover art of the playing track can be used as background image.
  * Opacity can be specified.
  * The dominant color of the cover art can be used as a filler.
* New: The dominant colors of the cover art can be used to generate a gradient.
  * Color scheme "Artwork" turns on the feature.
  * Between 2 and 256 colors can be selected.
  * Lightness threshold determines which light colors will be ignored.
* New: The Curve visual has a peak line.
* New: Dark mode support.
* New: Fading AIMP peak mode, a combination of AIMP and Fade Out mode.
* Improved: Curve mode can use a horizontal gradient.
* Improved: The curve is no longer visible as a flat line if no track is playing.

You can download it only from GitHub.

This beta release contains a couple of eye candy additions and requests. Bugs can be expected but it has been stable in everyday use.

Hopefully I can focus on some analysis features now.

Re: foo_vis_spectrum_analyzer

Reply #303
Thank you.
Quote
Improved: The curve is no longer visible as a flat line if no track is playing.
With bar mode a flat line is also visible. To reproduce: open Configuration window.

Re: foo_vis_spectrum_analyzer

Reply #304
Thanks a lot for the new release.

Crash report: When the component is activated in a window, toggling full-screen mode on and off crashes the program.

Re: foo_vis_spectrum_analyzer

Reply #305
v0.7.0.0-beta-1, 2024-01-21

* New: The cover art of the playing track can be used as background image.
  * Opacity can be specified.
  * The dominant color of the cover art can be used as a filler.
* New: The dominant colors of the cover art can be used to generate a gradient.
  * Color scheme "Artwork" turns on the feature.
  * Between 2 and 256 colors can be selected.
  * Lightness threshold determines which light colors will be ignored.
* New: The Curve visual has a peak line.
* New: Dark mode support.
* New: Fading AIMP peak mode, a combination of AIMP and Fade Out mode.
* Improved: Curve mode can use a horizontal gradient.
* Improved: The curve is no longer visible as a flat line if no track is playing.

You can download it only from GitHub.

This beta release contains a couple of eye candy additions and requests. Bugs can be expected but it has been stable in everyday use.

Hopefully I can focus on some analysis features now.

Installed the beta.

Can you please direct me to what settings I should apply so that the plugin does not paint the background or has it not been implemented?

See attached screenshots for the things I tried (next to old channel spectrum) ...

Re: foo_vis_spectrum_analyzer

Reply #306
A slope control would be nice. I usually have my frequency analysers (SPAN or Prism) set to 3, 4.5 or 6dB slope towards the highs to read "flatter".
Do you have any documentation or articles I can read because I don't understand what you're asking?

A standard analyser with no slope/weighting will make White Noise look "flat", but most musical program signals follow something closer to a Pink Noise spectrum (a 3dB per octave roll off) or even more. Music on standard analysers will always show more level in the bass than looks natural. More advanced analysers will have a dB slope control where you can adjust it to your liking. I'd highly recommend downloading Voxengo SPAN and TDR Prism (both free plugins), having a play, and reading their manuals to understand it a bit better. Prism is state of the art (I was on the beta team).

https://www.voxengo.com/product/span/

https://www.tokyodawn.net/tdr-prism/

The Prism manual explains it really well:

https://docs.tokyodawn.net/tdr-prism-manual/#Analyzer_Weighting
Also, I've already implemented the weighting functions, frequency tilting, and even ones derived from Winamp's Classic Spectrum Analyzer plugin here
Implemented in the next version.

Re: foo_vis_spectrum_analyzer

Reply #307
v0.7.0.0-beta-1, 2024-01-21

* New: The cover art of the playing track can be used as background image.
  * Opacity can be specified.
  * The dominant color of the cover art can be used as a filler.
* New: The dominant colors of the cover art can be used to generate a gradient.
  * Color scheme "Artwork" turns on the feature.
  * Between 2 and 256 colors can be selected.
  * Lightness threshold determines which light colors will be ignored.
* New: The Curve visual has a peak line.
* New: Dark mode support.
* New: Fading AIMP peak mode, a combination of AIMP and Fade Out mode.
* Improved: Curve mode can use a horizontal gradient.
* Improved: The curve is no longer visible as a flat line if no track is playing.

You can download it only from GitHub.

This beta release contains a couple of eye candy additions and requests. Bugs can be expected but it has been stable in everyday use.

Hopefully I can focus on some analysis features now.

Installed the beta.

Can you please direct me to what settings I should apply so that the plugin does not paint the background or has it not been implemented?

See attached screenshots for the things I tried (next to old channel spectrum) ...
It's not implemented yet even though there is a background mode None. I have working code for the desktop window. I still have to experiment with a child window before I add the code to the component.

Re: foo_vis_spectrum_analyzer

Reply #308
Thank you @pqyt for the continued development😃

So if I wanted the peak to be a distinct color that was different from the bars or the curve, how would would I set up the graph? Is that possible?

I guess I'm not sure what the % value input means nor the smoothing dropdown.

Re: foo_vis_spectrum_analyzer

Reply #309
It's not implemented yet even though there is a background mode None. I have working code for the desktop window. I still have to experiment with a child window before I add the code to the component.

Ok. I'll wait.

One other thing ... As you can see I'll be sticking to curve mode. In curve mode there's always a vertical line on the left side in the same colour and width as the curve line itself. How can I get rid of that vertical line?

Re: foo_vis_spectrum_analyzer

Reply #310
Thank you @pqyt for the continued development😃
Thx.
So if I wanted the peak to be a distinct color that was different from the bars or the curve, how would would I set up the graph? Is that possible?
The peak currently uses the first color in the color scheme except for Fade Out which is white. It's not yet configurable.
I guess I'm not sure what the % value input means nor the smoothing dropdown.
The percentage determine the position of the color in a gradient. If you have 5 colors and you want the transition evenly spread then the colors are positioned at 0% (the beginning), 25%, 50%, 75% and 100% (the end of the spectrum),

Smoothing applies smoothing to the spectrum values. "Average" averages out any peak values causes a smoother spectrum; "Peak" keeps all peak values and makes the spectrum appear more 'jumpy'.

Re: foo_vis_spectrum_analyzer

Reply #311
It's not implemented yet even though there is a background mode None. I have working code for the desktop window. I still have to experiment with a child window before I add the code to the component.
One other thing ... As you can see I'll be sticking to curve mode. In curve mode there's always a vertical line on the left side in the same colour and width as the curve line itself. How can I get rid of that vertical line?
Not yet. The curve is drawn twice, once for the area and another time for the bounding line. The vertical lines are necessary for the area fill to work. I had no idea of the performance impact so I re-used 1 copy of the curve.

Re: foo_vis_spectrum_analyzer

Reply #312
Another nice to have. Please add an extra Apply button in the Configuration that applies the changes you made in the configuration but keeps the Configuration panel open (until you click OK).

Re: foo_vis_spectrum_analyzer

Reply #313
Another nice to have. Please add an extra Apply button in the Configuration that applies the changes you made in the configuration but keeps the Configuration panel open (until you click OK).
Erhh, why? All changes are live. "Cancel" returns to the previous configuration set. Every 1h of feature development requires 1.5h of UI development because of that.

Re: foo_vis_spectrum_analyzer

Reply #314
Thanks a lot for the new release.

Crash report: When the component is activated in a window, toggling full-screen mode on and off crashes the program.
Fixed in the next release. Direct2D really wants the correct multi-threading settings...

Re: foo_vis_spectrum_analyzer

Reply #315
Another nice to have. Please add an extra Apply button in the Configuration that applies the changes you made in the configuration but keeps the Configuration panel open (until you click OK).
Erhh, why? All changes are live. "Cancel" returns to the previous configuration set. Every 1h of feature development requires 1.5h of UI development because of that.

Because it's nice to see what the changes you make in configuration panel do for the visualisation. If the thing you changed does not work for you, you can revert it without opening the configuration panel. Not that it is relevant but most plugins/addons I use have this functionality.

Re: foo_vis_spectrum_analyzer

Reply #316
Another nice to have. Please add an extra Apply button in the Configuration that applies the changes you made in the configuration but keeps the Configuration panel open (until you click OK).
Erhh, why? All changes are live. "Cancel" returns to the previous configuration set. Every 1h of feature development requires 1.5h of UI development because of that.

Because it's nice to see what the changes you make in configuration panel do for the visualisation. If the thing you changed does not work for you, you can revert it without opening the configuration panel. Not that it is relevant but most plugins/addons I use have this functionality.
What is not clear about 'live'? Every change you make is immediately applied to the component, even while playing a track. So no, there will be no Apply button.

Re: foo_vis_spectrum_analyzer

Reply #317
What is not clear about 'live'? Every change you make is immediately applied to the component, even while playing a track. So no, there will be no Apply button.

My bad. Checked again. You're right. All changes are done on the fly.
Except for changes between background mode None and Solid. That threw me off.

Re: foo_vis_spectrum_analyzer

Reply #318
I have working code for the desktop window. I still have to experiment with a child window before I add the code to the component.

I almost have it working. I didn't copy your code but used this article from the same guy in your composition repo readme.

https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/july/windows-with-c-embracing-the-windows-composition-engine

It uses a IDCompositionSurface rather than a swap chain/bitmap. It was easy enough to get working in a "clean" fb2k window but my attempts at mangling it in to main project have failed so far due to my incompetence. I'll have a another go tonight. :P


Re: foo_vis_spectrum_analyzer

Reply #319
Crash report: When the component is activated in a window, toggling full-screen mode on and off crashes the program.
Fixed in the next release. Direct2D really wants the correct multi-threading settings...
Maybe a similar thing: when in Layout Editing Mode (DUI), trying to cut/copy the Spectrum Analyzer element and then paste it again into a splitter, also crashes foobar (v2.1.1 / 32-bit)

In any case, this is already a lovely component. Seeing you're in mid-development, I do have a feature request - I wonder if it would be possible to either A) allow to set a custom background image, or B) allow to set the other artwork threaders as background image (Artist, Disc, Back) besides the Front cover?

(The B option would essentially allow the A option, by using one of the artwork threads to set a path to a custom image, but of course it would be better to not have to sacrifice one of them as such)

Thanks for your efforts! 8)

Re: foo_vis_spectrum_analyzer

Reply #320
Maybe a similar thing: when in Layout Editing Mode (DUI), trying to cut/copy the Spectrum Analyzer element and then paste it again into a splitter, also crashes foobar (v2.1.1 / 32-bit)
Crashes also in CUI.

Re: foo_vis_spectrum_analyzer

Reply #321
^ Yep, I'm actually using CUI too, but adding the visualization to a DUI foo_flowin window, as background to a transparent foobar window. It looks awesome. :D


Re: foo_vis_spectrum_analyzer

Reply #323
A slope control would be nice. I usually have my frequency analysers (SPAN or Prism) set to 3, 4.5 or 6dB slope towards the highs to read "flatter".
Do you have any documentation or articles I can read because I don't understand what you're asking?

A standard analyser with no slope/weighting will make White Noise look "flat", but most musical program signals follow something closer to a Pink Noise spectrum (a 3dB per octave roll off) or even more. Music on standard analysers will always show more level in the bass than looks natural. More advanced analysers will have a dB slope control where you can adjust it to your liking. I'd highly recommend downloading Voxengo SPAN and TDR Prism (both free plugins), having a play, and reading their manuals to understand it a bit better. Prism is state of the art (I was on the beta team).

https://www.voxengo.com/product/span/

https://www.tokyodawn.net/tdr-prism/

The Prism manual explains it really well:

https://docs.tokyodawn.net/tdr-prism-manual/#Analyzer_Weighting
Also, I've already implemented the weighting functions, frequency tilting, and even ones derived from Winamp's Classic Spectrum Analyzer plugin here
Implemented in the next version.
@darkflame23 ,

I've implemented the A, B, C, D and M-weighting from the @TF3RDL code but I have difficulty finding information about the other Prism weighting functions (slope, X-Curve, N-Curve, etc). Do you have any?

Re: foo_vis_spectrum_analyzer

Reply #324
No, I've no idea what those weighting curves are, and never use them! For me a simple 3, 4.5 or 6dB is usually what I choose.