Hydrogenaudio Forums

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: Case on 2018-05-29 16:37:40

Title: Waveform Minibar (mod)
Post by: Case on 2018-05-29 16:37:40
A spin-off topic for foo_wave_minibar_mod from the original Waveform Seekbar (https://hydrogenaud.io/index.php/topic,77490.0.html) topic.

The component is downloadable for foobar2000 v1.4 series from the official repository (http://www.foobar2000.org/components/view/foo_wave_minibar_mod) and from my homepage (https://foobar.hyv.fi/?view=foo_wave_minibar_mod).
A version with statically linked C runtime for foobar2000 v1.3 is available here (https://foobar.hyv.fi/pre1.4/?view=foo_wave_minibar_mod).

This component shows a software rendered waveform for the playing track or optionally for the selected track. The waveform representation looks prettier than a static seekbar and often makes seeking to desired position easier.

Some differences to original components include the ability to start playback from the stopped state instantly just by clicking on the waveform and possibility to jump to a timestamp in another track just by viewing its waveform and clicking on it.

The latest version 1.0.14 that was just uploaded introduced an option to reverse the mouse wheel seeking direction.
Title: Re: Waveform Minibar (mod)
Post by: Hillfire on 2018-05-30 05:23:22
Thanks, Case
I just updated.
Waveform Seekbar is one of the best of foobar component to me.
Title: Re: Waveform Minibar (mod)
Post by: Nighted on 2018-05-30 06:23:23
Thanks for the reverse scroll option. Loving the mod even more now. Couldn't live without this.

(https://i.imgur.com/rsjSuZ6.png)
Title: Re: Waveform Minibar (mod)
Post by: nathanial on 2018-05-30 16:40:11
Excellent component! I have replaced the stock seekbar with this and am greatly enjoying it.

I have noticed that the rendered waveforms are saved and re-used. Where are the waveforms being saved? I had a brief look through the foobar2000 folder but couldn't find anything.
Title: Re: Waveform Minibar (mod)
Post by: grimes on 2018-05-30 16:47:15
The waveforms are stored in the file minibar.db in the foobar2000 folder.
Title: Re: Waveform Minibar (mod)
Post by: BeLu on 2018-06-01 13:47:25
Beautifu!!!! Thanks a lot!

Is there a way to replace the seekbar in the tool-bar by the minibar? (Apologies for soo many 'bars')


Bernd
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-06-01 16:47:57
Unfortunately that is only possible when using Columns UI.
Title: Re: Waveform Minibar (mod)
Post by: EpicForever on 2018-06-02 09:29:13
Alternatively (in CUI) you can disable seekbar in toolbar and place waveform seekbar right below toolbar, as separate UI element. This is what I was doing some time ago. But now I just moved it to the bottom of window and made it much larger.
Title: Re: Waveform Minibar (mod)
Post by: BeLu on 2018-06-02 16:09:30
 :(
Thanks anyway!

Bernd
Title: Re: Waveform Minibar (mod)
Post by: Paul Eye on 2018-06-05 15:49:35
Thanks for the reverse scroll seeking, one thing that always bothered me with the original Waveform Seekbar :)
Could you add an optional stereo waveform?
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-06-05 16:07:18
Is that really useful? In vast majority of my music the channels are so similar that separating them makes no sense. And to see any details the seekbar needs to use twice the space. Also currently the database stores downmixed content. Enabling stereo mode would require nuking existing data and rescanning everything.

I'd prefer not adding such option.
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2018-06-05 16:24:48
When making the original minibar, a design choice I took was that it should only deal with downmixed audio and be as simple as possible with no excessive frills. I like that Case is continuing with that policy for his modified variant.

If you're playing audio with dissimilar channels like chiptunes or tracked Amiga music and really need the channels, there's always the stable-and-boring foo_wave_seekbar with all its complexity.

It's never been the goal of any of the components to fully represent the underlying waveform, as it's so extremely downsampled that everything visualised is a bit abstract to begin with. If you want to see the actual waveforms, I recommend Audacity or CoolEdit96.
Title: Re: Waveform Minibar (mod)
Post by: EpicForever on 2018-06-05 19:22:07
When making the original minibar, a design choice I took was that it should only deal with downmixed audio and be as simple as possible with no excessive frills. I like that Case is continuing with that policy for his modified variant.

If you're playing audio with dissimilar channels like chiptunes or tracked Amiga music and really need the channels, there's always the stable-and-boring foo_wave_seekbar with all its complexity.

It's never been the goal of any of the components to fully represent the underlying waveform, as it's so extremely downsampled that everything visualised is a bit abstract to begin with. If you want to see the actual waveforms, I recommend Audacity or CoolEdit96.

Amen.
Title: Re: Waveform Minibar (mod)
Post by: Paul Eye on 2018-06-05 21:41:26
Is that really useful? In vast majority of my music the channels are so similar that separating them makes no sense. And to see any details the seekbar needs to use twice the space. Also currently the database stores downmixed content. Enabling stereo mode would require nuking existing data and rescanning everything.

I'd prefer not adding such option.
Okay, fair enough :)
I'm just used to the stereo waveform of the original Seekbar, and I have a mono waveform now in the same (quite large) space as I had the stereo waveform (I might need to reduce the height a bit now).
Still the most important feature here is the reversed mousewheel seeking; I'll take functionality over form :)
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-06-14 09:44:08
I have a question - since Waveform Seekbar scans files at the beginning it creates very useful data to apply volume gain to real audio. Is it possible to use it in that way, to normalize music tracks?  By another plugin or ReplayGain? In theory at least...
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2018-06-14 10:39:59
The analysis is very crude.

It makes one pass across the audio data, splitting it into a few thousand sections. Each of those sections has min/max values and a rudimentary measure of energy computed.

While it could technically be possible to integrate a RG/R128 scan with the existing analysis pass, there's no point really. Just decode the files twice, once with the minibar and once with whatever RG scanners you have.

As for the waveform data itself and its min/max values, it's not exposed to any other components. I considered doing so with the `foo_wave_seekbar` component, but never really bothered. (Fun fact, it used to be two separate components, a database and an UI element.)

For the minibar and some hypothetical normalization component, that's up to Case to decide. I would just recommend using ReplayGain like the rest of us :D
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-06-14 11:06:44
Unfortunately Protracker tunes are RG incompatible :)

I'm aware of algorithm simplification and I don't expect studio precision. But observing huge differences in some material I listen to now Waveform Seekbar display seems to give more or less accurate information about the general level of particular tracks. While leaving  some safe overhead and sacrificing couple of trimmed peaks here and there it could be away to boost some really quiet tracks.

I think having couple of numbers exposed outside could open doors for some experiments.

Anyway - since I discovered it I find Waveform Seekbar one of the most useful things while checking a lot of audio material (not necessarily a musical one) so thanks to all you guys involved in creating it.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-06-14 12:06:20
Sure it would be theoretically possible. But the functionality is not something I'd put in the seekbar component. Also the database format isn't optimal for that as you'd still have to parse thousands of values to find the peak.

I haven't looked into the m-TAGS (https://www.foobar2000.org/components/view/foo_tags) component but shouldn't that allow storing ReplayGain data in external file? If it doesn't, I think it would be possible to make a component that allows storing any tag data in a database or external files.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-06-14 14:20:32
No, sure I wouldn't like to put any additional burden onto this plugin. I'm just talking about exposing data that's already there (if it is there).

m-TAGS stores meta data in it's own files but in order to apply RG you need to scan all files to create m-TAGS files, then put those files into the playlist and then scan them with RG. It is a little bit of a hassle if I'm doing it right :)
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-06-14 20:30:45
@no9 , if you are on foobar2000 v1.4 beta you can test my latest experiment. A simple component that allows writing external tags to any file format.

Once you install it verify decoder preferences so that "External Tags (reader)" is the first decoder and "External Tags (writer)" is the last, like this:
(https://i.imgur.com/4Xz9xjH.png)

If the writer part is before other decoders, it will write external tag to formats that wouldn't need it. Should cause no other harm.

The external tag is written to the location the source file is at with ".tag" appended to its name. If something already exists by that name it will be overwritten.

Edit: Removed attachment.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-06-14 21:14:34
Checked. It works flawlessly. Thank you very much Case!
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-06-16 13:43:37
I removed the earlier attachment as I released the External Tags (http://www.foobar2000.org/components/view/foo_external_tags) component on the repository (and on my site (https://foobar.hyv.fi/?view=foo_external_tags)).

The new version also supports tagging subsongs.
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-06-16 20:52:31
Hi!
@Case, I tried your new component and I was able to edit the xm module tag. Thank you for your work!
Is it possible to work with packed files (zip, 7z or rar)?
I think most people (including me) store a music modules collection (for example) in packed form.

Thanks.
Title: Re: Waveform Minibar (mod)
Post by: スラッシュ on 2018-06-17 02:07:25
This is great, thank you so much for this component! I was wondering if it would be possible to use "follow cursor" mode when foobar is not playing, and "follow playback" when it is playing?
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-06-17 12:03:32
I started a new topic for External Tags (https://hydrogenaud.io/index.php/topic,116141.0.html). Hopefully some moderator moves related posts there.

Is it possible to work with packed files (zip, 7z or rar)?
I changed the component to allow tagging files in archives.

I was wondering if it would be possible to use "follow cursor" mode when foobar is not playing, and "follow playback" when it is playing?
Sounds like a decent idea. I'll add it for the next version.
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-06-17 15:03:29
I started a new topic for External Tags (https://hydrogenaud.io/index.php/topic,116141.0.html). Hopefully some moderator moves related posts there.

Is it possible to work with packed files (zip, 7z or rar)?
I changed the component to allow tagging files in archives.
Dear @Case, I tested new version with zip and rar archive xm modules for edit tag - that works perfectly!
Maybe it be better to create a tag file inside an existing archive? but it's already good  :)
With pleasure I will wait for your new codes.

Thanks.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-06-17 17:57:37
For that it's best to extract the archive, tag, and re-compress with the tag files.
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-06-17 18:54:00
For that it's best to extract the archive, tag, and re-compress with the tag files.
Yes, it is quite suitable for me.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-06-18 16:16:06
Possibility to disable and enable rendering without removing it from interface would be great. It is a bit annoying when you jump quickly from one track to another and have to wait until plugin process all the data.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-06-18 20:47:59
I was wondering if it would be possible to use "follow cursor" mode when foobar is not playing, and "follow playback" when it is playing?
Possibility to disable and enable rendering without removing it from interface would be great.

New version uploaded with these features implemented. The ability to halt processing is found under the Library menu.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-06-18 21:25:06
Perfect!
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-06-21 20:36:52
@Case, I tried your new version by Waveform Minibar (mod) 1.0.15 (https://www.foobar2000.org/components/view/foo_wave_minibar_mod). The component progress is visible.
It's strange that you didn't react to this: Reply #2166 (https://hydrogenaud.io/index.php/topic,77490.msg957899.html#msg957899). Maybe you just didn't see this message.
Please could you comment on the possibility of implementation.

Thanks.

Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-06-22 09:16:23
I saw it but I had nothing to comment.

Empty UI elements suck but these components are waveform seekbars, not spectrogram visualizers. If I used streaming audio more than to quickly test something, I'd probably be more willing to hack together something.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-07-02 07:00:45
@Case Can you store 'halt minibar processing' setting?
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-07-02 09:05:02
One more thing: is it possible to render waveform of currently played track when processing is turned on (unhalted)?
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-07-02 11:46:59
I thought the stop switch was for temporary use? Its state can be stored but I worry about people accidentally toggling it and then wondering why even restart doesn't fix things.

Showing results from the cache during halt is possible. I'll implement it for the next version.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-07-02 12:25:09
I thought so too, but after a couple of days of using it I found turning it on and off when needed is very handy (I placed button in the toolbar for that). And it's even not an issue since Foobar is restarted only when new components update require it, and on system startup, so not so often. But having auto resume and auto play after Foobar2000 starts turned on makes every start/restart a bit longer and interface unresponsive for a moment. It is not a big deal but would be nice.
Thanks again.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-07-06 10:14:10
I found that rendering of currently played track can be triggered by clicking on it's file name with CTRL key. After unhalt.
Title: Re: Waveform Minibar (mod)
Post by: Dr.Fuzz on 2018-07-09 10:59:59
I love this mod! It's so fast and looks great. Thank you so much for all the work you put into it. The one thing I miss from the original waveform seekbar is the ability to display more than one channel, or even downmix the display to mono/stereo from surround/quad. I suspect the single wave display cuts down on resources, but if not, could it be implemented? Thanks!
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-07-10 13:21:34
The component downmixes everything to mono. It is not configurable and there are no plans to change that.
Title: Re: Waveform Minibar (mod)
Post by: gnd on 2018-07-10 13:36:28
Is there a way so that waveform would be displayed as a column in playlist? It would be a great way to see which files are low volume, or even which are corrupted with missing data. Is there a pattern that can be used as custom column?

Also, how to use on selected files [rightclick]/Utilities/Regenerate Minibar Waveform on files that do not have waveform yet? If I use it, it starts calculation "Regenerating Minibar Waveforms". It takes a long time so it is doing something for sure, but then waveforms are not there for selected files, and wavecache.db file is not updated after it is done. Only clicking on individual files generates waveform and updates wavecache.db file. Is it a bug or am I doing something wrong?
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2018-07-10 13:40:55
Playlist renderers typically have no ability to display non-text fields. Things like album art are dedicated features in the renderers.

For the seekbar, I've tried exposing metadata for which files have signatures or not, and it tends to be quite icky when you're not in control of the files yourself.

Make sure you're looking at the correct database file - wavecache.db is for my seekbar component, minibar.db is minibar mod's file, minicache.db is my original minibar.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-07-10 13:42:12
Wavecache.db is the database of the old Waveform Seekbar component. This component's database is stored in minibar.db.

One feature that may not be mentioned anywhere is that the scanned waveforms are only saved for tracks that are in the media library. If you test files outside library the waveforms won't pollute the database as they are only stored temporarily in memory.
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2018-07-10 13:49:23
As a tangent, the components could technically have a service to rasterise a small image of a waveform for a sufficiently competent playlist renderer, or expose the waveform dataset for someone to use.

No such playlist renderers or panels exist, and it'd definitely be out of scope of the minibars, and I don't work on my seekbar anymore.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-07-14 12:03:27
New version uploaded that implements the features @no9 wanted. Additionally there's an experimental speed monitoring feature that aborts the regular waveform processing if the average decoding speed drops below realtime speed. Library sync and context menu scanning bypass the speed check.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-07-14 18:58:31
Thank you @Case. Now when it is halted the progress display disappears together with waveform. Great thing about Waveform Minibar is that whether it renders waveform or not for me it is still better seekbar than the default one. Ability to halt rendering is great when working on battery and in some other cases. Really handy now.
Title: Re: Waveform Minibar (mod)
Post by: Vicas on 2018-07-14 23:18:36
In the latest version few times randomly I got a strange behavior (pic attached).
Don't know what caused it, halt option wasn't enabled (I don't use it), and foobar was playing minimized to tray.
After I replayed the same song it started to show normally.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-07-15 08:09:08
It's probably related to the experimental feature I added. If your machine is busy and hasn't managed to decode one second worth of audio data after one second since decoder was opened, the scanning gets aborted. After that one second marker the check is constantly in use. If average decoding speed drops below realtime speed things get aborted.

You should find mention about the situation in the console. A message right after "Minibar scanning" line.

I added the feature as I had received email from someone with a slow computer telling the scanning can delay track change for ages while multitasking. He requested adding pauses for the scanning but I don't want to slow things down for everyone. My hope is that this feature serves him better.

But if you have a fast machine and it's not busy - yet waveforms fail to show - the feature is bugged.
Title: Re: Waveform Minibar (mod)
Post by: Lucidae on 2018-07-15 17:07:51
Thanks Case for this modification, it's been very responsive so far. I think I've discovered a bug;
In my current layout (DUI) I have the wavebar placed in the bottom half of a panel splitter. If I lock the panel height and then close foobar, the next time I start foobar the wavebar panel expands vertically by itself.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-07-16 10:16:12
Do you mean default splitters used in the DUI? Default UI calls UI pieces "elements", Columns UI uses term panels and has third party panel splitter(s) available.
The component scales itself to any panel size it is given and doesn't resize anything. If you think there's a bug somewhere I need more clear instructions.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-07-16 10:43:42
Hi again, maybe it was missed or poorly phrased by me so I'll try to rise this again: can we have progress display/cursor back visible while scanning is halted? Like in previous version. Now when halted it displays nothing.
Title: Re: Waveform Minibar (mod)
Post by: Vicas on 2018-07-16 13:21:52
If your machine is busy and hasn't managed to decode one second worth of audio data after one second since decoder was opened, the scanning gets aborted. After that one second marker the check is constantly in use. If average decoding speed drops below realtime speed things get aborted.

That was probably a reason. I think my machine was busy at time that happened. But it isn't really a big problem as it seems to happen very rarely so far.
Title: Re: Waveform Minibar (mod)
Post by: Lucidae on 2018-07-16 15:05:27
Do you mean default splitters used in the DUI? Default UI calls UI pieces "elements", Columns UI uses term panels and has third party panel splitter(s) available.
The component scales itself to any panel size it is given and doesn't resize anything. If you think there's a bug somewhere I need more clear instructions.

Yes I was referring to default splitters and elements, sorry for any confusion. I have sent you a private message with more details.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-07-16 17:12:39
Got the PM and reproduced the issue. A bug in foobar2000, I replicated the issue with native UI elements too.

Edit: bug reported to Peter.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-07-16 17:58:01
@no9 - new version uploaded that only disables waveform rendering. Previous version turned the render loop fully off so cursor had to be blanked or it would have stayed in one place.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2018-07-16 20:32:58
Everything is in the place now, so thanks again :)
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-07-20 07:44:28
@Lucidae foobar2000 v1.4 beta 21 has a fix for the resize bug.
Title: Re: Waveform Minibar (mod)
Post by: Dandruff on 2018-07-29 23:04:44
Thanks for this component! Perfect!
Title: Re: Waveform Minibar (mod)
Post by: grimes on 2018-08-14 07:06:21
I want to report a bug.
In Preferences | Display | Columns UI | Colours and Fonts | Colours is in the Element dropdown list an random entry showing up twice. This is, because the component Waveform Minibar (mod) is not returning a name and one of the existing names ends up getting reused instead.
See the complete discussion on GitHub reupen/columns_ui, Issue #137.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-08-14 19:14:27
Thanks, nasty bug been there since I added the automatic coloring. Fixed versions uploaded.
Title: Re: Waveform Minibar (mod)
Post by: lalldrin on 2018-08-24 15:49:07
Case and Zao, I love the waveform components. Thanks for the great work!

I just added Minibar to a tab in the bottom of my interface, right next to the original Seekbar. Minibar works perfectly, but right-click brings up no configuration options (it does with all the other components). I'm not in layout editing mode. I've restarted foobar2000. Is there some other way to access the config?

foobar2000 1.4, Windows 10
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-08-24 15:52:35
Minibar doesn't have per-instance configuration. If you use the mod version you'll find all options under "Tools" -> "Waveform Minibar (mod)" preferences page.
Title: Re: Waveform Minibar (mod)
Post by: lalldrin on 2018-08-24 16:57:05
Ahh--that's it! Thanks so much.

A suggestion: audio waveforms are often displayed in a logarithmic scale to more closely match the way our ears hear acoustic energy. Could you add a log scale display option? Waveforms would be much fuller.

Somebody already did the math in a SoundCloud-looking mod for Seekbar, if you wanted to track that down.

Good info and graphs here: http://www.acoustics.salford.ac.uk/acoustics_info/decibels/
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-08-24 18:59:01
Minibar was supposed to be simple and now it starts to have more options than anything...

You want something like this:

Edit: Attachment removed as the component is now released.
Title: Re: Waveform Minibar (mod)
Post by: lalldrin on 2018-08-24 19:11:56
OK--that's just freaky. Yes, that's exactly what I was thinking. You nailed it!

Copious thanks, and apologies for requesting yet one more not-so-simple feature. At least it wasn't too hard to implement.

Alexander Graham Bell (and his ten little decibels) are forever in your debt...
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-11-18 11:46:26
@Case,
the Minibar doesn't display anything (except the cursor) for some YouTube links. Here are some links for testing:
Code: [Select]
www.youtube.com/watch?v=tSkkzOz5iLE
www.youtube.com/watch?v=60ItHLz5WEA
www.youtube.com/watch?v=M-P4QBt-FWw
Please take a look if there is time. Thanks!
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-11-18 12:01:51
There's a new experimental feature to prevent the component from wasting too much processing time on slow machines and/or prevent playback by stealing bandwidth from playback thread. If seekbar extraction happens at sub-realtime speed the component will abort the operation. I can add an option to disable it.
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-11-18 12:10:22
Please, if it's not difficult for you.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-11-18 12:54:38
New version with an option to disable the speed checking released.
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-11-18 13:22:31
Yes, the wave is now displayed. So far everything is super. Thanks!
Title: Re: Waveform Minibar (mod)
Post by: darkflame23 on 2018-11-18 17:02:39
Finally got around to getting this working and trying it out, absolutely fabulous, thank you so much for this!
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-11-30 17:01:56
@Case,
Please test the behavior of the component for long files such as YouTube clips.
1. Can you consider the possibility of implementing the component stop mode when playback is stopped? When I interrupt the playback, the component continues to draw the wave and uploading the file.

2. It is probably better to continue drawing the wave (or start drawing again) after the cancel of the "Halt minibar processing" mode for the same file.

The link for testing: www.youtube.com/watch?v=1-xGerv5FOk (http://www.youtube.com/watch?v=1-xGerv5FOk)
Thank you!
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-12-04 20:33:34
Works as it should as far as I can see. Do you want me to blacklist youtube?
Title: Re: Waveform Minibar (mod)
Post by: khashayar on 2018-12-05 11:27:31
Ability to right click on the track's waveform same as on playlists. since track might have been deleted or removed from the playlist view.
@Case
Thanks for the Great Work!

Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-12-05 15:20:49
Do you want me to blacklist youtube?
Of course not. I will explain.
1. If you start playback a clip, the Minibar starts drawing a wave.
If you stop playback the clip (before the end of the wave drawing), the Minibar will continue to draw the wave until it finishes. Right ?
Therefore should be a mode to stop wave drawing when the playback of the clip is stopped. Isn't it ?
Please test this behavior of the Minibar using for example this long clip:
www.youtube.com/watch?v=8PmMuPYeK08 (http://www.youtube.com/watch?v=8PmMuPYeK08)
Title: Re: Waveform Minibar (mod)
Post by: khashayar on 2018-12-05 21:50:39
Small Issue:

Seeking doesn't move the cursor on Pause, works only on resume.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2018-12-06 17:07:00
I don't like the idea of replicating playlist context menus on unrelated components, khashayar. If I'll add context menu it will be for waveform related actions. If you have a habit of removing files from playlists and still want to perform actions on them, you might wish to consider adding keyboard shortcuts for those actions.

I fixed the position indication with seeking while paused. Side effect of earlier wish to stop all rendering when paused not to consume resources.

And I added initial support for Sergey77's wishes. The rendering stopping is bugged when using waveform rendering that follows selection, and I'm not sure I like the behavior. I'll attach a test version so people can test.

This component and External Tags are getting too complex. Too many bugs sneak in.

Edit: attachment removed, changes included in new release.
Title: Re: Waveform Minibar (mod)
Post by: krabapple on 2018-12-06 22:31:11
sorry for being a dummy, but how do actually get this to display once I've installed the plugin?  I'm using Columns UI in Foobar v1.3  (I loaded the correct version of the plugin for v1.3)

Title: Re: Waveform Minibar (mod)
Post by: khashayar on 2018-12-07 09:33:20
I don't like the idea of replicating playlist context menus on unrelated components, khashayar. If I'll add context menu it will be for waveform related actions. If you have a habit of removing files from playlists and still want to perform actions on them, you might wish to consider adding keyboard shortcuts for those actions.

I agree this would overcrowd the plugin.

What I was looking forward to mostly was the "Open Containing Folder" action, it might not be too irrelevant to the Waveform since it would open the location of the file that the Graph was generated from.

Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-12-07 13:31:38
sorry for being a dummy, but how do actually get this to display once I've installed the plugin?  I'm using Columns UI in Foobar v1.3  (I loaded the correct version of the plugin for v1.3)
@krabapple, If you are using CUI then (as variant) right-click on toolbars and select it on drop-down menu as shown in the attached pic.
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2018-12-07 14:07:00
This component and External Tags are getting too complex. Too many bugs sneak in.
@Case,
but at the same time these components are improving, it is obvious. Thank you for your responsiveness to users! This is very precious for fb2k.
Title: Re: Waveform Minibar (mod)
Post by: krabapple on 2018-12-07 21:01:24
sorry for being a dummy, but how do actually get this to display once I've installed the plugin?  I'm using Columns UI in Foobar v1.3  (I loaded the correct version of the plugin for v1.3)
@krabapple, If you are using CUI then (as variant) right-click on toolbars and select it on drop-down menu as shown in the attached pic.

Ah, I see it now, thanks!

Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2019-01-03 11:53:41
The rendering stopping is bugged when using waveform rendering that follows selection, and I'm not sure I like the behavior. I'll attach a test version so people can test.
Hi there!
Case, It would be better to clear the wave when rendering is stopped, for this version.
Title: Re: Waveform Minibar (mod)
Post by: fuffi on 2019-01-04 23:00:06
What a nice looking and great working compotent! just found it by chance (https://hydrogenaud.io/index.php/topic,116509.msg966698.html#msg966698)! Its a good start for 2019 ;-)

I have a feature request:

would the dear developer mind to add another option to
a) only sync the selected files to the library, and (kinda redundant, but also useful)
b) sync playlist only to library

We have a huge library and scaning the whole library would never be required, also, it would take tage ages.
Those two (or only the first) option would quickly sync the current or chosen playlist or even only 50 selected tracks to the library in no time.

Thanks for the component! I always liked the soundcloud idea of jumping visually through a song while listening.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-01-05 07:47:25
Note that you shouldn't normally need to scan things in advance. Depending on your settings when you select or play a track it will get scanned automatically. If your machine is somewhat modern the scanning will be generally done in a split second.

But if you wish to scan specific tracks in advance you can do that. Just select the tracks and use 'Utilities' -> 'Regenerate minibar waveform' context menu command on them.
Title: Re: Waveform Minibar (mod)
Post by: fuffi on 2019-01-05 11:10:19
Note that you shouldn't normally need to scan things in advance. Depending on your settings when you select or play a track it will get scanned automatically. If your machine is somewhat modern the scanning will be generally done in a split second.

But if you wish to scan specific tracks in advance you can do that. Just select the tracks and use 'Utilities' -> 'Regenerate minibar waveform' context menu command on them.
Thanks.
Actually yeah, its not needed, you're right. I use f2k portable and sometimes I'm on a very old/slow/crappy computer, but I disabled the option were the compotent stops creating the wave when it takes too much time (something with realtime, I'm can't recall atm). So the wave was created sometimes slowly, and I wanted to speed it up a little bit, but thats not important at all. I'm very happy with navigating through the waveform and can now clearly see, where gaps or silence begins. Great!!!
Title: Re: Waveform Minibar (mod)
Post by: Strigoy on 2019-02-12 18:12:30
Hello Case, would it be possible for you to implement some kind of size threshold (height would make alot of sense) for the panel to stop renderring waveform and turn blank?

I use this little trick in DUI where I controll size of some panels modifying nearby javascript panel's size. This is very usefull when you want to make some compact mode for the UI and turn waveform bar off. With the old waveform component I was able to do that just fine, since we had full access to the frontend settings. Don't get me wrong, I don't ask for that :).

Adding something like that extra panel/splitter size check would be very trivial to implement, but add a tonn of flexibility to how we use this awesome mod. Adding the value to options is not even needed I guess, just hardcode something sensible like 3-5 pixels height or so.

I hope you understand what I try to explain here :) my English is kinda rusty, sorry for that ))
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-02-14 16:26:45
Case, It would be better to clear the wave when rendering is stopped, for this version.

Hello Case, would it be possible for you to implement some kind of size threshold (height would make alot of sense) for the panel to stop renderring waveform and turn blank?

Above suggestions implemented. If the element width or height drops below 6 pixels the minibar will blank itself.

New version available as an attachment here first. If there are no complaints or bugs I'll release it properly later.

Edit: attachment removed, new version released.
Title: Re: Waveform Minibar (mod)
Post by: Strigoy on 2019-02-14 21:32:33
Woah, that was quick! Thanks, Case, works like a charm :)
Title: Re: Waveform Minibar (mod)
Post by: srdn on 2019-02-15 13:22:39
Can i get this picture with this extension ?
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2019-02-15 14:29:45
@srdn No, the minibar is by design very limited in what it is capable of unless the current maintainer @Case has stopped having principles :D

My unmaintained foo_wave_seekbar in D3D9 mode with effect shaders can produce that kind of Soundcloud-like waveform if you find an old effect to adapt or author one from scratch, but it's not trivial.
Title: Re: Waveform Minibar (mod)
Post by: srdn on 2019-02-15 16:31:37
@srdn No, the minibar is by design very limited in what it is capable of unless the current maintainer @Case has stopped having principles :D

My unmaintained foo_wave_seekbar in D3D9 mode with effect shaders can produce that kind of Soundcloud-like waveform if you find an old effect to adapt or author one from scratch, but it's not trivial.

What about mono mode with the display of the sum form of two channels ?
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-02-15 17:58:39
Everything is downmixed to mono. With two channels that means sum of left and right channels.
Title: Re: Waveform Minibar (mod)
Post by: srdn on 2019-02-15 18:15:30
Everything is downmixed to mono. With two channels that means sum of left and right channels.
I meant this form display
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-02-15 18:20:00
It only shows a traditional waveform.
Title: Re: Waveform Minibar (mod)
Post by: arch21 on 2019-02-17 05:52:21
Case, will you update Waveform Minibar (mod) on your website?
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-02-17 09:19:55
Thanks for notifying. That's usually the first place I update but somehow forgot to do it now.
Title: Re: Waveform Minibar (mod)
Post by: Dandruff on 2019-02-21 02:23:56
Download link on http://foobar2000.com/components/view/foo_wave_minibar_mod is broken (leads to foobar2000 homepage).
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-02-21 06:11:57
Appears to affect all components. I notified Peter.

Edit: it seems to work now.
Title: Re: Waveform Minibar (mod)
Post by: Dandruff on 2019-02-22 04:10:57
Not fixed here. I end up at http://foobar2000.com/?page=Download
Title: Re: Waveform Minibar (mod)
Post by: arch21 on 2019-02-22 05:33:26
Not fixed here. I end up at http://foobar2000.com/?page=Download
foobar2000 website is .org, not .com
Title: Re: Waveform Minibar (mod)
Post by: kode54 on 2019-02-22 08:47:03
The component downloads appear to work when initiated from foobar2000.org, but not from foobar2000.com, which I wasn't even aware pointed at the correct site.
Title: Re: Waveform Minibar (mod)
Post by: Dandruff on 2019-02-23 22:44:37
Not fixed here. I end up at http://foobar2000.com/?page=Download
foobar2000 website is .org, not .com

Here both show the foobar2000 website.
Title: Re: Waveform Minibar (mod)
Post by: Dandruff on 2019-02-23 22:46:21
The component downloads appear to work when initiated from foobar2000.org, but not from foobar2000.com, which I wasn't even aware pointed at the correct site.

Fixed now.
Title: Re: Waveform Minibar (mod)
Post by: tomchr on 2019-03-08 11:23:46
Thanks for an excellent Foobar2000 component.

Would it be possible to have the 'mouse wheel notch seeks ahead/back' value at 1 second?
Secondly, the seekbar line/cursor is 3 pixels thick. How about an option to choose between thickness of 1-3 pixels?
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-03-08 18:51:30
The cursor width was set that way as it looked most decent. Minibar was never meant to have too much configuration...
Allowing thinner cursor will require coming up with nicer alphablending method. I'll attach a modified version here that allows finer seek control and has hard-coded thin cursor for you to test. But it really requires a new renderer.

Edit: test version removed.
Title: Re: Waveform Minibar (mod)
Post by: tomchr on 2019-03-10 11:34:47
The cursor width was set that way as it looked most decent. Minibar was never meant to have too much configuration...
Allowing thinner cursor will require coming up with nicer alphablending method. I'll attach a modified version here that allows finer seek control and has hard-coded thin cursor for you to test. But it really requires a new renderer.


Many thanks for the mod. I highly appreciate it. I noticed that the cursor seems to be blinking, regardless of FPS settings.
I guess  this is the unintentional rendering effect that you are referring to, and by increasing the width of the cursor the blinking goes away.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-03-17 16:46:43
New version released with the seek accuracy improvements, cursor width configuration and improved cursor rendering.
Title: Re: Waveform Minibar (mod)
Post by: darkflame23 on 2019-03-17 17:00:32
Fab! Any chance right clicking on the actual waveform could automatically take us to its setting page? I reckon that could be quite handy.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-03-18 20:19:43
I have missed a quick method to switch between linear and logarithmic scales so I added a context menu with link to settings and a way to swap mode.
Title: Re: Waveform Minibar (mod)
Post by: darkflame23 on 2019-03-18 20:21:13
Excellent! Just tried it out, works like a charm, thank you!
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2019-03-19 12:41:27
Case,
Waveform Minibar (mod) component is perfect. I use it with pleasure.
Thank you very much!
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2019-03-23 09:37:58
@Case Cursor width changes in 'halt processing' mode like that:
(https://i.imgur.com/9zXYUh3.gif)
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-03-23 11:30:20
Thanks, fixed. The no-waveform case still used old render code.
Title: Re: Waveform Minibar (mod)
Post by: no9 on 2019-03-23 16:40:43
Thanks go to you!
Title: Re: Waveform Minibar (mod)
Post by: Forfit on 2019-05-19 07:25:33
Do it is possible to add a option to disable minibar.db saving or reset it at fb2k end session, to avoid inflating file?
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-05-21 16:21:15
How large database do you have? And you don't mind the scanning delay?

I can consider adding an option if you tell me you absolutely need it.

Note that you can make the database file read-only and it won't be altered anymore.
Title: Re: Waveform Minibar (mod)
Post by: Forfit on 2019-05-23 00:43:15
How large database do you have? And you don't mind the scanning delay?
i didn't go on to make it grow.  Delays are not a problem.
Quote
I can consider adding an option if you tell me you absolutely need it.
would be appreciated, also to avoid unnecessary writing on sd
Quote
Note that you can make the database file read-only and it won't be altered anymore.
I've already tried to make the file read-only but the plugin overwrites it anyway.
Title: Re: Waveform Minibar (mod)
Post by: dosed87 on 2019-06-02 12:33:03
Hi, I have a problem with latest version of foobar (1.4.4), I've installed minibar, restarted program, but it isn't visible in toolbar section?
Title: Re: Waveform Minibar (mod)
Post by: anamorphic on 2019-06-02 13:15:57
^ You have to add it to your layout. For DUI, see Layout Editing Mode (https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Layout_Editing_Mode).
Title: Re: Waveform Minibar (mod)
Post by: grimes on 2019-06-02 14:51:13
Waveform Minibar (mod) is present in the toolbar's context menu for Columns UI, but I can't find it in the Default UI toolbar. Should be fixed.
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2019-06-02 15:08:42
In the Default UI, you cannot add custom UI elements to the toolbar, there's no SDK extension point for that.
Title: Re: Waveform Minibar (mod)
Post by: dosed87 on 2019-06-02 17:54:03
^ You have to add it to your layout. For DUI, see Layout Editing Mode (https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Layout_Editing_Mode).

I''m currently to dummy for that, maybe some further explanation, I only know how to turn on editing mode :)
Title: Re: Waveform Minibar (mod)
Post by: anamorphic on 2019-06-03 12:55:28
^ With Layout Editing on, you right-click a section you want to change, select Replace UI Element, choose a Splitter (top/bottom) to divide the section in two. Then click the empty space and select Waveform Minibar from the list. You can also right-click and Cut/Copy/Paste to move elements around. Here is a quick video (https://youtu.be/BeI4u0vgcOo).

(Any further questions should be made in a new thread)
Title: Re: Waveform Minibar (mod)
Post by: dosed87 on 2019-06-03 17:55:09
Thank you very very much, great editing mode for be 8) ginners!
Title: Re: Waveform Minibar (mod)
Post by: Ottodix on 2019-06-13 13:13:38
Hi,
It may have been asked already: Would it be possible to have a transparency settings for custom colors, going from 0 to 255? It would allow a nice integration on custom-made themes.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-06-14 14:32:21
I don't quite understand the request. If you make foobar2000 transparent all elements respect that. If you wish to mix the colors with the background color you can just calculate the desired value yourself.
Title: Re: Waveform Minibar (mod)
Post by: Ottodix on 2019-06-14 16:54:43
Background image : ) I would like to put this waveform over the currently played cover artwork
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-06-14 21:43:57
Seems to be a hacky feature of some panel splitter component. I'll keep the request in mind but don't rely on it getting implemented.
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2019-06-14 23:01:40
Case: There's some old posts regarding the CUI panel stack component over in the Waveform Seekbar thread somewhere.
Back there I pretty much dismissed it as I couldn't figure out how to blend my D3D9 render targets and didn't want to bother with D2D/GDI.
Title: Re: Waveform Minibar (mod)
Post by: Ottodix on 2019-06-14 23:12:33
Yep, I understand for sure, thanks
Title: Re: Waveform Minibar (mod)
Post by: Dandruff on 2019-07-06 12:05:22
The attached sample (WAV, 48 kHz, 32bit float, mono, 2 samples lenght) will make foobar2000 (1.4.5) hang when Waveform Minibar (mod) 1.0.25 is active:
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-07-07 15:56:20
Sorry for the trouble. The component was meant to upsample short tracks to get enough sample points but the feature was entirely broken. Uploaded a fixed version.
Title: Re: Waveform Minibar (mod)
Post by: fuffi on 2019-07-07 20:26:35
Hi Case!
Thanks for the update, works fine and troubleless :-)

I checked the new Cursor Width option and it is nice, but now, as we can change the width, we "need" another setting:
Code: [Select]
[x] transparent cursor
so a width 10 cursor looks fancy and not blocky 8-)
Title: Re: Waveform Minibar (mod)
Post by: Dandruff on 2019-07-07 21:56:06
Sorry for the trouble. The component was meant to upsample short tracks to get enough sample points but the feature was entirely broken. Uploaded a fixed version.

