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: Waveform Minibar (mod) (Read 110047 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

Re: Waveform Minibar (mod)

Reply #275
$lower([%album artist%]|[%album%]|[$year(%date%)]|[$num(%discnumber%,1).][$num(%tracknumber%,2)]|%title%|[%length%]) - the standard rule in the mod, but how to make it appear when you listen to internet radio?

radio link - http://95.216.194.68/12_love_128

Re: Waveform Minibar (mod)

Reply #276
The component is a seekbar replacement. It is intentionally not doing anything with live streams since there is nothing sensible it could do.

Re: Waveform Minibar (mod)

Reply #277
The component is a seekbar replacement. It is intentionally not doing anything with live streams since there is nothing sensible it could do.
thanks

Re: Waveform Minibar (mod)

Reply #278
Great component! I'm going to use this instead of the old waveform seekbar that I had in my layout for years.

There's a minor problem: I've set the option "Track to prefer when showing waveform" to "Playing, selected when stopped". However, when I use "Stop after current" and the track stops, the waveform from the track just played still shows instead of the one from the selected track.

Re: Waveform Minibar (mod)

Reply #279
Thank you!

Unless you use the "cursor follows playback" option the selection will still remain in the stopped track. This is visible at least with Default UI and Columns UI. This doesn't look like a bug to me.

Re: Waveform Minibar (mod)

Reply #280
Is this component open-source?
I could not find any links to Github (or other public code repositories), so I would guess it's not. Any plans to make the code public ?

Whether you open-source it or not, thank you for sharing the binary component. I've just started using it, and find it an excellent tool. Appreciated !!

PS: FWIW, i've been a longtime lurker here (almost 10 years), but have only now created an account.

 

Re: Waveform Minibar (mod)

Reply #281
All my components are closed source, apart from the few based on GPL-licensed code. I don't have accounts on any git sites.

I haven't had good experience with open sourcing components so I decided long ago not to do that anymore. Sorry.


Re: Waveform Minibar (mod)

Reply #283
Well it's using Columns UI so look under File>Preferences>Display>Columns UI>Layout.

With normal CUI layouts, it should be easy as replacing the panel like for like using the right click menu (remove then add)

Things can be a lot more complicated if the parent node is Panel Stack Splitter. Removing/adding panels may break things unless you really know what you are doing.

Re: Waveform Minibar (mod)

Reply #284
Well it's using Columns UI so look under File>Preferences>Display>Columns UI>Layout.

With normal CUI layouts, it should be easy as replacing the panel like for like using the right click menu (remove then add)

Things can be a lot more complicated if the parent node is Panel Stack Splitter. Removing/adding panels may break things unless you really know what you are doing.

You're a legend, I risked it and removed the old one and added the one and I think everything is okay. It's been like 10 years since I've used foobar and I remember editing "themes" being a lot easier on the old foobar config I downloaded from someone back then.

Re: Waveform Minibar (mod)

Reply #285
I risked it and removed the old one

You can first backup the .fth file in fb2k's AppData folder. You can also use fb2k's menu function "View > Layout > Create scratchbox" and import the .fth file there to play around with changes to your layout.


Re: Waveform Minibar (mod)

Reply #287
I friendly like to suggest an additional setting for this superb component:

Track to prefer when showing waveform: Playing, blank at startup & end

With this setting the waveform would be removed after stop or after playing the last track of a list.
So the waveform would be shown only while playing/pausing.

Re: Waveform Minibar (mod)

Reply #288
Generating the waveform seems to block some parts of the GUI until it's down. I have Cursor follows playback enabled and when playback moves to the next song, or i skip to the next song, the GUI doesn't update until the waveform is done rendering.
Would it be possible to make this non-block or asynchronous so that the GUI can update immediately? That would be really good because i work a lot with files outside my library where i don't have the minibar processed beforehand.

Re: Waveform Minibar (mod)

Reply #289
All processing is done in another thread and UI updates are already rate-limited. But the current rate limiting is meant to prevent fast machines from trying to update the UI too often. I can see how it could still cause problems on a slower machine if all the processing power gets wasted on UI update attempts.

Here's a test version that automatically reduces UI update speed if it detects stalling. It seems to work fine on my emulated Pentium 2. Please report if it helps with your UI stalls too.

Edit: obsolete attachment removed.

Re: Waveform Minibar (mod)

Reply #290
Hello

I have a question for the developer of this wonderful plugin for Foobar 2000.
Is it possible for the next release to select a view that only shows half of the waveform.

Here is the original picture:
https://i.postimg.cc/Bv0PrKkZ/foobar2000a.jpg

And this is how I would like it:
https://i.postimg.cc/wBg3fdR7/foobar2000b.jpg

That would be great because I think it would save a lot of space.
Thank you, greetings from Vienna.

Re: Waveform Minibar (mod)

Reply #291
I may be crazy for adding more options but here's a new build with requests from @Lesmo16 and @sevensenses implemented. Still no proper release as I'm waiting for mr @Function to report if the change helped.


Re: Waveform Minibar (mod)

Reply #293
@Case: Thank you very much for "Playing, blank when stopped". :)

