Skip to main content
Topic: Waveform Minibar (mod) (Read 27953 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Waveform Minibar (mod)

Reply #175
Unless someone has broken something recently, foobar2000 tends to run well enough under Wine as well.
Zao shang yong zao nong zao rang zao ren zao.
To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

Re: Waveform Minibar (mod)

Reply #176
Still no media key support for any desktop environment there, unless you manually add keyboard hotkeys in the desktop environment and point them to run Wine with the right prefix and foobar2000.exe with the right switches.

Re: Waveform Minibar (mod)

Reply #177
IIRC, in original waveform minibar, it was possible to remove dead entries.
It was useful especially if I wanted to rescan a file (because I modified it for example).

1) I remove my file from library
2) I use "Remove dead entries" menu
3) I put back my file
4) I play the file, letting Waveform Minibar rescanning my new file

For now I have 2 solutions: using a database editor (complicated) or deleting minibar.db file (easy but whole database will be rescanned again). I use the second choice each time tbh.

So I hope you'll find motivation to put this menu entry.
At first I though it was what was doing "sync minibar with library" before to understand it would scan all database for waveforms.

Re: Waveform Minibar (mod)

Reply #178
You can rescan a file from the right click context menu. Utilities -> Regenerate minibar waveform.

Re: Waveform Minibar (mod)

Reply #179
Meh... I've never seen this submenu. :/
Maybe you can include this entry in the contextual menu of panel ? Just in case I forgot.  :-[
Thanks for the answer and this perfect plugin.

Re: Waveform Minibar (mod)

Reply #180
Firstly thank you for the plugin, it works really well with a lot of customization.

Not sure how feasible this would be, it would be useful if I could only display the top half, one channel, of the waveform, as it works in rekordbox for example. So that's an option I request.

Re: Waveform Minibar (mod)

Reply #181
Firstly thank you for the plugin, it works really well with a lot of customization.

Not sure how feasible this would be, it would be useful if I could only display the top half OF one channel, of the waveform, as it works in rekordbox for example. So that's an option I request.
Soundcloud dispays like this as well, only the top part of the channel waveform in case my typo was misunderstood.

Re: Waveform Minibar (mod)

Reply #182
For my use case I tried the match pattern %path% | %filesize% | %md5%
However the database track_id looks like Z:\path\file.flac | ? | ?
My files are all flac, so md5s are embedded, and either way the filesize should certainly be available. Am I missing something?

Re: Waveform Minibar (mod)

Reply #183
The %filesize% field not working was a bug which is now fixed in the just released version. But %md5% field is not used correctly - use either $info(md5) or %__md5%.

Re: Waveform Minibar (mod)

Reply #184
The %filesize% field not working was a bug which is now fixed in the just released version. But %md5% field is not used correctly - use either $info(md5) or %__md5%.
Both of these fixes worked. Thanks for the help, and for writing this plugin - it's a great addition to foobar.
Another question just to satisfy my curiosity: what is the true_size field used for? Its value is 24580 in each row.

Re: Waveform Minibar (mod)

Reply #185
I just released another update (v1.0.33). Should have tested the error reporting change. Removing a file mid-scan made the component crash. This is now fixed.
That true_size field tells how much memory is needed to uncompress the zipped waveform data. Not horribly useful at the moment but at least it's not taking much space.

Re: Waveform Minibar (mod)

Reply #186
is it intentional behavior that the component aborts the waveform processing when playing back tracks from matroska files with internal chapters with "abort when processing speed under realtime" on? this happens about 99% of the time.

Re: Waveform Minibar (mod)

Reply #187
Hey @Case  :) I was using your great component today, and suddenly it hit me  :o  (assuming it hasn't been suggested before) :

Wouldn't it be great to optionally be able to display the elapsed time / remaining time, moving along with the cursor ?
It would look like this (see attached picture).

As you can see, the font colors would be automatically determined based on the "Played > Fill" and "Unplayed > Fill" colors. FYI there is also a 1-pixel black outline.
As for the beginning / end of the song, it wouldn't matter if the elapsed time / remaining time isn't fully displayed because it gradually appears from the lest / disappears in the right.

What do you think ?


Re: Waveform Minibar (mod)

Reply #188
is it intentional behavior that the component aborts the waveform processing when playing back tracks from matroska files with internal chapters with "abort when processing speed under realtime" on? this happens about 99% of the time.
It is if the scanning speed is slower than realtime. I can replicate the problem at least by using FFmpeg Input Wrapper to handle DTS tracks. Seeking in this scenario takes so many seconds that the component gives up all hope.

If you have a fast machine you can safely disable the option.

Re: Waveform Minibar (mod)

Reply #189
Wouldn't it be great to optionally be able to display the elapsed time / remaining time, moving along with the cursor ?
It might look nice but it would be another added configurable complexity for a component that is meant to be simple. Also I'm a bit worried about the resource requirements. Remember this is software rendered and smooth motion requires proper alpha blending.
It would be an interesting problem to solve if I had plenty of free time but I don't think it's a feature I'm willing to add.

Re: Waveform Minibar (mod)

Reply #190
I agree with all that :) Here are some thoughts though :
- The configurable complexity could be just one checkbox : "Display Elapsed / Remaining Time", disabled by default.
- As for resources, I agree. But any modern / not too old CPU should do this in a breeze, and since the option is disabled by default, this shouldn't be a problem for anybody.