Thanks! Working fine now!
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-07-23 14:07:37
we "need" another setting:
Code: [Select]
[x] transparent cursor
so a width 10 cursor looks fancy and not blocky 8-)
I just uploaded a version with some configuration changes for that.
Title: Re: Waveform Minibar (mod)
Post by: candum on 2019-07-28 00:30:44
I read earlier that Case doesn't want to add a stereo option. But would adding the option to select a right or left wave form option have the same end result as giving the seekbar a stereo operation? In terms of nuking things, I mean. If so then I won't ask what I am sure you already know I want to ask.
Title: Re: Waveform Minibar (mod)
Post by: thisbanisnotsettoexpire on 2019-07-30 02:15:55
One feature that may not be mentioned anywhere is that the scanned waveforms are only saved for tracks that are in the media library. If you test files outside library the waveforms won't pollute the database as they are only stored temporarily in memory.
This is important information. I've been surprised that waveforms of (streamed) tracks decoded by foo_youtube are created again and again after every restart, even though (as it was directly observed) component allows to set some track identification option in preferences and introduces a database in foobar2000 directory.

Now I know why. And now I see that this behavior is described in many places: in quoted message, on component's homepage (https://foobar.hyv.fi/?view=foo_wave_minibar_mod) and in documentation (http://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components_0.9/foo_wave_minibar_mod), linked from component's page on foobar2000.org. But it somehow wasn't enough to reach me in time proper to prevent confusion.

