Skip to main content

Topic: foo_wave_seekbar (Read 538403 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
Re: foo_wave_seekbar
Reply #2075
Zao,

Thank you for taking the time to explain that, its a shame,  but I get what you mean and its makes sense.  

Thanks

Ben

  • EpicForever
  • [*][*][*][*][*]
Re: foo_wave_seekbar
Reply #2076
Hi,
I need some assistance. Today I realized that suddenly my foobar 1.3,15b1 running on Windows 10 stopped working with D3D interface and falls back to GDI. I am helpless - I am unable to force it to work. Some guidance would be appreciated.

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2077
EpicForever: Is this that has suddenly occurred on an existing Windows installation, or something you're observing on a new Windows installation?
Have you've done a Windows upgrade in the meantime, those tend to like to remove things like the DirectX runtime.
Have you've tried reinstalling the DirectX February 2010 or June 2010 redists?
Is there anything of interest in the console of foobar2000?
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.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_wave_seekbar
Reply #2078
It is existing Windows 10 installation, installed from scratch and working for few months already. I tried to reinstall DX9 redist files, as an administrator, but it didn't help.
From console:
Seekbar: taking Direct3D9 path.
Seekbar: frontend creation failed: Direct3D9: could not create device.
Seekbar: taking GDI path.

My GFX: Palit GTX 750Ti KalmX 2GB with not the latest drivers (about month to 2 off).

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2079
Which version of the component are you on?
Can you send me a dxdiag.txt from dxdiag.exe's "Save All Information..." function?
Are you using Windows Update drivers for your card or ones from NVIDIA?
Are you using any form of video capture software on the system that may hook things?

Please try 0.2.45.6 which I've instrumented with a bit more output for device creation failures.

It's built with VS2017 so it's probably not overly fit for normal consumption, please just use it to gather a bit more information.
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.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_wave_seekbar
Reply #2080
Hi.
After applying 0.2.45.6 even D2D became unavailable. On previously used version I could use it (but it always looked horribly so I never did it for real). Now only GDI works.
I don't update drivers through Windows Update. I find as worst possible source for updating drivers - totally uncontrollable. I don't use screeen capturing and I never did. What is running al the time is Firefox (newest), Thunderbird, foobar, I can confess that also old uTorrent 1.8.5.
Attached there is file saved as you instructed.

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2081
I'm curious as to if you've tried the advice in the grooveex.dll thread, temporarily removing some of your components. You're sniffing up against the number of DLLs that you can comfortably have in a process with regard to TLS slots, I'm suspecting.
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.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_wave_seekbar
Reply #2082
In addition: when I switched back to older version D2D works again. From console, when 0.2.45.6 was loaded again:

Loading
Startup time : 0:06.566627
Seekbar: taking GDI path.
Seekbar: Frontend initialized.
Opening track for playback: "M:\(...)\CHVRCHES - Every Open Eye (Extended Edition) (2016) (CDVY3139)\10 Bury It.flac"
Audioscrobbler: Handshake failed: The system time is far off. Please correct your system time.
Audioscrobbler: Handshake failed.
Seekbar: taking Direct3D9 path.
Seekbar: frontend creation failed: unavailable frontend
Seekbar: taking GDI path.
Seekbar: taking Direct2D1 path.
Seekbar: frontend creation failed: unavailable frontend
Seekbar: taking GDI path.
Seekbar: taking Direct3D9 path.
Seekbar: frontend creation failed: unavailable frontend
Seekbar: taking GDI path.

EDIT:
In regards of grooveex.dll: I may not get context of English language correctly in your post, so just to be clear - I am chasing grooveex.dll only because it causes foobar to crash when I am trying to use Converter component. Personally I don't mind that much about the fact if it loads or not - I don't see any other side effects fo grooveex.dll. I don't have warinings about DLLs that couldn't be loaded to foobar.
  • Last Edit: 27 March, 2017, 04:15:31 PM by EpicForever

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2083
What I am saying is that there is a hard limit in the Windows OS on how many DLLs can be loaded, due to each static embedded C++ runtime requires one "TLS slot" each.

When you run into this limit, which is around 128, no more such DLLs can be loaded.

I am suspecting that as you have a LOT of components, you are close to this limit. I'm asking you to try with fewer components or in a fresh new "portable" installation of foobar2000, to see if this is the underlying problem.

foobar2000 only warns about when top-level components can't load. If a component fails internally due to not being able to load a DLL that _it_ needs, you may see the kind of errors we have, where internal DLLs seem to not get loaded.
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.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_wave_seekbar
Reply #2084
Hi Zao,
Thank you for your help. Yes, you are perfectly right. Recently I updated my components + added 1 or 2. Some of those updated are now splitted into 2-3 dlls. So finally I have reached the TLS slot limit. I deleted some of less important co,ponents. Now everything works fine with waveform seekbar.
Microsoft... "128 TLS slots ought to be enough for anybody" (paraphrasing Bill Gates). Yes, especially in plugin based applications.

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2085
I'm delighted to hear that we've solved your problem!
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.

  • Wemppu
  • [*]
Re: foo_wave_seekbar
Reply #2086
Hi, just found foobar 200 and this extension since I have been lacking visual to levels of volume.
Background: I am playing music often in figure skating and gymnastic teams contest. OK, playing also in hockey games, but those are always loud and high :) ... no need for visual there.

