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

foo_wave_seekbar

Reply #725
Thanks for great component.

As a ColumnsUI user i would like to use your component in toolbar (as simple seekbar replacement).

I think only minor changes are needed for CUI-panel:

type_panel -> type_toolbar

in this case normal panel is still available (type_toolbar = toolbar + panel)


foo_wave_seekbar

Reply #726
A killer component!
Actually I'm pretty new to foobar2000 in the first place, and having played around with it for a night, I thought how good it would be if I had a waveform seekbar much like the waveform view in most sound editors.
Guess the surprise I ran into when I found this component.
It works fine under my Win7 x64.
I have a minor question though.

Why I don't see the DirectX 9.0c option under the available frontends? Only GDI and Direct2D 1.0.
I use Win7 x64 Enterprise SP1 and all recent WUpdates (last updated maybe 2 months ago). I haven't installed any DX redistributables and such. Could it be the reason?

foo_wave_seekbar

Reply #727
win7 doesn't have dx9 by default. you have to install it separately.

foo_wave_seekbar

Reply #728
Why I don't see the DirectX 9.0c option under the available frontends? Only GDI and Direct2D 1.0.
I use Win7 x64 Enterprise SP1 and all recent WUpdates (last updated maybe 2 months ago). I haven't installed any DX redistributables and such. Could it be the reason?

Yes, you need the right DX redistributable. The console in your foobar probably mentions this in a nicely phrased message.
There's no DX runtimes deployed via Windows Update, the software vendor (game, application) are supposed to bundle them with their installer. As foobar components are installer-less, I do not bundle the runtime, instead instructing people to download them themselves.

win7 doesn't have dx9 by default. you have to install it separately.

That's not quite accurate. Windows 7 ships with core runtimes for at least D3D9 up to D3D11.
What it doesn't have out of the box are the release-specific libraries provided in the redistributables. The core of a Direct3D version has always been mostly the same, what differs between the SDK and runtime releases are the auxillary libraries like D3DX and XAudio.
Stay sane, exile.

foo_wave_seekbar