Maybe it could be seen as unnecessary now, but basing on this experience and to ease understanding of component's limitations intended features for new users, could you please add this information in starting post of this topic and directly on component's page (https://www.foobar2000.org/components/view/foo_wave_minibar_mod) on foobar2000.org?

Thank you for component, it's usable anyway and it's good to have it and it's nice of you to support it.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-07-30 07:49:49
I read earlier that Case doesn't want to add a stereo option. But would adding the option to select a right or left wave form option have the same end result as giving the seekbar a stereo operation? In terms of nuking things, I mean.
Nuking the database isn't the biggest problem. No nuking would be required as configured channel could just be used for new scans. But picking only one channel of a multi channel track makes no sense to me. In the rare case when there are differences the waveform display could be a complete lie.

Maybe it could be seen as unnecessary now, but basing on this experience and to ease understanding of component's limitations intended features for new users, could you please add this information in starting post of this topic and directly on component's page on foobar2000.org?
Good point. Added. The component could perhaps also use a possibility of saving the scan results for streams.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-08-02 21:38:17
Do it is possible to add a option to disable minibar.db saving or reset it at fb2k end session, to avoid inflating file?
New version uploaded with the ability to select what gets saved in the database. Default behavior hasn't changed but it's now possible to additionally save results for streams, save everything, or save nothing. With the last option no database gets created and if one exists, it isn't loaded.

I also made the seek hack DSP hidden so it isn't messing the regular DSP config listing.
Title: Re: Waveform Minibar (mod)
Post by: fuffi on 2019-08-04 00:31:32
nice :)

