IPB

Welcome Guest ( Log In | Register )

foo_wave_seekbar, pretty accelerated seekbar
Zao
post Jan 3 2010, 20:20
Post #1





Group: Members (Donating)
Posts: 902
Joined: 25-September 03
From: Umeň, Sweden
Member No.: 9001



Changelog:
Component release changelog

Description:
After a couple of months of painful testing by my trusty team of madmen, it's time to make the first proper public release of my waveform seekbar.
It's an UI element for both the Default UI and Columns UI that provides seekbar functionality (seeking, position indicator) on top of a pretty image of the waveform of the currently playing song, drawn using either Direct3D 9.0c, Direct2D 1.0 or GDI+.
The Direct3D 9.0c mode requires a PS2.0 capable card, and has some support for strange cards like the Intel 945. The HLSL effect (in the effects directory) can be modified using any text editor to further customize the look.
To avoid having to scan tracks on the fly, the component can extract the waveform signature of a song in advance through a context menu item. The process works in the background and resumes after closing foobar2000. It will automatically analyse the currently playing song and songs that follow it in the playback order, which should give an appearance of always having the visuals available.
The seekbar has three frontends and some per-instance customizable settings accessible through the UI element context menu, as well as seeking functionality if you click and drag, like the regular seekbar.
If your machine is not capable of running the Direct3D9 or Direct2D modes, the GDI+ mode should work as a fallback on any machine that foobar2000 can run on, as it only requires Windows XP and GDI+.

Links:
foo_wave_seekbar component page
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.
The Direct2D 1.0 mode requires either Windows Vista SP2 or Windows 7 and up. For Vista SP2 it requires installation of the Platform Update.
Versions over 0.2.12 require the Visual Studio 2010 SP1 (x86) runtime.
Versions starting from 0.2.35 through 0.2.38 require the Visual Studio 2012 Update 1 (x86) runtime installed. If you're the kind of person who for some reason cannot run the installer, as a fallback solution you can put in the msvcr110.dll and msvcp110.dll from this download location manually in your PATH or in the foobar2000 application directory. Note that if you put them in the foo_wave_seekbar directory, they will be removed whenever the component is updated.

Installation:
- Download the above zip file.
- Install the dependencies needed as per the Links section above.
- Drag the zip file onto the foobar2000 components pane in the preferences or navigate to it with the Install button as with any other component.

Usage:
- Highlight one or more files in your playlist. Rightclick on them and select "Extract Seekbar Signature"
- Add UI element to the Default UI or Columns UI as normal
- The backing storage does not know or care about file operations like moving, renaming and such. In order to remove dead items from the storage or compact the storage, there are menu items for that under the Library main menu.

Future changes:
- Lots.

This post has been edited by Zao: Jun 10 2013, 10:29


--------------------
Zao shang yong zao nong zao rang zao ren zao.
To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.
Go to the top of the page
+Quote Post
 
Start new topic
Replies
Zao
post Jan 4 2010, 13:46
Post #2





Group: Members (Donating)
Posts: 902
Joined: 25-September 03
From: Umeň, Sweden
Member No.: 9001



QUOTE (skelly831 @ Jan 3 2010, 22:14) *
I just want to ask for a tooltip that shows the bars' time when I drag it, like the standard seekbar

Planned eventually.

QUOTE (ojdo @ Jan 4 2010, 11:01) *
Bugs:
  • The panel is not correctly redrawn when switching (CUI) layouts: the waveform disappears and the whole panel is filled with the highlight colour. Correct appearance is restored when starting playback on a new song. Addition: The behaviour is equivalent to the second bug. The panel only visualises the song's first second.
  • When adding a second panel instance to the same or another layout, both panels stop working properly. No waveform is visible and the panel seems only to visualise the first second of the song, so the selection bar quickly "runs" through the panel and vanishes.

Feature request:
  • Allow mouse wheel to seek (just like the default seekbar does).

Those aren't bugs, those are features:
  • CUI probably does horrible things to my window when mangling layouts.
  • This and the first is likely due to failing to re-acquire the proper track length, defaulting to 0, showing an infinitesimal slice of the track. cool.gif

Things I didn't know existed:
  • Heh, didn't know that you could use the wheel for that. Will probably implement some day.


QUOTE (NullString @ Jan 4 2010, 11:26) *
storing the data in the file tags would be awesome, besides it would take advantage of the compression of the fb2k database

The foobar2000 database has compression? I do not believe so. I do need to look into whether it's feasible to compress this data.

QUOTE (fuflo @ Jan 4 2010, 12:08) *
thanks for this great component. and well, since everybody's asking questions, i'll ask this - where are the settings saved? i don't see a separate config file in config dir. also checked registry - nothing's there. the settings are kept after deleting wavecache.db, so it's not there. also removing the component and then restoring it ( removing foo_wave_seekbar.dll ) doesn't remove the settings. where are they?

