Skip to main content

Notice

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

foo_wave_seekbar

Reply #1750
It's impossible to tell what he really wants.
There's shader semantics for min/max extents of the waveform if you want to rescale the waveform to fit, much like the replaygain semantics.
Stay sane, exile.

foo_wave_seekbar

Reply #1751
It's impossible to tell what he really wants.


What I asked for was 2 things

*1* ===> If it was possible to increase/decrease the visual Seekbar waves to be more "balanced"

If you dont know what I mean with "Balanced" take a peek at the image I posted in the thread you dint understand what I wanted.

*2* ===> If it was possible to *"increase/decrease" the volume of a song to be more "normal"
So without touching volume meter on my foobar, stereo or in windows,

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Now to try and clearify what I mean with that, and what I do NOT mean with that.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

What I mean when I write "Balanced"


And as I wrote before, when I mean *"Increas/decrase", what Im refeing to is NOT something that changes/moves the volume meter in Foobar.
And as I wrote before, when I mean *"Increas/decrase", what Im refeing to is NOT something that changes/moves the volume meter on my computer/PC/Windows.
And as I wrote before, when I mean *"Increas/decrase", what Im refeing to is NOT something that changes/moves the volume meter on my stereo.

And lets say my defenition of "normal" is -30dB (decibel) in my headphones / speakers.
So when and songs come on I want the volume to be -30dB for my ears.
So if it would be possible to have the program determine if the songs need to be decrease/increasde to get to "normal" volume. (-30dB)
And for the love of god, PLEASE dont give me a reply "We cant determine what your settings are on Foobar, PC, Steroe" to determine how we achive -30dB for your ears."
-30dB was an example, but if you have 500 songs and take an average volume in a way. And that way when a song is above or below that average then the program will see that this song needs to be increase/decreasde to "normal"
And no I did not ask for a feature that goes thrue all my songs and determines "Average". I ment that people with better audio knowledge about how it should sound and have them settings done.
So the program will determine if a song is realy low, the program realizes that this songs "Volume" is not correct we need to decrease/increase it to sound more average/"normal".



And as I wrote in the other thread, Im not an audiophile so Im not sure if it is poissible, or if my assumption how things work is not correct.
But what I assumed was that the waves in the seekbar, how high/low the waves are where related to the volume of the song at that specfici hight of the wave at that time.
Reason why I would assume so is because in songs that are really low, the waves are really tiny, and in a boosted song the waves are really high.



I think what Wolfbane tried to ask was a way to automatically scale the waveform to fill the entirety of the available space without (or with minimal) clipping, when applicable.



So for songs like the top two, all is good. Some of them however produces waveforms as the bottom three (all of them has RG tags). Those could be scaled vertically to use all space available.

I'm obviously not using the default frontend and don't remember whether it produces similar results, so I could be totally wrong and might have misunderstood Wolfbane as well. It's just something that bothered me personally but never enough to actually address the 'issue'.