I have created a junction of minibar.db (with Link Shell Extension by Hermann Schinagl (http://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html)) to my C:\temp directoy, so it does not overgrow my f2k directory (backing up this folder regulary is fast, but not, if minibar.db gets >500MB, which happens very fast here.

Maybe it is useful for other user too, that you add a user definable directory (relative (..\bla) to f2k install dir, or fixed C:\bla)) to store the minibar.db ?

I'm wondering too, if you could put the preferences "track to prefer when showing waveform" to the contextmenu (when rightclicking on the waveform), so users can switch fastly and do not need to open prefs, change setting, press ok, and change it back when needed, and open the prefs again for it..
I often like to change to "selected track", while my default setting is "playing, selected when stopped", but I don't want to stop the music ;-)) It could be faster to accomplish, with rightclick on waveform and quickly click one of the four entries.

One small thing:
I had set up f2k from scratch and did not configured the library, though, your menu entry in menu->library->sync minibar with library was visible (not greyed out) but did nothing 8-]

Thank you, I enjoy your component every day (and actually, with every song)!
Title: Re: Waveform Minibar (mod)
Post by: candum on 2019-08-27 18:37:50
I read earlier that Case doesn't want to add a stereo option. But would adding the option to select a right or left wave form option have the same end result as giving the seekbar a stereo operation? In terms of nuking things, I mean.
Nuking the database isn't the biggest problem. No nuking would be required as configured channel could just be used for new scans. But picking only one channel of a multi channel track makes no sense to me. In the rare case when there are differences the waveform display could be a complete lie.