The only settings it has currently is per instance of the UI panel/element, which are stored using the DUI/CUI configuration framework.

QUOTE (TomBarlow @ Jan 4 2010, 13:00) *
Looks like a nice component, but it doesn't work for me. I guess it's my 5 year old laptop not having good enough hardware. I get this in the console:

Seekbar: taking Direct3D9 path.
Seekbar: frontend creation failed: Direct3D9: could not create texture.

The panel draws whatever was on the screen previously, but it still acts as a seekbar. It seems to process the songs properly as well (i.e. create the waveforms). Is there anything I can do?

Ooh, fun.

I have a fallback path that is good enough for the horrible Intel cards, but apparently not horrible enough.
What kind of graphics hardware do you have?
The fallback path uses an A2R10G10B10 (2 bits alpha, 10 bits for each of red, green, blue) for the waveform data, but I suppose one might try A8R8G8B8 if that fails.

This post has been edited by Zao: Jan 4 2010, 13:47


--------------------
Zao shang yong zao nong zao rang zao ren zao.
To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.
Go to the top of the page
+Quote Post
TomBarlow
post Jan 4 2010, 18:09
Post #3





Group: Members
Posts: 585
Joined: 30-July 07
Member No.: 45750



QUOTE (Zao @ Jan 4 2010, 12:46) *
What kind of graphics hardware do you have?

I have an Intel 82852/82855 GM/GME Graphics Controller: http://www.intel.com/support/graphics/intel852gm/index.htm

I'll update my driver and see if that makes a difference.
Go to the top of the page
+Quote Post
TomBarlow
post Jan 4 2010, 20:01
Post #4





Group: Members
Posts: 585
Joined: 30-July 07
Member No.: 45750



QUOTE (TomBarlow @ Jan 4 2010, 17:09) *
I'll update my driver and see if that makes a difference.

I've updated my driver, problem still exists sad.gif
Go to the top of the page
+Quote Post
bb10
post Jan 4 2010, 20:23
Post #5





Group: Members
Posts: 169
Joined: 8-November 06
Member No.: 37341



QUOTE (TomBarlow @ Jan 4 2010, 20:01) *
QUOTE (TomBarlow @ Jan 4 2010, 17:09) *
I'll update my driver and see if that makes a difference.

I've updated my driver, problem still exists sad.gif

A driver update won't resolve the non-existent DirectX 9 support of your GPU. tongue.gif
Go to the top of the page
+Quote Post
TomBarlow
post Jan 4 2010, 20:51
Post #6





Group: Members
Posts: 585
Joined: 30-July 07
Member No.: 45750



QUOTE (bb10 @ Jan 4 2010, 19:23) *
A driver update won't resolve the non-existent DirectX 9 support of your GPU. tongue.gif