So I finally can see clear prepared playlist and visual if music is starting in low volume in start or so, BUT my problem is that Wave Seekbar is showing wave AFTER i start actual playing.  Therefore I am missing very start of levels.

Is there any way to set waveform to be displayed when track is selected in playlist?
Before track is actually started.

Sorry if this was answered in this thread already, but there was 84 pages to read ...





  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2087
@Wemppu I've had requests for selection previews in the past but have not gotten around implementing it as pretty much everything about the component(s) is designed for showing the current track, with no real way of rendering or waiting for scans for other tracks.

It could possibly be implemented if I got around to it, but I don't have any immediate solution for you.
I hacked a bit on a "generate HTML report" feature for foo_wave_minibar but got stuck on the bit where I may have needed to scan new signatures as I went

In the meantime, maybe you could scan your files with ReplayGain or something, and show the track-gain value in a playlist column, to give you a hint of how loud it is. You can also configure the player to ignore or honor RG values for attenuation/amplification, which may solve the core problem of things being too loud.
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.

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2088
I've implemented a feature in my other seekbar component, foo_wave_minibar, which might tickle your fancy.

It's a context menu item to generate a HTML-based report page for the the selected tracks which it opens in your default browser.
The report currently requires you to scan any waveforms ahead of time, as I still have no way to scan non-playing waveforms on demand.

The component is designed to only store waveforms across sessions if the songs are in the media library, any other waveforms scanned only last for the active session and are dropped on exit.

Do give it a try, see if it helps you - foo_wave_minibar-1.26.fb2k-component
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.

  • Wemppu
  • [*]
Re: foo_wave_seekbar
Reply #2089
Do give it a try, see if it helps you - foo_wave_minibar-1.26.fb2k-component

Thanks @Zao !
This is a big step forward to see whole playlist in browser window as single page.
However as you can guess most usable version would be display on foobar app window module ;)

Playing in these contests is following playlist by press enter and then music stops, select next, wait team to be ready and press enter.
If selecting next would give picture of next track waveform too I would be sold.

But yes, since there is lot of waiting for next team and standalone images are in same order than playlists there is time to see starting levels of next track. Therefore this is working solution to me. Thanks!
  • Last Edit: 22 October, 2017, 03:26:17 PM by Wemppu

  • askold
  • [*]
Re: foo_wave_seekbar
Reply #2090
Zao,
could you build foo_wave_minibar for non-SSE2 CPU?

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2091
@askold Meh. Maybe. At least you're not asking for a build without CMOV.
It's definitely not going to run on XP. The pain around building and working with foo_wave_seekbar made sure of that.

As for restricting instruction set beyond the default of VS's stock SSE2... I'll have to think about that.
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.

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2092
Please note that that's Case's own unofficial build and it may very well burn your house down.

The code is not necessarily functioning as it should on Windows XP. I write it with a baseline OS in mind when looking up functionality in documentation, and consider the caveats in behaviour that apply to those OSes. At some point, documentation drops the extant platforms.

Just because it compiles doesn't mean that it behaves properly and you're running such builds at your own risk. There's more to it than just flipping some switch in the IDE and seeing if the executable starts. Such changes are also getting increasingly harder to test, as there's not a single machine in my household anymore that can support a vanilla XP installation.

As for foo_wave_seekbar, it still nominally targets XP because it has done it historically, but that's also why I don't work on it anymore as even setting up the build environment for it obliterates an evening or two, let alone actually writing code for it.
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.

Re: foo_wave_seekbar
Reply #2093
Here's a statically linked compile that works on Windows XP and doesn't require SSE2:
Thanks for supporting XP

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2094
I should mention here that as the minibar is not hardware accelerated and draws with GDI, it has a significant impact on system responsiveness.
I would not recommend running it while you're playing games or want your websites to scroll smoothly, as it is rather violent against the graphics system.