Fair enough, I just like stereo layouts and it has helped me out quite a lot. I learned an adapter I was using was actually switching the left and right, never really noticed it before as I didn't listen to anything I actually knew that intimately. I did find a way to use both of the seek bars I rather like. I remembered I could stick them into tabs and switch between them rather quickly.
Title: Re: Waveform Minibar (mod)
Post by: JoeBar on 2019-10-02 21:56:39
Hi, i can't display any Waveform, it's activated but i have no way to make it appearing.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-10-03 08:31:00
What do you mean by it being "activated"?

The "Waveform minibar (mod)" element needs to be added to the user interface and its processing must not be turned off. The off-switch is currently located under the Library main menu and it's called "Halt minibar processing".

Are you playing local files or streams? With streams the component can do nothing.

The waveform by default uses colors from the user interface. I think with Columns UI one could configure global colors to all be the same but use custom colors in elements to retain visibility. Doing such a thing would probably make the minibar appear blank with the default settings.

If none of these are the cause for the problem check console (main menu View -> Console) to see if there are any errors reported.
Title: Re: Waveform Minibar (mod)
Post by: JoeBar on 2019-10-03 11:01:01
What do you mean by it being "activated"?

The "Waveform minibar (mod)" element needs to be added to the user interface and its processing must not be turned off. The off-switch is currently located under the Library main menu and it's called "Halt minibar processing".