ok, I missed your reply. I think I have DirectX 9, it must be pixel shader support that I need. That was a problem for me with Shpeck+Milkdrop, I could only run a handful of presets. dry.gif (I didn't realise what PS meant in the OP ohmy.gif)
Go to the top of the page
+Quote Post

Posts in this topic
- Zao   foo_wave_seekbar   Jan 3 2010, 20:20
- - JensRex   Fix 120 DPI mode!   Jan 3 2010, 20:23
- - yandexx   BIG UP   Jan 3 2010, 20:24
- - bb10   Yaay!   Jan 3 2010, 20:26
- - StuPC   It doesn't seem to like Windows 7, presumably ...   Jan 3 2010, 20:55
- - Andreasvb   Works fine for me on Windows 7, and it's DX 11...   Jan 3 2010, 20:59
- - Bollerkopp   QUOTE (StuPC @ Jan 3 2010, 20:55) "F...   Jan 3 2010, 21:00
- - lwiczek   QUOTE "Failed to load DLL: foo_wave_seekbar.d...   Jan 3 2010, 21:01
- - Andreasvb   Try this runtime and see if it works: http://www.m...   Jan 3 2010, 21:02
- - 2E7AH   Thanks for horrible Intel on-board support I se...   Jan 3 2010, 21:04
- - The Link   @people getting "Failed to load DLL: foo_wave...   Jan 3 2010, 21:04
- - Chaser   Could somebody please post a screenshot?   Jan 3 2010, 21:12
|- - bb10   QUOTE (Chaser @ Jan 3 2010, 21:12) Could ...   Jan 3 2010, 21:23
- - Zao   QUOTE (StuPC @ Jan 3 2010, 20:55) It does...   Jan 3 2010, 21:13
- - saivert   If you were one of the beta testers prior to the p...   Jan 3 2010, 21:13
- - 2E7AH   thanks saivert, that was it looks great   Jan 3 2010, 21:28
- - rol   awesome, thanks so much but "extrack seekbar ...   Jan 3 2010, 21:35
|- - bb10   QUOTE (rol @ Jan 3 2010, 21:35) awesome, ...   Jan 3 2010, 21:37
- - rol   oh right my bad, sorry.   Jan 3 2010, 21:39
- - marc2003   thanks for this. i'll have to switch to DUI to...   Jan 3 2010, 21:39
- - Zao   Note that you can customize the colors used in the...   Jan 3 2010, 22:07
- - skelly831   This is really nice, works smoothly on my old Pent...   Jan 3 2010, 22:14
|- - bb10   QUOTE (skelly831 @ Jan 3 2010, 22:14) Qui...   Jan 3 2010, 22:22
|- - dubpistol   QUOTE (skelly831 @ Jan 3 2010, 22:14) I j...   Jan 4 2010, 09:35
- - Gapkiller   Thank You for this awesome component.   Jan 3 2010, 22:23
- - Zao   Shade played will stick properly when resizing in ...   Jan 3 2010, 22:29
- - lwiczek   Works beautifully after Direct upgrade.   Jan 3 2010, 22:30
- - Jack Schmaltz   dont know if im missing something here but i can n...   Jan 3 2010, 22:39
- - Zao   I would guess that the SDK most probably has 1.0 a...   Jan 3 2010, 22:49
- - Jack Schmaltz   fair enough, at least i know its not me being a nu...   Jan 3 2010, 22:54
- - Zao   The baseline will most probably be 1.0 as I cannot...   Jan 3 2010, 23:16
- - ExtremeHunter   Thanks alot for this component!! Works ...   Jan 3 2010, 23:53
|- - mudlord   QUOTE (ExtremeHunter @ Jan 3 2010, 17:53)...   Jan 4 2010, 00:32
- - dubpistol   Brilliant component. Thank you!   Jan 3 2010, 23:54
- - insnowflakes   Great mod, thanks a lot.   Jan 4 2010, 00:25
- - Horst Fux   Just awesome, works perfect. But needs a little b...   Jan 4 2010, 00:54
- - Zao   You can abort seeking by moving your cursor far en...   Jan 4 2010, 01:06
- - mudlord   QUOTE But needs a little bit time to analyse the s...   Jan 4 2010, 02:08
- - Zao   No FFT needed, as it's min/max/rms amplitude o...   Jan 4 2010, 02:19
|- - mudlord   QUOTE (Zao @ Jan 3 2010, 20:19) No FFT ne...   Jan 4 2010, 07:36
- - randal1013   crashes my foobar when i try to place the componen...   Jan 4 2010, 02:50
|- - randal1013   QUOTE (randal1013 @ Jan 3 2010, 20:50) cr...   Jan 4 2010, 13:49
- - Zao   Yes, they coexist perfectly fine. What kind of gra...   Jan 4 2010, 03:00
- - NullString   works like a charm gj   Jan 4 2010, 03:35
|- - Zao   QUOTE (NullString @ Jan 4 2010, 03:35) ho...   Jan 4 2010, 03:42
|- - NullString   QUOTE (Zao @ Jan 3 2010, 23:42) QUOTE (Nu...   Jan 4 2010, 04:50
- - Snowknight26   If only you could replace the toolbar's seekba...   Jan 4 2010, 05:18
|- - Horst Fux   QUOTE (Snowknight26 @ Jan 4 2010, 05:18) ...   Jan 4 2010, 19:00
- - midkay   this is awesome, thanks for the great work!   Jan 4 2010, 05:27
- - (Sly)   Works fine with Windows XP SP3, DirectX 9.0c lates...   Jan 4 2010, 08:28
- - Zao   1. Per-folder databases could technically be possi...   Jan 4 2010, 08:46
- - (Sly)   2. Yes. And a scan results window showing if some ...   Jan 4 2010, 10:23
- - ojdo   Thank you very much for this very promising compon...   Jan 4 2010, 11:01
- - NullString   storing the data in the file tags would be awesome...   Jan 4 2010, 11:26
- - fuflo   thanks for this great component. and well, since e...   Jan 4 2010, 12:08
- - (Sly)   In the directory where foobar2000.exe is in file ...   Jan 4 2010, 12:14
- - TomBarlow   Looks like a nice component, but it doesn't wo...   Jan 4 2010, 13:00
- - Zao   QUOTE (skelly831 @ Jan 3 2010, 22:14) I j...   Jan 4 2010, 13:46
|- - ojdo   QUOTE (Zao @ Jan 4 2010, 13:46) QUOTE (oj...   Jan 4 2010, 16:33
|- - TomBarlow   QUOTE (Zao @ Jan 4 2010, 12:46) What kind...   Jan 4 2010, 18:09
||- - TomBarlow   QUOTE (TomBarlow @ Jan 4 2010, 17:09) I...   Jan 4 2010, 20:01
||- - bb10   QUOTE (TomBarlow @ Jan 4 2010, 20:01) QUO...   Jan 4 2010, 20:23
||- - Andreasvb   QUOTE (bb10 @ Jan 4 2010, 20:23) QUOTE (T...   Jan 4 2010, 20:29
||- - TomBarlow   QUOTE (bb10 @ Jan 4 2010, 19:23) A driver...   Jan 4 2010, 20:51
||- - bb10   QUOTE (Andreasvb @ Jan 4 2010, 20:29) It ...   Jan 4 2010, 20:56
|- - NullString   QUOTE (Zao @ Jan 4 2010, 09:46) QUOTE (Nu...   Jan 4 2010, 19:40
- - 2E7AH   I guess zooming (middle scroll) is out of question...   Jan 4 2010, 13:59
- - Zao   The data set used is rather sparse, just 2048 data...   Jan 4 2010, 14:15
- - 2E7AH   I wouldn't mind seeing large blocks if it is f...   Jan 4 2010, 14:23
- - Zao   I'll put that under the category ╗maybe if I...   Jan 4 2010, 14:27
- - 2E7AH   deal   Jan 4 2010, 14:28
- - Hengest   Well just to say thankyou for this component - it...   Jan 4 2010, 15:20
- - bbt-hh   Everything loads fine, but the Waveform Seekbar sh...   Jan 4 2010, 17:17
- - rol   Can u fix high CPU usage? On Win7 and Pentium 4 i ...   Jan 4 2010, 17:57
|- - bb10   QUOTE (TomBarlow @ Jan 4 2010, 18:09) I h...   Jan 4 2010, 18:22
- - rol   DX 9.0c   Jan 4 2010, 18:49
- - Zao   QUOTE (TomBarlow @ Jan 4 2010, 18:09) I h...   Jan 4 2010, 21:49
|- - bbt-hh   QUOTE QUOTE (bbt-hh @ Jan 4 2010, 17...   Jan 4 2010, 22:03
- - StuPC   OK, here's a weird bug - I've installed th...   Jan 4 2010, 21:56
- - shakey_snake   It's great to have an "oohh shiny!...   Jan 4 2010, 22:18
- - Hamallainen   Thank you for this great plugin. I have 2 questio...   Jan 5 2010, 01:05
|- - Zao   0.1.4 should hopefully give better diagnostic outp...   Jan 5 2010, 02:42
- - smkk   Displaying every selected track would probably put...   Jan 5 2010, 03:32
- - rupert   FB1.0b6 and WaveSeekBar 0.1.4 produce an error lik...   Jan 5 2010, 04:40
- - Zao   If the effect failed to compile, you should have g...   Jan 5 2010, 05:50
|- - rupert   QUOTE (Zao @ Jan 5 2010, 05:50) If the ef...   Jan 5 2010, 20:49
- - q_b6   Cheers! Works great! Does it consider r...   Jan 5 2010, 08:24
- - sld   1.0.3 was crashing, but 1.0.4 runs! There...   Jan 5 2010, 15:46
- - bbt-hh   QUOTE Everything loads fine, but the Waveform Seek...   Jan 5 2010, 17:23
- - foosion   I have created an effect that also renders the RMS...   Jan 5 2010, 23:16
- - Zao   QUOTE (sld @ Jan 5 2010, 15:46) 1.0.3 was...   Jan 5 2010, 23:41
- - dano   Could the calculation of the wave form (theoretica...   Jan 6 2010, 00:28
|- - Zao   QUOTE (dano @ Jan 6 2010, 00:28) Could th...   Jan 6 2010, 00:42
- - stefle   Hello, actually a nice plugin,couldn't wait t...   Jan 6 2010, 00:58
- - Xezzy   Thanks for this component, it looks amazing. And i...   Jan 6 2010, 01:04
|- - Zao   QUOTE (stefle @ Jan 6 2010, 00:58) But no...   Jan 6 2010, 01:11
- - Xezzy   Ugh, obviously... Thanks   Jan 6 2010, 02:28
- - Hengest   Here's a quick mod of foosion's effect fo...   Jan 6 2010, 04:54
- - Zao   Fun fact of the day - this is the same shader lang...   Jan 6 2010, 04:59
- - Hengest   And here's a new modification of 'seekbar....   Jan 6 2010, 08:36
18 Pages V   1 2 3 > » 


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 20th August 2014 - 10:27