Reply #729
Thanks for the clarifications. I don't mind using GDI, it works fine and as expected.
And as no software currently (1/2 year since I'm with Win7) alerted me about DX9, I don't plan installing it. I do not play games on this OS.

A small feature request:
An option to limit the wave database cache (the cache .db file indirectly) would be nice so we have some control over it's growth in size. Maybe a maximum number of cached waveforms (50-100-200 as default? ) especially for people who often need to preview large collections. And using a FIFO principle for the cache maybe.

foo_wave_seekbar

Reply #730
[a href="http://www.acc.umu.se/~zao/seekbar45.png" target="_blank"]
D2D looks horrible squished down that small though, probably could use a line width relative the window size or some downsampling.
Stay sane, exile.


foo_wave_seekbar

Reply #732
It's as full-featured as the panel-kind seekbar, so you can downmix it into mono, change the look, and all that perfectly fine.
Well, except for the crashes I seem to suffer whenever I add/remove it from the toolbar, that is.

Edit: I might add, that you should not expect a release any time soon, I'm, as usual, horribly busy.
Stay sane, exile.

foo_wave_seekbar

Reply #733
I don't get where I am supposed to copy the 2 DX dlls, for some reason ver 0.2.13.1 doesn't need them in the component folder but version 0.2.13 does


Is anyone else experiencing lag in the waveform seekbar when playing short tracks (like 0:50 minute long tracks) using D3D 9.0c render?

foo_wave_seekbar

Reply #734
i have no idea what you're on about so i'll just post the relevant part of the OP that you didn't read.

The Direct3D 9.0c mode requires the DirectX end-user runtime dated earliest February 2010, which can be installed through use of the DirectX end-user Runtime Web Installer (make sure to not accidentally install the Bing Bar they try to force on you).
Note that the DirectX redistributable is required on all OSes no matter whether you think you "have DirectX installed already, lol" or not.

foo_wave_seekbar

Reply #735
I don't get where I am supposed to copy the 2 DX dlls, for some reason ver 0.2.13.1 doesn't need them in the component folder but version 0.2.13 does


Is anyone else experiencing lag in the waveform seekbar when playing short tracks (like 0:50 minute long tracks) using D3D 9.0c render?

You're not ever supposed to copy the runtime DLLs yourself anywhere. You should run the installer and install them system-wide, assuming that you have rights to do so.

If you do not have the rights to do so, the main foobar2000 directory might be a decent bet, as there's some search path shenanigans going on when loading components. The difference you see is probably due to moving out the frontends into separate DLLs instead of having them in the main component.

As for "lag", you've got to elaborate further on that.
Stay sane, exile.

foo_wave_seekbar

Reply #736
Oh, I had already installed the DX redistributables, but the dlls inside the rar mislead me, haha, sorry for that.

About the "lag", I mean the progress bar, it goes kinda skippy. Like if you were playing a video game and had low FPS, you know what I'm saying?

foo_wave_seekbar

Reply #737
You shouldn't ever need to open the archive yourself. Just drag it onto the components box of foobar2000 and it will install properly.

As for stuttery updates, the GDI and D2D modes have lower update rates than the D3D mode. There's a tuning parameter in Advanced in Preferences where you can bump it up if you feel like burning some more power.
Stay sane, exile.

foo_wave_seekbar

Reply #738
In GDI mode there is no stuttery behavior of the wave seekbar, even for tracks below 0:40 in length.

"There's a tuning parameter in Advanced in Preferences where you can bump it up "
- Where is this, I don't seem to find it there.
Although I wonder why prefer Direct* than GDI anyway, this seekbar is not graphics intensive in the first place and in GDI mode I don't seem to see any jumps above 0-1% CPU usage for foobar2000.

 

foo_wave_seekbar

Reply #739
As for stuttery updates, the GDI and D2D modes have lower update rates than the D3D mode.

For me, GDI works kinda like D3D, but D2D works the smoothest

Quote
There's a tuning parameter in Advanced in Preferences where you can bump it up if you feel like burning some more power.

I saw that but I don't really understand what they are for. I changed them a few times and saw no difference :/

- Where is this, I don't seem to find it there.

Foobar > advanced settings > tools > Waveform seekbar

foo_wave_seekbar

Reply #740
...
Foobar > advanced settings > tools > Waveform seekbar

I've already been there, thats why I asked. The only performance parameter there is the number of concurrent threads (defaults to 3). By the way using the available processor cores is a good idea to speed up the waveform generation by fast decoding of the track - usually just a second for noncached tracks here.

foo_wave_seekbar

Reply #741
I could've sworn that that was in a released build, I probably misremembered. Anyway, what kind of GPU (or lack of GPU) do you have there, and do you have proper drivers installed?

As for the core count, performance tests show that for more than three cores, you're pretty much completely disk-bound. The setting is there if the default of min(core_count,limit) is not suitable for you.
Stay sane, exile.

foo_wave_seekbar

Reply #742
I have an onboard card (geforce 6150), latest drivers and I'm on a dualcore cpu (athlon X2), but I can play some games with higher detail than the wavebar. That's why I didn't think my GPU could be the culprit.

foo_wave_seekbar

Reply #743
hi, Zao!
is the seekbar compatible with fb2k 1.1.7?
i have many versions of vcredist installed and it still doesn`t works (Win7 x64)
do i need older version of player?
great job anyway, thank you :)


foo_wave_seekbar

Reply #745
i have many versions of vcredist installed and it still doesn`t works (Win7 x64)

Perhaps you missed these instructions:
The Direct3D 9.0c mode requires the DirectX end-user runtime dated earliest February 2010, which can be installed through use of the DirectX end-user Runtime Web Installer (make sure to not accidentally install the Bing Bar they try to force on you).
Note that the DirectX redistributable is required on all OSes no matter whether you think you "have DirectX installed already, lol" or not.
Versions over 0.2.12 require the Visual Studio 2010 SP1 (x86) runtime.


foo_wave_seekbar

Reply #746
oh, hell yeah!
all of vcredist was x64 version, that`s the problem, thank you

foo_wave_seekbar

Reply #747
To clarify for future consumption, the bitness of the vcredist is referring to the bitness of the applications you want to run, not the OS bitness you're on.
Stay sane, exile.

foo_wave_seekbar

Reply #748
Zao. I found a memory leak in your component. Unfortunately I'll have to remove it from my foobar.
I reproduced it on several installations, with 1.1.6 and 1.1.7.
With every played song your component seems to leak about 50-100KB or something like that.
I just noticed this yesterday, when after 3 days of uptime my foobar2000 totalled 120+MB of RAM. I spent much time troubleshooting this until I found a pattern, and after tried removing the next suspect (the seekbar), it was finally and instantly Ok.
I start foobar and play with Prev/Next few tens/hundreds of times and it easily eats 30-40MB more after just few minutes of doing this. If I continued, it eventually ate more than 100MB in a matter of 10 minutes. After deleting the component, everything is Ok even after 20 minutes playing around with Nex/Prev song controls.
This on 3 different OSes and foobars. I want a stable player accross months of uptime, so I'll wait for a fixed version of waveform seekbar since it is so great.

Thanks.

foo_wave_seekbar

Reply #749
Which version is this, 0.2.12? There's a interim release (0.2.13.1) with discussion about the leak a page or so ago which fixes this, but is generally unpolished.
Stay sane, exile.