Are you playing local files or streams? With streams the component can do nothing.

The waveform by default uses colors from the user interface. I think with Columns UI one could configure global colors to all be the same but use custom colors in elements to retain visibility. Doing such a thing would probably make the minibar appear blank with the default settings.

If none of these are the cause for the problem check console (main menu View -> Console) to see if there are any errors reported.

I mean the plug-in is activated in Foobar to be sure.

So i must synchronize WFMB with all my media library (it will take hours) ? Or is it able to generate WF on the fly ? I only read local files.

I have no way to add it to the user interface (see the screenshot).

Thanks for your help.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-10-03 11:37:55
No need to synchronize anything in advance - the component will scan tracks as needed. The problem here is that you don't have the seekbar in your interface. Below are step-by-step instructions how to add it:

Title: Re: Waveform Minibar (mod)
Post by: JoeBar on 2019-10-03 11:53:18
No need to synchronize anything in advance - the component will scan tracks as needed. The problem here is that you don't have the seekbar in your interface. Below are step-by-step instructions how to add it:



Awesome, didn't know i had to get into the Layout Editing Mode to manually add that splitter, thanks a lot ;)
Title: Smoothing request
Post by: wharfinger on 2019-10-04 16:08:06
Hello! Firstly, thanks for developing and improving the original component!

