HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: hartwork on 2004-02-18 19:47:45

Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-18 19:47:45
-- 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 (http://www.hartwork.org/cgi-bin/download.cgi?file=alphashit/winamp_vis_host_20040218.zip).
(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...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-19 02:45:21
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.
Title: Winamp-VIS-plugs in foobar
Post by: ExUser on 2004-02-19 03:03:50
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.
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-19 04:57:24
If you can get Milkdrop to work in FB2K you are god. 
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-19 05:00:39
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.
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-19 11:04:54
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 (http://www.r1ch.net/stuff/foobar/) to solve these problems...
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-19 13:13:21
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!
Title: Winamp-VIS-plugs in foobar
Post by: PoisonDan on 2004-02-19 13:22:59
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...
Title: Winamp-VIS-plugs in foobar
Post by: picmixer on 2004-02-19 14:04:20
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. 
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-19 14:14:42
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!
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-19 15:00:35
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...
Title: Winamp-VIS-plugs in foobar
Post by: picmixer on 2004-02-19 15:36:28
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.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-19 21:52:49
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.
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-19 23:11:58
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...
Title: Winamp-VIS-plugs in foobar
Post by: The Khan Artist on 2004-02-20 01:03:48
Quote
If you can get Milkdrop to work in FB2K you are god. 

Ditto. 
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-20 11:12:08
becoming a god - for two people at the same time - not bad! so now i got a goal...
Title: Winamp-VIS-plugs in foobar
Post by: Avicus on 2004-02-20 16:45:33
Geiss for me! Milkdrop is sweet too... I wish you luck and have every hope that you succeed!
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-20 17:11:10
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...
Title: Winamp-VIS-plugs in foobar
Post by: Burrito on 2004-02-20 17:42:14
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.
Title: Winamp-VIS-plugs in foobar
Post by: Prodoc on 2004-02-20 20:56:03
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.
Title: Winamp-VIS-plugs in foobar
Post by: ExUser on 2004-02-20 22:12:31
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.
Title: Winamp-VIS-plugs in foobar
Post by: Gnerma on 2004-02-20 23:46:25
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?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-20 23:56:45
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.
Title: Winamp-VIS-plugs in foobar
Post by: Gnerma on 2004-02-21 00:00:10
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.
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-21 00:43:09
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.
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-21 00:48:54
Quote
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?

i did not plan to ask for foobar ports cause i'm just writing the bridge.
if i did so i had asked them to waste their time.

ps: milkdrop and geiss ar both written by the very same person, ryan geiss...
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-21 01:06:14
oh, we got a second page now...

Quote
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.

sorry, i didn't really get that. did you restart coding or are you talking about former experiences?

one more thing i want to make clear: if anybody starts or restarts work on a winamp-vis-bridge we should decide to work together or which one will do the job. what i do not want is to be one of three people doing the same job independently like in a race or contest.
Title: Winamp-VIS-plugs in foobar
Post by: Prodoc on 2004-02-21 01:50:33
Quote
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?

You did include these options in the poll now didn't you?
Like picmixer I wasn't trying to flame you eighter, life shouldn't always be too serious, hence the:  after my comment
You also got a lot of positive results, like you expected. The plugin will be welcomed by a lot of users and that's the main thing.

Quote
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.

At the moment, foobar itself doesn't have visual effect plugins like the ones in winamp. Wouldn't it be a more logical process to create something to fill this gap first by creating a plugin which enabled you to use visual effects created for foobar?
If that part is completed you could aim the same plugin to winamp effects by adding the feature to use the winamp effects.

Anyway, like I sead, it would still be cool to use your plugin. I just wanted to make a suggestion which seemed more logical and usefull to me.
Title: Winamp-VIS-plugs in foobar
Post by: PhrostByte on 2004-02-21 05:21:30
I support your efforts. MilkDrop in fb would rox0r.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-21 05:34:23
I restarted work on my plugin.  I'll post what I have sometime tomorrow when I'm not tired .  The problem currently really bothering me is that I can't get my plugin to disable when the Winamp visualization plugin window is closed by clicking on the close button or pressing escape, at least without also disabling my plugin when foobar stops playback.

As for trying to coordinate efforts on this, I think that for now we should consider passing code back and forth.  That way, it would be less of a race, but there would be more than one person giving input on how to do things.
Title: Winamp-VIS-plugs in foobar
Post by: Chun-Yu on 2004-02-21 17:29:48
Quote
As for trying to coordinate efforts on this, I think that for now we should consider passing code back and forth.  That way, it would be less of a race, but there would be more than one person giving input on how to do things.

Agreed.  I'll try to help some too in this case.  Right now to use MilkDrop with fb2k I wrote a little fb2k DSP and Winamp plugin combo that pipes audio from fb2k into Winamp via a Winamp input plugin. :B  Combined with global fb2k hotkeys, it works "well enough" ™ but it doesn't display any song titles or anything and you can't switch songs directly from the vis plugin.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-21 20:21:27
poost baleeted
Title: Winamp-VIS-plugs in foobar
Post by: Gnerma on 2004-02-21 20:30:04
Should I use 0.8 beta 10 or 0.7.7b to test?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-21 20:39:58
Sorry, I forget to mention that.  0.8 beta 10.
Title: Winamp-VIS-plugs in foobar
Post by: Gnerma on 2004-02-21 21:24:26
This is awesome bleh

It seems to be working okay so far. Performance is great, about 8 - 12% CPU usage on my dual. Which is equal to 16 - 24% on a single CPU system.

One problem so far.. when switching tracks by double clicking in the playlist I get this with Milkdrop v1.04b about half the time:
Code: [Select]
INFO (CORE) : opening file for playback :
INFO (CORE) : location: "file://D:\Music\Albums\808 State - Don Solaris\808 State - 04 - Azura.mp3" (0)
ERROR (foo_vis_bacon) : Unable to register window class.

2 x Athlon MP Barton 2600+ (2000mhz)
1024mb PC2700
ATI 9800 PRO
M-Audio Revolution 7.1 /w 1.0.2.6 drivers
Win2kSP4

I have not tried any other vis plugins. A promising start!
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-21 21:31:23
It seems my assumption that on_data would never be called until after on_flush was completely wrong.  That makes things interesting...

I'll see if I can fix it or not.

[EDIT]:  The top part of this post makes no sense.  That's bad.
Title: Winamp-VIS-plugs in foobar
Post by: RedSaint on 2004-02-21 21:31:38
Absolutely awesome, this is what makes life worth living

Keep on the good work, I hope this will turn out to be a beautiful coop project..

.. I love you milkdrop..

Haven't experienced problems so far - But I'm guessing they'll show their ugly faces sooner or later - unless I'm one of those lucky potatoes..
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-21 21:43:16
Works great with MilkDrop here, is it supposed to work with others yet?  I placed a few different other visualizations and it wouldn't detect them as even being thete...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-21 21:48:07
A)  Which exact folder did you put them in?
B)  By not detecting them, what do you mean?  You went to the config menu and tried to change the selected plugin in the combo box, right?
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-21 21:55:29
Yes, it would just say that I needed to get some plug-ins.  Also i found a bug, if you are playing a song and hit the random button it crashes with this error:


Quote
Removed Quote!


That also happens with any type of seeking of a song...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-21 21:59:34
The error you are seeing was just reported by Gnerma; I have a rough idea of what's going on with it.  You can edit out the crash log from your post.

However, I would like the exact paths of the directory where you're putting the plugins and the directory where you put foo_vis_bacon.dll to work on the other problem.
Title: Winamp-VIS-plugs in foobar
Post by: Gnerma on 2004-02-21 22:06:57
Quote
Yes, it would just say that I needed to get some plug-ins.  Also i found a bug, if you are playing a song and hit the random button it crashes with this error:

The random button works okay for me.

Seeking give me that same...

ERROR (foo_vis_bacon) : Unable to register window class.

...fb2k error with just about the same frequency as switching tracks via double click in the playlist.

I've gotten Geiss 2 to work. AVS gives me the Winamp version error bleh mentioned earlier in the thread.

Oh BTW soundcard Revo 7.1 /w 1.0.2.6 drivers
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-21 22:08:08
Plugin pulled because I screwed too much up.

Reason for those who care:  Race condition between my handling of on_flush and on_data.  I assumed foobar would call on_flush and wait for it to return before calling on_data.  It doesn't.

Skates, I'd still appreciate it if you were to answer my question about the directories because I may have b0rked something else.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-21 22:30:29
Quote
Reason for those who care:  Race condition between my handling of on_flush and on_data.  I assumed foobar would call on_flush and wait for it to return before calling on_data.  It doesn't.

I don't get how this is possible, since both are called from the main thread.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-21 22:42:49
It isn't.
It was my bug.
I'm very embarassed about it.
If you need a hint about what I wasn't doing, it involves the acronym WFSO.
Yes, I'm that stupid.

[EDIT]:  I fixed the seeking bug, but it'll be a little while before I repost the fixed build because I didn't realize foobar flushed all of the visualization plugins on seeks and I used to load the Winamp plugin DLL when rendering resumed after a flush.  I need a little while to come up with a new time to reload the DLL, since having to restart foobar to change plugins is far from elegant.

[EDIT EDIT]:  If you press Alt -> F -> S at the Post Submission page, you submit your post.
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-21 23:18:57
Sorry I just got back but if you goto WinAMP.com and download a visualization called Polar Eyes, and install it properly, it won't show up at all in foobar and you get the follwoing error:

Quote
ERROR (foo_vis_bacon) : Couldn't load DLL


Also you will find that a combo box doesn't appear that lets you specify which plug-in you want to use...All the config page is gives an error telling you that you need some WinAMP plug-ins!
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-21 23:40:47
Thanks, I'll look at that Polar Eyes plugin.

However, I really need to know the exact path of the directory where you're putting your Winamp plugin and your foobar2000 components directory.  Here's an example taken from my system:

Plugins for foo_vis_bacon -  G:\Program Files\foobar2000\bacon
foobar2000 components -  G:\Program Files\foobar2000\components

Could you do that for me?
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-22 00:09:42
C:\Program Files\Audio Software\foobar2000\components
C:\Program Files\Audio Software\foobar2000\bacon

Are the two I use...
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-22 01:32:06
bleh actually it started working now, I can now select the right plug-in to use, honestly I don't know what it was...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-22 01:40:13
Neither do I.  Let me know if it starts happening again.  I'll do some experimenting on my end and see what I can do.  I still haven't quite fixed the seeking, though.  Seeking twice really quickly causes problems for some reason.
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-22 02:05:26
Keep up the good work...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-22 02:16:37
Thanks, I guess...

Still trying to figure out why I get weirdness if I seek twice really fast.

Figured it out.  I'm an idiot.  Again.
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-22 04:15:20
Looks like I'm too late to test your plugin, but I hope things are coming along nicely.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-22 06:24:50
Okay, I fixed the bug that was causing problems with seeking or song-switching and, after a much longer period of time, fixed the bug caused by my fix.  As a result, I'm going to go against conventional wisdom and post a build made after 1:00 in the morning.

Notes (http://potatoriffic.f2g.net/foo_vis_blarg.txt).  Read them.
Binary (http://potatoriffic.f2g.net/foo_vis_bacon.zip).  Put it in your foobar2000 components dir.
Source (http://potatoriffic.f2g.net/foo_vis_bacon_src.zip).  It probably won't build for anyone else because compilers are spiteful creatures.


I really hope I got the crashing out this time.  I really do.
Title: Winamp-VIS-plugs in foobar
Post by: helzerr on 2004-02-22 07:10:24
What else can I possibly say but...

Simply Awesome!  Thank you SO much.
Title: Winamp-VIS-plugs in foobar
Post by: rectangle on 2004-02-22 10:37:00
WOW!
Title: Winamp-VIS-plugs in foobar
Post by: ssamadhi97 on 2004-02-22 10:37:37
Quote
[EDIT]:  I fixed the seeking bug, but it'll be a little while before I repost the fixed build because I didn't realize foobar flushed all of the visualization plugins on seeks and I used to load the Winamp plugin DLL when rendering resumed after a flush.  I need a little while to come up with a new time to reload the DLL, since having to restart foobar to change plugins is far from elegant.

You could try an approach similar to vis_simple_spectrum - it stays alive for 2 seconds after flushing and only closes itself if playback doesn't start again within this time.

(link: simple_spectrum source (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/vis/foo_vis_simple_spectrum-0.1-src.zip))
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-22 11:01:51
Good job!  It's been a while since I've been able to use Milkdrop.
Title: Winamp-VIS-plugs in foobar
Post by: kalmark on 2004-02-22 11:15:29
AWESOME  Nice job!
Title: Winamp-VIS-plugs in foobar
Post by: PoisonDan on 2004-02-22 13:45:47
Looks great!

Do you have any idea of when you'll get the songtitles working ?

I've been waiting for a foobar2000 visualization plugin with songtitle support for quite a while now (hint (http://www.hydrogenaudio.org/forums/index.php?showtopic=14046&view=findpost&p=143758))...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-22 16:16:28
Quote
You could try an approach similar to vis_simple_spectrum - it stays alive for 2 seconds after flushing and only closes itself if playback doesn't start again within this time.

(link: simple_spectrum source (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/vis/foo_vis_simple_spectrum-0.1-src.zip))

Thanks, I'll look into doing that.
Quote
Do you have any idea of when you'll get the songtitles working ?

Not at the moment.  I have to decide between adding song titles, doing some cleaning-up of the code, doing my homework, and staring at pretty swirling colors (really hard to avoid doing this last one), so it may be a while before anything gets done.

Finally, I'd like to say thank you to hartwork for posting this topic and convincing me to fix my old code.
Title: Winamp-VIS-plugs in foobar
Post by: Gul on 2004-02-22 16:47:34
why wont my milkdrop move?? 
The window opens fine, but the vis doesn't move at all...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-22 17:04:53
Hmm, that's probably a bug.

1) Do you see anything at all in the visualization window?  Like, does it draw something and then freeze like that, or does it never render anything at all?
2) Can you drag the MilkDrop window around?
Title: Winamp-VIS-plugs in foobar
Post by: Gul on 2004-02-22 17:31:59
It shows up fine, with the demiwindow text and all. Sometimes i see a small part of the vis (not really moving, just some static patterns) in the lower left corner of the window. Dragging the window works fine too.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-22 17:58:51
It sounds like, for some reason, Milkdrop's not getting any data :/.  I guess you should try playing with Milkdrop's configuration and perhaps changing the preset by hitting 'h' or the Spacebar, but I'm not sure what's happening.  If messing with the settings doesn't do anything, things are going to get interesting because I can't reproduce the bug on my machine and it's probably going to take a lot of console-flooding debug builds to pinpoint what's causing the problem on yours.

I implemented the bridge to foo_winamp_spam as per hartwork's idea, but I'm holding off on a release until I figure out what WM_WA_IPC message number 611 is.  Milkdrop sends it every time it runs, but then doesn't bother to send any title-getting messages afterward because I don't handle the first message.  I wonder what's going on :/.

[EDIT]:  Well, I found out what's up with that message.  Apparently, if you want the REAL Winamp SDK, you have to do a forum search, since I don't see any Winamp 5.02 SDK on the NSDN pages.
Title: Winamp-VIS-plugs in foobar
Post by: Gul on 2004-02-22 18:48:54
After playing around for a while, this is all i get (http://gul.frac.dk/foodrop.png), and it seems to respond less and less, and stop responding at all after 10 secs or so.
Title: Winamp-VIS-plugs in foobar
Post by: Smiff on 2004-02-22 18:59:58
downloaded your bacon plugin, put in components dir, downloaded milkdrop, (had to install it for winamp, grr), copied milk .dll to /bacon, started foobar, turn it on, found it needed some presets, copied them, it worked! 1st time. i was surprised.

is it syncing properly w/ the music? (i've no reason to believe it's not, just asking cos i can never see these things well).
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-22 19:14:45
@Gul:
Wow, that's really weird...  I have no idea what's going on.  I've never seen that happen before.

I guess all I can do now is see if I can duplicate your setup as much as possible.
So, here's a list of stuff I was able to come up with off the top of my head that might have anything at all to do with what's going on:

A)  What version of Windows are you running?
B)  What version of Milkdrop do you have?
C)
1.  Did Winamp ever do this to you?
2.  Did you copy vis_milk.dll, the Milkdrop directory, and vms_desktop.dll into the Bacon folder?  You need the Milkdrop dir to get the presets... though it looks like you did, since the Milkdrop visualization without presets doesn't look like what you have there.
D)
1.  Have you tried playing a variety of music, especially music with really obvious changes in dynamics (see my response to Smiff, below) ?
2.  Have you tried disabling ReplayGain?  I wonder if Milkdrop expects a lot of full-tilt, compressed dynamics :|.
E)  Have you tried wearing a hat?  It shouldn't do anything, but it can't hurt.


@Smiff:
It syncs tolerably well.  It probably could be better, but then I've never been good at seeing this myself.  The effect is more obvious if you have a song with loud transient hits surrounded by silence because then you can just see if the visualization response syncs with the loud noise.
Title: Winamp-VIS-plugs in foobar
Post by: fatalfuj on 2004-02-22 19:28:41
I have a copy of Winamp installed just for visuals.  I regularly convert all my playlists over to .m3u just for this reason.  Now, Winamp is practically useless for me. 

A HUGE thank you.  Great work, keep it up!
Title: Winamp-VIS-plugs in foobar
Post by: Gul on 2004-02-22 19:29:45
Quote
A) What version of Windows are you running?
XP, SP1
Quote
B) What version of Milkdrop do you have?
1.04b
Quote
C) 1. Did Winamp ever do this to you?
I never really used winamp (used sonique since day one), but a few quick tests show up fine in winamp, and nothing like the bacon results.
Quote
C) 2. Did you copy vis_milk.dll, the Milkdrop directory, and vms_desktop.dll into the Bacon folder?
Yup. Copied it all into the right places, and named the folders the exact way explained in the notes
Quote
E) Have you tried wearing a hat? It shouldn't do anything, but it can't hurt.
Actually, i wore one all the time. Removing it now for further testing, will get back to you with results. Sorry for being the one to bring on the most pita bug 

(spelling edited)
Title: Winamp-VIS-plugs in foobar
Post by: seanyseansean on 2004-02-22 20:04:12
I just installed Winamp 5 to get Milkdrop, did the necessary fannying around and... BINGO! Milkdrop in Foobar. Marvellous.

Good work there that man
Title: Winamp-VIS-plugs in foobar
Post by: kalmark on 2004-02-22 21:28:15
Bugreport:

Started MilkDrop in desktop mode, then changed to full-screen, and then to windowed mode, and I got a small foo_vis_bacon_demiwindow. All files I need are in their place, I use WinXP SP1 and Milkdrop 1.04b.

