zao / foo_wave_seekbar

A foobar2000 UI seekbar element displaying the playing waveform.
http://www.foobar2000.org/components/view/foo_wave_seekbar
Other
84 stars 7 forks source link

Make 64bit-compatible for foobar2000 version 2.0 #45

Open stonecrusher opened 2 years ago

stonecrusher commented 2 years ago

The fb2k changelog says 64-bit versions require updated versions of add-on components.

I would love to use wave_seekbar in the future with latest foobar. Any plans to make the shift to 64-bit?

zao commented 2 years ago

This has been requested both on IRC and in the forum thread.

I have not yet investigated how much work this would require and given the somewhat broken state the component was in when I stopped working on it, it could result in quite the support load to touch it again.

A possible rebuild would probably drop things like XP support and deprecate some functionality I cannot support anymore like old settings file formats and legacy compression schemes, requiring a full rescan of tracks.

stonecrusher commented 2 years ago

Sorry, I don't know about Forum or IRC. It's just important that you know people can't use the plugin in future versions.

XP support was dropped since foobar 1.6 anyway. I think it's a good chance to get rid of old compability crutches anyway.

Here is (auto-translated) what another addon author (fbuser) thinks about the change:

They "only" have to be recompiled. But this requires particularly with older components a certain adjustment need due to the different handling of pointers and integer variables for 32bit and 64bit programs.

For this it is necessary at least for some components (all the same whether 32bit or 64bit) to adapt these to the new configuration handling, so that configuration changes are not lost as before, if the application is terminated unexpectedly, e.g. by a crash.

zao commented 2 years ago

No worries, it's perfectly fine to raise this issue here. My intent was to note that you're not alone in asking about this as there has been voices in several other places.

The primary problem with building this component is that it requires a rather peculiar environment to build to begin with, making it brittle to any changes in library and toolchain versions. As such it is a bit more work to modernise beyond adapting to the new SDK functionality that might have appeared since I last worked on it.

ProTofik commented 1 year ago

Hi. Has there been any update on this? If not, are any other similar components out there that can be used as an alternative to this one?

grimes2 commented 1 year ago

https://www.foobar2000.org/components/view/foo_wave_minibar_mod

zao commented 1 year ago

Case's mod of my other component is a great alternative if it satisfies your requirements.

There's some progress behind the curtains, ported this component to D3D11 and it seems to work from the basic testing I've put it through. Download and try it from https://github.com/zao/foo_wave_seekbar/releases/tag/0.3.0-alpha-1

Renegade-Master commented 1 year ago

Case's mod of my other component is a great alternative if it satisfies your requirements.

There's some progress behind the curtains, ported this component to D3D11 and it seems to work from the basic testing I've put it through. Download and try it from https://github.com/zao/foo_wave_seekbar/releases/tag/0.3.0-alpha-1

Working for me too. I had forked the repo with the intention of helping, but it seems you pretty much have it working already. Thanks for your efforts!

I couldn't get the new D3D11 mode working though, but here is the old mode in the new Component which would be fine for most people I'm sure. image