I have a request. Is it possible to add some smoothing to the waveform like in the original component? I've added a screenshot for comparison.
(https://hydrogenaud.io/index.php?action=dlattach;topic=116045.0;attach=15623;image)

Best regards
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-10-04 19:17:22
Smoothing is unlikely to be added as I prefer the sharp look. Have you tried simulating it by setting the RMS color to black and regular color to dark gray?
Title: Re: Waveform Minibar (mod)
Post by: frogworth on 2019-10-05 06:15:45
Only just discovered that this exists.
It's really nice, but without stereo I'm not going to use it unfortunately. The ability to compare channels is something I use quite a lot. Is it definitely never going to be a feature?
Title: Re: Waveform Minibar (mod)
Post by: wharfinger on 2019-10-06 12:40:02
Have you tried simulating it by setting the RMS color to black and regular color to dark gray?
Yes, it makes no big difference, the sharp edges are still there.
Title: Re: Waveform Minibar (mod)
Post by: darkflame23 on 2019-10-07 07:34:00
I like how it looks now too, please don't change it!
Title: Re: Waveform Minibar (mod)
Post by: fuffi on 2019-10-17 14:26:28
Hello,

how can I temporarily DISABLE the components waveform generation?

Atm, I work wtih huge files on a network drive which is not the fastest.
It takes about 10-30 seconts per file to scan.

I have enabled "abort seekbar generation... realtime", but its not aborting and I don't want the generation to be started at all.

The option "track to prefer, when showing waveform" does not have a good solution for me. (I need to switch between playing, skipping, playing other sounds, etc.)

I just like to disable the generation completely, but it seems not to be possible w/o uninstalling?

A right-click option "✔ disalble waveform generation" on the wavebar panel would be nice. (as a feature request)

As well as this:
I'm wondering too, if you could put the preferences "track to prefer when showing waveform" to the contextmenu (when rightclicking on the waveform), so users can switch fastly and do not need to open prefs, change setting, press ok, and change it back when needed, and open the prefs again for it..
I often like to change to "selected track", while my default setting is "playing, selected when stopped", but I don't want to stop the music ;-)) It could be faster to accomplish, with rightclick on waveform and quickly click one of the four entries.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-10-17 15:24:44
how can I temporarily DISABLE the components waveform generation?
There's "Halt minibar processing" setting under the Library menu. It predates the context menu and I haven't yet remembered to add it there.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-10-18 21:28:55
New version out that includes the track preference selection and processing halting in the context menu. There are also some fixes.
Title: Re: Waveform Minibar (mod)
Post by: fuffi on 2019-10-19 13:13:24
You are top class! Thank you! Tested and it is now working "as it should". ;-)
(It is great, that the cursor is moving while the generation is turned off!)
Title: Cannot edit tags of file, while waveform is generated
Post by: fuffi on 2019-10-20 11:22:00
Well, there is another question/issue.

I often get the f2k Info
Code: [Select]
"Could not update tags (File is already in use) on:
C:\mp3\myfile.mp3"
when trying to change tags, while the waveform is still generated.

I change tags via scripts bound to keyboard shortcuts, so I usually change 2-3 tags very quickly, while the component is on its way to generate the waveform.
It happens on SSD, HD and Network too, no difference.  Keyboard-shortcuts are fast, waveform generation is not.

My options are,

a) halting the waveform generation

b) wait until the generation is finished, then press the shortcuts.
c) ?

I must say,
b) is out of question

a) will result in enjoying and using the waveform mainly when I do other work than tagging or moving files in f2k (which is only about 15% while the rest 85% is fetching/finetuning tags, etc.), so the fine waveform is mostly deactivated.
Which is a pitty IMHO, because it is so helpful to use (jumping visually, skipping parts) and very convenient (click=done) to work with.

c) Is something which did not come to my mind yet.... %-)

So the question is,
is there a way to omit this message (and of course enable editing/changing a file, while its beeing processed)?

The waveform generator opens the file in r/o mode (I guess), so why can't I edit that file?
Is this a Windows7 thing, or may this be canged in f2k somewhere, maybe any advanced setting?

Thanks for your ideas.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-10-20 12:48:17
is there a way to omit this message (and of course enable editing/changing a file, while its beeing processed)?

The waveform generator opens the file in r/o mode (I guess), so why can't I edit that file?
Is this a Windows7 thing, or may this be canged in f2k somewhere, maybe any advanced setting?
It's not a Windows 7 thing and you can't change that. foobar2000 wants exclusive write access to the file while tagging so an outside decoder having it open prevents this.

Only way that comes to mind to circumvent this is to read the file to memory and decode from there. But that would slow the waveform generation down and would consume a lot of memory. And wouldn't even work on large files.

Note that the faster your machine is the faster the waveform generation is. Typical tracks get scanned here in a fraction of a second so waiting for them to finish is not a problem. Also if you take advantage of the waveform cache and scan the files in advance there won't be any file locks later when showing the seekbar.

Since you like keyboard shortcuts you could map the '[main]' -> 'Library' -> 'Halt minibar processing' command to a key to be able to quickly turn it off if it gets in the way. And if you happen to use the 'playing track' mode hitting Stop will also stop incomplete waveform generation. It requires no further action, when you resume playback the waveform generation is restarted.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-10-21 14:55:28
Actually should have asked Peter sooner. New version out now that allows you to tag files while waveform is being generated. And if your file is unseekable it will get tagged once waveform generation is finished.
Title: Re: Waveform Minibar (mod)
Post by: fuffi on 2019-10-23 20:43:41
sounds good, will test and report :-) Thank you!