Screenshot:here (http://www.freeweb.hu/kalmark/baconbug.jpg)

Nice plugin, was 'bout time someone made this
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-22 21:28:39
@Gul:
Let's see if there's anything in your set up that's radically different from mine...

Quote
XP, SP1

Damn.
Quote
1.04b

Damn.
Quote
Actually, i wore one all the time.

Damn.... well, actually, I don't normally wear a hat, but my headphones are big enough to qualify.
Quote
Sorry for being the one to bring on the most pita bug

No, I don't mind.  If there's a bug, I need to fix it, so you're being a big help here.

I'll see about getting some debug builds made, I guess.

@kalmark:
Yeah, I've seen that happen.  I think Milkdrop may be trying to bring up that window, which isn't ever supposed to be shown... I noticed some example code in the Winamp 5.02 SDK that does that.  Thanks for reminding me of it, though.
Title: Winamp-VIS-plugs in foobar
Post by: Gul on 2004-02-22 22:02:49
debugged: foo_bacon is not foo_scroll compatible.. sorry, for being a dumbass and not doing a completely fresh install of foobar. Only deleted my cfg the first time.

btw. really cool plugin now
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-22 22:27:22
Quote
debugged: foo_bacon is not foo_scroll compatible..

That's interesting.  I downloaded foo_scroll just to test this and I haven't had any trouble with it, though I also haven't quite figured out what foo_scroll is for :|.  Oh, well, glad it works now .

As for the window popping up, I'm still now sure how stop it from happening if the plugin tries to raise it, but you can work around this by going into the Milkdrop settings and unchecking, "Minimize Winamp when going fullscreen."  That should keep Milkdrop from trying to restore the window when it returns from fullscreen mode.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-23 06:19:23
I touched it up a bit. Here's the binary (http://www.cqasys.com/projects/kode54/foo_vis_bacon.zip) and the source (http://www.cqasys.com/projects/kode54/foo_vis_bacon_source.zip).

@bleh: It may or may not be a good idea to have that synchronization around the sample/spectrum update/copy code. Also, I don't know if visualization updates always receive an uninterrupted stream of samples, or if they may have gaps, so feel free to move the sample synchronization out of the sample pushing loop. :B

Hmm... Maybe it would be better to just synchronize around the whole block, otherwise the vis thread might get non-matching sample/spectrum data. Oh well, whatever.
Title: Winamp-VIS-plugs in foobar
Post by: Gnerma on 2004-02-23 08:02:50
Quote
I touched it up a bit.

Wow kode, 97kb smaller thx.

I also get the little secondary demi_window coming out of fullscreen everytime with bleh's second build and kode's build.
Title: Winamp-VIS-plugs in foobar
Post by: sdbarker on 2004-02-23 09:20:58
For some reason, the vis plugin (http://redrubberball.net/software/?p=startle) that I wrote doesn't show up in the bacon list, but works fine in Winamp.  Ideas?

-Scott
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-23 09:57:42
I have updated the binary (http://www.cqasys.com/projects/kode54/foo_vis_bacon.zip) and the source (http://www.cqasys.com/projects/kode54/foo_vis_bacon_source.zip) again.

Quote
For some reason, the vis plugin (http://redrubberball.net/software/?p=startle) that I wrote doesn't show up in the bacon list, but works fine in Winamp.  Ideas?

-Scott


It uses a different visualization SDK version. If you post your VIS.H, bleh or I will try to add support for it.
Title: Winamp-VIS-plugs in foobar
Post by: Gnerma on 2004-02-23 10:44:09
Title: Winamp-VIS-plugs in foobar
Post by: Smiff on 2004-02-23 11:07:52
kode54 IS God lol. no seriously.

edit: i should put something useful here. ok, maybe it can just be made easier to set up for newbiews, a bit of an installer type thing.. perhaps find milkdrop & copy from winamp folder? get permission to install milkdrop?
Title: Winamp-VIS-plugs in foobar
Post by: RedSaint on 2004-02-23 11:31:38
Hm, this project is still an emulator for winamp vis plugins right? If so, shouldn't other plugins than Milkdrop be tested?
Currently i'm at work, so there may be parts left out in this description. I tried the other default plugin for winamp in bacon, and as much as I tried to set new settings it wouldn't remember 'em. The plugin was called Voice Print something something. If you could investigate this, it might help the emulation of other plugins.
Again I'd like to say that this is a great project, especially since it'll help many ppl convert to a better way of playing music. At least I think foobar is more efficient than Winamp --
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-23 11:47:39
Awesome work by both kode54 and bleh, keep it up! The visualization definitely seems way more responsive now!

All that is needed now is, some type of configuration on where the plug-ins are located....
Title: Winamp-VIS-plugs in foobar
Post by: nIRV on 2004-02-23 12:09:37
try to load avs (coming from a wa2.9 or + version) ... you will get an msgbox error and the plugin will fail to load because it doesnt find wa ... thats find for me since I think this version of avs uses some generic window skinning api blabla

but the msgbox keeps popping out again (I think it maybe due to the way foobar handles visualisation). A tweak to stop this msgbox flooding would be nice for any basic user wanting to migrate ...

also it would be nice to find a tweak so the visualisation window wouldnt close and open when the outputed stream restarts or stop ... I know this depends on the way vis is handled within the fb2k core too... dunno I guess you either a) find a good solution or b) ask Peter to change its code .... a nice generalVisStartup(...) coupled with a streamOpenNotification and streamStopNoficiation instead of init and kill everytime a stream start and stop would be better imo (anyway I'm sure Peter wants to have feedbacks from the fiew vis (or vis wrapper) programmers out there)

nice work though, filling another small hole of fb2k
nIRV
Title: Winamp-VIS-plugs in foobar
Post by: anza on 2004-02-23 13:19:17
Could you make the directory where the plugin searches vis plugins user definable like in foo_looks?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-23 15:43:13
Thanks, kode54.  Nice to have someone more experienced working on this.

@nIRV:
Yes, the AVS thing not stopping is a bug.  I noticed it yesterday and had it fixed, but then didn't bother posting the fixed build for some reason.  AVS still won't work, but it'll only let you know once then.  As for the window closing and opening, ssamadhi97 posted a possible solution to that earlier that I haven't yet gotten to looking into... the weekend's over so I'm going to be busier, but I'd like to get rid of the repeated window recloses, too, if possible.


@anza & Skates:
I was planning on doing this at some point, but I haven't gotten around to it.  It should be done soon-ish.


@RedSaint:
I've tested a few other plugins and all of them work fine except for AVS.  Milkdrop keeps coming up because it's the one people use the most .


@Gnerma:
kode's build is so much smaller because I'm using Visual Studio .NET 2003 and I'm statically linking the C runtime library into the DLL instead of handing out MSVCR71.DLL to everyone... though maybe I should be doing that :/.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-23 16:17:15
Updated again, links for simplicity. [binary (http://www.cqasys.com/projects/kode54/foo_vis_bacon.zip)] [source (http://www.cqasys.com/projects/kode54/foo_vis_bacon_source.zip)]

Quote
try to load avs (coming from a wa2.9 or + version) ... you will get an msgbox error and the plugin will fail to load because it doesnt find wa ... thats find for me since I think this version of avs uses some generic window skinning api blabla

It seems AVS expects IPC_GETVERSION message to return 0x2900 or greater. I changed this to 0x2950, and then 0x2900, but it fails to create its main window. It appears to need three undocumented API messages.

Quote
but the msgbox keeps popping out again (I think it maybe due to the way foobar handles visualisation). A tweak to stop this msgbox flooding would be nice for any basic user wanting to migrate ...

Corrected. Now it will shut down if it failed to initialize the visualization module.

Quote
also it would be nice to find a tweak so the visualisation window wouldnt close and open when the outputed stream restarts or stop ... I know this depends on the way vis is handled within the fb2k core too... dunno I guess you either a) find a good solution or b) ask Peter to change its code .... a nice generalVisStartup(...) coupled with a streamOpenNotification and streamStopNoficiation instead of init and kill everytime a stream start and stop would be better imo (anyway I'm sure Peter wants to have feedbacks from the fiew vis (or vis wrapper) programmers out there)

Simple spectrum already does this. I may do this next, unless bleh beats me to it. :B

Quote
Could you make the directory where the plugin searches vis plugins user definable like in foo_looks?

Done.
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-23 16:19:17
kode54, your build gives me "ERROR (foo_vis_bacon) : Unable to start thread, error 22". i'm running win98se.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-23 16:24:01
Gah, I just got done going over the changes you made in your last zip file.

I'm not going to be getting much done on this in the next few days because I have to do all the homework I put off from doing this over the weekend.  Hooray for 17-credit schedules.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-23 17:35:28
Updated again. minus0.9 for all. [binary (http://www.cqasys.com/projects/kode54/foo_vis_bacon.zip)] [source (http://www.cqasys.com/projects/kode54/foo_vis_bacon_source.zip)]

Changed to use CreateThread instead of _beginthreadex. That's not the problem... More likely, it was the fact that the thread ID pointer parameter was NULL. NT is OK with that, but 9x is not.

Anyway... Thank you, bleh, for having the patience to do what I and so many others could not.
Title: Winamp-VIS-plugs in foobar
Post by: silent on 2004-02-23 17:41:35
Since 0.9, the "acidspunk" vis doesn't work anymore with baconwrap! All the previous versions of this amazing plug-in showed the acidspunk vis but now it is gone in the baconwrap options, very strange...  Any ideas? 

Edit: Ahhh! I found the solution myself! It seems that since 0.9 the plug-in .dlls must have the prefix "vis_..." or they're not loaded    Renaming "acidspunk2.dll" to "vis_acidspunk2.dll" worked.

Again thanks for that funky plug! 
Title: Winamp-VIS-plugs in foobar
Post by: Smiff on 2004-02-23 17:55:08
sir Kode, I dub thee "plugin snatcher*" for merciless taking over (and improvement of) other people's plugins 

*plugin stealer? taker-over-er? anyone got a better name?

I'll have to go try some more winamp plugins, it's been so long since i've used any. I once (many years ago hehe) put Geiss on the ceiling at a school dance  'twas kewl. Geiss2 (which i didn't know existed) works with bacon btw. this is all very cool.

there seems to be some oddity changing plugins - even when i changed from milkdrop to geiss it wanted to keep starting milk for a while - ? i think pressing save all on the config fixed it.

stutter reminds me, any chance of a priority option, or is that a silly idea?
Title: Winamp-VIS-plugs in foobar
Post by: Thikasabrik on 2004-02-23 18:47:48
Whitecap works. Except... foobar crashes if you visit the bacon prefs page while it's going.

Code: [Select]
Illegal operation:
Code: C0000005h, flags: 00000000h, address: 031A3B97h
Access violation, operation: read, address: 534B0001h
Call path:

This is the first crash logged by this instance.
Code bytes (031A3B97h):
031A3B57h:  00 EB D6 90 90 90 90 90 90 C7 41 08 00 00 00 00
031A3B67h:  83 EC 04 8B 44 24 08 89 04 24 E8 3A FE FF FF C2
031A3B77h:  04 00 90 90 90 90 90 90 90 8B 54 24 04 C7 41 08
031A3B87h:  00 00 00 00 83 79 04 00 75 1F 31 C0 85 D2 74 30
031A3B97h:  80 3A 00 74 1C 8D 44 20 00 40 80 3C 02 00 75 F9
031A3BA7h:  EB 0F 8D 84 20 00 00 00 00 8B 41 0C C6 00 00 EB
031A3BB7h:  D9 83 EC 08 89 44 24 04 89 14 24 E8 D9 FC FF FF
031A3BC7h:  C2 04 00 90 90 90 90 90 90 53 55 89 CD 8B 5C 24
Stack (039AFEE8h):
039AFEC8h:  E2B2C5A0 E2BA6598 00000000 F59EDD64
039AFED8h:  BF875579 BC681800 00000246 804FB007
039AFEE8h:  031C8308 534B0001 031D6180 00000000
039AFEF8h:  00000000 031D6108 031D6180 00000000
039AFF08h:  00000000 031D6108 031D6180 00000000
039AFF18h:  00000000 031D6108 031D7B40 031C8531
039AFF28h:  00000263 039AFFB4 00CE6674 00000240
039AFF38h:  00000000 00CE270B 031D7B40 0012F67C
039AFF48h:  0000004E 00000000 00000000 00CE2773
039AFF58h:  00000000 00000000 00CE0000 00000000
039AFF68h:  00000000 00000000 00000000 00CE51A4
039AFF78h:  00040290 0000000F 00000000 00000000
039AFF88h:  000BA334 000002A5 000000BE 00CE5128
039AFF98h:  02FAFD38 00000031 00000031 00000000
039AFFA8h:  00000020 0089B800 00F5BFF4 039AFFEC
039AFFB8h:  77E7D33B 00000000 0012F67C 0000004E
039AFFC8h:  00000000 C0000005 7FFDA000 039AFFC0
039AFFD8h:  039AFB10 FFFFFFFF 77E94809 77E83DB8
039AFFE8h:  00000000 00000000 00000000 00CE2491
039AFFF8h:  00000000 00000000 00000000 00000000
Registers:
EAX: 00000000, EBX: 031D7B40, ECX: 039AFEF0, EDX: 534B0001
ESI: 000BA999, EDI: 000BA999, EBP: 000BA92A, ESP: 039AFEE8
Crash location: "VIS_WhiteCap", loaded at 031A0000h - 031E3000h

Loaded modules:
foobar2000                       loaded at 00400000h - 00451000h
ntdll                            loaded at 77F50000h - 77FF7000h
kernel32                         loaded at 77E60000h - 77F46000h
USER32                           loaded at 77D40000h - 77DCC000h
GDI32                            loaded at 77C70000h - 77CB0000h
ADVAPI32                         loaded at 77DD0000h - 77E5D000h
RPCRT4                           loaded at 78000000h - 78086000h
ole32                            loaded at 771B0000h - 772D1000h
COMCTL32                         loaded at 71950000h - 71A34000h
msvcrt                           loaded at 77C10000h - 77C63000h
SHLWAPI                          loaded at 70A70000h - 70AD5000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                         loaded at 763B0000h - 763F5000h
SHELL32                          loaded at 773D0000h - 77BC2000h
foo_abx                          loaded at 008D0000h - 008DA000h
foo_ac3                          loaded at 008E0000h - 008F0000h
foo_ape                          loaded at 008F0000h - 0090F000h
foo_cdda                         loaded at 00910000h - 0091E000h
foo_clienc                       loaded at 00920000h - 00934000h
foo_console                      loaded at 00940000h - 00948000h
foo_diskwriter                   loaded at 00950000h - 0095E000h
foo_dsp_crossfeed                loaded at 00960000h - 00966000h
foo_dsp_extra                    loaded at 00970000h - 00985000h
foo_dynamics                     loaded at 00990000h - 00997000h
foo_faac                         loaded at 009A0000h - 009D3000h
foo_flac                         loaded at 009E0000h - 009F6000h
foo_flaccer                      loaded at 00A00000h - 00A16000h
foo_input_std                    loaded at 00A20000h - 00AB9000h
MSACM32                          loaded at 77BE0000h - 77BF4000h
WINMM                            loaded at 76B40000h - 76B6C000h
foo_masstag                      loaded at 00B40000h - 00B50000h
foo_matroska                     loaded at 00B50000h - 00B8F000h
MSVCP60                          loaded at 55900000h - 55961000h
foo_monkey                       loaded at 00B90000h - 00BAE000h
foo_mpeg4u                       loaded at 00BB0000h - 00BD9000h
foo_nez                          loaded at 00BE0000h - 00C0C000h
foo_output_std                   loaded at 00C10000h - 00C19000h
foo_out_dsound_ex                loaded at 00C20000h - 00C29000h
DSOUND                           loaded at 51080000h - 510D6000h
VERSION                          loaded at 77C00000h - 77C07000h
foo_out_ks                       loaded at 00C40000h - 00C4B000h
SETUPAPI                         loaded at 76670000h - 76757000h
foo_read_http                    loaded at 00C50000h - 00C59000h
WS2_32                           loaded at 71AB0000h - 71AC4000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_rgscan                       loaded at 00C60000h - 00C6B000h
foo_shuffle                      loaded at 00C70000h - 00C7D000h
foo_speex                        loaded at 00C80000h - 00C98000h
foo_toolame                      loaded at 00CA0000h - 00CB3000h
foo_ui_std                       loaded at 00CC0000h - 00CD7000h
foo_vis_bacon                    loaded at 00CE0000h - 00CE9000h
foo_vis_bubbla                   loaded at 00CF0000h - 00D04000h
OPENGL32                         loaded at 5ED00000h - 5EDC6000h
GLU32                            loaded at 68B20000h - 68B3E000h
DDRAW                            loaded at 51000000h - 51047000h
DCIMAN32                         loaded at 73BC0000h - 73BC6000h
foo_vis_manager                  loaded at 02CE0000h - 02CE8000h
foo_vis_simple_spectrum          loaded at 02CF0000h - 02CFA000h
foo_vis_vu_meter                 loaded at 02D00000h - 02D08000h
foo_vorbisenc                    loaded at 02D10000h - 02E0A000h
foo_wavpack                      loaded at 02E10000h - 02E1B000h
foo_wma                          loaded at 02E20000h - 02E39000h
WMVCore                          loaded at 08530000h - 0872D000h
WMASF                            loaded at 07260000h - 07299000h
OLEAUT32                         loaded at 77120000h - 771AB000h
avgoerun                         loaded at 02F40000h - 02F4B000h
UxTheme                          loaded at 5AD70000h - 5ADA4000h
wdmaud                           loaded at 72D20000h - 72D29000h
msacm32                          loaded at 72D10000h - 72D18000h
midimap                          loaded at 77BD0000h - 77BD7000h
vis_geiss2                       loaded at 03510000h - 03569000h
DevIL                            loaded at 03C60000h - 03DD3000h
ILU                              loaded at 03DE0000h - 03DF3000h
WININET                          loaded at 63000000h - 63096000h
CRYPT32                          loaded at 762C0000h - 76348000h
MSASN1                           loaded at 762A0000h - 762B0000h
vis_milk                         loaded at 03EA0000h - 04088000h
d3d8                             loaded at 03670000h - 03793000h
d3d8thk                          loaded at 037A0000h - 037A6000h
VIS_WhiteCap                     loaded at 031A0000h - 031E3000h
imagehlp                         loaded at 76C90000h - 76CB2000h
DBGHELP                          loaded at 6D510000h - 6D58D000h

Stack dump analysis:
Address: 031C8308h, location: "VIS_WhiteCap", loaded at 031A0000h - 031E3000h
Symbol: "winampVisGetHeader" (+00000468h)
Address: 031D6180h, location: "VIS_WhiteCap", loaded at 031A0000h - 031E3000h
Address: 031D6180h, location: "VIS_WhiteCap", loaded at 031A0000h - 031E3000h
Address: 031D6180h, location: "VIS_WhiteCap", loaded at 031A0000h - 031E3000h
Address: 031D7B40h, location: "VIS_WhiteCap", loaded at 031A0000h - 031E3000h
Address: 031C8531h, location: "VIS_WhiteCap", loaded at 031A0000h - 031E3000h
Symbol: "winampVisGetHeader" (+00000691h)
Address: 00CE6674h, location: "foo_vis_bacon", loaded at 00CE0000h - 00CE9000h
Address: 00CE270Bh, location: "foo_vis_bacon", loaded at 00CE0000h - 00CE9000h
Address: 031D7B40h, location: "VIS_WhiteCap", loaded at 031A0000h - 031E3000h
Address: 00CE2773h, location: "foo_vis_bacon", loaded at 00CE0000h - 00CE9000h
Address: 00CE0000h, location: "foo_vis_bacon", loaded at 00CE0000h - 00CE9000h
Address: 00CE51A4h, location: "foo_vis_bacon", loaded at 00CE0000h - 00CE9000h
Address: 00CE5128h, location: "foo_vis_bacon", loaded at 00CE0000h - 00CE9000h
Address: 77E7D33Bh, location: "kernel32", loaded at 77E60000h - 77F46000h
Symbol: "RegisterWaitForInputIdle" (+00000043h)
Address: 77E94809h, location: "kernel32", loaded at 77E60000h - 77F46000h
Symbol: "SetThreadExecutionState" (+00000097h)
Address: 77E83DB8h, location: "kernel32", loaded at 77E60000h - 77F46000h
Symbol: "OpenConsoleW" (+00001966h)
Address: 00CE2491h, location: "foo_vis_bacon", loaded at 00CE0000h - 00CE9000h

Version info:
foobar2000 v0.8 beta 10
UNICODE
Title: Winamp-VIS-plugs in foobar
Post by: ep0ch on 2004-02-23 18:57:55
Quote
Could you make the directory where the plugin searches vis plugins user definable like in foo_looks?


Can someone confirm that this works? The bacon plugin will find Milkdrop, but milkdrop won't start...

I've tried several directories:

./components/Winamp Plugins
./components/bacon
./Winamp Plugins
./WinampPlugins

none of em worked except for:
./bacon

Maybe i just need a clean install...
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-23 19:36:23
Uploaded minus0.8. [binary (http://www.cqasys.com/projects/kode54/foo_vis_bacon.zip)] [source (http://www.cqasys.com/projects/kode54/foo_vis_bacon_source.zip)]

Whitecap running + config problem should be fixed, as well as any other possible conflicts from opening configuration while vis is running. I hope.

It will also default to Winamp Plugins directory, if it's installed.

Also, that vis_*.dll change in minus0.9 was because I discovered an annoying delay the first time I loaded the configuration when it was pointed at a fully-laden Winamp plugins directory. Maybe I should make this configurable.
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-23 19:56:27
Very nice work Bleh and Kode54.  The only problem I have is custom text does not work when I press "Y".
Title: Winamp-VIS-plugs in foobar
Post by: ep0ch on 2004-02-23 20:10:24
No matter what directory I change the Bacon vis dir to, foo_vis_bacon always seems to want vis_milk.dll to be in ./foobar2000/bacon/ (along with its Milkdrop dir).

To replicate:
Delete ./foobar2000/bacon and install Milkdrop somewhere else like ./foobar2000/Winamp Plugins.  Then change the vis directory to where you installed it. See if Milkdrop works...
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-23 20:14:37
the spectrum data sent by bacon is kinda strange (see screenshot).

the plugin used on the screenshot is my fixed version of nullsoft's vis_minisdk.
(original version wrote negative window positions to the ini...)
source and binary can be downloaded HERE (http://www.hartwork.org/cgi-bin/download.cgi?file=alphashit/vis_miniskd_FIXED.zip).

(http://www.hartwork.org/alphashit/spectrumshot.gif)
Title: Winamp-VIS-plugs in foobar
Post by: Thikasabrik on 2004-02-23 20:16:50
Latest version: Configure button doesn't work after plugin has run once (using winamp plugins dir, not \bacon\. But, on the bright side, the whitecap prefs bug is fixed. 
Title: Winamp-VIS-plugs in foobar
Post by: Thikasabrik on 2004-02-23 20:19:54
@hartwork

This fits the slightly strange looking behaviour of whitecap - I thought I must be imagining things, but the spectrum seemed to sink where it should rise.

edit: also, the plugin binary you supply still seems to be kinda broken. It works once, but then it appears those window placement settings get screwed (removing ini data fixes it, temporarily).

edit2: and the spectrum just looks magnified in fb2k to me.
Title: Winamp-VIS-plugs in foobar
Post by: Smiff on 2004-02-23 20:36:27
i have a feeling there's going to be all kinds of quirks as a result of this plugin (no-one's fault, just a result of adding another layer between the player and plugin where the plugin authors don't expect it). this could need constant maintenance and be a lot of work  you might have opened a real can 'o' worms. not to put a damper on things
Title: Winamp-VIS-plugs in foobar
Post by: jarsonic on 2004-02-23 20:41:54
Kode -

Can you add an option where the plugin would be able to, say, disable OSD (to prevent flickering) through a checkbox in the config?  That would be sweet 

- `jars
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-23 20:43:15
Quote
edit: also, the plugin binary you supply still seems to be kinda broken. It works once, but then it appears those window placement settings get screwed (removing ini data fixes it, temporarily).

shit, i'm stupid: i changed "%d" to "%i" instead of "%u"...
should work now if not write again

same link as before: vis_miniskd_FIXED.zip (http://www.hartwork.org/cgi-bin/download.cgi?file=alphashit/vis_miniskd_FIXED.zip).

thanx, thikasabrik!
Title: Winamp-VIS-plugs in foobar
Post by: Thikasabrik on 2004-02-23 21:08:21
Well, it isn't working I'm afraid, but it may be a isp caching issue with that download. What should the modification time on the dll be?

edit: forgot to mention, it doesn't work with the binary stamped at 23/02/2004 21:35
Title: Winamp-VIS-plugs in foobar
Post by: spase on 2004-02-23 21:33:18
seems to be cut off mid spectrum. (or maybe overly amplified).

If you set the foobar volume to -25.50 db it fits in the little part of the spectrum that isnt cut off, but it makes other vis things barely respond (incl. milkdrop).
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-23 21:37:46
@thikasabrik
i really don't know where these big numbers come from...
i included a could-one-see-the-whole-window-check which should erase those big number. worst case should now be a forgotten position...

latest dll should be 22:24.
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-23 21:42:21
Quote
Latest version: Configure button doesn't work after plugin has run once (using winamp plugins dir, not \bacon\. But, on the bright side, the whitecap prefs bug is fixed. 

Confirmed, using \bacon directory. 
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-23 21:43:39
I'm not going to have time to do everything I want to do before I try releasing another build (wait until next weekend, probably :|), but here are some notes for kode54 in case he does have time:

1)  Clipping the data as it's converted from float to char works great with the sample data, but terribly with the spectrum data (I really don't know why it seemed to work earlier when it wasn't being clipped... maybe I just wasn't really testing it).  Use a separate function for the two of them and try multiplying the spectrum data by something a lot lower (like 8 or something... I'm not quite sure how the spectrum data from foobar is calculated).  Also, spectrum data is always positive.

2)  AVS does NOT use undocumented API calls.  If you search around the Winamp forums, you'll find an SDK for Winamp 5.02 that explains all of those calls.

@powder:
Have you tried going into the Milkdrop configuration menu, switching over to the, "more options," tab, and changing the delays there to something non-negative?


The reason the plugins aren't working after running once is that, because of the seeking issue, plugins don't get reloaded until you switch to a different one in the config dialog and restart the visualization.  ...I'm sorry I don't have time to fix that right now .
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-23 22:49:56
@thikasabrik
hopefully last update to vis_miniskd_FIXED.zip (http://www.hartwork.org/cgi-bin/download.cgi?file=alphashit/vis_miniskd_FIXED.zip):

the problem was GetWindowRect fails first time.
this fills the rect with strange values.
and if one does not move the window in runtime
this wrong number is also writting to the ini.

dll time is 23:44
Title: Winamp-VIS-plugs in foobar
Post by: RedSaint on 2004-02-23 22:54:21
You've done one heck of a job here.
Whenever i'm in fullscreen mode with my Milkdrop, and I use global keys to change song, it does something (a flush?), that makes Milkdrop drop back to winwed mode. I don't know if it's much to ask but is it possible to not go back to windowed mode while in full screen mode? Btw. it works fine if I go to the end of a song, go to full screen and let it automatically change to next song, be it random, default or whatevah. But nice job, keep it going.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-23 23:24:50
Yeah, the plugin gets flushed whenever you manually change a song.  Until the timer thing that's been talked about is implemented, you'll have to work around this by configuring Milkdrop to default to whichever setting you prefer so it will start back up in fullscreen/windowed/desktop mode after the flush.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-24 00:03:25
Uploaded minus0.7. [binary (http://www.cqasys.com/projects/kode54/foo_vis_bacon.zip)] [source (http://www.cqasys.com/projects/kode54/foo_vis_bacon_source.zip)]

Quote
1)  Clipping the data as it's converted from float to char works great with the sample data, but terribly with the spectrum data (I really don't know why it seemed to work earlier when it wasn't being clipped... maybe I just wasn't really testing it).  Use a separate function for the two of them and try multiplying the spectrum data by something a lot lower (like 8 or something... I'm not quite sure how the spectrum data from foobar is calculated).  Also, spectrum data is always positive.

I borrowed some maths from foo_vis_test, it should look better now. Of course, it could use some proper interpolation... Maybe later.

Quote
2)  AVS does NOT use undocumented API calls.  If you search around the Winamp forums, you'll find an SDK for Winamp 5.02 that explains all of those calls.

You're right. It doesn't use undocumented API calls. It used IPC_GETINIFILE, which I was able to wrap... Of course, it also uses not-fully-documented complicated API calls. Namely, crap for it to stick its dialog into a window provided by the host application.

Maybe the impatient can dig around for a version of AVS which predates this annoying skinning feature.

Quote
The reason the plugins aren't working after running once is that, because of the seeking issue, plugins don't get reloaded until you switch to a different one in the config dialog and restart the visualization.  ...I'm sorry I don't have time to fix that right now .

I may fix this later, along with wrapping the file navigation messages so, for example, zxcvb work in Milkdrop. It looks like the latter will be easier, though.

BAH. There still appear to be issues when loading configuration while a visualization is open. Pain in the ass...
Title: Winamp-VIS-plugs in foobar
Post by: sdbarker on 2004-02-24 00:35:21
http://www.redrubberball.net/tmp/vis.h (http://www.redrubberball.net/tmp/vis.h)

Thanks, guys!  If you can't do this, just let me know, and I'll just update my build.

-Scott
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-24 00:44:54
Heh, it's kind of funny that your header version changed as the file is identical to the version 0x101 vis.h.  Just out of curiosity, did you edit the VIS_HDRVER #define yourself?  You're not supposed to... though I guess it's possible that Nullsoft could have changed the version for no reason (sorry if I'm out of line with that question).

Depending on why the value is different, a build to allow it to work shouldn't be too hard, but I haven't been able to get any of kode54's recent source releases to compile with Visual Studio .NET 2003.  It flags cfg_basepath.reset() in config.cpp and says reset is not a member of cfg_string.
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-24 01:34:39
Quote
@powder:
Have you tried going into the Milkdrop configuration menu, switching over to the, "more options," tab, and changing the delays there to something non-negative?

Have some interesting report for you.

If "Time between random song title anims" is set to a positive number:

The title keeps displaying itself over and over again.

If "Time between random song title anims" is set to a negative number,
AND "Time between random custom messages" is set to a positive number:

Foobar2000 crashes.
Title: Winamp-VIS-plugs in foobar
Post by: nIRV on 2004-02-24 02:39:04
for the avs thing, any avs under 2.9 will work (not so sure but I think so) because they introduced the generic windows skinning apis in 2.9 (or 2.89 dunno)
Title: Winamp-VIS-plugs in foobar
Post by: ExUser on 2004-02-24 06:40:15
*patiently waits for someone to add AVS support*

Great work, guys!

My two gripes:

1. The spectrum information still clips (try vis_nsfs.dll in spectrum/oscilloscope mode for better evidence). A quick fix would be to "sigmoidally" adjust it something like this: X' = atan(X)*2/PI. It's atan, so that shouldn't be too computationally expensive.
2. Now people won't care to make foobar2000 native visualizations because they can just use Winamp's crufty old API.

Other than that, works great. After AVS is supported, Winamp is gone. Then I shall be ruled by the mighty duo of Media Player Classic and foobar2000. All hail our new media-playing overlords!
Title: Winamp-VIS-plugs in foobar
Post by: sdbarker on 2004-02-24 09:24:57
Quote
Heh, it's kind of funny that your header version changed as the file is identical to the version 0x101 vis.h.  Just out of curiosity, did you edit the VIS_HDRVER #define yourself?  You're not supposed to... though I guess it's possible that Nullsoft could have changed the version for no reason (sorry if I'm out of line with that question).

Depending on why the value is different, a build to allow it to work shouldn't be too hard, but I haven't been able to get any of kode54's recent source releases to compile with Visual Studio .NET 2003.  It flags cfg_basepath.reset() in config.cpp and says reset is not a member of cfg_string.

Nope, I didn't change it myself.

-Scott
Title: Winamp-VIS-plugs in foobar
Post by: spase on 2004-02-24 14:56:15
An option to disable screensaver would be good, although it probably belongs in the main visualization controls.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-24 20:14:36
Quote
If "Time between random song title anims" is set to a positive number:

The title keeps displaying itself over and over again.

Yes, that's what the random song title animations are for:  they display the title of the song over and over again every so often.

Quote
If "Time between random song title anims" is set to a negative number,
AND "Time between random custom messages" is set to a positive number:

Foobar2000 crashes.

The only way I was able to reproduce this was caused by very poor error handling in Milkdrop.  If Milkdrop is unable to find a properly formatted milk_msg.ini in the same directory as vis_milk.dll, it dies if you make the time between random custom messages positive.  To get around this, either copy milk_msg.ini from wherever you got vis_milk.dll or use the configuration option kode54 added to point foo_vis_bacon to the directory where all of this stuff came from (probably your Winamp plugins dir).  In fact, I'd like to recommend that everyone who plans on keeping Winamp installed just point foo_vis_bacon at their Winamp plugins dir because it eliminates any problems with not having all of the proper files copied into the bacon or ham or whatever dir.


Quote
Nope, I didn't change it myself.

Okay, then either I or kode54 (whoever gets the next build out... probably kode54 :/ ) could set it to allow plugins with your header version, since like I said, the file is completely identical aside from that #define.


Quote
*patiently waits for someone to add AVS support*

I'm close to getting it working in a hack-ish sort of way... "sort of... maybe... no".  Was AVS always this slow?  After seeing how it was looking in foobar, I opened up Winamp just to see and was amazed at how sluggish everything looked.


Quote
1. The spectrum information still clips (try vis_nsfs.dll in spectrum/oscilloscope mode for better evidence). A quick fix would be to "sigmoidally" adjust it something like this: X' = atan(X)*2/PI. It's atan, so that shouldn't be too computationally expensive.

Hmm... :/.  Part of the problem with this is that I don't actually know how foobar2000 calculates the spectrum data... kode54 might, but I'm not sure.  Maybe I should try a forum search sometime :/.

Quote
2. Now people won't care to make foobar2000 native visualizations because they can just use Winamp's crufty old API.

Well, they really weren't before this, either.  There were a few, but development of foobar visualizations just wasn't catching on.  That's part of why I made this... that and it seemed like a really good way to waste spare time (back when I had it.  I'm gonna go do my economics homework now...).
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-24 21:00:09
AVS v2.5.1, which is bundled with Winamp v2.81, works fine, sort of. In fact, it appears to work with the presets bundled with Winamp 5.

It does appear to have a problem with opening the configuration while it is running. Perhaps it would simply be better for plug-in configuration to be frozen while the visualization is running.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-24 21:36:05
boo.  I've gotten AVS from Winamp 5 to work; will post a build sometime tonight when I've had a chance to test it further, probably sometime after 11:00 or 12:00 (kinda busy).
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-24 21:52:28
Nice job. :B It's probably just as well, that way you can host it in a standard window, and the newer version might have some other improvements as well. Maybe we should set up a Sourceforge account or something. Heheheh.
Title: Winamp-VIS-plugs in foobar
Post by: mig on 2004-02-25 01:27:13
Before you upload that new build, could you add an option to keep the plug-in window on top?... somewhere in the config window maybe?... also a hotkey for it would be appreciated....
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-25 02:33:37
That's strange I just did a fresh install of Winamp 5.02 to get Milkdrop 1.04b and there is no milk_msg.ini in the Plugins directory!

Can I please borrow someone else's if it's not too much trouble?

Edit:  Also, I noticed that when I have Milkdrop running in a window, if I hover my mouse over the start menu or something similar on the task bar, Milkdrop slows down a lot.  But no big deal.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-25 03:43:24
Quote
Can I please borrow someone else's if it's not too much trouble?

I don't have that file either. How convenient of them to not include it, and assume in the documentation that you already have it. (Documentation says directions for editing it are in comments in the original file. How smart.)

Oh well, I guess you'll have to live without random messages for a while...

Quote
Edit:  Also, I noticed that when I have Milkdrop running in a window, if I hover my mouse over the start menu or something similar on the task bar, Milkdrop slows down a lot.  But no big deal.

Can't reproduce. Have you checked the actual frame rate? Also, what are your system specs? (Processor, main board chipset, video card, sound card... Hmm, maybe driver versions while you're at it... Just curiosity, I can't think of any other reason for wanting to know this. :B)
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-25 04:01:45
Quote
Can't reproduce. Have you checked the actual frame rate? Also, what are your system specs? (Processor, main board chipset, video card, sound card... Hmm, maybe driver versions while you're at it... Just curiosity, I can't think of any other reason for wanting to know this. :B)

I just tested it again to check framerates, and found the problem kicks in only when the tooltip appears.  Any tooltip that appears causes the framerate to slow to ~10 fps.  When the tooltip disappears the framerate jumps back up (I capped it at 60 fps).

Here are my specs:

P4C
Abit IC7 875P/ICH5R chipset
Radeon 9800 Pro, Omega Catalyst 4.2
Creative Labs Audigy 2, latest EAX 4.0 drivers

If I am the only one experiencing this I'll try rolling back my video drivers.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-25 05:10:33
This going to be an extremely buggy release, hence "minus 0.5 alpha."  I'm sorry. I'm just way too tired to figure out why Milkdrop occasionally barfs up an error message when returning from fullscreen or even something simple like how to get Windows to calculate the amoun of space taken up by the title bar and window borders for you (which is an issue).

Binary (http://potatoriffic.f2g.net/foo_vis_bacon-minus-0.5-alpha.zip)
Source (http://potatoriffic.f2g.net/foo_vis_bacon_src-minus-0.5-alpha.zip)

Current issue list:
- AVS windows (or any embeds) are technically too small because of the title bar issues I mentioned earlier.
- AVS version 2.6.0 will not work properly because I just noticed that it doesn't and I'm too tired to figure out how the games it plays differ from those of version 2.81b or whatever it is that came with Winamp 5.
- You cannot configure any plugins while visualization is running.  This is technically a feature.
- In addition to the above, if you open the foobar config window while visualization is running, then stop visualization, you need to select a different plugin, then select the original one to configure it.
- The Reset button for the path in the config dialog will not work in the binary.  Why?  The line that makes that work wouldn't compile for me in Visual Studio .NET 2003 (reset is not a member of cfg_string), so I commented it out :|.

New features:
- AVS version 2.81b works... kind of.
- A one-second timer has been implemented on flush like in foo_vis_simple_spectrum.  This means that if you stop playback, the window will hang open for a second, but if you change songs or seek or something and the operation takes less than a second, the visualization won't get shut down and then restarted.
- Visualizations with a header version of 0x030 are now allowed so Startle works.

Yeah I'm gonna go get some sleep now and hopefully have a less crappy release than this out tomorrow >_<.

@p0wder:
I've had tooltip issues with so many different programs that I'm not sure how much can be done with it (nVidia geforce 2 Ultra, Pentium III).
btw http://potatoriffic.f2g.net/milk_img.ini (http://potatoriffic.f2g.net/milk_img.ini) http://potatoriffic.f2g.net/milk_msg.ini (http://potatoriffic.f2g.net/milk_msg.ini)

@mig:
That's really up to the Winamp plugins to implement since they create the actual visualization window... I'm not sure if it's even possible or not.
Title: Winamp-VIS-plugs in foobar
Post by: ExUser on 2004-02-25 06:27:28
AVS works! Yay!     

Dear me... this is too cool.

It all works pretty well here. Thanks for all the work!
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-25 06:41:18
Quote
@p0wder:
I've had tooltip issues with so many different programs that I'm not sure how much can be done with it (nVidia geforce 2 Ultra, Pentium III).

Yea I'm not gonna worry about it too much, I usually have it in full screen anyway.  Thanks for the file custom text now working.

AVS a bit buggy but working!
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-25 07:38:12
Uploaded minus0.4 alpha. w00t. [binary (http://www.cqasys.com/projects/kode54/foo_vis_bacon.zip)] [source (http://www.cqasys.com/projects/kode54/foo_vis_bacon_source.zip)]

Quote
I'm just way too tired to figure out why Milkdrop occasionally barfs up an error message when returning from fullscreen or even something simple like how to get Windows to calculate the amoun of space taken up by the title bar and window borders for you (which is an issue).

You probably would have thought of GetClientRect if you got some sleep. :B

Quote
- AVS windows (or any embeds) are technically too small because of the title bar issues I mentioned earlier.

Fixed.

Quote
- The Reset button for the path in the config dialog will not work in the binary.  Why?  The line that makes that work wouldn't compile for me in Visual Studio .NET 2003 (reset is not a member of cfg_string), so I commented it out :|.

Oops, my SDK is old. 0.8 beta 3... I'll fix it and repost...

Quote
Yeah I'm gonna go get some sleep now and hopefully have a less crappy release than this out tomorrow >_<.

Enjoy your much deserved break. You do have a life, after all. :B

Quote
I've had tooltip issues with so many different programs that I'm not sure how much can be done with it (nVidia geforce 2 Ultra, Pentium III).

Strangely, I do not have this tool tip problem with my Geforce 2 GTS-V. Maybe it's because I've decided not to use the ForceWare drivers... (That stuff's for FX users anyway.)

Anyway, I also dealt with the warning from Milkdrop and possibly others when they switch to/from fullscreen mode, as well as the embedded plug-in window not getting input focus.
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-25 09:02:18
Wow development sure is progressing rapidly.
Title: Winamp-VIS-plugs in foobar
Post by: sld on 2004-02-25 10:30:16
I have a slight problem with the plugin so far...

I started using one of the earlier versions, which defaulted to <program directory>\Foobar2000\bacon. Then when the option to change the vis directory was added, I used the default <program directory>\Winamp\plugins. However, the vis plugin I currently use, Milkdrop 1.40b, cannot be used anymore, with the error message "Couldn't load DLL". Besides a simple switching of the plugin directory in foo_vis_bacon's config page, what else must I do?
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-25 10:34:41
Reselect it from the list. That failing, select another first. Meh.
Title: Winamp-VIS-plugs in foobar
Post by: Thikasabrik on 2004-02-25 11:12:38
I think there are some priority issues. You see, at the moment I'm using a lowly celeron 500 mhz system  (I don't really need much more at the moment) and I'm noticing that the spectrum data etc hangs every now and then under conditions of reasonably high cpu usage by a vis plugin. This is especially noticeable in the initial mode of whitecap, where the line that traces the green mesh stays in the same position for periods of up to a second or so. Foobar's built-in vis also freezes at the same time.

I expect this is unavoidable, and I will just have to use the tbird 1000 for vis, but I thought I'd mention it incase it can be fixed, and incase you all have pc's too speedy to notice. 
Title: Winamp-VIS-plugs in foobar
Post by: Smiff on 2004-02-25 11:33:51
um something seems broken - milkdrop appears in corner of window, keys don't work, etc.

edit: milkdrop only takes up the top left quarter of its window - isn't anyone else seeing this? it broke between -0.8 and -0.5 i think. i don't have the older versions to check, sorry.
Title: Winamp-VIS-plugs in foobar
Post by: RedSaint on 2004-02-25 13:18:37
I guess this is one situation I have never experienced before - Seems funny enough for me, but it kinda sucks for the ones having problems. Ehm, question is, where to turn to get support for the vis plugin since it is ported through a foo plugin. kode54, bleh and hartwork are only developing the foo plugin, but so far the help on the vis plugins have been very good and useful. Uhm, good work, keep it up.
Title: Winamp-VIS-plugs in foobar
Post by: Thikasabrik on 2004-02-25 13:38:25
Regarding my last post, I have now discovered that the cpu usage issues seem to be due to either of foo_looks or foo_tunes. I tried both. The interesting thing is that neither were active when the problems were apparent, and yet deleting them removed the problems. Maybe I'll try and find out which plugin it was later.
Title: Winamp-VIS-plugs in foobar
Post by: anza on 2004-02-25 13:55:07
Yes, using foo_looks (even unactivated) indeed slows the framerate down a bit (makes about 20-40fps difference while it's not installed).
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-25 14:15:50
Updated to 0.8 SDK, including the path reset in the source code... Downloading is optional.
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-25 15:30:06
minus0399 - sleep-issue fixed: bacon_0399.zip (http://www.hartwork.org/cgi-bin/download.cgi?file=alphashit/bacon_0399.zip)

i'll try to optimze dataprocessing/interpolation in on_data, okay?
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-25 15:48:12
Bug in the latest version kode54 has up for download, check it out here...

(http://web.ics.purdue.edu/~dlesnick/bacon_bug.jpg)

For some reason some of the vis doesn't show up!

Forgot to say thats running the latest Milkdrop, and only seems to happen with that as GForce works without any problems...
Title: Winamp-VIS-plugs in foobar
Post by: ilikedirtthe2nd on 2004-02-25 17:30:13
disable "integrate with winamp" in windowed settings.

regards; ilikedirt
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-25 17:30:48
is spectrum_size fixed to [256]?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-25 18:20:03
@hartwork:  I've never seen it anything else, but I think it would be a very bad idea to assume that it is.  Thanks for working on interpolation, though.  It'd be really nice to have.

Version minus0.39 alpha
Binary (http://potatoriffic.f2g.net/foo_vis_bacon-minus-0.39-alpha.zip)
Source (http://potatoriffic.f2g.net/foo_vis_bacon_src-minus-0.39-alpha.zip)

- Basically only one change here:  a new hack to make Milkdrop 1.04 (the latest version available from the Milkdrop site, not the real latest version, which is 1.04b and may not be available without Winamp 5) and AVS 2.6.0 work properly when they try to embed themselves (should fix issues with Milkdrop only showing up in the corner of the window).  Yay deficiencies in the Winamp 2.9 SDK.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-25 19:12:54
OI. I'm having trouble keeping up with you two now. :B

Uploaded minus0.389 alpha. [binary (http://www.cqasys.com/projects/kode54/foo_vis_bacon.zip)] [source (http://www.cqasys.com/projects/kode54/foo_vis_bacon_source.zip)]

I added a DLL manager, so there should no longer be any problems with concurrent loads/unloads.

Configuration no longer keeps the current module resident, and as a result, there should no longer be any problems with using configuration after closing the visualization with the preferences page open. Also, there was a DLL handle leak in both the DLL selector and the WM_DESTROY handler, which were corrected by this change.

Oh yes, and after I merged in hartwork's changes, I crafted my own linear interpolation. Sorry to beat you to job, but maybe you can take a look at my code and improve it. (Or, redo it in a better or more efficient way. :B)

Speaking of hartwork's changes ... What's with that slightly overkill timer code? It seems to increase CPU usage with visualizations such as Startle, which used 0-2% before and now uses 4-6%. Milkdrop has a delayMs value of 0 at startup, but I'm not sure if it changes that dynamically, or just does its own frame regulation.

If we knew that delayMs would be constant, and at least 10ms, it might be better to use a timer event attached to the host window. (Well, 10ms minimum is supposedly only an issue for Windows 2000/XP, but still...)
Title: Winamp-VIS-plugs in foobar
Post by: Smiff on 2004-02-25 20:19:25
Quote
(should fix issues with Milkdrop only showing up in the corner of the window).

it did. well done 
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-25 20:48:03
Quote
(should fix issues with Milkdrop only showing up in the corner of the window).


Definitely fixed thanks...
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-26 02:24:21
Yanno... That dll manager is probably totally unnecessary... LoadLibrary of same dll in same location from same module probably always returns the same handle for the duration of the instance, until it is freed. Of course, I don't know this. The manager class is probably tidier, in cases of overlapped load/free when config is fetching info...

Eh, whatever. :B
Title: Winamp-VIS-plugs in foobar
Post by: PoisonDan on 2004-02-26 13:21:23
It's funny: on my system, Milkdrop runs better on foobar2000/foo_vis_bacon than on Winamp.

I have an Audiophile 2496, and the playback always stuttered in Winamp whenever Milkdrop was running fullscreen. I experimented a bit with different ouput plugins (DirectSound, ASIO) and different priority settings, but I never got 100% perfect playback.

Now, thanks to foo_vis_bacon, it runs perfectly "out of the box".

Excellent work, guys. You made my day.
Title: Winamp-VIS-plugs in foobar
Post by: Chun-Yu on 2004-02-26 15:26:35
Spectrum analyzer data is b0rk (either that or else the example WA plugin only draws 1/2 of it):

Image (http://www.cs.indiana.edu/~cshei/nb/bugbug.png) <-- Look at built in vis and compare

/me is looking into it
Title: Winamp-VIS-plugs in foobar
Post by: Chun-Yu on 2004-02-26 15:43:43
Silly me, the example vis only draws 1/2 of the spectrum :B
Title: Winamp-VIS-plugs in foobar
Post by: ssamadhi97 on 2004-02-26 21:34:41
Quote
- A one-second timer has been implemented on flush like in foo_vis_simple_spectrum.

I checked back w/ foosion and he suggested to look at foo_vis_vu_meter source instead because he solved the problem in a less messy way there.

source is buried somewhere here (http://www.stud.uni-karlsruhe.de/~uzbs/fb2k/vis/)
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-26 23:11:00
Hmm, foosion's page currently isn't coming up for me, but I'll look at it when it does.

kode54, I'm going to have to agree with you that we need some sort of synchronization before releases... I'm just not sure what the best way to do that would be.  Hmm :/.
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-02-26 23:16:48
Some type of CVS system, but this plug-in is to small of a project to be housed on SourceForge!
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-26 23:24:42
I'm not sure CVS is necessary... just some way of getting the changes planned for the next release established so people don't keep having to download the latest build and merge all of their almost-completed changes into the new source.  The release frequency has slowed down a lot, though, which helps with that.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-26 23:36:51
Simply put, the vis is kept open as long as it is enabled, whether it is receiving audio or not. In that case, it might be wise to update the wannabe deque class to keep track of how many samples are in its buffer, subtracted on every read() operation, and if there isn't enough for read(), fill the output with zeroes... or maybe notify the caller and it can stop rendering frames until there is enough... Meh.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-26 23:50:06
Hmm, I don't know.  It'd make full-screen visualizations slightly more annoying because they'd have to be manually exited when playback stops.  On the other hand, the timer is kind of messy, so eh.

As for the deque, I think it'd be enough to just fill it with zeroes on flush if we left the window open (it would effectively accomplish the same thing).  To be honest, I've never been huge on the deque as a way of keeping exact synchronization (it just doesn't seem like it should work even though, as it turns out, it mostly does), but the code was so simple that I haven't looked very hard into coming up with a new solution.  I'm not even sure there really is a way to keep everything exactly synchronized anyway.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-27 01:04:43
Especially considering that even in Winamp itself, the vis just runs on its own in its thread, while Winamp fills the vis sample/spectrum buffers whenever, all without any synchronization whatsoever.

Their "API" sucks.

...and the first time they attempted a rewrite from scratch, the majority of developers avoided it. Of course, it wasn't really designed to be easy to program for...
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-27 09:00:56
A) somehow i can't get 0.389 to compile: i get several dll-manager-related link errors.

B) kode54's interpolated spectrum is more informative but i think what we got to achieve is a spectrum that looks exactly like the one winamp would give them if we want the plugins to run like in winamp. i hope it is possible: i got the impression the  vis-data sent by by foobar is of much worse quality than winamp's.

C) on my machine bacon does not really run fluently. even with the cheapest winamp-plugins. i got 1600 mhz so i don't really understand why. i think it's not the interpolation. what else could it be? does it run like in winamp on your machines?

D) maybe the project should be split into more files so everyone works on a different file and only this file is to be updated!?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-27 15:39:50
A)  Hmm, weird.  You did add dll_manager.cpp to your Visual Studio project, right?  Out of curiosity, what kinds of errors are they?

B)  We can't get it to look exactly like Winamp's simply because we don't get exactly the same number of data points.  I'm not sure I'd say foobar's data is lower quality, but the number of spectrum points is indeed lower, so we can't really tell what would go there unless we somehow tried to calculate spectrum values ourself (messy and probably not worth it).

C)  It may be a bit slower on my machine (933 MHz Pentium 3), but it's not that bad.  When you say it doesn't run fluently, do you mean that if you use, say, the Winamp example oscilliscope plugin, you get visualization stuttering?  That'd be something to look into :|.

D)  Well, I'm not sure if that would help with synchronization or not, since it's very possible that we'd all make changes in the same file in the process of doing different things, but I think it may be a good idea to somehow split up foo_vis_bacon.cpp.  It's gotten pretty huge.


While I'm posting, does anyone have any ideas for stuff to go into the next release besides miscellaneous code clean-ups or bugfixes?
Title: Winamp-VIS-plugs in foobar
Post by: spase on 2004-02-27 16:35:06
Quote
C) on my machine bacon does not really run fluently. even with the cheapest winamp-plugins. i got 1600 mhz so i don't really understand why. i think it's not the interpolation. what else could it be? does it run like in winamp on your machines?

Runs perfect here.

AthlonXP 1500+
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-02-27 17:59:21
Quote
B)  We can't get it to look exactly like Winamp's simply because we don't get exactly the same number of data points.  I'm not sure I'd say foobar's data is lower quality, but the number of spectrum points is indeed lower, so we can't really tell what would go there unless we somehow tried to calculate spectrum values ourself (messy and probably not worth it).

So in other words the data sent to the VIS is not as updated in foobar2000 as it is in Winamp?
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-02-27 18:46:19
Quote
A)  Hmm, weird.  You did add dll_manager.cpp to your Visual Studio project, right?  Out of curiosity, what kinds of errors are they?

i switched to 0.8 final sdk and now it works. i got no idea why...

Quote
B)  We can't get it to look exactly like Winamp's simply because we don't get exactly the same number of data points.  I'm not sure I'd say foobar's data is lower quality, but the number of spectrum points is indeed lower, so we can't really tell what would go there unless we somehow tried to calculate spectrum values ourself (messy and probably not worth it).

i didn't mean the number of data points. one and the same song produces much higher spectrum-amplitudes in winamp. either winamp postprocesses vis-data sent to a vis-plug or foo's and wa's decoder makes that difference.

Quote
C)  It may be a bit slower on my machine (933 MHz Pentium 3), but it's not that bad.  When you say it doesn't run fluently, do you mean that if you use, say, the Winamp example oscilliscope plugin, you get visualization stuttering?  That'd be something to look into :|.

it seems to me as if winamp-plugs run with bacon refresh half as often as in winamp. i suppose foobar does not send vis-data as often as winamp. the stuttering i have is like you work on a high-memory-load machine. 1-2-3-hang-1-2-3-...

Quote
D)  Well, I'm not sure if that would help with synchronization or not, since it's very possible that we'd all make changes in the same file in the process of doing different things, but I think it may be a good idea to somehow split up foo_vis_bacon.cpp.  It's gotten pretty huge.

that's a good idea.

Quote
While I'm posting, does anyone have any ideas for stuff to go into the next release besides miscellaneous code clean-ups or bugfixes?

i think we should focus on the vis-data problem first.
Title: Winamp-VIS-plugs in foobar
Post by: Chun-Yu on 2004-02-27 18:46:49
Quote
C) on my machine bacon does not really run fluently. even with the cheapest winamp-plugins. i got 1600 mhz so i don't really understand why. i think it's not the interpolation. what else could it be? does it run like in winamp on your machines?

This is from the 2nd thread looping without sleeping to check the time.  I stuck a Sleep(1) in and that reduced CPU usage on simple plugins by about 1/5 here.
Title: Winamp-VIS-plugs in foobar
Post by: ExUser on 2004-02-27 19:17:05
Here we run into one of the several issues in translating foobar2000-style vis to Winamp-style vis.

Foobar's visualizations are either tightly synchronized to or part of the main thread (my memory tells me it's the latter, but I'm not certain). Foobar calls a certain number of updates per second. This allows foobar to control the FPS of the visualization. Because it's doing this, it can also fourier transform the data to obtain the most information possible. We may be able to get better results by transforming the PCM data in Bacon itself rather than relying on Foobar's fourier transformer. I'm a little skeptical that coding our own transform will be worthwhile, because Peter appears to use the best code possible for the job wherever possible.

Winamp, on the other hand, has much less structure. It shows the plugin where to find the spectrum/osc data, and relies upon the plugin to call it at will. The input plugins are tied tightly to the spectrum data to provice raw information about the current frequencies.

The short version of this is: Foobar refreshes the spectrum data at intervals. Winamp refreshes the spectrum data constantly. Due to the intervals, Foobar's visualization can appear "jumpy".

Thus, we need bilinear interpolation on the spectrum data: interpolate between both the frequencies retrieved and the packets of frequency data. This means we may need to buffer one "frame" of spectrum data so that we can interpolate nicely.
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-27 20:20:17
It might also produce an ugly effect, but perhaps we also need to keep track of how many samples are left over in the circular buffer(s) and linear stretch them to fill Winamp's buffers upon request. Of course, this will probably produce a much worse effect than the stuttering seen when the Winamp vis renders a frame or two without a sample/spectrum update.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-02-28 00:51:09
Hmm, I'm really not noticing any stuttering.  Maybe my machine's slow enough that the lack of synchronization gets smoothed out.  Would increasing the visualization framerate in the foobar2000 settings help with this?  It'd be closer to continuous updates... at the expense of hogging your CPU :/.

The only other way I've thought up of getting samples over to the other thread would be to buffer a lot of them, then figure out at which point in the present buffer a Render to Winamp would fall and pass that interval of samples, throwing out any samples too old to be used in the process.  Thing is, the current method of having the foobar2000 main thread stream samples through a buffer and then the Winamp plugin thread grab snapshots does the same thing in principle and the code is simpler, so it's a question of whether, "in principle," is good enough or whether we should try to get everything perfectly lined up.

@hartwork (on the spectrum data height issue) :
I think I may just start running test tones through both programs and seeing what kind of spectrum values I get because we really should know how both programs generate the spectrum data and, at the moment, I don't.

@Canar:
You know, you may be right about this.  The Winamp plugins are only getting 576 samples, while the foobar2000 spectrum is being calculated for however many samples are in each batch (which seems to be something like the sample rate divided by 45, though we really can't make any assumptions about it), so it's possible for the same spectrum data to be handed out for different samples.

@kode54:
I'm not sure what you mean by, "left over."  The samples aren't getting thrown away, so if the Winamp plugin calls a lot between foobar updates, it'll just get the same data.


See, this is why I had hack warnings all over when I posted the first build (well, that and the crashing :B ).
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-02-28 14:44:27
"Left over" assuming that on_data is getting more samples than the vis thread can handle. Of course, stuttering would only occur if the vis is swallowing samples faster than they are being updated.

The sample count will always be the sample rate divided by the vis frame rate, I think... I'm not sure about the number of samples fed to the FFT library.
Title: Winamp-VIS-plugs in foobar
Post by: Spaceboy on 2004-02-29 03:29:58
Works fine here in both Windowed and Full Screen modes.  It stutters big time in Destop mode though. Tried running Milkdrop in Winamp as well, and same thing happens in Desktop Mode.  Using Geforce 2 MX400, Athon 2000 with 512 DDR 2700 RAM.  Running Win Server 2003 with DirectX 9.0b.
Title: Winamp-VIS-plugs in foobar
Post by: yathosho on 2004-03-03 12:07:47
Quote
-- WHAT ELSE --
i am interested in any source code from previous attempts! please send me a copy - your code is highly appreciated!

you might wanna ask around the vj forums (http://vjforums.com/)

personally i'm stuck between loading exisiting visualizations (avs, milkdrop) or getting some new kick-ass plugin 
Title: Winamp-VIS-plugs in foobar
Post by: DaCypher on 2004-03-03 17:05:41
I am probably missing something here, but I downloaded foo_vis_bacon.dll (-0.389) and put it in my components directory.  When I select BACON from the components context menu the console comes up with: "ERROR (foo_vis_bacon) : Couldn't load DLL".  What am I doing wrong?
Title: Winamp-VIS-plugs in foobar
Post by: Sebert on 2004-03-03 17:11:23
Which Foobar version are you using?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-03 17:17:09
You're getting that error because you haven't yet configured foo_vis_bacon to use any Winamp plugins.  If you go into the configuration menu, direct foo_vis_bacon to a directory with Winamp visualization plugins in it, and select the plugin you want to use from the combo boxes there, things should work.
Title: Winamp-VIS-plugs in foobar
Post by: DaCypher on 2004-03-03 17:37:24
Ok, now I configured bacon to point to the plugin directory and selected the one I want from the pulldown menus.  Now I go back to select BACON from Components | Visualizations and I get the same error.  Using foobar2000 v0.8 final.
Title: Winamp-VIS-plugs in foobar
Post by: hartwork on 2004-03-03 17:49:33
version minus038. [binary (http://www.hartwork.org/cgi-bin/download.cgi?file=alphashit/foo_vis_bacon_038.zip)][source (http://www.hartwork.org/cgi-bin/download.cgi?file=alphashit/foo_vis_bacon_038_source.zip)]

spectrum looks much more like winamp now. i implemented to different modes: one with interpolation and without. we just got to decide which one to choose (or give the user the option to choose at config). compiled version uses the interpolated one.


WITH interpolation (upper = foo, lower = winamp)
(http://www.hartwork.org/alphashit/spectrum_interpolation.PNG)

WITHOUT interpolation (upper = foo, lower = winamp)
(http://www.hartwork.org/alphashit/spectrum_copy.PNG)

the screenshots are from my last nullsoft-vis-minisdk-mod which displays all 576 spectrum entries. download it HERE (http://www.hartwork.org/cgi-bin/download.cgi?file=alphashit/vis_WINAMP_VIS_576.zip).


sorry, but i haven't split foo_vis_bacon.cpp for now...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-03 17:52:26
Hmm, I can reproduce this if I don't touch the drop-down menus (meaning I leave it as the default choice), but as soon as I bring up the drop-down menu and select a new plugin, it works again.  If you actually mess with the combo boxes, does the problem persist (and also if you restart foobar after messing with the boxes) ?  If you still have problems, I can probably get you a build that prints the filename of the current plugin to the console (or, depending on your programming knowledge, you could try it yourself, too :).

I'm starting to question the overall practicality of maintaining this Winamp-style combo box selection dialog given the variable plugin directory.  I wonder if having the plugins selected individually by a file open common dialog box might be better... :|.
Title: Winamp-VIS-plugs in foobar
Post by: DaCypher on 2004-03-03 17:53:12
I also tried adding another winamp plugin to the specified directory and chose it from the bacon configuration screen.  I then selected bacon from the context menu again, but nothing happened so I attempted to close foobar2k and my entire machine locked up forcing a hard reboot (damn, haven't had to reboot in over a month, WinXP SP1).

This isn't meant as a complaint (I understand this is very early development stages), just trying to get it to work...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-03 17:58:51
WTF :/.  I've noticed the issues with bacon sometimes not enabling if you reselect it; I need to look at the source and see which variable isn't always getting set properly, but it really shouldn't be locking up.  I guess you can try starting foobar again, going into the configuration dialog and making sure the plugin you want is selected, then closing the configuration dialog, starting playback, and enabling bacon in that order and see if the situation improves, but this is really weird.

As for not being a complaint, well, it should be, since it's evidence of the current behavior simply not working intuitively.  I'll look for a bugfix and add some more console info at some point, I guess.


Oh, and thanks for the spectrum work, hartwork .
Title: Winamp-VIS-plugs in foobar
Post by: DaCypher on 2004-03-03 18:01:01
Ok, got it to work.  Not quite sure what I did (combo of messing with combo boxes, selected BACON from context menu, and restarting foobar).  Anyways, really cool plugin, thanks. 

(now I gotta rebuild all my playlists that seemed to have disappeared after the crash  ).
Title: Winamp-VIS-plugs in foobar
Post by: Chun-Yu on 2004-03-03 19:02:51
Quote
spectrum looks much more like winamp now. i implemented to different modes: one with interpolation and without. we just got to decide which one to choose (or give the user the option to choose at config). compiled version uses the interpolated one.

Or, vis_bacon can do the analysis by itself and look even more like Winamp :B  I may look into using something like FFTW or something for this if I have time
Title: Winamp-VIS-plugs in foobar
Post by: jeffery_901 on 2004-03-05 17:15:52
for the mean time,

geiss is availible as a screen saver and works with foobar2000 very well

I use it a parties, screen save set to 1min

avalible at http://www.geisswerks.com/ (http://www.geisswerks.com/)

enJoY !!
Title: Winamp-VIS-plugs in foobar
Post by: seanyseansean on 2004-03-05 18:37:53
Can I be a pain and ask for a new feature?

I have a server and media pc at home, the latter is in the lounge and the former is in the office. Foobar autoloads on the media pc and the vis (milkdrop) is on by default.

Sometimes if I go to the office down the hall, I want to change the tune playing on the media pc. So I Remote Desktop or VNC in and change via the Foobar gui. Problem is, the plugin detects a screen change and comes up with a dialog box saying it can't find Direct X, probably because it's not supported over RD. You can't get rid of these boxes, you have to kill Foobar.

Is it possible for the plugin to detect RD or VNC (I think there's an API, other programs do it) and gracefully shut down the vis? I can dig out the relevent API docs if you like.

Thanks for a quality plugin,

sean
Title: Winamp-VIS-plugs in foobar
Post by: PhrostByte on 2004-03-06 20:28:32
After clicking on "Baconwrap" in preferances.

Illegal operation:
Code: C0000005h, flags: 00000000h, address: 59FF1485h
Access violation, operation: read, address: 00000034h
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (59FF1485h):
59FF1445h:  05 00 E9 56 36 00 00 B8 F0 00 00 C0 E9 9C 36 00
59FF1455h:  00 B8 05 00 00 80 E9 91 36 00 00 8B DF E9 5D 2B
59FF1465h:  00 00 2B DF 83 E8 40 8B F7 2B D7 E9 78 2B 00 00
59FF1475h:  90 90 90 90 90 64 8B 0D 18 00 00 00 8B 54 24 04
59FF1485h:  83 7A 14 00 75 54 90 90 90 90 90 F0 FF 42 04 75
59FF1495h:  19 8B 41 24 89 42 0C C7 42 08 01 00 00 00 33 C0
59FF14A5h:  C2 04 00 8D A4 24 00 00 00 00 8B 41 24 39 42 0C
59FF14B5h:  75 08 FF 42 08 33 C0 C2 04 00 52 E8 D2 C8 01 00
Stack (0012F62Ch):
0012F60Ch:  00000000 00000000 00000000 00000000
0012F61Ch:  00000000 00000000 00000000 00000000
0012F62Ch:  77C3B84D 00000020 0012F670 77C40D6B
0012F63Ch:  00000000 00000000 010191F8 0012F71C
0012F64Ch:  00000000 00000000 00000000 0012F640
0012F65Ch:  0012F250 0012F698 77C35BE0 77C14610
0012F66Ch:  FFFFFFFF 77C40D53 01003CFF 00000000
0012F67Ch:  01018324 00C9F0F8 00C9EE48 00C9F07C
0012F68Ch:  0012F6C4 010191F8 00C9F0F8 0012F6CC
0012F69Ch:  01012070 00000001 0100434C 00C9F120
0012F6ACh:  01018340 00C9EFFC 00C9ED58 00C9F0D0
0012F6BCh:  00C9F0A8 00C9EDC0 00C9F098 0012F6A8
0012F6CCh:  0012F6FC 01012190 00000005 010046C9
0012F6DCh:  00C9F038 00C9F078 00C47890 00C4784C
0012F6ECh:  0012F7A0 0000000E 0012F71C 0012F6DC
0012F6FCh:  0012F724 01012208 00000002 01010ECB
0012F70Ch:  00C9ED58 00C9EFF8 00000000 0012F70C
0012F71Ch:  00C9ED78 00000040 0012F828 01013618
0012F72Ch:  00000000 00C41345 00000000 000003E9
0012F73Ch:  00C41B21 00C9E530 00C4784C 0012F808
Registers:
EAX: 00000020, EBX: 0012F71C, ECX: 7FFDD000, EDX: 00000020
ESI: 00000000, EDI: 00000000, EBP: 0012F634, ESP: 0012F62C
Crash location: "ntdll", loaded at 59FF0000h - 5A0A4000h
Symbol: "RtlEnterCriticalSection" (+0000000Bh)

Loaded modules:
foobar2000                      loaded at 00400000h - 00451000h
ntdll                            loaded at 59FF0000h - 5A0A4000h
kernel32                        loaded at 77E60000h - 77F50000h
USER32                          loaded at 76200000h - 76291000h
GDI32                            loaded at 73A40000h - 73A86000h
ole32                            loaded at 76620000h - 7675D000h
msvcrt                          loaded at 77C10000h - 77C68000h
ADVAPI32                        loaded at 73160000h - 731FB000h
RPCRT4                          loaded at 58D80000h - 58E0C000h
COMCTL32                        loaded at 5B9F0000h - 5BADC000h
SHLWAPI                          loaded at 772D0000h - 7731E000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C800000h - 7D010000h
foo_albumlist                    loaded at 008D0000h - 008DA000h
foo_ape                          loaded at 008E0000h - 008FF000h
foo_cdda                        loaded at 00900000h - 0090E000h
foo_console                      loaded at 00910000h - 00918000h
foo_diskwriter                  loaded at 00920000h - 00931000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_dsp_extra                    loaded at 009C0000h - 009D5000h
foo_flac                        loaded at 009E0000h - 009F6000h
foo_id3v2                        loaded at 00A00000h - 00A26000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_input_std                    loaded at 00A30000h - 00AC9000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
foo_masstag                      loaded at 00AD0000h - 00AE0000h
foo_mod                          loaded at 00AE0000h - 00AE9000h
BASS                            loaded at 00AF0000h - 00B4A000h
foo_output_std                  loaded at 00B50000h - 00B59000h
foo_out_dsound_ex                loaded at 00B60000h - 00B69000h
DSOUND                          loaded at 73F10000h - 73F6C000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_out_ks                      loaded at 00B80000h - 00B8B000h
SETUPAPI                        loaded at 5FB10000h - 5FC03000h
foo_read_http                    loaded at 00B90000h - 00B99000h
WS2_32                          loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_rgscan                      loaded at 00BA0000h - 00BAB000h
foo_spc                          loaded at 00BB0000h - 00BBF000h
foo_speex                        loaded at 00BC0000h - 00BD8000h
foo_ui_std                      loaded at 00BE0000h - 00BF7000h
foo_unpack                      loaded at 00C00000h - 00C31000h
OLEAUT32                        loaded at 77120000h - 771A7000h
foo_vis_bacon                    loaded at 00C40000h - 00C4B000h
foo_vis_manager                  loaded at 00C50000h - 00C58000h
foo_vis_simple_spectrum          loaded at 00C60000h - 00C6A000h
foo_vis_vu_meter                loaded at 00C70000h - 00C78000h
foo_wavpack                      loaded at 00C80000h - 00C8B000h
UxTheme                          loaded at 5AD70000h - 5ADA5000h
OPENGL32                        loaded at 5ED00000h - 5EDCB000h
GLU32                            loaded at 68B20000h - 68B3E000h
DDRAW                            loaded at 73760000h - 737AB000h
DCIMAN32                        loaded at 73BC0000h - 73BC6000h
QuickTime                        loaded at 66800000h - 66D20000h
OLEPRO32                        loaded at 5EDD0000h - 5EDE7000h
WININET                          loaded at 5B7F0000h - 5B893000h
CRYPT32                          loaded at 75550000h - 755E5000h
MSASN1                          loaded at 61610000h - 61621000h
rsaenh                          loaded at 0FFD0000h - 0FFF7000h
QuickTime3GPP                    loaded at 676D0000h - 67761000h
QuickTimeAuthoring              loaded at 66FE0000h - 67171000h
QuickTimeEssentials              loaded at 67430000h - 674AD000h
QuickTimeInternetExtras          loaded at 66F00000h - 66FD7000h
QuickTimeMPEG                    loaded at 673C0000h - 6742A000h
QuickTimeMPEG4                  loaded at 674B0000h - 67523000h
QuickTimeStreaming              loaded at 66D20000h - 66DD9000h
WSOCK32                          loaded at 71AD0000h - 71AD9000h
QuickTimeStreamingAuthoring      loaded at 67800000h - 6784C000h
QuickTimeStreamingExtras        loaded at 67850000h - 6786F000h
IPIXSupport                      loaded at 01120000h - 0118C000h
QuickTimeVR                      loaded at 66E40000h - 66EA0000h
vis_synesth                      loaded at 01000000h - 0101E000h
ptc                              loaded at 01020000h - 01059000h
Hermes                          loaded at 095D0000h - 095EC000h
MFC42                            loaded at 73DD0000h - 73ED0000h
MSVCP50                          loaded at 780C0000h - 7814D000h
imagehlp                        loaded at 76C90000h - 76CB4000h
DBGHELP                          loaded at 6D6E0000h - 6D765000h

Stack dump analysis:
Address: 77C3B84Dh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "lock" (+0000134Ah)
Address: 77C40D6Bh, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "fprintf" (+00000018h)
Address: 010191F8h, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 77C35BE0h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "except_handler3" (+00000000h)
Address: 77C14610h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "ctype" (+00001D70h)
Address: 77C40D53h, location: "msvcrt", loaded at 77C10000h - 77C68000h
Symbol: "fprintf" (+00000000h)
Address: 01003CFFh, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 01018324h, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 010191F8h, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 01012070h, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 0100434Ch, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 01018340h, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 01012190h, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 010046C9h, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 00C47890h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C4784Ch, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 01012208h, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 01010ECBh, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 01013618h, location: "vis_synesth", loaded at 01000000h - 0101E000h
Address: 00C41345h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C41B21h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C4784Ch, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 5BA162CEh, location: "COMCTL32", loaded at 5B9F0000h - 5BADC000h
Symbol: "Ordinal384" (+0000A4D1h)
Address: 5BA163B5h, location: "COMCTL32", loaded at 5B9F0000h - 5BADC000h
Symbol: "Ordinal384" (+0000A5B8h)
Address: 76208821h, location: "USER32", loaded at 76200000h - 76291000h
Symbol: "GetWindowLongW" (+00000034h)
Address: 00450556h, location: "foobar2000", loaded at 00400000h - 00451000h
Address: 5BA146E5h, location: "COMCTL32", loaded at 5B9F0000h - 5BADC000h
Symbol: "Ordinal384" (+000088E8h)
Address: 7620857Bh, location: "USER32", loaded at 76200000h - 76291000h
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 76214183h, location: "USER32", loaded at 76200000h - 76291000h
Symbol: "OemToCharBuffA" (+0000027Ah)
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 76232516h, location: "USER32", loaded at 76200000h - 76291000h
Symbol: "GetClipboardData" (+000002BDh)
Address: 762141A8h, location: "USER32", loaded at 76200000h - 76291000h
Symbol: "OemToCharBuffA" (+0000029Fh)
Address: 76213FEDh, location: "USER32", loaded at 76200000h - 76291000h
Symbol: "OemToCharBuffA" (+000000E4h)
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 76224CC3h, location: "USER32", loaded at 76200000h - 76291000h
Symbol: "UpdatePerUserSystemParameters" (+00000E54h)
Address: 762201FEh, location: "USER32", loaded at 76200000h - 76291000h
Symbol: "SetForegroundWindow" (+0000071Ch)
Address: 00C49060h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C40000h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C40000h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C494A2h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C40000h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C40190h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 762205F5h, location: "USER32", loaded at 76200000h - 76291000h
Symbol: "CreateDialogIndirectParamAorW" (+00000033h)
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 7622F94Ah, location: "USER32", loaded at 76200000h - 76291000h
Symbol: "CreateDialogParamW" (+00000049h)
Address: 00C40000h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C49060h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C47800h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 1000303Fh, location: "utf8api", loaded at 10000000h - 1000D000h
Symbol: "uCreateDialog" (+0000001Ah)
Address: 00C40000h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C44B16h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C40000h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C416A3h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00C416A9h, location: "foo_vis_bacon", loaded at 00C40000h - 00C4B000h
Address: 00404894h, location: "foobar2000", loaded at 00400000h - 00451000h
Address: 004044F0h, location: "foobar2000", loaded at 00400000h - 00451000h

Version info:
foobar2000 v0.8
UNICODE
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-06 22:11:20
Synesthesia doesn't seem to be playing nicely.  I'll see if I can figure out what it's doing.  If you'd like to experiment with other Winamp plugins, try renaming vis_synesth.dll to something like vis_sysnesth.b0rked until I or someone else finds a fix.

[EDIT]:  Grrrrr.... the call to winampVisGetHeader is blowing something up and I don't know why.  It'd probably help if I could get the Synesthesia source to build :/.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-07 23:32:57
Boomp.  I've figured out what caused that crash and the problem isn't with foo_vis_bacon, but rather with the general ugliness of its purpose.

PhrostByte, here's how to get Synesthesia to work:

1.  Create a new directory called Plugins in the same directory as foobar2000.exe.  The directory for vis_synesth.dll has nothing to do with this.
2.  In that Plugins directory, create a file called synesth.log.  Without this file, Synesthesia will crash.  Why?  Because it doesn't bother to check whether the file pointer for the log file actually exists or not and because it doesn't create files to open them; it only appends.
3.  Next, copy the program synconfig.exe, probably already installed your Winamp directory (Winamp main directory, not the Plugins directory), into the same directory as foobar2000.exe (again, not the Plugins folder).  This is necessary to configure Synesthesia and therefore to get it to select any plugins.
4.  Go into the Synesthesia directory and make sure the ini file and Sonique vis directory paths are correct.  I really don't know why these point to Winamp for me when the other paths here don't :/.  If you don't have Winamp installed, I'm not sure what these paths will look like... you may need to create empty text files manually with the same names to avoid more crashing, but it's hard to say.
5.  Please configure Synesthesia before trying to use it.


If anyone else gets crashes with vis_synesth referenced in the crash log, take a look at these instructions.

I hope this helps >_<
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-03-08 00:07:53
No, it's not the ugliness of its purpose. Don't blame yourself. Blame the idiot who wrote that software. I suppose you can't really blame Nullsoft for writing a crappy API, as they didn't know much then, did they? Hmm, maybe they don't now either. Then, blame all the idiots that Nullsoft didn't dare alienate by ever breaking that API to make it cleaner. Then blame them again for rejecting the first and only attempt by Nullsoft to rewrite that API from scratch. Oh wait, haven't I already said this?
Title: Winamp-VIS-plugs in foobar
Post by: PhrostByte on 2004-03-08 01:50:04
Hey cool thanks a lot bleh. I've got a new problem. I ran climax and now I can't close it without crashing foobar. Log:

Illegal operation:
Code: 0EEDFADEh, flags: 00000001h, address: 77E8877Ah
Call path:
WinMain=>app_mainloop
This is the first crash logged by this instance.
Code bytes (77E8877Ah):
77E8873Ah:  08 83 65 B8 00 89 45 B0 8B 45 0C 56 8B 75 14 83
77E8874Ah:  E0 01 85 F6 89 45 B4 C7 45 BC 30 87 E8 77 74 25
77E8875Ah:  8B 4D 10 83 F9 0F 77 C4 85 C9 89 4D C0 74 07 57
77E8876Ah:  8D 7D C4 F3 A5 5F 8D 45 B0 50 FF 15 04 15 E6 77
77E8877Ah:  5E C9 C2 10 00 83 65 C0 00 EB EB 90 90 90 90 90
77E8878Ah:  8B FF 55 8B EC 83 EC 1C 6A 00 6A 1C 8D 45 E4 50
77E8879Ah:  6A 00 FF 75 08 FF 15 24 11 E6 77 85 C0 7C 0F 8B
77E887AAh:  45 0C 8B 4D E4 89 08 33 C0 40 C9 C2 08 00 50 E8
Stack (00254830h):
00254810h:  00720065 0064002E 006C006C 00000000
00254820h:  0009000B 00080163 002548E8 00254788
00254830h:  00251EA4 00254790 00251EAC 00254798
00254840h:  73EE0000 73EE1021 00004000 003E003C
00254850h:  002547E0 00160014 00254808 00084004
00254860h:  00000001 5A06EDB0 00251FFC 40342726
00254870h:  00000000 00000000 000B000D 00080168
00254880h:  003A0043 0050005C 006F0072 00720067
00254890h:  006D0061 00460020 006C0069 00730065
002548A0h:  0057005C 006E0069 006D0061 005C0070
002548B0h:  006C0050 00670075 006E0069 005C0073
002548C0h:  00490056 005F0053 004C0043 004D0049
002548D0h:  00580041 0064002E 006C006C 00000000
002548E0h:  000D000B 0008017B 00254990 00254828
002548F0h:  00000000 00254830 00251EAC 002549A0
00254900h:  01780000 017F6B08 000BB000 0060005C
00254910h:  00254880 0020001C 002548C0 00284004
00254920h:  00000000 0012FD0C 0012FD0C 2A425E19
00254930h:  00000000 00000000 000B000A 000E0140
00254940h:  003A0043 0057005C 004E0049 004F0044
Registers:
EAX: 00000002, EBX: 00254924, ECX: 00000100, EDX: 00E78A30
ESI: 00000002, EDI: 00251EA4, EBP: 002549A0, ESP: 00254830
Crash location: "kernel32", loaded at 77E60000h - 77F50000h
Symbol: "RaiseException" (+0000004Ah)

Loaded modules:
foobar2000                      loaded at 00400000h - 00451000h
ntdll                            loaded at 59FF0000h - 5A0A4000h
kernel32                        loaded at 77E60000h - 77F50000h
USER32                          loaded at 76200000h - 76291000h
GDI32                            loaded at 73A40000h - 73A86000h
ole32                            loaded at 76620000h - 7675D000h
msvcrt                          loaded at 77C10000h - 77C68000h
ADVAPI32                        loaded at 73160000h - 731FB000h
RPCRT4                          loaded at 58D80000h - 58E0C000h
COMCTL32                        loaded at 5B9F0000h - 5BADC000h
SHLWAPI                          loaded at 772D0000h - 7731E000h
utf8api                          loaded at 10000000h - 1000D000h
comdlg32                        loaded at 763B0000h - 763F9000h
SHELL32                          loaded at 7C800000h - 7D010000h
foo_albumlist                    loaded at 008D0000h - 008DA000h
foo_ape                          loaded at 008E0000h - 008FF000h
foo_cdda                        loaded at 00900000h - 0090E000h
foo_console                      loaded at 00910000h - 00918000h
foo_diskwriter                  loaded at 00920000h - 00931000h
WINMM                            loaded at 76B40000h - 76B6D000h
foo_dsp_extra                    loaded at 009C0000h - 009D5000h
foo_flac                        loaded at 009E0000h - 009F6000h
foo_id3v2                        loaded at 00A00000h - 00A26000h
MSVCP60                          loaded at 76080000h - 760E5000h
foo_input_std                    loaded at 00A30000h - 00AC9000h
MSACM32                          loaded at 77BE0000h - 77BF5000h
foo_masstag                      loaded at 00AD0000h - 00AE0000h
foo_mod                          loaded at 00AE0000h - 00AE9000h
BASS                            loaded at 00AF0000h - 00B4A000h
foo_output_std                  loaded at 00B50000h - 00B59000h
foo_out_dsound_ex                loaded at 00B60000h - 00B69000h
DSOUND                          loaded at 73F10000h - 73F6C000h
VERSION                          loaded at 77C00000h - 77C08000h
foo_out_ks                      loaded at 00B80000h - 00B8B000h
SETUPAPI                        loaded at 5FB10000h - 5FC03000h
foo_read_http                    loaded at 00B90000h - 00B99000h
WS2_32                          loaded at 71AB0000h - 71AC7000h
WS2HELP                          loaded at 71AA0000h - 71AA8000h
foo_rgscan                      loaded at 00BA0000h - 00BAB000h
foo_spc                          loaded at 00BB0000h - 00BBF000h
foo_speex                        loaded at 00BC0000h - 00BD8000h
foo_ui_std                      loaded at 00BE0000h - 00BF7000h
foo_unpack                      loaded at 00C00000h - 00C31000h
OLEAUT32                        loaded at 77120000h - 771A7000h
foo_vis_bacon                    loaded at 00C40000h - 00C4B000h
foo_vis_manager                  loaded at 00C50000h - 00C58000h
foo_vis_simple_spectrum          loaded at 00C60000h - 00C6A000h
foo_vis_vu_meter                loaded at 00C70000h - 00C78000h
foo_wavpack                      loaded at 00C80000h - 00C8B000h
UxTheme                          loaded at 5AD70000h - 5ADA5000h
wdmaud                          loaded at 72D20000h - 72D29000h
WINTRUST                        loaded at 76C30000h - 76C5D000h
CRYPT32                          loaded at 75550000h - 755E5000h
MSASN1                          loaded at 61610000h - 61621000h
IMAGEHLP                        loaded at 76C90000h - 76CB4000h
msacm32                          loaded at 72D10000h - 72D18000h
midimap                          loaded at 77BD0000h - 77BD7000h
KsUser                          loaded at 73EE0000h - 73EE4000h
VIS_CLIMAX                      loaded at 01780000h - 0183B000h
winspool                        loaded at 73000000h - 73026000h
DBGHELP                          loaded at 6D6E0000h - 6D765000h

Stack dump analysis:
Address: 73EE0000h, location: "KsUser", loaded at 73EE0000h - 73EE4000h
Address: 73EE1021h, location: "KsUser", loaded at 73EE0000h - 73EE4000h
Address: 5A06EDB0h, location: "ntdll", loaded at 59FF0000h - 5A0A4000h
Address: 01780000h, location: "VIS_CLIMAX", loaded at 01780000h - 0183B000h
Address: 017F6B08h, location: "VIS_CLIMAX", loaded at 01780000h - 0183B000h
Address: 73000000h, location: "winspool", loaded at 73000000h - 73026000h
Address: 7301DBC7h, location: "winspool", loaded at 73000000h - 73026000h
Address: 00420040h, location: "foobar2000", loaded at 00400000h - 00451000h
Address: 5A06E3B0h, location: "ntdll", loaded at 59FF0000h - 5A0A4000h
Address: 5A06E3B0h, location: "ntdll", loaded at 59FF0000h - 5A0A4000h
Address: 00420044h, location: "foobar2000", loaded at 00400000h - 00451000h
Address: 6D6E0000h, location: "DBGHELP", loaded at 6D6E0000h - 6D765000h
Address: 6D70B8F4h, location: "DBGHELP", loaded at 6D6E0000h - 6D765000h
Address: 0040003Eh, location: "foobar2000", loaded at 00400000h - 00451000h
Address: 5A06ED78h, location: "ntdll", loaded at 59FF0000h - 5A0A4000h

Version info:
foobar2000 v0.8
UNICODE

But oh well, as long as geiss's plugins work I'm a happy boy.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-08 02:13:23
Ooh, fun.  More crashing plugins!

...

Eh, debugging this is easier than trying to deduce how this FFT stuff works from whatever pages Google barfs up :/.

[EDIT]:  It doesn't crash for me, but it does try to kill foobar and then lock up.  I wonder what it's doing.

[EDIT EDIT]:  Instead of creating its visualization window as a child window like it's supposed to, Climax makes its own standalone window and then probably uses some weird hack.  I managed to crash Winamp with it, too.  I'm really not sure what else I can say about this plugin except that it's probably not worth using.
Title: Winamp-VIS-plugs in foobar
Post by: PhrostByte on 2004-03-08 15:33:09
Yeah.. it isn't.. I was just testing stuff out, but yea thanks again
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-10 22:19:03
Yay, bugfix release (version minus0.37).

Source (http://potatoriffic.f2g.net/foo_vis_bacon_src-minus-0.37.zip) (requires the KISS FFT library (http://sourceforge.net/projects/kissfft) to compile, but I may decide to distribute that along with this at some point.
Binary (http://potatoriffic.f2g.net/foo_vis_bacon-minus-0.37.zip)
The infamous MSVCR71.DLL (http://potatoriffic.f2g.net/msvcr71.zip).  Put it in the same directory as foobar2000.exe if you don't already have it.  This is only necessary for builds I release since my version of Visual Studio is too new - binaries from kode54 and hartwork should be fine without it.

What's new (-ish):
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-03-10 23:29:32
Thanks for the update bleh.  Hope you can get the spectrum data thing worked out.
Title: Winamp-VIS-plugs in foobar
Post by: pineapples10 on 2004-03-22 19:12:56
can someone please make a tutorial, or compile appropriate versions of plug-ins and files that would allow me to get milkdrop/bacon working in foobar.  Ive tried and tried, but I keep get an error message saying bacon cant be initialized.  Any help would be greatly appreciated.

Chris
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-22 20:32:23
I'm too lazy to put together a web page now, but here's a brief summary:

1.  If you do not have Winamp installed, create a directory somewhere to hold your Winamp plugins and install a bunch of Winamp plugins there.  I don't know if you do or not, but if you don't have Winamp installed and you're having problems with this step, let me know and I'll see if I can make it easier for you... some plugins require extra effort to install without Winamp (I should make a list or something :|  ).

2.  Download the binary linked to in my earlier post and extract foo_vis_bacon.dll to your foobar2000 components directory.

3.  If you do not have Visual Studio .NET 2003 installed on your system, you'll probably also need to download MSVCR71.DLL (also linked to in my previous post, though it is zipped), and put it in the same directory as foobar2000.exe.  Without this, you'll get error messages about not being able to load foo_vis_bacon.dll, which I suspect is what happened to you, but I'm not sure.

4.  Go into the foobar2000 Preferences menu and select. "Baconwrap," under the Visualizations group.  Ignore any messages about not being able to find any plugins for now.

5.  At the top of the foo_vis_bacon configuration screen is the directory currently being scanned for plugins.  If you have Winamp installed, this should hopefully be pointing to your Winamp plugins dir.  If not, you'll have to click the ... button and select the directory to search.  For now, it will only detect Winamp plugins named something like vis_PLUGINNAME.dll, but I could decide to make this an option for people who really like having every DLL in a directory scanned.  If you get an error message after selecting the directory here and you're certain you have plugins in it, let me know.

6.  Next, look at the two combo boxes below it.  The top combo box tells you which plugin is currently being used.  If you drop it down, you should be able to select Milkdrop without any problems.  The combo box below it is for setting the plugin module to use, which is useful for some plugins like the Nullsoft Tiny Fullscreen visualization, but doesn't matter for Milkdrop because Milkdrop only has one module.

7.  Once you've selected the plugin you want, you can configure it by clicking the, "Configure Module," button.  It should bring up the configuration dialog for the plugin exactly like in Winamp.

8.  Now that you have everything all configured, close the preferences dialog.  In the main menu, check to Components -> Visualization -> Bacon.  That should make foo_vis_bacon run whenever foobar's playing audio.

9.  Play something and see if it works.


Also, for anyone who's wondering, the reason I haven't released an update recently is that Winamp's spectrum analysis confuses me, possibly because I don't really know anything about spectrum analysis.  If I feed it, say, a 1500 Hz sine wave at a sampling rate of 48000 Hz, it should produce a single, vertical line, since 48000 / 1500 = 32, so the sine wave gets repeated exactly once every 32 samples.  This is what I get from the FFT, foobar's visualization, and Winamp's MP3 decoding plugin.  However, the visualization Winamp uses for WAV files and other stuff displays absolutely nothing at all.  I feel like I missed something.
Title: Winamp-VIS-plugs in foobar
Post by: pineapples10 on 2004-03-26 01:56:59
thanks...I got it to work..only now I have a large problem.  After playing for about 2 mins with Milkdrop on fullscreen, my computer freezes!  Ive tried this both in Winamp and Foobar, and it hapens with both....nyone have any dea what the problem i?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-26 04:19:28
Hmm, that's kinda weird.  You might want to look at updating your video card drivers or upgrading DirectX if you have a really old version.  I suppose it could also be a corrupted Milkdrop installation.  Do you have any issues with running 3D games or other visualizations like AVS?
Title: Winamp-VIS-plugs in foobar
Post by: NEMO7538 on 2004-03-26 22:00:12
I have this error at step 8 :

INFO (foo_out_dsound_ex) : Created stream: 44100Hz 32bps 2ch
INFO (foo_vis_bacon) : Attempting to load bacon\vis_milk
ERROR (foo_vis_bacon) : Couldn't load DLL


Edit : Seems to work now.  I just reselected milkdrop in the combo box (which I did'nt do first time because they were positionned to MilkDrop by default, it's the only one plugin I have)
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-26 22:27:33
Yeah, the reselection thing is a bug I keep forgetting.  I need to take a look at each step of the plugin selection process sometime.  Sorry about that.
Title: Winamp-VIS-plugs in foobar
Post by: NEMO7538 on 2004-03-27 08:29:54
Quote
Yeah, the reselection thing is a bug I keep forgetting.  I need to take a look at each step of the plugin selection process sometime.  Sorry about that.

Small bug .... Thanks anyway for the plugin. I'm not a vis addict but Milkdrop is nice !
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-03-31 05:17:29
Plugin urpdaetd.

Binary (http://potatoriffic.f2g.net/foo_vis_bacon-minus-0.36.zip)
MSVCR71.DLL (http://potatoriffic.f2g.net/msvcr71.zip) (put this in the same directory as foobar2000.exe if you don't already have it; it doesn't get updated)
Source (http://potatoriffic.f2g.net/foo_vis_bacon_src-minus-0.36.zip)

What's newish:
Title: Winamp-VIS-plugs in foobar
Post by: .zolder on 2004-04-09 10:35:16
hi, i just installed foo_bacon and put msvcr71.dll in the foobar directory, but whenever i try to start the plugin i get this error:
ERROR (foo_vis_bacon) : Couldn't load DLL
i read somewhere i should ignore that msg and the plug would start anyway, but that isnt the case on my pc..

I got fb2k v0.8 (feb24 version)

does anyone know what i can do?
Title: Winamp-VIS-plugs in foobar
Post by: kode54 on 2004-04-09 11:02:50
You need to select a vis plug-in first. The default string should be redesigned to be more dynamic, or something... (For example, decide on Winamp directory or fb2k dir\bacon as usual, then try to locate vis_milk.dll, otherwise locate the first visualization component.)
Title: Winamp-VIS-plugs in foobar
Post by: smithore on 2004-04-09 11:03:56
It Works With Foobar 0.8.1 ...try it!
Title: Winamp-VIS-plugs in foobar
Post by: .zolder on 2004-04-09 11:30:58
cool thanks you both! it's running now

woohoo 
Title: Winamp-VIS-plugs in foobar
Post by: Rasi on 2004-04-09 12:47:37
to  be honest from start i havent read all the thread now...


i just tried quickly with milkdrop and the plugin loads fine.. but apart from showing the title information in its very own style its just a blank window / screen...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-04-09 15:32:27
A similar-sounding issue was posted by Gul earlier in the thread (around page 3, over a month ago) and a clean install of foobar2000 apparently fixed it.  I've never been able to duplicate that behavior, so I'm at real loss for how it could be happening.

Just out of curiosity, do you get the same effect with other plugins?  If you have Winamp installed, the Tiny Fullscreen plugin with the oscilliscope module would be a good way to see if foo_vis_bacon is actually passing along the data or not.  If you don't have Winamp installed, you don't have to install it -  I guess I'll try to think up something else in that case.
Title: Winamp-VIS-plugs in foobar
Post by: Rasi on 2004-04-09 22:36:53
ok.. i played a little...

reinstalled foobar from scratch and put the bacon dll in components dir...

milkbar worked fine now...


but i didnt like to have my winamp installed so i created a folder "VIS" inside foobar directory and pointed bacon to this one...

after restarting foobar i reselect milkbar from the dropdown list and the old problem reeppears.. only title, without visualisations


and yes.. this does not only affect milkdrop.. avs does the same thing, blank screen

switching back to old directory doesnt help...


was thinking it might be related to foo_osd.dll, for its use of overlay, but that wasnt the case, apparently



*UPDATE*

tiny fullscreen oscilloscope DOES work, tho....


one time the screen with milkdrop was not black, but white and i think i could see movements in the background, but maybe my eyes played a trick on me...

and another time it was blank as usual, but a half circle of blue lines was on the lower left corner, moving a bit, then disappearing...
Title: Winamp-VIS-plugs in foobar
Post by: SNAG on 2004-04-10 15:46:45
OMG.
This is so cool..

Another one reason to use foobar instead of the other players...

Anyone knows how to fully utilize the 500 odd presets included with Milkdrop? Some of the presets are a little bad to my liking...

EDIT: I realised how to enable the presets... just press "L"!
Title: Winamp-VIS-plugs in foobar
Post by: langoustator on 2004-04-10 21:07:21
Great plugin.
What about a sonique visual plugin? Synesthesia doesn't work very well (even in winamp) and there's no fullscreen option in the other sonique visual wrapper for WA.
There are really beautiful visses with Sonique (Rabbit hole, Aorta, Smear to name a few)
Title: Winamp-VIS-plugs in foobar
Post by: yandexx on 2004-04-10 21:50:21
BACON is great!
My milkdrop works a lot faster in fb2k now than in WA previously. It looks so nice in 1024x768. No slowdown at all (see my specs.)!
(is that true that TNT2 Pro supports anisotropic filtering? - maybe that's why milkdrop looks so beautiful)
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-04-12 00:22:30
Hi, sorry I haven't been able to reply recently.  I wasn't around my computer over the weekend and I have a remarkable propensity for forgetting my HydrogenAudio password.

Rasi,
you say it does work okay when you direct it at a Winamp directory, but it doesn't work properly when you try copying the files over?  I wonder if either you didn't copy something right or if Milkdrop is expecting something to be in a weird place.  Have you tried pressing 'L' to select different presets and seeing if you've just been getting especially boring presets?  Like I said, I've never been able to reproduce this, so all I can really do is guess.

langoustator,
I guess I could look into it.  It would depend on how complicated Sonique's visualization API is.  It also would depend on how long it takes for Sonique's site to get fixed, since I get a server error whenever I try to download the SDK.
Title: Winamp-VIS-plugs in foobar
Post by: langoustator on 2004-04-12 10:51:45
Here is the sdk

api : http://files.sonique.com/plug-ins/api/sonvisapi.zip (http://files.sonique.com/plug-ins/api/sonvisapi.zip)
updated header : http://files.sonique.com/plug-ins/api/sonvisapiupd.zip (http://files.sonique.com/plug-ins/api/sonvisapiupd.zip)
example vis: http://files.sonique.com/plug-ins/api/examplevis.zip (http://files.sonique.com/plug-ins/api/examplevis.zip)
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-04-12 12:01:59
Thanks.  The API header seems fairly simple, so I'll see what I can do with it.
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-04-12 12:37:46
The best Sonique visualization ever released has to be Smear! If you could emulate that I think I would drop a load!!!
Title: Winamp-VIS-plugs in foobar
Post by: spase on 2004-04-12 15:21:06
hmm.

bacon doesnt work anymore... it used to work great tho.  0.8.1 broke it or something....

unless there is some problem with settings... is there a way to purge all previous bacon settings?

(ps. yes other vis plugs work fine.)

EDIT: I am retarded...    ok so i guess it doesnt work with 4 ch output....

Any chance to get that working?

EDIT2: EVEN MORE RETARDED!

I see it takes sound from the front channels.  I guess in hindsight that is logical.

Move stereo to rear channels makes it seems like nothing is playing tho.  I dont suppose there is a way to detect if that DSP is active, and switch to get audio from teh rear channels?

Or maybe just leave an option for the user to select front or rear to get audio from?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-04-12 15:36:23
You're right, it currently only reads audio from the front two channels, mainly because Winamp plugins only take two channels and I was lazy.  I'll probably have the next release mix the rear two with the front two and then send that to the Winamp plugin.

However, any work on foo_vis_bacon or any other vis wrappers (foo_vis_ham?) is on hold for a while, at least until I'm finished compiling and playing with KDE 3.2.1 and I can reboot into Windows.
Title: Winamp-VIS-plugs in foobar
Post by: bexx on 2004-04-29 07:58:53
wow milkdrop + foobar, i'm happy...  reasons for anything besides foobar are hard to come up with now
just wanna say thanks
Title: Winamp-VIS-plugs in foobar
Post by: Krug_Stillo on 2004-05-02 17:01:08
Quote
wow milkdrop + foobar, i'm happy...  reasons for anything besides foobar are hard to come up with now
just wanna say thanks

I just have to second every part of that statement completely. FB2k is as good as it gets and this plugin is just fantastic.
Title: Winamp-VIS-plugs in foobar
Post by: BetaBoy on 2004-05-02 18:40:44
Guys sorry I caught this thread waaaaaaaay too late.... we could have help you guys save alot of DEVEL time ;-(  The Core Media Player 4.0 has supported WA  AVS/VIS/DSP since November of 2002.

We would be happy to give you guys any source you may need... though it looks like you already have figured it out. Sorry bout that.
Title: Winamp-VIS-plugs in foobar
Post by: blammo on 2004-05-23 22:24:17
Hi.

Just discovered your this plugin!  Its great!.. One problem.  The console reports "Bad plugin version" everytime I go to the preferences.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-05-23 22:43:48
Under the preferences, there's an option called, "Load plugins with unexpected SDK versions."  If you enable it, those warnings will go away and you'll probably notice some plugins in your list that weren't there before.  However, there's also a slight possibility that this'll make foo_vis_bacon crash... if this happens, let me know which Winamp plugins you're using and I'll look into it.

I should probably make that warning more descriptive :|.
Title: Winamp-VIS-plugs in foobar
Post by: blammo on 2004-05-27 11:06:46
Ta.

That worked a treat!

Couple more things.

1. Mirage crashes

2. Any plans to let visualisations to control Foobar or display playlists like toonamp or lightspeed
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-05-27 15:08:02
Quote
1. Mirage crashes

Hmm... yep.  I'll have to see if I can find a reason for this.

Quote
2. Any plans to let visualisations to control Foobar or display playlists like toonamp or lightspeed

Yeah, but I haven't decided on the best way to implement it.  The, "don't reinvent the wheel," solution would be to hand everything off to foo_winamp_spam or something. Unfortunately, I'm kind of a control freak, so I've already started working on the alternative method of basically duplicating foo_winamp_spam's purpose so I control exactly how everything works.  I don't know which people would prefer (smaller foo_vis_bacon plugin vs. not having to install foo_winamp_spam to get play control), so I'm kind of stuck on that.  Maybe people could give me some feedback on this issue (please?).

Also, I've been really lazy and haven't gotten anything done (in about a month and a half) on the other things I wanted to get in the next release, like mixing in rear channels for people who use the, "Move stereo to rear channels," plugin.  I've also been thinking of changing the directory for people without Winamp installed to, "foobarpath\Winamp\Plugins," because that's the only directory structure Milkdrop will install directly into and a lot of installers ask for the Winamp directory and then shove everything into a, "Plugins," directory inside.  This would be another good thing for people who care to speak up on before I go ahead and change it (because I will change it if nobody says anything).
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-05-29 03:37:51
New version with the stuff I discussed posted at http://potatoriffic.f2g.net/bacon (http://potatoriffic.f2g.net/bacon).  Still experimental, etc.  Probably the most notable addition is not changes to the DLL, but the short list of plugins I've tested at http://potatoriffic.f2g.net/bacon/list.html (http://potatoriffic.f2g.net/bacon/list.html).  Green plugins are good, others are buggy.
Title: Winamp-VIS-plugs in foobar
Post by: The Link on 2004-05-29 10:48:39
Thank You! 
Title: Winamp-VIS-plugs in foobar
Post by: ScudAudio on 2004-06-30 17:31:44
This is great. Thank you.

I also ran into the instant crash with Synthesia, so you might want to put a warning on the plugins compatibility page about that.
Title: Winamp-VIS-plugs in foobar
Post by: Gemini on 2004-07-06 21:23:35
Do you guys know if there is a vis that displays random pictures given a specified path? Went to winamp site and couldn't find one there.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-07-14 03:43:48
Sorry for the really out-of-date replying.  I forgot my HA password, waffled on requesting a change, and then, about five minutes ago, realized my Firefox profile in Linux still had it saved >_<

Quote
I also ran into the instant crash with Synthesia, so you might want to put a warning on the plugins compatibility page about that.

Warning added shortly after I saw your post; thanks for reminding me.

Quote
Do you guys know if there is a vis that displays random pictures given a specified path?

No, but somebody should make one.
Title: Winamp-VIS-plugs in foobar
Post by: dylan¤vp on 2004-07-20 15:25:45
Hi

I'm the author of the Mirage visual plug-in. I've just released version 1.01 which fixes the song title crash with foobar/vis bacon.

You can grab it here : http://www.visualprojects.net (http://www.visualprojects.net)

I noticed that it is much slower (when framelimiter is off) with foobar than with winamp. Is there any latency between successive calls to Render() ?

Regards
Dylan
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-07-20 16:45:16
First of all, thanks for doing that.  It's really helpful.

For the speed issue with the frame limiter off, I don't know if it's latency or wasted CPU cycles, but I do know what's doing it.  Looks like the timer code hartwork added may need to be revised or dumped in favor of something saner.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-07-24 23:49:01
Hi, sorry I haven't posted a version that isn't as slow yet, but I got distracted by other things and, more recently, a different bug in foo_vis_bacon that I think I have mostly fixed (WaitForSingleObject is bad).  However, after fixing that one, I noticed that the Climax visualization also crashes on title display and not just on visualization stop like I previously thought.  Could you give me some idea of what you had to change to make Mirage's title display work with foo_vis_bacon so I can get that issue ironed out?  One plugin crashing I was prepared to write off as an oddity, but two is a much stronger indication that something's wrong.
Title: Winamp-VIS-plugs in foobar
Post by: dylan¤vp on 2004-07-25 11:55:48
Hi

in fact the problem I had with song title is that I was relying on : HWND hwnd_winamp = FindWindow("Winamp v1.x",NULL);
Obviously if the plug-in is running without Winamp, there's a problem. The more correct way is to use the hwndParent member of the winampVisModule. But in the strict context of a _Winamp_ plugin, both methods are equivalent. Bottom line : whenever a plugin uses FindWindow (which by the way is advertised in the Winamp vis plugin SDK as a valid way of interfacing with the player, otherwise it should not be even mentioned in the plugin SDK), there is a potential crash if used with a wrapper (or at least missing functionnality and/or unexpected behaviour if the code has triple checks everywhere).

Regarding the speed problem, I noticed that opening the Preferences dialog of the Bacon coponent before running the vis plugin makes things a little better. Dont know why it would change anything though.

Also, regarging the windowing problem you mention in the tested plugins list, I didn't saw it because I currently use foobar 0.8.2 with its out-of-the-box Windows-like interface. I guess you are using the skin component, and that this component uses layered windows. If it is the case, I'm afraid the problem is neither Mirage nor foobar, but the GDI itself. Here is a quote that popped a few days ago on opengl.org's forum :
Quote
-------------------------------------------------------------------
From: Greg Binkerd [MS] (GregB@online.microsoft.com)
Subject: RE: WS_EX_LAYERED and OpenGL together?
View: Complete Thread (3 articles)
Original Format
Newsgroups: microsoft.public.win32.programmer.gdi
Date: 2002-06-05 10:18:55 PST


Hi, Craig.

Unfortunately, OpenGL (and DirectX) can not be used in a layered window.
The hardware performs all rendering and will not incorporate the
semitransparency effect displayed by a layered window. In fact, if you
create a layered window and you move it over an OpenGL application or
windowed DirectX application, you will see "flashing" of the layered
window, since the hardware will draw the 3D primitives directly on the
primary surface, drawing over the layered window and the layered window
will immediately redraw itself in a semitransparent state. Note, this will
only occur with hardware accelerated OpenGL and DirectX applications.

Thanks,
-Greg
Microsoft Developer Support
-------------------------------------------------------------------
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-07-25 15:24:21
Hmm, I could change the classname to match Winamp's and see if that makes any of the currently-broken plugins work.  It'd interfere with foo_winamp_spam as well as regular Winamp, though.  Also, though I also use the default interface, it turns out that I had transparency turned on and the slider moved all the way over to full opacity.  In addition to messing with Mirage, it slows Milkdrop and probably other things down by a factor of around five or so.  I probably shouldn't have put it up on the site without checking other plugins first; sorry about that.

I should be posting a version that doesn't crash Mirage when visualization is turned off later today, but I have to finish testing my changes to make sure they don't break other things and I'm almost out of bandwidth for the month (free hosting :/  ).

EDIT:  foo_vis_bacon (http://potatoriffic.f2g.net/bacon) minus0.29 has been posted and the list has been updated.  I have two megabytes of bandwidth left, so if you don't get it by the end of the day, you'll have to wait until August.
Title: Winamp-VIS-plugs in foobar
Post by: Nathan_ on 2004-07-26 03:52:28
An alternative to Winamp-Vis... ?

I don't know if anyone's heard of G-Force,  I found it last week.  It's what I've been after for a while, namely a decent player-independent visualization program. It looks really cool (especially for me when using my old TV as a second monitor), and is very customizable, as you can set variables and save presets via keyboard shortcuts and scripts. It's shareware, with an infrequent text display suggesting you buy the full version. Doesn't seem to take up too much resources, and simply visualizes the line-out.

Sorry if everyone already know about this, but I was really impressed.  Maybe if you're into the more 3D visualizations you migh think it sucks, but I definitely don't.
G-Force Homepage (http://soundspectrum.com/)

Does anyone know of other good player-independent programs like this?
Title: Winamp-VIS-plugs in foobar
Post by: ssteven on 2004-07-26 05:27:55
Hi

I've never used visualizations for winamp.  I was wondering if anyone could suggest to me their favorite visualization plugins that I could use for this great plugin.

Thanks
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-07-26 08:05:46
Thanks for continuing your work, bleh.
Title: Winamp-VIS-plugs in foobar
Post by: dylan¤vp on 2004-07-26 13:37:25
Quote
Hmm, I could change the classname to match Winamp's and see if that makes any of the currently-broken plugins work.  It'd interfere with foo_winamp_spam as well as regular Winamp, though.

I think it would be a bad idea. Keep it simple and clean. If there are compatibility issues for a plugin outside Winamp, IMO it is still the plugin author's responsibility to correct it if possible. On the other hand, the author could also throw compatibility away and develop for Winamp only. You just can't handle every corner case on your own.

Quote
I should be posting a version that doesn't crash Mirage when visualization is turned off later today, but I have to finish testing my changes to make sure they don't break other things and I'm almost out of bandwidth for the month (free hosting :/  ).

EDIT:  foo_vis_bacon (http://potatoriffic.f2g.net/bacon) minus0.29 has been posted and the list has been updated. [a href="index.php?act=findpost&pid=228832"][{POST_SNAPBACK}][/a]

Great work on the stability side. I didn't get a single crash with this release (even with kill vis on flush enabled). Foobar w/ foo_vis_bacon is now my development platform
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-07-26 16:13:53
Quote
I've never used visualizations for winamp. I was wondering if anyone could suggest to me their favorite visualization plugins that I could use for this great plugin.

Milkdrop is pretty much the benchmark.  Mirage is showing a lot of promise and will probably as good once it's had more time to mature.  G-Force is another good one.
Quote
I think it would be a bad idea. Keep it simple and clean. If there are compatibility issues for a plugin outside Winamp, IMO it is still the plugin author's responsibility to correct it if possible.

I knew it would be a bad idea when I brought it up, but I thought it might help with some plugins.  It didn't, so it's not happening.
Quote
Foobar w/ foo_vis_bacon is now my development platform

Um, wow.
Title: Winamp-VIS-plugs in foobar
Post by: actio on 2004-07-30 12:26:17
hi where can i download foo_vis_bacon.dll ?
do i need others files?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-07-30 15:34:24
Right now, you can't download it anywhere because I exceeded my traffic limit for the month and I don't want my site to get booted from an otherwise decent free host.  After August 1st, it'll be available again at http://potatoriffic.f2g.net/bacon/ (http://potatoriffic.f2g.net/bacon/)
Title: Winamp-VIS-plugs in foobar
Post by: kalmark on 2004-07-30 16:02:39
You can use this temporary mirror: click (http://kalmark.uw.hu/foo_vis_bacon-minus-0.29.zip)

I'm not sure how long this file will be available from here!
Title: Winamp-VIS-plugs in foobar
Post by: actio on 2004-07-30 18:46:15
thanks !
Title: Winamp-VIS-plugs in foobar
Post by: actio on 2004-07-31 06:53:05
but i need this file msvcr71.dll to run bacon!!
Title: Winamp-VIS-plugs in foobar
Post by: Gnerma on 2004-07-31 08:01:27
Quote
but i need this file msvcr71.dll to run bacon!!
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=230494")

[a href="http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71]http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71[/url]

Or search for it on your system, its probably there somewhere
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-07-31 15:00:42
Once you get it, it goes in the same directory as foobar2000.exe.
Title: Winamp-VIS-plugs in foobar
Post by: kalmark on 2004-07-31 15:16:13
Or C:\windows\system32? doesn't that work too? and then each application which would like to use this dll would find it when it looks for the dll.

edit - According to MS (next post) this is not a good idea! Though some program installed before might have placed the dll here, so maybe you won't need a copy of that in foobar's folder - like in my case.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-07-31 15:26:16
That would work as well, but Microsoft recommends against it as it's not technically a system library.
Title: Winamp-VIS-plugs in foobar
Post by: Thor on 2004-09-01 06:46:28
This thread has been silent for quite a while, is this component still in development? I sure hope so .

-Thor
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-01 17:39:23
It isn't really being developed anymore because I'm not sure what to do with it next.  There are still some Winamp plugins that have severe issues, but I ran out of ideas for things that might fix them over a month ago without any success.  If I have some major revelation that allows me to fix everything, I might go back to working on it, but it's pretty much stalled at this point.

Unless there's some feature you really want that would be sane to implement...
Title: Winamp-VIS-plugs in foobar
Post by: langoustator on 2004-09-01 21:04:12
And what about foo_vis_ham for sonique plugins?
Did you make any progress?
Title: Winamp-VIS-plugs in foobar
Post by: ep0ch on 2004-09-01 22:29:50
Hi,

An extension for the new version of ui_columns would be cool  and also a foobar version of projectM (http://forums.winamp.com/showthread.php?threadid=175336)  would be good (when the windows source is available)

Cheers
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-01 22:37:34
Quote
And what about foo_vis_ham for sonique plugins?
Did you make any progress?
Um, well, I mostly forgot about that one, so progress would be... zero.  Damn.

I guess that would be something I could consider actually developing in the future.

Quote
An extension for the new version of ui_columns would be cool
It'd be hard to do as I'd have to find some way of forcing any window created by a Winamp visualization plugin into the panel.  It may be possible, but I'm not sure; I'll have to browse the MSDN docs sometime and see if anything looks promising.  You were asking about a panel containing the visualization, right?

Quote
a foobar version of projectM would be good (when the windows source is available)
Yes, a native version would be extremely good.
Title: Winamp-VIS-plugs in foobar
Post by: ep0ch on 2004-09-02 12:09:08
Quote
You were asking about a panel containing the visualization, right?


Yup, that's what i meant.  I think alot of people will see it as being extremely cool.
Technically it might be possible... doesn't Winamp5 do something similar with having the VIS integrated as part of the GUI albeit skinned?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-02 13:56:00
Yes, but only if a visualization specifically tries to embed itself into the Winamp window.  Most older plugins make their own non-integrated window and that would kill the idea of having the vis go into the panel.  What I'm wondering is whether it's possible, using ordinary Windows API calls, to shove any window created by the visualization into the panel space.

EDIT - In addition, I'd have to figure out how UI extension plugin is supposed to get the visualization data.  That's something on which I'm not too clear.
Title: Winamp-VIS-plugs in foobar
Post by: ep0ch on 2004-09-02 16:48:33
well I'd be happy if you manged to just get the newer plugins that embed themselves into the gui to work as a panel.

good luck!!
Title: Winamp-VIS-plugs in foobar
Post by: indispositon on 2004-09-05 17:42:03
okay so i downloaded this bacon plugin, and i put it in my components folder, and when i click the BACON option in the vis part of the components toolbar, i get a message that says 'visualization manager not present, please reinstall'

i do not know what to do from here
Title: Winamp-VIS-plugs in foobar
Post by: p0wder on 2004-09-05 18:44:06
Did you put msvcr71.dll in your foobar2000 directory?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-06 01:32:33
When you installed foobar2000, support for visualizations was not included or you somehow lost the foo_vis_manger.dll component.  Reinstalling foobar2000 should fix this.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-11 21:37:29
poke.

foo_vis_ham is effectively dead.  I tried hacking something together really quickly just to see how it would go and Aorta ended up being slower than Synaethesia in foo_vis_bacon.  Also, Smear displayed the same issues with paths that Synaethesia did (everything has to be in a specific place relative to the executable or it crashes), which kind of kills it since that's one of the big Sonique visualizations.  I may make a page for getting Synaesthesia to work with foo_vis_bacon instead.

foo_vis_bacon - Nothing much planned in the future pending a rewrite or a big cleanup, since I can't remember exactly how all of my badly-named variables for signaling things across threads were supposed to work and that annoys me.  However, looking at how things worked again did make me think of a question which I thought was interesting enough to be worth the thread bump:

Would it terribly offend anyone if the framerate specified in the Winamp plugin configurations were ignored and the framerate specified in the foobar2000 visualization config were used instead?
Title: Winamp-VIS-plugs in foobar
Post by: ep0ch on 2004-09-11 23:19:32
Quote
Would it terribly offend anyone if the framerate specified in the Winamp plugin configurations were ignored and the framerate specified in the foobar2000 visualization config were used instead?


Not at all, I thought it did that already :s
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-11 23:35:35
Kind of... the data gets updated at the speed set in foobar, but the plugin gets told to render at the rate it specifies, which leads to asynchrony.  I thought I'd fixed it, but I really didn't and I can't think of any feasible ways of getting around the problem.  Anyway, thanks for supporting the easier-to-implement solution.
Title: Winamp-VIS-plugs in foobar
Post by: deus-ex on 2004-09-12 01:07:26
Quote
...supporting the easier-to-implement solution.
I support this solution, too. Heh, now that there are three of us no one can stop us.


Did you now that Xmplay has build in support for Sonique Visualizations?
Xmplay users asking for Winamp Vis-plugin support since quite a long time. Ian, the author of Xmplay, seems to be not very interested since he does'nt like Winamps Vis-plugin structure (he looked into it once).

Conclusion:
¯¯¯¯¯¯¯¯¯
You have something he might want, he's got something you might want.
How about getting in contact and talking about possibe exchange of sources?

You can pay his site a visit here: XMPLAY Homepage (http://www.un4seen.com)

Regards, deus-ex.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-12 01:22:55
Thanks for the suggestion, but it doesn't quite work like that, unfortunately.
Title: Winamp-VIS-plugs in foobar
Post by: dylan¤vp on 2004-09-17 00:58:24
Hi! Good to see some action over there  Back from holidays, huh?

Some remarks about what has been said recently.

About the integration of visualizations within the player, I must say I'm rather against this idea. Except for tiny components that could replace the little spectrum viewer or waveform viewer in a small window a few dozen pix wide, I don't see the point. If you want to enjoy a nice vis with a lot of effects and stuff, chances are you will use a rather large window (not necessarily the entire desktop, but at least say a third of it or more). In this case, the 'integration' is gone, from a skin/appearance design point of view. Branding the title bar and borders seems artificial to me. But that's just me

As to how to force a window into the player, I was thinking about that myself when I wrote my plugin. I don't think it's practically doable. You probably would have to override the window style (what if the plugin creates a popup style window? an overlapped window? a toolbox window?). Plus you would have to intercept messages, and redispatch. SIZE and MOVE messages come to mind. If the plugin does unexpected things in response to these messages, you're in trouble (well at least the nicely integrated visualization is).

About the status of the bacon thingy , I was willing to take a look at the source some time in the future, specifically to tackle the speed issue I mentioned earlier. Now I'll wait for the clean, easy-to-read rewrite  Seriously, the few tidbits given recently more or less give me an answer on this subject.
I'm currently working on my next plugin, and I am not terribly offended by the framerate being set by the bacon. In fact, it won't matter that much.
I was wondering if there was a point releasing a native version for foobar2000 if the winamp version works with the bacon. I have absolutely no idea how the foobar SDK looks like.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-17 02:08:54
Quote
Hi! Good to see some action over there  Back from holidays, huh?
Never left; I'm just lazy.

Quote
As to how to force a window into the player, I was thinking about that myself when I wrote my plugin. I don't think it's practically doable. You probably would have to override the window style (what if the plugin creates a popup style window? an overlapped window? a toolbox window?). Plus you would have to intercept messages, and redispatch. SIZE and MOVE messages come to mind. If the plugin does unexpected things in response to these messages, you're in trouble (well at least the nicely integrated visualization is).
Yeah, that's basically the gist of it.  I still haven't getting around to seeing if this sort of thing is possible, though, because I'm still not sure what the best way to make visualization panel is.

Quote
I was willing to take a look at the source some time in the future, specifically to tackle the speed issue I mentioned earlier.
I thought minus0.29 was up to par speed-wise.  I didn't notice much of any difference, at least.

Quote
Now I'll wait for the clean, easy-to-read rewrite
It hasn't turned out any cleaner or easier to read, it just splits things across more files so it's easier to ignore the really ugly stuff as long as nothing needs fixing.  I ended up reusing more code than I expected, too.

Actually, you probably wouldn't care too much for the rewrite as it seems noticably slower.  I'm not sure exactly what the reason for this is yet, but I'm putting off another test release until I can figure out what did it.  The really annoying thing about this is that the way I changed things, a few plugins that wouldn't disable themselves when their windows were closed with previous versions suddenly cooperate and work normally, so if I go back to the older, faster method, I lose some stability.

Quote
I was wondering if there was a point releasing a native version for foobar2000 if the winamp version works with the bacon. I have absolutely no idea how the foobar SDK looks like.
A native version would definitely be better from a usability standpoint as people wouldn't have to sit and wait forever for foo_vis_bacon to scan their plugin directory just to change the texture settings or something.  It's also likely to be more stable.  The main difference you would have to adapt to going from Winamp to foobar is that you have no control over the number of waveform and spectrum samples you get at any given time; you just have to figure out some way of working with what you get.  Also, the latency reporting function is kinda counter-intuitive - it expects a negative return value.


EDIT:  I've figured out why the new version seems slower (like 20 fps in foobar vs. around 70 in Winamp).  To convert from the data foobar gives me to the data Winamp expectes, I have to run a 1152-point FFT to get the 576-point spectrum, then convert the spectrum and waveform data from floating-point to char, which means 2304 conversions if the audio output is stereo.  This takes a while.  With the revision, the Winamp plugin is told to render only after this is done, so the Winamp plugin rendering is very CPU-limited; with the old version, the Winamp plugin didn't care if the data it was getting was remotely up-to-date as long as it got to draw stuff on time.  foobar2000 will tell visualization plugins to skip over data if the previous stuff got backed up, so the old version was probably updating the actual data only around 10 or 15 times per second even though the plugin got to render a lot more.

So it looks like I'm going to have to play the workaround game.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-19 15:44:48
Sorry for the double post, but you know, when you start coding before you've completely decided on a given implementation, your code picks up nice little gems like this:
Code: [Select]
    for (unsigned int i = 0; i < waveform_samples; i++)
    {
 left_waveform_data.read(left_wave_buffer, waveform_samples);
 right_waveform_data.read(right_wave_buffer, waveform_samples);
    }
    //     >_<;;


Mirage gets 40 fps now when tied to the data from foobar and about 70 fps when I decouple it, and for some reason, Eonic and Tripex aren't being asinine about closing their windows anymore even with the rendering decoupled from the data, so I may just continue letting the data be out of sync.  Now that I think some more about it, that's probably how Winamp does it, since the visualization data is added 576 samples at a time by the input plugin.
Title: Winamp-VIS-plugs in foobar
Post by: dylan¤vp on 2004-09-19 19:21:33
Nice find

I think you're spot on regarding how Winamp works. I thought about it some time ago. 44100 samples per second / 576 samples per buffer = 76.5 buffers per second. If your getting any faster than this, either you sometime get the same buffer several times in a row, or you get partially updated buffers. So my guess is the following : whenever the Render() function is called (by the Winamp-managed vis thread), the plugin gets whatever audio data is there at that time. Winamp does not wait until new audio data is available, I don't even think it's capable of partial updates on these buffers, but I'll have to check that to be sure.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-23 19:13:46
foo_vis_bacon minus0.2 (http://potatoriffic.f2g.net/bacon) is now available for everyone to test and possibly enjoy.
Title: Winamp-VIS-plugs in foobar
Post by: The Link on 2004-09-23 19:46:40
Thanks for the new version!
One thing: When manually changing tracks the plugin leaves fullscreen mode. I think that with the previous version this wasn't the case (not sure though).
I'm using MilkDrop 1.04.

Regards,
The Link
Title: Winamp-VIS-plugs in foobar
Post by: deus-ex on 2004-09-23 20:04:10
Hello bleh,
checked new foo_vis_bacon minus-0.2. Everythings cool here as with the previous releases. But there's one thing that doesn't work right ever since. As it wasn't fixed with current release i investigated the problem and this is what i found:

This AVS-Plugin Preset, S_Kupers - Spirit Realm (Degnic's Plasmoid Rmx).avs (http://www.hydrogenaudio.org/forums/index.php?act=Attach&type=post&id=1033), does'nt look right with foo_vis_bacon. To display its effect it needs an additional binary called "Texer.ape" and an texturefile named "Whacko6-07.bmp". AVS structure has it that files belonging to an Preset are stored in Winamps AVS directory, Presets usually reside in a subfolder in the AVS dir.
When the AVS Plugin runs under foo_vis_bacon the requiered files are not found by the Plugin/Preset and the effect is rendered without them (if possible). To verify i deleted the aformentioned .ape and .bmp file in the AVS directory and ran AVS trough Winamp, which then renders the effect with the same wrong output as foo_vis_bacon does.

In conclusion the solution probably is to set some environment variable storing the path to Winamp or change directory at startup of foo_vis_beacon (loud guessing).

deus-ex
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-23 21:44:17
Quote
Thanks for the new version!
One thing: When manually changing tracks the plugin leaves fullscreen mode. I think that with the previous version this wasn't the case (not sure though).
I'm using MilkDrop 1.04.

Regards,
The Link
[a href="index.php?act=findpost&pid=243928"][{POST_SNAPBACK}][/a]
If you have the flush handling set to immediately shut down the plugin, try changing it to use a delay.  One second should be fine for most types, but Monkey's Audio extra high seems to need two or three and I don't even want to know about insane.  If you do have it set to delay and it's leaving fullscreen, then this is an interesting problem as it's not reproducible on my end.


deus-ex:
I'll experiment with SetCurrentDirectory and see if I can get it to work.
Title: Winamp-VIS-plugs in foobar
Post by: The Link on 2004-09-23 21:52:24
@bleh: hmm...you were right! I had to set it to 3 seconds. I don't think that I had to set it that high in the previous version ... but who cares?
Thanks again!

The Link
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-23 22:00:18
Quote
@bleh: hmm...you were right! I had to set it to 3 seconds. I don't think that I had to set it that high in the previous version ... but who cares?
Thanks again!

The Link
[a href="index.php?act=findpost&pid=243948"][{POST_SNAPBACK}][/a]

3 whole seconds?  What kind of files are you playing back?
Title: Winamp-VIS-plugs in foobar
Post by: The Link on 2004-09-23 22:06:38
The files were in the musepack format.
Could it be that the buffer of my output device which is set to 2 sec. has sth. to do with it? Or the usage of the convolver?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-09-23 22:37:08
To be honest, I'm not sure since I don't have any Musepack files lying around.  I was just a little surprised.

Anyway, if it works for you with a slightly higher delay, then you might as well enjoy your present setup the way it is.
Title: Winamp-VIS-plugs in foobar
Post by: deus-ex on 2004-10-03 20:13:10
Quote
foo_vis_ham is effectively dead.  I tried hacking something together really quickly just to see how it would go and Aorta ended up being slower than Synaethesia in foo_vis_bacon.  Also, Smear displayed the same issues with paths that Synaethesia did (everything has to be in a specific place relative to the executable or it crashes), which kind of kills it since that's one of the big Sonique visualizations.  I may make a page for getting Synaesthesia to work with foo_vis_bacon instead.

Phear no more, redemption is here.
Found this cute little Sonique to Wincrap wrapper (http://www.geocities.com/kbcware/sqwrap/sqwrap20.zip), foo_vis_bacon wrapps it again into foobar2000 just nicely. Visual quality and speed is very good and can easily be adjusted, so give it a shot. Plus several cool Sonique Vis classics (Aorta, Rabbit Hole, Cosmic Belt, Acidspunk...) are allready included!

Sadly the authors main page (http://www.geocities.com/kbcware/) is abbandoned, last life sign is from mid 2002. Links on the site are broken, i webhunt for him was unsuccessful.

deus-ex
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-10-03 20:26:50
Seems to work a little better, though it's hard for me to say because I haven't experimented too much with Synaesthesia lately.  If I get a chance to mess around on a computer other than my own, I'll be able to do a better comparison of the two.  Thanks for pointing that plugin out.

Also, with regards to that AVS preset that's not working, I'm pretty sure AVS sets the directory of its files to be relative to the path of the current executable.  Unless someone knows how to override GetModuleFileName, the only way to get that to work will be to create a directory called, "Plugins," in the same directory as foobar2000.exe, then copy the AVS directory into that one.  At least AVS is relatively robust about it and doesn't crash or anything...
Title: Winamp-VIS-plugs in foobar
Post by: deus-ex on 2004-10-04 14:52:40
Another Winamp Visual, this time a leet spectrum analyzer. Ultra flexible, ultra configurable, ultra fast, ultra sexy.
The name? Sexy Attached Analyzers 1.61a (http://www.hydrogenaudio.org/forums/index.php?act=Attach&type=post&id=1070).
I'm providing a profile with it since it is tricky to config the colors. Play around and find out for yourself.

sexy deus-ex
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-10-04 15:29:41
I've actually seen that one.  As noted on the list of plugins test with foo_vis_bacon (http://potatoriffic.f2g.net/bacon/list.html), it's a nice analyzer, but it doesn't work too well with foo_vis_bacon, possibly because there's no window with the Winamp classname and definitely because the parent window for the Winamp plugins is kept from ever becoming visible.  The result is that it just kind of sits in the middle of the screen.
Title: Winamp-VIS-plugs in foobar
Post by: deus-ex on 2004-10-04 16:26:35
Quote
I've actually seen that one.  As noted on the list of plugins test with foo_vis_bacon (http://potatoriffic.f2g.net/bacon/list.html), it's a nice analyzer, but it doesn't work too well with foo_vis_bacon, possibly because there's no window with the Winamp classname and definitely because the parent window for the Winamp plugins is kept from ever becoming visible.  The result is that it just kind of sits in the middle of the screen.
[a href="index.php?act=findpost&pid=246248"][{POST_SNAPBACK}][/a]

Heh, if you give the download including the profile i provided a try you'll see that's not true.
Funny though, i didn't got to see any screen of it with current Wincrap, but it immediately showed up with bacon. Should make you feel proud.

Actually, this sexy thing has three different ways to draw its output screen:
Rightclick in its screen, select "Properties..", then third tab named "Style". On the lower left you'll find "Window" settings offering three options. With "Window" set to "screen" the "Location" option right below becomes active which lets you decide between top or bottom ocation of the plugin screen. Thats what i set up in the included profile.

As i said, Sexy Attached Analyzers is ultra-configurable, then again ultra-confusing to see through all the options.

deus-ex
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-10-04 21:18:50
Ah, you are correct.  I will update the plugin list to make it clear that setting the attach mode to something other than, "WinAmp," will allow people to enjoy this exceedingly sexy analyzer.

Also, I may have just noticed a bug in foo_vis_bacon involving switching between modules and possibly plugins while a plugin is currently running.  I'll see about getting it fixed as soon as I can figure out how to reproduce it reliably.

EDIT:  Bleeeeecccccchhhhhhhh, it crashes if you configure it from the foo_vis_bacon Configuration page while it's running and then hit, "cancel," or shut down the visualization before closing the config window.  The problem appears to be that if you configure it while it's running, the call to Config returns immediately after creating the window instead of after the window is closed (how most plugins do it), so there's a chance for the DLL to get freed too early.  This will be an interesting problem to resolve as I'd need to figure out some way of knowing when the config window gets closed even though the plugin does nothing to signal it to me.  I suppose I  could just make it keep every single plugin DLL persistently loaded like Winamp does, but, well, I think that way of doing it smells.  Grrr...
Title: Winamp-VIS-plugs in foobar
Post by: Mr_Rabid_Teddybear on 2004-10-05 04:43:17
[Deleted, didn't check the date]
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-10-05 05:21:30
I just noticed that it's also possible to have the Sexy Attached Analyzers crash Winamp by configuring while the plugin is running, then stopping the plugin.  I wonder if I should implement some sort of blacklist system for plugins that act up like this...
Title: Winamp-VIS-plugs in foobar
Post by: deus-ex on 2004-10-12 14:28:06
Rabidhamster's R4 (http://www.rabidhamster.org/R4/R4_1v10.exe) vis plugin was recently updated to v1.10. It has a revised soundcard detection and an improved beat responsivnes (now user configurable). Startup speed was increased a couple times. Though loading is still not perfect (it escapes me why the plugin loads/scans all including files at startup instead on first demand during runtime) its bearable now, it doesn't take the time to make a cup of coffee now.

IMHO it's the most beatiful and most impressive vis plugin at the moment.

deus-ex
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-10-12 14:52:20
Yes, the new version seems to load within a much more reasonable amount of time.  However, it seems his solution for fixing the issue with crashes due to switching between windowed and mode and fullscreen during loading by pressing, "F1," was to unbind the key by default instead of fixing the actual crash.  Silly. :|

And yes, I really ought to get going on that blacklist thing.  I thought I could avoid the issue with the Sexy Attached Analyzers by hacking around with the way the setup for calling the config dialog works, but then I realized that what I was doing wasn't working and I'm too lazy to unmerge my changes there or to remerge the very minor changes I made since minus0.2.  Now I feel mildly ill and close Visual Studio whenever I consider doing any work on it.  Bleah.
Title: Winamp-VIS-plugs in foobar
Post by: deus-ex on 2004-10-12 15:10:34
Sometimes you have to lay things aside for a while and work on something different. Then when you're in the mood to revisit the code often fresh ideas come to mind. Btw., i think "beacon" doesn't deserve to hold the minus in the version number anymore. IMHO it runs pretty well, not only since the latest release.

deus-ex
Title: Winamp-VIS-plugs in foobar
Post by: hypersonic on 2004-10-13 06:40:34
is it possible to force the plugin window to "Stay on top mode"?

Eg. Milkshape 3D has no stay on top option.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-10-13 17:24:21
It should be possible for plugins that embed themselves like Milkdrop and AVS because foo_vis_bacon actually creates the window for those.  It might be possible for some other plugins, but I need to get a better grasp of how setting the Z-order of an owner window to HWND_TOPMOST affects the windows it owns.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-10-15 18:10:43
minus0.19 (http://potatoriffic.f2g.net/bacon) posted with a few plugins blacklisted out, configuration while running disabled for vis_satan.dll, and experimental topmost windowing that doesn't seem to work with everything.
Title: Winamp-VIS-plugs in foobar
Post by: ephemeros on 2004-10-24 23:29:35
Hi Bleh, I like the plug-in.. do you think it is possible to create a BACON panel to integrate it in foo_ui_columns?

The mockup is based on foo_ui_columns + foo_uie_tabs:
http://mattiasdh.fastmail.fm/Bacon-Panel.gif (http://mattiasdh.fastmail.fm/Bacon-Panel.gif)

I personally think it would rock!   

mattias
Title: Winamp-VIS-plugs in foobar
Post by: Fiend Angelical on 2004-10-25 00:16:51
Yes, yes, that would be brilliant. I'd definitely probably download and use it if it was created...
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-10-25 22:53:49
There are two barriers right now to my doing such a thing:

1.  I'm not particularly comfortable with the UI extension SDK.  This could probably be changed if I sat down and played with it a little over the course of a few days.
2.  I don't know of a good way to make the panel, "absorb," the Winamp plugin's visualization window instead of just letting it float around.  There is an API that allows Winamp plugins to embed themselves in Winamp 2.9 and up and I could use it to accomplish the same thing it does in Winamp, but there are only a few plugins that actually use it and I'd feel really stupid working on an extension when I know full well it's not going to work with a lot of the stuff people try.

So, in short, it'd be cool, but I'm not convinced it's doable.
Title: Winamp-VIS-plugs in foobar
Post by: ephemeros on 2004-10-25 23:45:47
Quote
There are two barriers right now to my doing such a thing:

1.  I'm not particularly comfortable with the UI extension SDK.  This could probably be changed if I sat down and played with it a little over the course of a few days.

Sorry I can't be of any help, my programming skills go as far as PHP..
Quote
2.  I don't know of a good way to make the panel, "absorb," the Winamp plugin's visualization window instead of just letting it float around.  There is an API that allows Winamp plugins to embed themselves in Winamp 2.9 and up and I could use it to accomplish the same thing it does in Winamp, but there are only a few plugins that actually use it and I'd feel really stupid working on an extension when I know full well it's not going to work with a lot of the stuff people try.

So, in short, it'd be cool, but I'm not convinced it's doable.
[a href="index.php?act=findpost&pid=250016"][{POST_SNAPBACK}][/a]

What about fooling the foobar  Would it be possible to create a borderless window on top of the panel, based on its coordinates? Just thinking out loud...

Cheers
eph
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-10-26 00:15:50
The problem is that, with the exception of recent versions of Milkdrop, AVS, and the Winamp SDK example plugin, foo_vis_bacon doesn't create the visualization window - the Winamp plugin does.  What I would need to do would be to change the properties of the window after it's been created so that it fits into the panel, which I'm not convinced will work cleanly and reliably.
Title: Winamp-VIS-plugs in foobar
Post by: EZ-man on 2004-10-26 00:54:25
some bug report
when i start the visualisation with the Sonique Visual Plugin Wrapper 2.0, then use search playlists, the visualisation will make the search very very slow.
Title: Winamp-VIS-plugs in foobar
Post by: Fidel on 2004-11-10 09:06:20
Hrrmm.. I think the logical complement to fb2k would be an entirely separate program.. A program that loaded other vizualizations and sat in the tray. You wouldn't have to worry about the difficultys of a wrapper. You could just get the input from line, wav.. etc. This might have a higher overhead than just 1 process, but hey your going to use it on a vis so what the fuck right? That way you could keep foobar/ winamp api clusterfux0ring to a baseline 0. If you didn't need the viz you could just not load the loader. and if you didn't need foobar.. say you were doing visuals for a party you could use the line in.. Entirely within the realm of possibility and Already been done to a point. But nobody's done ever produced an entirely usable app yet. not even close.. thats whats needed.  anyway just my dot oh two.
Title: Winamp-VIS-plugs in foobar
Post by: krazy on 2004-11-15 18:04:23
First, thanks for this component, bleh. I use it a lot!
Quote
The problem is that, with the exception of recent versions of Milkdrop, AVS, and the Winamp SDK example plugin, foo_vis_bacon doesn't create the visualization window - the Winamp plugin does.  What I would need to do would be to change the properties of the window after it's been created so that it fits into the panel, which I'm not convinced will work cleanly and reliably.
[a href="index.php?act=findpost&pid=250042"][{POST_SNAPBACK}][/a]

Second, has there been any more thought on this front, or is it probably not going to happen?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-11-15 21:39:00
I tried doing it and it worked neither cleanly nor reliably, so I scrapped it.  Sorry if anyone was looking forward to this. 
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2004-11-15 22:57:32
Quote
I tried doing it and it worked neither cleanly nor reliably, so I scrapped it.  Sorry if anyone was looking forward to this. 
[a href="index.php?act=findpost&pid=254150"][{POST_SNAPBACK}][/a]


Good work on the plug-in anyways, was looking forward to it, but if it is not possible its not possible...
Title: Winamp-VIS-plugs in foobar
Post by: krazy on 2004-11-16 13:13:22
Thanks for the quick reply, bleh. Sorry to hear it didn't work out.
Title: Winamp-VIS-plugs in foobar
Post by: blammo on 2004-11-24 16:48:54
Any idea what has happened to potatoriffic?  Its appears to have gone....Is there a mirror I can use to download vis_bacon?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-11-25 02:30:11
I've got the site on a free and somewhat unreliable host, so stuff like that happens from time to time.  It seems to be working again at the moment.
Title: Winamp-VIS-plugs in foobar
Post by: deer on 2004-11-27 23:58:51
When create foo_uie_bacon ? :-/

--
re, Deer
Title: Winamp-VIS-plugs in foobar
Post by: hunted on 2004-11-28 04:34:35
if you read back a page you will see that there will not be a uie version as some (read most) winamp vis's create the window themselves
Title: Winamp-VIS-plugs in foobar
Post by: linus on 2004-11-28 08:02:07
"(AVS) Works okay, but it's only available with Winamp." (from potatoriffic site)
I will remove winamp from my system, but I will keep AVS with foo_beacon.
It's possible?
Title: Winamp-VIS-plugs in foobar
Post by: KR78 on 2004-12-03 21:55:11
Just FYI, I wrote a Winamp visualization emulator about 5 years ago.. An old version can still be downloaded at:

chronware.virtualave.net/shizsetup.exe

This captures the audio playing from _any_ Media player.. or a microsophone, or line-in, etc... so nothing else required.  I'm in the process of updating this program now..(lame trial period will be deactivated, among lots of new stuff)
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2004-12-04 03:17:13
Quote
"(AVS) Works okay, but it's only available with Winamp." (from potatoriffic site)
I will remove winamp from my system, but I will keep AVS with foo_beacon.
It's possible?
[a href="index.php?act=findpost&pid=256494"][{POST_SNAPBACK}][/a]

Sorry I somehow missed your post earlier.  To keep AVS on your system after uninstalling Winamp, it appears you have to copy the AVS DLL and all of the stuff associated with it to a different folder before removing Winamp, since Winamp's uninstall program will delete AVS if you let it.  I don't have a list of all of the associated files and stuff right now because I just ran the uninstaller.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2005-01-01 19:47:26
foo_vis_bacon has experienced some movage and now resides here (http://www.msu.edu/~singergr/bacon.html).  I've had 52 MB of space on a university server for the last year and a half and didn't know about it until a week ago.  This should be more reliable than hosting on f2g...
Title: Winamp-VIS-plugs in foobar
Post by: Betse on 2005-01-05 21:15:07
Wow, nice plugin as milkdrop was just the thing i wanted in visualisation world. but i have 2 questions:

1. Is it possible to get rid of the caption of the visualisation windows? That would be very cool.

2. Is it possible to get the visualisation window to be opened in foobar? Like in the sidebar for example?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2005-01-05 21:46:47
With most plugins, the second one is a no, as has been discussed earlier in this thread.  The first one might be a little more doable, but I can't say because it isn't something I've tried yet.
Title: Winamp-VIS-plugs in foobar
Post by: JEN on 2005-01-05 23:02:33
does this pluggin actually work.  if yes, how do I use it?

Thanks
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2005-01-05 23:31:50
It works varyingly well depending on which Winamp plugin you want to use.  www.msu.edu/~singergr/bacon.html (http://www.msu.edu/~singergr/bacon.html) has about all the setup info you'd need, complete with bandwidth-munching PNG screenshots (mmm... bandwidth...).

Ack, I just remembered.  The, "No delay," mode for flush handling is broken in foo_vis_bacon minus 0.19 and minus 0.2.  I've actually fixed the bug (someone sent me an e-mail saying foo_vis_bacon crashed when they closed foobar and that's how I noticed the bug), but I never did get a formal release set up at the time (their crash log didn't have symbol info and fixing the no delay bug didn't solve their problem) and, well, I've been distracting myself for the past few days poking around with stuff in Linux and hence haven't done it since.  If I don't have a fixed build up by tomorrow, kick me.

EDIT:  foo_vis_bacon minus0.18 uploaded with close issues fixed.  That should be it for issues other than those documented in the plugin list (http://www.msu.edu/~singergr/list.html).
Title: Winamp-VIS-plugs in foobar
Post by: unfortunateson on 2005-01-25 03:47:38
Nice plugin, works great with milkdrop.  Would have been good to have as a uie, but its still cool.
Title: Winamp-VIS-plugs in foobar
Post by: badrad on 2005-02-04 02:31:43
Thanks for this plug in.

Please consider updating the first post in this thread for people's first visit.
Title: Winamp-VIS-plugs in foobar
Post by: h3ctic on 2005-02-12 01:22:02
hehe this pwnz !!! thnx

any way to "attach" it ...like a panel ?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2005-02-12 03:34:30
This has been discussed before.  It probably isn't going to be implemented because the only plugins with which it would be known to work cleanly would be Milkdrop and AVS.  Everything else would have problems doing that, especially if fullscreen stuff gets involved.
Title: Winamp-VIS-plugs in foobar
Post by: h3ctic on 2005-02-13 00:58:18
how about a separate one then...with only milk and avs for panels

foo_milkavs_panels.dll

would (if possible) pwnz even more !!

u guys r0x
Title: Winamp-VIS-plugs in foobar
Post by: Burrito on 2005-04-10 16:37:35
There would be no reason to emulate the Winamp API for Milkdrop if a Fb2k developer would be willing to do a native foo_vis_milkdrop. 

http://www.hydrogenaudio.org/forums/index....showtopic=22648 (http://www.hydrogenaudio.org/forums/index.php?showtopic=22648)
Title: Winamp-VIS-plugs in foobar
Post by: Sanctuary on 2005-12-12 01:51:39
Winamp 5.12 updated milkdrop version to 1.04c; still working, but can't be configured via foo_vis_bacon (crash foobar). Same issue with Nullsoft Tiny Fulscreen v.2.06.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2005-12-12 03:06:01
Confirmed.  No idea why and I'm not sure if I remember how all of my code works now.  :|

EDIT:  Meh, found the bug and can give it a really quick workaround.  Trying to figure out another bug I don't remember seeing at the beginning of the year where Milkdrop gives the focus back to the desktop if you put it in fullscreen mode.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2005-12-14 16:54:30
Lazy workaround for crashes in new Milkdrop version posted.  Other bug that I just talked about only appears to happen in the debugger, so I'm ignoring it.
Title: Winamp-VIS-plugs in foobar
Post by: Sandman2012 on 2005-12-31 12:57:27
I'm using foobar 0.8.3 with baconwrap minus0.189 and MilkDrop 1.04 (downloaded from the Milkdrop site - I don't have Winamp installed).

I'm guessing MilkDrop is one of the plugins that "Always on top" doesn't work for.  Or is there a workaround?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2005-12-31 17:11:04
It does not appear to work with the old 1.04 version from the Milkdrop site if the, "Integrate with Winamp," option is disabled.  Unfortunately, to work around a crash with the new 1.04c Milkdrop version, I made this option unavailable with foo_vis_bacon minus0.179.  If you're sure you're never going to use Milkdrop 1.04c, just use foo_vis_bacon minus0.18 (now available on the foo_vis_bacon site again).

I guess I'll have to find a real solution to that crash...
Title: Winamp-VIS-plugs in foobar
Post by: Sandman2012 on 2005-12-31 19:24:17
Quote
It does not appear to work with the old 1.04 version from the Milkdrop site if the, "Integrate with Winamp," option is disabled.  Unfortunately, to work around a crash with the new 1.04c Milkdrop version, I made this option unavailable with foo_vis_bacon minus0.179.  If you're sure you're never going to use Milkdrop 1.04c, just use foo_vis_bacon minus0.18 (now available on the foo_vis_bacon site again).
[a href="index.php?act=findpost&pid=353614"][{POST_SNAPBACK}][/a]

It worked.  Thanks.
Title: Winamp-VIS-plugs in foobar
Post by: francesco on 2006-01-31 10:51:34
AWESOME plugin

is there a tip to run under foobar2000 ACIDPUNKD?
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2006-01-31 20:35:19
Are you referring to the Acidspunk visualization?  To get that to work, you rename acidspunk2.dll to vis_acidspunk2.dll so that foo_vis_bacon will recognize it as a visualization plugin.  If Acidpunkd is something entirely different from Acidspunk, then I'm afraid that I'm not familiar with it and I probably can't help you.
Title: Winamp-VIS-plugs in foobar
Post by: francesco on 2006-02-01 09:13:43
GREAT!
Thanks 
it works!
Title: Winamp-VIS-plugs in foobar
Post by: francesco on 2006-02-15 07:58:23
sorry mates
but Winamp-VIS-plugs is foo_vis_bacon  ?
are they the same plug or are they 2 different plug
Title: Winamp-VIS-plugs in foobar
Post by: mazy on 2006-02-15 11:45:10
foo_vis_bacon is name of the plugin, Winamp-VIS-plugs is just the name of this thread (it all started before foo_vis_bacon was available).
Title: Winamp-VIS-plugs in foobar
Post by: Sanctuary on 2006-03-11 19:19:35
Now with milkdrop 1.04d (winamp 5.2) foobar crash if activate foo_vis_bacon. And no, is not working with v-0.18 either.
Title: Winamp-VIS-plugs in foobar
Post by: bleh on 2006-03-12 15:11:24
Wow, that's crappy.

EDIT 1:  Found the crash; will release a new version as soon as I fix song title display, which I broke while doing some other things.  May take a while since I probably ought not to be distracting myself from school at the moment...

EDIT 2:  For an example of why I should not be distracting myself any more than necessary, edit 1 referred to the release of a "new button."
Title: Winamp-VIS-plugs in foobar
Post by: Skates on 2006-04-08 23:22:35
Any updates coming to this very soon?
Title: Winamp-VIS-plugs in foobar
Post by: radi0n on 2006-04-12 19:34:56
Any updates coming to foo 0.9?
Title: Winamp-VIS-plugs in foobar
Post by: yathosho on 2006-08-05 00:28:45
an update would be schweet (and a reason to finally update to f2k 0.9.x for me) 
Title: Winamp-VIS-plugs in foobar
Post by: saivert on 2006-08-05 21:46:38
So you guys now that MilkDrop and AVS is open source now?

Anyone can now download the source code and port it.
I think you could just make a DSP plugin since then you get at the audio data and can FFT transform it (Milkdrop uses it's own FFT routines instead of the integrated Winamp one) so what you need is PCM waveform data.

MilkDrop source code:
http://www.nullsoft.com/free/milkdrop/ (http://www.nullsoft.com/free/milkdrop/)

AVS source code:
http://www.nullsoft.com/free/avs/ (http://www.nullsoft.com/free/avs/)
Title: Winamp-VIS-plugs in foobar
Post by: Funkstar De Luxe on 2006-08-05 22:39:21
So this no longer works on 0.9x?  Is there any decent vis I can get for 0.9x?  :-(

AVS would ROCK.  It's like the Foobar of the Vis world :-P
Title: Winamp-VIS-plugs in foobar
Post by: Yotsuya on 2006-08-05 23:02:26
As far as I can tell the only decent vis plugin for foobar is ProjectM (http://www.hydrogenaudio.org/forums/index.php?showtopic=44865).  This is an OpenGL implementation of Milkdrop. The plugin will use existing .milk files from winamp or anywhere else, it's a little buggy and leaks memory but there is currently a rewrite in progress to resolve this.  You can visit this (http://www.milkdrop.co.uk/downloads.htm) site to download additional effects including this (http://www.milkdrop.co.uk/Downloads/Authoring%20Guide.doc) guide on creating your own presets (.milk files can be edited with any standard text editor).
Title: Winamp-VIS-plugs in foobar
Post by: JohnMK on 2006-08-15 21:38:22
Thank you for the information, Yotsuya. I miss my bacon.
Title: Winamp-VIS-plugs in foobar
Post by: Matyas on 2006-08-16 17:38:24
AVS Port pleeeeeease!
Title: Winamp-VIS-plugs in foobar
Post by: Spirit_of_the_ocean on 2006-11-18 11:00:04
I wrote a message to the devellopers of foo_vis_bacon if it is possible to update the plugin for 0.9 but I got no answer yet 
Title: Winamp-VIS-plugs in foobar
Post by: yathosho on 2006-12-03 14:38:19
I wrote a message to the devellopers of foo_vis_bacon if it is possible to update the plugin for 0.9 but I got no answer yet 


same for me.. and that was a while ago 
Title: Winamp-VIS-plugs in foobar
Post by: Supacon on 2008-07-31 07:17:10
I suppose it would be a bit much to expect this to be updated sometime in the next few years?  There was a time when this was one of my favorite plugins and it worked really well.
Title: Winamp-VIS-plugs in foobar
Post by: Yirkha on 2008-07-31 11:06:00
Oh man, old good vis_bacon... I miss it too :'(
I remember having tens of interesting components I never really needed in my 0.8 installation, and Bacon always was the special one of them.
Too bad we will probably never see an updated version :((

Did you notice the author, hartwork, has been banned out of the HA forums? I heard it's because They don't want any nice visuals in Foobar!! It's a shame that the best developers are always alienated here instead of invited to participate! It makes me cry and convert to Amarok :\
Title: Winamp-VIS-plugs in foobar
Post by: deus-ex on 2008-07-31 18:12:14
Too bad we will probably never see an updated version (

Then again what's so different compared to your plugin making you wish for an update?


I heard it's because They don't want any nice visuals in Foobar!!

I don't believe that story holds much truth judging from the content of his ol' homepage (http://www.msu.edu/~singergr/bacon.html).
Both plugins are just "innocent" wrappers, no visual plugins. But who am I trying to explain this to you, right?


It makes me cry and convert to Amarok :\

Hold on for a sec, are you saying we've just lost you? Ahh come on, that was just theoretical, wasn't it?
Title: Winamp-VIS-plugs in foobar
Post by: incunabula on 2008-07-31 18:21:35
@Supacon - Have a look (http://www.hydrogenaudio.org/forums/index.php?showtopic=59388) at Yirkha's excellent plugin foo_vis_shpeck (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Shpeck_(foo_vis_shpeck)) which works flawlessly with the current version of foobar.
Title: Winamp-VIS-plugs in foobar
Post by: pianoman on 2009-05-12 17:03:22
WOW THANKS!

I've looked for exactly the same thing and was just giving in mourning there won't be a second life for foo_vis_bacon anymore!