Of course you'd need to have some free time to crack this. I'll leave that up to you. Maybe someday you will. ;)
I suggested this not because of the eye-candy, but because it would be really useful to have all that info in the same place visually. Thanks anyway !

Re: Waveform Minibar (mod)

Reply #191
Howdy, thx for the mod, works nice.

Four Suggestions. I have read all pages, and know both have been mentioned before in some way, but I just wanted to mention there is another person that would be happy if these options was there.

*1* Is a timer in some way, personally don't want one displayed all the time like the person earlier mentioned, for me a "mouse over" timer would be enough.

*2* I think the "sharp" waveform, is not a personal preference for me, reminds me to much of 8-bit games, the old school games 256 colors.
So a smoother in some way would be nice, like lets say the 10 pixels on top/bottom of each color has more 10% transparency then the previous one. So 100%, 90%,80%,70%,60%,50%,40%,30%,20%,10%.

*3* the colors for "played" and "unplayed", possible to give the option for instead of a color have % transparent, so lets say I want the "played" color to be the same as the unplayed just 50% transparent instead.

*4* Zoom in on waveform that have tiny waveform, so it uses more of the space one have give to the waveform window.
I have some youtube songs in playlist, that have low waves, and just for a more visual pleasing, would be nice if they where increased/zoomed in.
( Image displays what Im refering to better. )



Your plugin, you do whatever you want. Just mentioning what option I would personally like, nothing else.

Have a great day and keep up the nice work.

Re: Waveform Minibar (mod)

Reply #192
*1* Is a timer in some way, personally don't want one displayed all the time like the person earlier mentioned, for me a "mouse over" timer would be enough.
If you hold mouse button pressed over the minibar there will be a tooltip showing timestamp. You can prevent seeking by dragging the pointer far enough out of the window.

*2* I think the "sharp" waveform, is not a personal preference for me, reminds me to much of 8-bit games, the old school games 256 colors.
So a smoother in some way would be nice, like lets say the 10 pixels on top/bottom of each color has more 10% transparency then the previous one. So 100%, 90%,80%,70%,60%,50%,40%,30%,20%,10%.

*3* the colors for "played" and "unplayed", possible to give the option for instead of a color have % transparent, so lets say I want the "played" color to be the same as the unplayed just 50% transparent instead.
Sounds like the old Waveform Seekbar would suit you better. It is blurred by default and allows you to code effects you want.

*4* Zoom in on waveform that have tiny waveform, so it uses more of the space one have give to the waveform window.
I have some youtube songs in playlist, that have low waves, and just for a more visual pleasing, would be nice if they where increased/zoomed in.
There is the "waveform scale" option. You can manually enter a floating point scaling factor or use the "normalize" setting. Another option to make quiet tracks stand out more is to switch to the logarithmic scale.

Re: Waveform Minibar (mod)

Reply #193
There is the "waveform scale" option. You can manually enter a floating point scaling factor or use the "normalize" setting. Another option to make quiet tracks stand out more is to switch to the logarithmic scale.

I tested the Normalize, and not sure if its not working as you mentioned, http://prntscr.com/risk62
There is still 50% black space that is not utilized.

You mentioned "logarithmic scale"... Not sure where this option is, or what you are referring to.

I did test enabling "dB scale", that did partially work, it enlarge things, to the edges, but it did not do it in a good way,
for example, it enhanced some waves 200% but others 100%,
http://prntscr.com/rismpa <<<< into >>>> this http://prntscr.com/rismt3

What I was asking for, is that an option that enlargest the largest wave to the edges, lets say that is a 78% enlargement, then only 78% enlargement would be applied to the entire song,


Sounds like the old Waveform Seekbar would suit you better. It is blurred by default and allows you to code effects you want.

Yes, it might be, but my thought was to make a transition to this plugin instead since the other one is a few years without any update. So if the old plugin is abandoned, it would be nice to get one that is active.

If one swappes from an old game, and start playing a new game, but the new game is missing a few key features that made the old game great, then its not strange to request these features to the developers.... And here I am, doing just that...

If you hold the mouse button pressed over the minibar there will be a tooltip showing timestamp. You can prevent seeking by dragging the pointer far enough out of the window.

Nope, no such thing for, me. No info on mouse-over, or if the mouse button is pressed at hovered around, no info.
Even if that was the issue, by pressing the mouse I would make the song skip somewhere in the song, and would like to see timer without jumping in the song.

Re: Waveform Minibar (mod)