Meanwhile...

sometimes, the wavebar generation aborts and there is no way to see/know,
-if the file is broken
-if the file just has a very long silent part at the end
- ...
-or if the generation just stopped, because of the slowness of my computer/network. (so everything is "normal")

I wonder if it will be usefull to have a (user-colorable) "vertical abortion bar" (see screenshot), which will indicate to the user: "hey, nothing wrong with the file, I just aborted the generation, because....".

What do you think?

I do a lot with visuals, so for me every indicator of a broken file is an alert to my eyes :-)
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-10-24 09:43:05
I don't like the idea of adding such feature to the component. It already has way too many configurable features for a supposedly simple minibar.
If the waveform generation stops because of too slow decoding speed there will be a note about it in the console.
Title: Re: Waveform Minibar (mod)
Post by: fuffi on 2019-10-24 13:42:39
If the waveform generation stops because of too slow decoding speed there will be a note about it in the console.
Ah, I never noticed such a message  in the crowded console, will take a deeper look 8-) Thanks!
Title: Re: Waveform Minibar (mod)
Post by: JoeBar on 2019-10-24 14:09:39
Hi, how can you lock the splitter between the WB and the playlist ? Thanks
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-10-24 15:40:39
I assume you use the Default UI. In layout editing mode right click on the splitter and you'll get 'Top pane' and 'Bottom pane' menu entries at the bottom. Select the appropriate submenu and click on 'Lock height' there. You need to be precise with the mouse to hit the splitter.
Title: Re: Waveform Minibar (mod)
Post by: JoeBar on 2019-10-24 18:58:25
I assume you use the Default UI. In layout editing mode right click on the splitter and you'll get 'Top pane' and 'Bottom pane' menu entries at the bottom. Select the appropriate submenu and click on 'Lock height' there. You need to be precise with the mouse to hit the splitter.
Perfect !
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2019-10-31 19:04:22
Hi there!
@Case, please consider the ability to add the feature "refresh wave" in the right-click menu. This is necessary when the wave is saved and the contents of the file have changed. To redraw the wave, I need to delete the entire base. Or I don’t know how to do it right.
Thank you!
Title: Re: Waveform Minibar (mod)
Post by: anamorphic on 2019-10-31 22:51:00
^ There is an option in right-click track > Utilities > 'Regenerate minibar waveform'.
Title: Re: Waveform Minibar (mod)
Post by: Sergey77 on 2019-11-01 01:17:23
^ There is an option in right-click track > Utilities > 'Regenerate minibar waveform'.
Oh thanks, @anamorphic!
I'll know.
Title: Re: Waveform Minibar (mod)
Post by: _Stevie_ on 2019-12-30 20:12:41
Hey all,

I have a problem: some tracks seem to share the same waveform. I already tried to re-index but with no luck. Any ideas?
Title: Re: Waveform Minibar (mod)
Post by: _Stevie_ on 2019-12-31 05:37:32
Okay, found the issue. For my use case I had to change the matching pattern to %filename%
Title: Re: Waveform Minibar (mod)
Post by: Case on 2019-12-31 07:01:46
The default match string intentionally combines some tracks. I have my main library as FLAC and I keep a lossy version for portable use. I want them both to be able to use the same waveforms generated from the FLACs.

I wouldn't recommend using just %filename%. It can easily be the same for tracks from different albums. %path% would be safer, but not so good if you move files around often.
Title: Re: Waveform Minibar (mod)
Post by: kode54 on 2019-12-31 09:16:58
Don't forget %subsong% in the pattern, if you use multi-track formats.
Title: Re: Waveform Minibar (mod)
Post by: khashayar on 2020-01-01 12:51:09
Hello everyone,
I have recently migrated to Linux for a plethora of reasons (e.g Privacy to say the least), really foobar was one of the few things (especially this very plugin!) that was keeping me at bay (i.e. Windows) for a while. I'm now using Audacious (the closest thing so far). So I was wondering if anyone knows an alternative Waveform Seekbar for Linux.



Thanks & Cheers to @Case for developing awesome plugins...
Happy New Year.
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2020-01-01 23:11:08
@khashayar There exists a clone of my original foo_wave_seekbar for the Deadbeef music player: https://github.com/cboxdoerfer/ddb_waveform_seekbar
Title: Re: Waveform Minibar (mod)
Post by: frogworth on 2020-01-01 23:17:45
@khashayar There exists a clone of my original foo_wave_seekbar for the Deadbeef music player: https://github.com/cboxdoerfer/ddb_waveform_seekbar

Mmm stereo waveforms...
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2020-01-01 23:51:49
Unless someone has broken something recently, foobar2000 tends to run well enough under Wine as well.
Title: Re: Waveform Minibar (mod)
Post by: kode54 on 2020-01-02 00:14:51
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.
Title: Re: Waveform Minibar (mod)
Post by: Nojevah on 2020-01-03 23:08:53
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.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2020-01-04 00:27:12
You can rescan a file from the right click context menu. Utilities -> Regenerate minibar waveform.
Title: Re: Waveform Minibar (mod)
Post by: Nojevah on 2020-01-04 13:17:51
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.
Title: Re: Waveform Minibar (mod)
Post by: krznv on 2020-01-22 09:07:31
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.
Title: Re: Waveform Minibar (mod)
Post by: krznv on 2020-01-23 13:24:10
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.
Title: Re: Waveform Minibar (mod)
Post by: ct on 2020-01-29 15:11:29
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?
Title: Re: Waveform Minibar (mod)
Post by: Case on 2020-01-29 17:07:18
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%.
Title: Re: Waveform Minibar (mod)
Post by: ct on 2020-01-29 17:21:44
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.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2020-01-29 17:40:17
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.
Title: Re: Waveform Minibar (mod)
Post by: janne on 2020-02-08 16:40:28
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.
Title: Re: Waveform Minibar (mod)
Post by: wcs13 on 2020-02-08 19:28:36
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 ?

Title: Re: Waveform Minibar (mod)
Post by: Case on 2020-02-09 12:34:37
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.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2020-02-09 12:51:07
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.
Title: Re: Waveform Minibar (mod)
Post by: wcs13 on 2020-02-09 14:26:47
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 !
Title: Re: Waveform Minibar (mod)
Post by: Wolfbane on 2020-03-11 22:16:39
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.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2020-03-14 19:31:15
*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 (http://www.foobar2000.org/components/view/foo_wave_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.
Title: Re: Waveform Minibar (mod)
Post by: Wolfbane on 2020-03-19 05:57:39
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 (http://www.foobar2000.org/components/view/foo_wave_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.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2020-03-19 07:47:29
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 (http://www.foobar2000.org/components/view/foo_wave_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.
Title: Re: Waveform Minibar (mod)
Post by: Wolfbane on 2020-03-19 11:45:56
Hmm... I do not see any numbers like you do.

Did record and upload.
https://www.youtube.com/watch?v=-DFofBSE2EQ
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2020-03-19 15:36:09
@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.
Title: Re: Waveform Minibar (mod)
Post by: Zao on 2020-03-19 15:39:49
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.
Title: Re: Waveform Minibar (mod)
Post by: Case on 2020-03-19 17:25:12
@Wolfbane, you seem to have somehow disabled all tooltips. You should have seen tooltips in the foobar2000 UI when hovering over the buttons too.
Title: Re: Waveform Minibar (mod)
Post by: Just_Addict on 2020-03-21 04:11:53
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