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: Winamp-VIS-plugs in foobar (Read 168381 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Winamp-VIS-plugs in foobar

-- THE PLAN --
my plan is to write a vis-plug for foobar that can load winamp-vis-plugs.
it's said impossible but i (still) don't believe it.
coding has already started but i'm not a lightning-speed-coder so be sure i'll need my time.

-- WHAT IS DONE FOR NOW --
a host that loads a plugin and feeds it with junkfood. download it from HERE.
(move the mouse over the vis-window to create some junkfood...)

-- WHAT ELSE --
i am interested in any source code from previous attempts! please send me a copy - your code is highly appreciated!


now people let me know what you think...

Winamp-VIS-plugs in foobar

Reply #1
I had a plugin working semi-well, but I wasn't able to figure out a clean way to take care of shutting down the second thread and unloading the Winamp plugin DLL on playback stop and, in the process of trying to make it work better, I ended up completely breaking it.  I was poking around 0.8 beta SDK and saw what looks like a way to get functions called on foobar init and shutdown and think they may help this somewhat, but I've gotten too lazy to look into messing with it anymore.

Of course, even if you got the plugin loading and unloading Winamp DLL's without random crashes, you'd still have to find a way to get playlist information from the main foobar thread and into the separate thread for the Winamp plugin, which is another thing I was too lazy/incompetent to figure out...  unless, of course, you can convince people to ignore the playlist functionality in the Winamp plugins.

[EDIT]:  No source code from me.  My code is inefficient and, in its current state, broken.

Winamp-VIS-plugs in foobar

Reply #2
If Winamp-style vis plugins can be made to work with foobar, I have no need for Winamp any more, which would be very cool. If only AVS worked with fb2k... *sighs* It's the one Winamp feature I miss, and one that I occasionally use Winamp for. I'd likely get back into it if I had an fb2k plug that would let me use it.

Winamp-VIS-plugs in foobar

Reply #3
If you can get Milkdrop to work in FB2K you are god. 

Winamp-VIS-plugs in foobar

Reply #4
The version of Milkdrop that came with 2.9something got along with foobar quite well, excepting the aforementioned playlist issues.  AVS, however, would complain about not having a recent enough version of Winamp and then blow up.

Winamp-VIS-plugs in foobar

Reply #5
Quote
The version of Milkdrop that came with 2.9something got along with foobar quite well, excepting the aforementioned playlist issues.  AVS, however, would complain about not having a recent enough version of Winamp and then blow up.

i planned my bridge-plug to work with foo_winamp_spam to solve these problems...

Winamp-VIS-plugs in foobar

Reply #6
Quote
[EDIT]:  No source code from me.  My code is inefficient and, in its current state, broken.

[broken] and [inefficient] is no problem in this case: ANY source code can help me!
if you don't mind send it to me nevertheless!

Winamp-VIS-plugs in foobar

Reply #7
I think the people that voted "Keep _any_ Winamp out of Foobar!" are missing something: this is supposed to be an optional plugin, right ? So if you don't want it, don't install it.

It's not as if "Winamp stuff" will be inserted into the core application...
Over thinking, over analyzing separates the body from the mind.

Winamp-VIS-plugs in foobar

Reply #8
Quote
I think the people that voted "Keep _any_ Winamp out of Foobar!" are missing something: this is supposed to be an optional plugin, right ? So if you don't want it, don't install it.

It's not as if "Winamp stuff" will be inserted into the core application...

Well I have voted "Keep any Winamp out of Foobar.

Although I completely agree with you that no one should be bothered by any plugins that he is not forced to use.  I simply see this specific case in a slightly different light.  I think it is more of a philosophical nature ratyher then a practical one. Or maybe both actually.

I just think if people want to have certin plugins they should write them for the Foobar SDK and not port any plugins from other players over through some dodgy plugin wrappers.

After all FB2K has it's own plugin architecture and is not one of those players that are meant to accept Winamp plugins directly like so many others.

Also, if people really are missing Winamp plugins that much there is nothing to stop them from still using it occassionally for those specific plugins.  Or simply request something similar for FB2K.  I am sure is it is a good request there will be someone willing to code it at some point.

I just think there are quite a few tallented coder out there working on FB2K plugins at the moment and I would rather see this developing further rather then FB2K simply beeing able to accept Winamp plugins.

Of course this is only my strong personal opinion and I can clearly see why people could possibly dissagree. 

Winamp-VIS-plugs in foobar

Reply #9
Quote
I think the people that voted "Keep _any_ Winamp out of Foobar!" are missing something: this is supposed to be an optional plugin, right ? So if you don't want it, don't install it.

It's not as if "Winamp stuff" will be inserted into the core application...

i fully agree with you, poisondan!

Winamp-VIS-plugs in foobar

Reply #10
Quote
I just think if people want to have certin plugins they should write them for the Foobar SDK and not port any plugins from other players over through some dodgy plugin wrappers.

* not all foobar-users are also developpers!
* even a developper is not necessarily able to write a plugin that does what he wants it to do!
* winamp-plugin-bridges will make it much easier for winamp-users to move to foobar!


Quote
Also, if people really are missing Winamp plugins that much there is nothing to stop them from still using it occassionally for those specific plugins.

i guess this is exactly what a ex-winamp-user does NOT want to do. at least this is like i feel about it. i don't want to switch between foobar and winamp when i wanna run geiss or whatever...
imagine foobar could not play mpc - would you not find switching to winamp annoying?

Quote
Or simply request something similar for FB2K. I am sure is it is a good request there will be someone willing to code it at some point. I just think there are quite a few tallented coder out there working on FB2K plugins at the moment and I would rather see this developing further rather then FB2K simply beeing able to accept Winamp plugins.

i think your point of view is very emotionally driven. by some kind of winamp-hate. the poll shows you're not alone with that. for me winamp has been my #1-player for a very long time. and what we have now is just a much-better-winamp - foobar is not a revolution. winamp is still a great player! nevertheless foobar is far away from being am 1:1 copy of winamp which i am glad about, too. even winamp-supporting-stuff will not make it such cause it will be in plugins not in the core!

ps: "Keep _any_ Winamp out of Foobar!" was originally added only for peter...

Winamp-VIS-plugs in foobar

Reply #11
Quote
* not all foobar-users are also developpers!
* even a developper is not necessarily able to write a plugin that does what he wants it to do!
* winamp-plugin-bridges will make it much easier for winamp-users to move to foobar!

I am sorry, I should have expresed myself a bit clearer here.  I meant if developers want these plugins they should use the Foobar SDK.  I of course would not expect all foobar users to be skilled at coding in any way.  I certainly am not and would definetaly not be able to code any plugins myself.

Quote
i guess this is exactly what a ex-winamp-user does NOT want to do. at least this is like i feel about it. i don't want to switch between foobar and winamp when i wanna run geiss or whatever...
imagine foobar could not play mpc - would you not find switching to winamp annoying?


I can definetaly see your point there.  Which is why I stated in my first post that I can can see why people would completely dissagree with me.

About imagining that fact that Winamp would support MPC and Foobar wouldn't.  It simply won't happen 

Although I would probably find it very annoying to switch back, scince the majority of my collection is in this format.

Also I have to say that there are a few tiny features in Winamp I occasionally like myself.  However I would rather keep requesting them in vain rather then having them supportet within FB2K via Winamp plugins.

Quote
i think your point of view is very emotionally driven. by some kind of winamp-hate. the poll shows you're not alone with that. for me winamp has been my #1-player for a very long time. and what we have now is just a much-better-winamp - foobar is not a revolution. winamp is still a great player! nevertheless foobar is far away from being am 1:1 copy of winamp which i am glad about, too. even winamp-supporting-stuff will not make it such cause it will be in plugins not in the core!


Well you are definately right that my point of view is emotionally driven.  However definatly not by some kind of hatred toward Winamp.  Maybe a bit by the love for Foobar though  .  Also by the fact that I simply believe that Winamp plugins should stay with Winamp and Foobar plugins with Foobar.

I also have used it for quite a while and still absolutely recommend it to people who for their own reasons do not like FB2K that much.  Afterall everyone has his own tastes and not every player is the right one for every person.

After all development in Foobar is still going strong and we keep seeing new features and plugins with almost every major release.  I Personally simply would find it harmful for this development to include winamp plugins at this stage.  Although I am sure that even if they were included there would still be enough talented coders to continue work on some very useful
native FB2K plugins.

Quote
ps: "Keep _any_ Winamp out of Foobar!" was originally added only for peter...


Well I guess it would have been better then to ask him for his personal opinion on that specific item, rather then including it in a public poll.  Nowhere in this poll I saw the hint that only Peter was allowed to cast an option on this vote.

Winamp-VIS-plugs in foobar

Reply #12
Some plugins, including Milkdrop, I believe, direct all of their API calls at their parent window instead of trying to find window with Winamp's name, so bridging it with foo_winamp_spam doesn't work.  You'll have to implement a bunch of the API stuff in your plugin.

Also, even when I did that and pretended to be Winamp version 0x2095, AVS still wouldn't work, so I think it was using an undocumented API or something.

Winamp-VIS-plugs in foobar

Reply #13
Quote
Some plugins, including Milkdrop, I believe, direct all of their API calls at their parent window instead of trying to find window with Winamp's name, so bridging it with foo_winamp_spam doesn't work. You'll have to implement a bunch of the API stuff in your plugin.

they will for sure pass it to the parent instead of searching for a winamp window. for at least two reasons: (1) the found winamp window could also belong to another instance which would give unwanted results and (2) the winamp-vis-plug-interface-structure contains a member for a parent window which is filled by winamp itsself.
my bridge will be that parent and direct these calls to foo_winamp_spam or directly use it's wndproc or whole window for that. believe me - it won't be this i dispair of...

Quote
Also, even when I did that and pretended to be Winamp version 0x2095, AVS still wouldn't work, so I think it was using an undocumented API or something.

we can log both wndprocs - already did that before when i wrote the whyzed plugin - we'll find out. more work but nothing impossible...
if i can make it work for some vis-plugs-i'll try to make it work for as much as i can.  but i guess avs will be one of the hardest cause it detects skin-changes and who knows what else. we'll find out just be patient...

Winamp-VIS-plugs in foobar

Reply #14
Quote
If you can get Milkdrop to work in FB2K you are god. 

Ditto. 

Winamp-VIS-plugs in foobar

Reply #15
becoming a god - for two people at the same time - not bad! so now i got a goal...

Winamp-VIS-plugs in foobar

Reply #16
Geiss for me! Milkdrop is sweet too... I wish you luck and have every hope that you succeed!

Winamp-VIS-plugs in foobar

Reply #17
Quote
Geiss for me! Milkdrop is sweet too... I wish you luck and have every hope that you succeed!

thanx, avicus. of course i'll also try to get geiss running...

Winamp-VIS-plugs in foobar

Reply #18
Finding a way to make Milkdrop work under FB2K would be too good to be true.

This would be a reason for many people to switch competely over, imho.

Winamp-VIS-plugs in foobar

Reply #19
Quote
* not all foobar-users are also developpers!
* even a developper is not necessarily able to write a plugin that does what he wants it to do!
* winamp-plugin-bridges will make it much easier for winamp-users to move to foobar!

...

Quote
i think your point of view is very emotionally driven. by some kind of winamp-hate.

Now who's being emotionally driven? picmixer gave his view on a plugin like this, he didn't try to flame you personally so no need for that many exclamation marks in one post

I would like to be able to use visual effects like those in winamp but I have to agree with picmixer.
Instead of trying to build a plugin which is capable of using winamp's visual effects and add maybe new ones afterwards, wouldn't it be more logical to create a clean plugin for foorbar itself with visual effect capabilities first? If that's finished you could add extra functionality to be able to add the winamp stuff.
This way foobar will have powerfull visual effects plugin for people to use and maybe they can create new effect using it.

Winamp-VIS-plugs in foobar

Reply #20
I'm all for seeing people add complete (or even semi-complete) Winamp "emulation" to foobar. That is, assuming it can be done. It just adds that much more power and accessibility.

No matter what happens, though, if you don't like the emulation, you can delete the component or not use it or something. That effectively nullifies any anti-Winamp detractor's argument.

Thus, it isn't a balance of opinions, because any anti-Winamp-emulation user has no argument, while all the pro-Winamp-emulation users have strong ones.

Winamp-VIS-plugs in foobar

Reply #21
Why can't we have the best of both worlds?

Hartwork have you contacted the authors of Milkdrop and Geiss about working with you on a pure port of the plugins? If they agreed to help out at least a little, and share some code I'm sure other foobar plugin devs would help you.

So how about it, have you at least asked?

Winamp-VIS-plugs in foobar

Reply #22
I suspect it would be difficult to get a foobar port of Milkdrop as it is included as part of the official Nullsoft plugins with Winamp 5.

In other news, I rewrote the plugin I had and it seems to work without crashing, but I still need to add a config dialog for loading plugins and I need to figure out what I need to do to my message handling to get it to disable itself when the Winamp visualization window is closed.  That and it may not actually be getting samples to the plugin properly :/.

Anyway, there's hope... kinda.  If I feel it's usable, I'll post source and then hartwork and any other developers can decide what should be done with it.

Oh, and I haven't tried it with Winamp 5 plugins yet.  I should probably do that.

Winamp-VIS-plugs in foobar

Reply #23
Quote
I suspect it would be difficult to get a foobar port of Milkdrop as it is included as part of the official Nullsoft plugins with Winamp 5.

Let's not give up before we try  There may be many reasons not to ask, but it should still be done. If nobody else will do it because of various reasons like the above, I will. Although it would be better if it was somebody who actually knows about all this coding mumbo jumbo.

Winamp-VIS-plugs in foobar

Reply #24
Quote
Now who's being emotionally driven? picmixer gave his view on a plugin like this, he didn't try to flame you personally so no need for that many exclamation marks in one post

yes you're right. i'm not free of being emotionally driven. how would you feel if you start writing a component that you believed to be welcome and the first five or more votes are [keep any winamp] out and [vis-plugs suck] only? it was much worse than buggy-code. another thing is i just can't understand how anybody can be against this extension of abilities. it will help some people and will not harm anybody: neither core nor sdk will not be touched so where the hell is the problem? furthermore building a bridge for winamp-plugs is just like building any other bridge - there is no difference to bridges for directx-plugs or flac-, mpc- or whatever-input. it's just a bridge - what's so bad about it?
yet another aspect: imagine we'd ask some - let's say five - winamp-plug-authors to write a foobar version of their existing plugin. these five people would have to do quite the same work, each of them doing it - all five. using a bridge one person does this job one time!

Quote
I would like to be able to use visual effects like those in winamp but I have to agree with picmixer.
Instead of trying to build a plugin which is capable of using winamp's visual effects and add maybe new ones afterwards, wouldn't it be more logical to create a clean plugin for foorbar itself with visual effect capabilities first? If that's finished you could add extra functionality to be able to add the winamp stuff.
This way foobar will have powerfull visual effects plugin for people to use and maybe they can create new effect using it.

i'm sorry but i didn't really understand the second part.