Reply #194
I tested the Normalize, and not sure if its not working as you mentioned, http://prntscr.com/risk62
There is still 50% black space that is not utilized.
I suspect your track is highly dynamic. The scaling decision is made from the full waveform data before it's scaled down - your window is so narrow that scaling eats away all the spikes that should hit the borders. I can change this to work after scaling but then changing the window size will make the waveform change size strangely.

You mentioned "logarithmic scale"... Not sure where this option is, or what you are referring to.

I did test enabling "dB scale", that did partially work, it enlarge things, to the edges, but it did not do it in a good way
That is the setting I referred to. It changes the vertical scale logarithmic (which I had to shorten to dB due to lack of space). It shows the waveform closer to how the ear perceives them but indeed it's not so pretty for most tracks.

Sounds like the old Waveform Seekbar would suit you better. It is blurred by default and allows you to code effects you want.

Yes, it might be, but my thought was to make a transition to this plugin instead since the other one is a few years without any update. So if the old plugin is abandoned, it would be nice to get one that is active.
The minibar component was originally created because zao got tired of the waveform seekbar with its unmaintainable features. The original minibar had zero configuration and used hardcoded colors.
I have already brought the component quite far from the mini idea with all the options I have added. And I regret adding some options. I can add some ideas I like but you should know that I much prefer the precise look over the blurry look.

If you hold the mouse button pressed over the minibar there will be a tooltip showing timestamp. You can prevent seeking by dragging the pointer far enough out of the window.

Nope, no such thing for, me. No info on mouse-over, or if the mouse button is pressed at hovered around, no info.
Even if that was the issue, by pressing the mouse I would make the song skip somewhere in the song, and would like to see timer without jumping in the song.
I attached a short video clip showing how it should work.


Re: Waveform Minibar (mod)

Reply #196
@Wolfbane My original component reached a critical mass of technical debt.
As Case mentioned, there's support constraints in there that make it impossible to move forward and work with. There's the old problem of that it requires very legacy toolsets (XP+DX9 SDK) to build, and that the customizability of effects via .fx files might have been a mistake as it's impossible to centrally adapt them to any new backend, as they're shared ad-hoc between users and touching anything is likely to break it for an unknown number of users.

I made the original minibar to provide a very lean software-rendered seekbar, which Case graciously took over after a period of mod maintainership. Every feature you add you have to support going forward, and as my original seekbar shows, it can creep quite a bit.
Zao shang yong zao nong zao rang zao ren zao.
To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

Re: Waveform Minibar (mod)

Reply #197
Implementing a good auto-scaler is quite hard as Case touched on, as you've got to thread the needle between having a single fullscale sample throw the scale to undersampling so much that the display clips out everything of interest.

I've historically tried everything from using replaygain data to using the raw waveform to using the distilled buckets that the display is based on, and there's no one-size-fits-all solutions.
Zao shang yong zao nong zao rang zao ren zao.
To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.

Re: Waveform Minibar (mod)

Reply #198
@Wolfbane, you seem to have somehow disabled all tooltips. You should have seen tooltips in the foobar2000 UI when hovering over the buttons too.

Re: Waveform Minibar (mod)

Reply #199
There is the "waveform scale" option. You can manually enter a floating point scaling factor or use the "normalize" setting. Another option to make quiet tracks stand out more is to switch to the logarithmic scale.
Frag.... This was probably documented someplace but I never imagined/tried even, to enter a value in that dropdown ,especially since it is a dropdown, an element which normally wouldn't allow you to enter something other than the choices already present

Implementing a good auto-scaler is quite hard as Case touched on, as you've got to thread the needle between having a single fullscale sample throw the scale to undersampling so much that the display clips out everything of interest.
I've historically tried everything from using replaygain data to using the raw waveform to using the distilled buckets that the display is based on, and there's no one-size-fits-all solutions.
Don't I know it :D It took me quite some time while hacking away at my monster FX to realize that if a track only has a few high peaks there is a very real chance, almost a certainty, those peaks will not survive the downsampling and interpolation to make it into the final dataset without being considerably 'averaged' with the preceding and following few seconds in the track.
Another major factor is the length of a track, the longer the track, the higher the chance this occurs.

To those wanting to have multi-channel support and other bells and whistles... the original wavebar component is what you should be using, as long as you keep in mind it is purely intended as a visual gimmick. It never will be nor ever was intended as an analytical component, even though it may seem that way. As pointed out in this thread before, if you want to analyse a track or simply want a true waveform, use Audacity or comparable tools.

@Zao
I've seen mention in this thread about the scrolling back/forward with the mouse wheel being one of the features the minibar would have over yours? I'm confused by these claims, I know for a fact that yours also supports this (at least in the versions I'm using) was there ever a time this wasn't the case? I admit I've been out of the loop for a long time due to (mental) health reasons but I am sure that your latest(last) version existed already before this component saw the first light of day.

 
SimplePortal 1.0.0 RC1 © 2008-2020