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 807521 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_wave_seekbar

Reply #400
There you're out of luck. The GDI mode is mostly only intended to be a last fallback for machines that for some reason doesn't have D3D or D2D capabilities.
Stay sane, exile.

foo_wave_seekbar

Reply #401
Ok, thanks. No big problem.

foo_wave_seekbar

Reply #402
Awesome plugin!

I am missing something, tho:

Would it be possible to cancel analysis of a track on manual track advance?

Example:

Let's say i have this playlist:
Track1
Track2
Track3
Track4
Track5

I start playing Track1, then i press "next" 4 times, so i listen to Track5. What happens now is that Tracks 1 to 4 are being analyzed first and i have to wait a long time for the waveform of Track5 to appear.
This also puts heavy load on CPU and HDD when i'm only randomly skipping throught tracks (for example when looking for a specific track).

My request could probably be summarized as:
  • Don't queue analysis jobs / only analyze playing track (and maybe next one) / cancel unfinished track analysis on manual track advance

foo_wave_seekbar

Reply #403
Another suggestion: What about a "Normalize waveform display" option to get quiet tracks displayed in full height too? Would help the visibility quite a lot I think ...


Any opinions about this? Of course it should be optional only. Basically all my music is using Bobn Katz K-20 level reference (means -20dBFS RMS). Now with heavy compressed music you have plenty of empty room above and below the waveform ...



More suggestions:

1. Would be nice if there would be 2 or 3 pixels empty space above and below the waveform. So that a 0dB peaking sound doesn't look like shashed to the window edges ...

2. Optional solid 1 pixel center line(s) to mark the center of waveform(s). Should be drawn behind the waveform(s) of course.

foo_wave_seekbar

Reply #404
I didn't say anything as it has been suggested in the past.
It should probably be reasonably easy to do nowadays, but don't expect it anytime soon.
Stay sane, exile.

foo_wave_seekbar

Reply #405
Alright, thanks!

foo_wave_seekbar

Reply #406
Not really a major thing but is there any chance of acquiring the waveforms in a multi-threaded operation? It takes ages for my entire playlist so if I ever had to re-scan them (like when the multi-channel waveforms feature was added), it'd be nice if it used all 8 of my CPU cores rather than just one.

foo_wave_seekbar

Reply #407
If anybody was wondering about my problem before, I seem to somehow have done things to my computer that make it so that I don't get the spikes in CPU usage I mentioned before.

At first, I was getting CPU spikes using the Direct3D path, but did not get periods of high CPU usage using GDI. Using Direct3D, it was not foobar's threads that were eating up CPU, but it was actually Vista's dwm.exe's thread starting at milcore.dll (start address: milcore.dll!VirtualChannelGetInstance+x1420c) that would eat up all the CPU. However, dwm.exe would only cause CPU usage to spike if I had foobar2k open with the waveform seekbar component enabled. I don't really know about these things, but that's what I've observed.