Re: Waveform Minibar (mod)

Reply #294
Released version 1.0.46 with the recent changes. It also includes fixes for the half wave mode. Initial version rendered super short tracks incorrectly.

I hope a moderator or an admin removes the old attachments as the forum no longer allows me to do that myself.


Re: Waveform Minibar (mod)

Reply #296
@Case:

The half-wave option doesn't work quite correctly. If the signal contains a DC component (which is the case with some microphone recordings), some information may be hidden or presented with the wrong proportions (the negative values). I attached a sample audio file with waves in the positive, negative, then again positive range (followed by silence). And I attached an image how SoundCloud renders that file.

EDIT:

I think, in this mode, the peak and RMS value of a pixel column should be calculated from all positive sample values and all negative values treated as positive values, lumped together in one pool for the pixel column's time frame.

Re: Waveform Minibar (mod)

Reply #297
Speaking of which.... why aren't you a moderator? There's a lot of dead wood on that "staff" list.... people who haven't been seen for 10 years plus. :P
I suppose I'm not worthy.

The half-wave option doesn't work quite correctly. If the signal contains a DC component (which is the case with some microphone recordings), some information may be hidden or presented with the wrong proportions (the negative values). I attached a sample audio file with waves in the positive, negative, then again positive range (followed by silence). And I attached an image how SoundCloud renders that file.
The half wave mode is correct. It simply renders the top half of the wave form. Before implementing it I verified that this is exactly how Audacity's half wave mode works too.

SoundCloud's interpretation isn't half wave, it's some visually pleasing semi-random presentation. It doesn't seem to be based on waveform or RMS. It for example shows non-existing fade in, a supposedly quieter portion near the beginning and it makes the -84 dBFS background noise appear audible.

Re: Waveform Minibar (mod)

Reply #298
The half wave mode is correct. It simply renders the top half of the wave form. Before implementing it I verified that this is exactly how Audacity's half wave mode works too.

But how can this be what the user wants - hiding information? What do you say to my previous edit: "I think, in this mode, the peak and RMS value of a pixel column should be calculated from all positive sample values and all negative values treated as positive values, lumped together in one pool for the pixel column's time frame." Such an algorithm should be the only behavior in my opinion, but at least an option.

What SoundCloud does additionally is a separate topic. Not everything has to be replicated. And Audacity should also change its behavior.

Re: Waveform Minibar (mod)

Reply #299
I don't know if that's a good idea. It gives more visible data but the data is a lie. Here's a link to a test version that turns negative sample values positive in the half wave mode: <edit: obsolete version removed>.
Here's additional test samples.

Edit: I updated the test version just now. I got distracted with food earlier and the initial version missed two "< 0" checks.