I have intentionally not promoted that component in the wild because it's intended for a narrow circle of people with specific quirks.
  • Last Edit: 25 October, 2017, 07:56:49 AM by Zao
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.

Re: foo_wave_seekbar
Reply #2095
I understand!Thank you!

  • EpicForever
  • [*][*][*][*][*]
Re: foo_wave_seekbar
Reply #2096
I have specific problem with my foobar. I don't know how to determine which component - foo_input_ffmpeg or foo_waveform_seekbar fails. The problem is that several files played back through foo_input_ffmpeg (video files in various containers) don't display waveform seekbar in my DUI. Or to be exact - I see progress in producing the waveform, but after reaching certain point it disappears. Those files definitely report some errors at the very end of the files. So - this may be some slight problem with error handling in any of these 2 components.

Here:
https://1drv.ms/u/s!AizQnez18-j2dShrVxmuiytDduo
I gathered together all these problem causing files, together with list of errors that they produce and configuration files for both components. Additionally there are 2 files that do not brake waveform generation, despite there are also errors produced while files are played back.
My foobar is v 1.3.17 b3. My OS is Win7 PL x64 SP1 MSDNAA sourced, with all security updates installed. Graphic card is nVidia GTX 1050Ti with drivers version 382.05. Problem is first observed in this config (foo_input_ffmpeg as component that supports these video files). In the past I didn't had this kind of issues (when foo_input_ds was used for the same purpose and I didn't have problems with DirectShow and files were played back smoothly). If any more details are needed - please let me know.
I am asking both Zao (here) and Peter (in other thread) to take a look at this situation.

  • Zao
  • [*][*][*][*][*]
  • Developer (Donating)
Re: foo_wave_seekbar
Reply #2097
I can't tell much from my side. I get an `std::runtime_error` from my decoder, and I bail out as it is assumedly hosed.
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.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_wave_seekbar
Reply #2098
I don't get exactly what you mean :)

But wouldn't it be possible to somehow retain the view of what was properly decoded / imaged before "runtime_error" occurred? I think this is the problem, as I can see that waveform is generated (progressively) and then at ca 95% it disappears, like decoded/calculated data were discarded... I would accept waveform being not complete - especially if some small popup with message about problem was displayed. What is funny - this happens (but without popup) for example for any incomplete download if it is attempted to be played by mistake. Waveform seekbar generates garbled waveform (truncated, contiguous but concatenated from several chunks that come from various places of file). I think that for the files from the package (and any other that may have similar problem) it would be OK to apply the same behavior as for incomplete dowloads.

  • EpicForever
  • [*][*][*][*][*]
Re: foo_wave_seekbar
Reply #2099
As reported in other thread, archive with Mvids was broken. Probably, because .cfg files were added to ready archive with Mvids - repack was unsuccessful.
I took down previous file and added new one, tested, with .md5 inside (for unpacked files) and .md5 outside (for the download).
7ZIP: https://1drv.ms/u/s!AizQnez18-j2dxtQR5Ds5OoxoPo
MD5: https://1drv.ms/u/s!AizQnez18-j2dtTfo9jSFLyAmMM

Also I found something strange. When I play pure Adaptive Muti Rate file (.amr) through FFMPEG I got it's Waveform created in the seekbar. But when I play .3gp file with Adaptive Multi Rate audio Waveform is not created. In the console I can find this for a single file (file path is intentionally manually banked in part):
Opening track for playback: "(...)\SE E15i\MOV00009.3gp"
Launching ffprobe:
"C:\Program Files\foobar2000\encoders\ffprobe.exe" -of xml -show_format -show_streams -hide_banner "(...)\SE E15i\MOV00009.3gp"
Launching ffmpeg:
"C:\Program Files\foobar2000\encoders\ffmpeg.exe" -i "(...)\SE E15i\MOV00009.3gp" -f w64 -acodec pcm_f32le -
Audioscrobbler: Track is not in Media Library - not submitting to Audioscrobbler.
Launching ffprobe:
"C:\Program Files\foobar2000\encoders\ffprobe.exe" -of xml -show_format -show_streams -hide_banner "(...)\SE E15i\MOV00009.3gp"
Launching ffmpeg:
"C:\Program Files\foobar2000\encoders\ffmpeg.exe" -i "(...)\SE E15i\MOV00009.3gp" -f w64 -acodec pcm_f32le -
Wave cache: generic exception (Not yet implemented in FFmpeg, patches welcome) for "(...)\SE E15i\MOV00009.3gp"


What is the difference between AMR-NB present in .amr container and in .3gp container, which causes the latter to be not displayed as waveform?