(The frontend I'm using, probably taken from somewhere in this topic:)


So yes your enterpitation of what I was asking for was 1 of the 3 things I asked for"Visual", but since I tought the waves are realated to the Volume/dB I hear in with my ears then why not combine both the things into one forum post.

And an example I gave was this image, increase so x% of the waves are inside the red area.


The 3rd thing that you did solve, in a way was the fader.
The top one is how it looks by default, the image below that is how I would prefer it to look.



Only problem It was solved I copy pasted the code you wrote into my Seekbar. Sure it changed it to be more darker/feaded, but it also did alot of other changes.
After I applied your code it looks like this

So sure the fader is alot darker/intens, and that is what I was looking for, but as you prob can see its alomt more pixelated and not as smooth in the edges, and its also not "Centered".
And I prefered to have it in the middle instead as it seems to be now, where its more like 75% top and 25% bottom.

So what I also would want is to know where in the code I can change to make it more faded, without coping the entire code you have, since that did other changes I did not prefer.

foo_wave_seekbar

Reply #1752
Sounds like you want ReplayGain. The foo_wave_seekbar plugin only displays stuff, it doesn't change your audio.

foo_wave_seekbar

Reply #1753
Hi guys.
There's something off with the plugin.
With columnsUI, if you have two Views and you switch between them, Seekbar Waveform breaks.

So, yeah.
Just pointing it out.
Later.

foo_wave_seekbar

Reply #1754
Yay, Columns UI.

The gift that keeps on giving.
Stay sane, exile.

foo_wave_seekbar

Reply #1755
With columnsUI, if you have two Views and you switch between them, Seekbar Waveform breaks.

It helps a lot if you would mention what happens, under what operations, what frontend is in use, whatever other components you have, and so on.

All I've got in front of me is a working stock CUI and no idea what to look for.
Stay sane, exile.

foo_wave_seekbar

Reply #1756
With columnsUI, if you have two Views and you switch between them, Seekbar Waveform breaks.

It helps a lot if you would mention what happens, under what operations, what frontend is in use, whatever other components you have, and so on.

All I've got in front of me is a working stock CUI and no idea what to look for.


So you have ColumnsUI. You make a layout and add Waveform Seekbar somewhere. Now, in that UI, create a button that will switch to another layout that you also made, without the waveform seekbar.
SO!
Play a song from the original layout with the WSB. Use the button to switch the layout. Once switched, get back to the original layout. The Waveform Seekbar should be empty. Restarting or changing song fixes it.
Can also be tested with tabs that switches layout as long as the Waveform Seekbar is present in one but not the other. I think that it also works if they are in both as long as the whole thing changes (but I didn't test it).

Yes, be sure that the who layout changes, not part of it.

There you go, I explained.

foo_wave_seekbar

Reply #1757
Thanks for the elaborate report. I was looking for more spectacular failures in a tabbed setting.

The underlying problem is that when a waveform UI element is created, it will not have any content until next track change. Under normal DUI operations and tabbed CUI operations, this is not a problem as creation only happens when you manually insert the element, or prior to first playback on startup.

With multiple layouts in CUI, all elements in the layout appear to be torn down and constructed from configuration, which means that the blank-until-playing problem manifests much more visibly.
Stay sane, exile.

foo_wave_seekbar

Reply #1758
^ So, it's a problem caused on how foobar2000 with columnsUI work?

foo_wave_seekbar

Reply #1759
The core problem is that my component doesn't immediately show content when it's created, instead waiting for a playback state event.
Outside of changing layouts in CUI, it only really occurs when you add the UI element to a layout, which means it was way down on the priority list.
Stay sane, exile.

foo_wave_seekbar

Reply #1760
i've recently sold my decent pc and have been relegated to using an ancient piece of shit running windows XP SP3. i think i have all the dependencies installed because it displays previously scanned waveforms just fine.

my problem is that it won't scan/display waveforms for tracks that are new to my library. nothing is reported in the console but i do get a progress display so i can at least seek like normal.


edit: oh woops. this is entirely my fault. i just installed the c++ runtimes from the first post and scanning new tracks now works. i thought because the component displayed old waveforms and didn't throw any errors that i had the necessary stuff installed. apologies to anyone who wasted their time reading this.


foo_wave_seekbar

Reply #1761
...it displays previously scanned waveforms just fine.

my problem is that it won't scan/display waveforms for tracks that are new to my library. nothing is reported in the console but i do get a progress display so i can at least seek like normal.

i'm stuck using GDI mode because of the crappy onboard SIS graphics. this previously scanned track displays fine...

i do have the component set to only scan tracks in my library but this album is definitely included in my watched folder. any ideas??

I don't know if it's relevant but when I explicitly scan a large number of files with the wave seekbar sometimes the scan stalls out.  If I close foobar2000 and reopen it the scan continues.  I've just lived with this rather than trying to get a reproducible test case for Zao, sorry.
[Edit: I see you changed your post - well this post might still be useful to someone.]

foo_wave_seekbar

Reply #1762
marc2003: It's nice to see that you solved your problem, and my condolences for having to run Windows XP. I guess that it was worth painfully keeping XP support in the component for all these years.

tedsmith: I could see two possible causes here:
  • The thread pool dispatcher I use (Asio, unrelated to ASIO) has some corner case glitches on some platforms where it just breaks. You may have encountered one of them. In a perfect world I'd replace it with some hand-rolled work dispatcher.
  • Some input component misbehaves in a multithreaded world or just generally breaks.
Stay sane, exile.

foo_wave_seekbar

Reply #1763
it's me again and i think i've stumbled across a genuine problem albeit a small one....

i recently purged a load of stuff i don't listen to from my collection and used remove dead waveforms from the library menu. as there was no kind of status report, i put on my super nerd hat and opened the database file in a program called sqlitestudio just to check the total number of records matched what i had in my collection. i noticed a discrepancy so after a bit of investigation, i found that after i had changed a folder name to use uppercase letters, the component had scanned the files again. but windows itself is not case sensitive so i don't think this should happen.

here's a screenshot to illustrate it. note the folder name You/YOU.



i think each there should only be one entry for each track.

foo_wave_seekbar

Reply #1764
That's a tricky thing, as there's case-sensitive filesystems even in the Windows world.
I could attempt some sort of normalization and go break all the turks and russians, but I have no idea how much work I'd need to do it right.
Stay sane, exile.

foo_wave_seekbar

Reply #1765
ah, i didn't realise it would be that much hassle. i didn't know case sensitivity was down to the file system - i thought it was the OS. i've now resolved my issue so it doesn't really matter - i just thought i'd report it.

foo_wave_seekbar

Reply #1766
tedsmith: I could see two possible causes here:
  • The thread pool dispatcher I use (Asio, unrelated to ASIO) has some corner case glitches on some platforms where it just breaks. You may have encountered one of them. In a perfect world I'd replace it with some hand-rolled work dispatcher.
  • Some input component misbehaves in a multithreaded world or just generally breaks.

Thanks.  I probably run into it because I have a lot of SACD isos and they use multiple threads just to read the DST compressed info.  If I'm not doing anything else things seem to scan more reliably, if I also run, say, the replay gain scanner that's when the chances seem higher that the wave seekbar scanner will stop.  Like I said it's not a big deal to me.  I really like the wave seekbar, thanks.

foo_wave_seekbar

Reply #1767
Minor bug:

-> playback a track
-> monitor goes into standby mode during playback
-> track playback finishes (stopped) and monitor still in standby
-> bring monitor out of standby mode

Result: Waveform seekbar showing cursor at the position where monitor went into standby

Expected: No playback cursor shown + "Shade played" section cleared


Win8.1, foobar2000 1.3.3, Waveform Seekbar 0.2.45 (Direct3D)

foo_wave_seekbar

Reply #1768
Hi,

I've just installed the waveform seekbar, and I like it only it's too thin, and I don't know how to resize it...



Sorry if this has been answered already somewhere. I had a read through the thread where people discussed this component, and saw images of people's configurations, in many of which it was nice and thick, but nobody mentioned how to achieve that.

I'm using the GDI mode of the plugin, which has greyed out the "frontend settings" of the configuration - the Direct3D ones don't work for me (Win7 64).

Thanks for any counsel.

foo_wave_seekbar

Reply #1769
it looks like you're using columns UI and have enabled just the toolbar. what you should do is actually remove that toolbar and add a panel. you can do this via file>preferences>display>columns UI>layout tab. on that page, you'll probably want to the base splitter to be vertical. then you can right click it>insert panel>panel>waveform seekbar.



you can then right click the panels themselves if you want to move them up/down.


foo_wave_seekbar

Reply #1770
Very nice of you to reply, that did the trick.

Thanks for the help, and quickness. 

foo_wave_seekbar

Reply #1771
hi, as far you not reply to email some year ago, will ask you on forum to add a feature: start play on double click.
thanks

foo_wave_seekbar

Reply #1772
Would there be a reason why Waveform seekbar take 3 seconds to load/create a waveform? On a SSD, it takes a split second and on my 4TB HDD (2.1TB left) (where all my music library is), it takes like 3-4 seconds. However, the song still loads and plays immediately, no lag. I did a READ benchmark of that hard drive in HD Tune Pro 5.5. Results:

Minimum : 22.6 MB/s (spike)
Maximum : 169.3 MB/s
Average : 132.4 MB/s

Access time: 16.9 ms
Burst rate: 227.9 MB/s

Read at around 2.1TB is ~145MB/s.

The only thing beside foobar2000 using the hard drive is BackBlaze Control Panel backup software. Even then, upload rate is ~2.3Mbit all time.

Heck, until a week ago, it didn't do that. Unless it's related to those two things, I don't know what it might be:
1. I installed foo_run and ran metaflac to remove extra padding on a lot of files.
2. I created an image of a dying HDD using Macrium Reflect. That image is 500 GB big.

Heck, even on my old 1TB WD Green drive, almost being full, it was instant.

Note that foobar is installed on my SSD and the Roaming folder is also on the SSD, at the default location.

What do you think, Zao?

EDIT

They are FLAC files for the most part.


foo_wave_seekbar

Reply #1774
Would there be a reason why Waveform seekbar take 3 seconds to load/create a waveform?


Yes, decoding and generating the waveform is CPU limited and therefore can take quite a few seconds depending on the length of the track, the decoder and your cpu speed. This task is done for the first time you play a file, on second play the waveform is loaeded from the waveform cache which is much more faster (nearly instant).