After that, I switched my DAC from USB to optical (SPDIF) (for reasons unrelated to my foo_wave_seekbar issues), but I doubt this made the difference, although I did notice that foobar2k seemed to use more CPU when outputting via SPDIF than it did when it output to USB (I'm assuming this is because my optical/SPDIF out is on-board so is at least partially controlled by my CPU, and I guess more resources were needed to control SPDIF than were needed to control USB or something, I dunno).

Also, I updated foo_wave_seekbar to 0.2.5.

Then, after that, I installed Vista SP2 and the platform update for Vista SP2 (so before that, I didn't have support for D2D I guess). Along with foobar2k not using as much CPU as it did before after I switched to optical output, the spiking in CPU usage related to dwm.exe and using the Direct3D frontend seems to have stopped.

So, basically I don't really know what happened, whether it was coincidence or whether something in Vista's SP2/SP2 platform update fixed it, but I guess things are fixed.


Edit: Oh, and I should note that nothing was happening in foobar2k's console during the CPU usage spikes (so I wasn't having that problem the other user mentioned where foobar2k was picking up from where it left off scanning waveforms).

foo_wave_seekbar

Reply #408
DragonQ: There are up to three background threads for analyzing tracks. This cap was determined by empirical studies showing that more than three just swamped the disk with I/O, actually reducing throughput. I'm considering adding an advanced preference to raise this cap, but beware that it may very well backfire on you if you raise it.

mauzel: SP2 or the Platform Update may very well have provided a more efficient code path for the DWM or Direct3D9, so it sounds like a reasonable theory. By the way, the long symbols exported by the seekbar are essentially meaningless, they're an artifact from one of the libraries I use.
Stay sane, exile.

foo_wave_seekbar

Reply #409
Hmm I'm pretty sure it never goes above 13% (one core) for me.

foo_wave_seekbar

Reply #410
For me it does (on a Dual Core). You also should test this without other applications running. The threads seem to have very low priority (which I like).

foo_wave_seekbar

Reply #411
How many cores does this tell you you have?
Stay sane, exile.

foo_wave_seekbar

Reply #412
8, as expected. Maybe it does occasionally use 2 or 3 cores, I didn't check it for more than like 10 seconds. If the threads are indeed low priority then it's possible only one core is used sometimes cos I do a lot of multitasking (no point having 8 cores otherwise ).

 

foo_wave_seekbar

Reply #413
The only reason the three cores would not all be churning away at 100% each is because of non-processing overhead, like I/O, lock contention, etc.
As for idle priority, if nothing else wants to run, they will be running at full speed. Priority is just a scheduler hint.
Also, unless you have some magical multi-chip machine, you have four cores. Hyperthreading has always been and will always be, crap.
Stay sane, exile.

foo_wave_seekbar

Reply #414
Zao, it says 4, I got a Quad Core Q6600, so it's correct.

foobar2000 can utilize up to 80% of the CPU sometimes when first analyzing the waveforms.
Usually it's around 50%, seems to work very well.
Windows 10 Pro x64 // foobar2000 1.3.10


foo_wave_seekbar

Reply #416
The only reason the three cores would not all be churning away at 100% each is because of non-processing overhead, like I/O, lock contention, etc.
As for idle priority, if nothing else wants to run, they will be running at full speed. Priority is just a scheduler hint.
Also, unless you have some magical multi-chip machine, you have four cores. Hyperthreading has always been and will always be, crap.


Actually HyperThreading is a logical way to make much more efficient use of a CPU core. Not gonna derail your thread with an argument about it. I watched the CPU % indicator for longer this time and it does look like most of the time it uses 2 cores so that's better than nothing I suppose.

foo_wave_seekbar

Reply #417
I'm getting some anomalous display with the latest version.

Image.

It looks like the top half only shows the top half of the left channel, and the bottom half nly shows the bottom half of the right channel.

Different subject: I feel the preferences should move to the main prefs, to fortify consistency. I'm not sure how exactly, or where they should go, because all other layout elements seem to have their unique configs in a context menu. Even a big one like Facets is almost entirely set-up via context menu. I also don't spy a logical place in the preferences tree.

Nonetheless, It's a typical pref-page-like window with lots of options, and I keep going to prefs when I want to configre it, and then remember I have to select the 1-item context menu from the element itself.

foo_wave_seekbar

Reply #418
As for your odd display, are you running 0.2.5?

A preferences page will not happen unless it is truly component-global, and thus far I've put those options in advanced preferences.
Making a central page would unnecessarily detach the configuration from the element it is for, and you would not have an easy way to indicate which one of the elements was affected by the proposed preferences page.
This will not happen unless Peter goes insane and adds a central preferences API, which I don't see ever happening.
Stay sane, exile.

foo_wave_seekbar

Reply #419
> As for your odd display, are you running 0.2.5?

Yes.

foo_wave_seekbar

Reply #420
Alright. Could you list your OS, UI component, graphics card model, etc?
Stay sane, exile.

foo_wave_seekbar

Reply #421
Well, I wasn't sure if I should report this, um, bug, but I guess it couldn't hurt.
Anyway, with the Waveform Seekbar in my foobar layout, for some odd reason, the Windows Sidebar cannot keep window focus. (Eg: Context menus on gadgets and the Sidebar close as if I clicked away, Gadget Gallery window loses focus even though the mouse cursor never left it's window, etc) But, if I just remove the Waveform Seekbar from my layout, there's no problems with the Windows Sidebar losing focus. I've tried switching between Direct3D, Direct2D and GDI frontends to no effect. Even having foobar minimized with Waveform Seekbar in my layout still causes focus loss with the Sidebar. Oh, and a waveform has to have been displayed at least once, just starting up foobar won't cause it to happen, you have to hit play first.

Like I said, wasn't quite sure if I should report this, but it's the first time I've seen anything weird like this happen. I've tried other D3D and D2D apps to see if they do the same thing to the Sidebar, but nothing so far. If it's just one of those weird random one in a million things, then I'll just deal with it for now. Didn't think it'd hurt to report it...

Anyway, just in case it might help:
OS: Windows Server 2008 Standard
Graphics card: Radeon X1600 XT
UI: Columns UI 0.3.8.3
"It's the panties fault! The panties made me a pervert!"

foo_wave_seekbar

Reply #422
Haven't been able to find it here in the thread, but is there a way to "sharpen" the waveform a bit? So it isn't faded/blurred.

Thanks for the add-on, though! It works really nicely.

foo_wave_seekbar

Reply #423
CyberFoxx: Sidebar here on Seven works as intended with both CUI and DUI.
I'm going to randomly blame you running a server SKU on a desktop; you having an ATI card; and you're using CUI. 

tropicalfish: As for "sharpening" it, twiddle the assorted constants in the shader file if you use Direct3D; most particularly the "factor" variable, or write your own 
Stay sane, exile.

foo_wave_seekbar

Reply #424
Well, looks like it was ATI's fault. On a lark, I went to see if ATI/AMD decided to update their legacy drivers, they did. Installed the new drivers, and everything is playing together nicely. How and what was happening with the old drivers, who knows. I'm just glad it's working now.

(As to why I'm running 2K8, it was free from MS. Didn't think I could go wrong with free...)
"It's the panties fault! The panties made me a pervert!"