Hey all.
I, like many here, use a dual-head video card and want to use milkdrop with both. With the release of the source code I've been able to fix..(well maybe bodge would be a better word...
) the fact that milkdrop only ever uses the primary monitor.
Now, to the best of my knowledge I'm fufilling the license by not trying to claim milkdrop as my own work
, but if I need to do more would someone please let me know..I just want to share the bugfix really, especially to those without the option to compile their own.
So here it is:
Dump it in your plugin's folder, and it'll share the existing ini files etc. It just adds 3 extra ini settings which the official milkdrop should just ignore.
I was right about the cause of the bug, milkdrop used the device identifier GUID that Direct3D provides. However, this is a bit of a misnomer, as this value is only unique to combinations of chipset and driver, not adaptor instances. So sayeth MSDN: "...is a unique identifier for the driver and chip set pair."
I could find no way of diferentiating unique identical adaptors, so decided to identify them not by GUID, but by the order that they are reported by Windows. This will work fine as long as the order doesn't change. Realistically, this shouldn't happen unless you change the primary monitor or add another video card.
It's not a bullet-proof solution, but it works for me, and I hope you find it useful. I'll post my source patch at some point once I've cleaned it up. It's not complex at all, the real pain was getting it to build under Visual C++ 2003. Oh well, it was an educational evening if nothing else
Working out why Mr Geiss's dynamic recompilation was crashing was somewhat hair-raising, to say the least.
[edit]
Oh yes I forgot, standard disclaimer: This is just a random build of a bugfix I made. I'm sharing it with everyone with no guarentee as to its stability etc. It may eat you and/or your children. You have been warned, use at your own risk.
- Jamie
I, like many here, use a dual-head video card and want to use milkdrop with both. With the release of the source code I've been able to fix..(well maybe bodge would be a better word...

Now, to the best of my knowledge I'm fufilling the license by not trying to claim milkdrop as my own work

So here it is:
Dump it in your plugin's folder, and it'll share the existing ini files etc. It just adds 3 extra ini settings which the official milkdrop should just ignore.
I was right about the cause of the bug, milkdrop used the device identifier GUID that Direct3D provides. However, this is a bit of a misnomer, as this value is only unique to combinations of chipset and driver, not adaptor instances. So sayeth MSDN: "...is a unique identifier for the driver and chip set pair."
I could find no way of diferentiating unique identical adaptors, so decided to identify them not by GUID, but by the order that they are reported by Windows. This will work fine as long as the order doesn't change. Realistically, this shouldn't happen unless you change the primary monitor or add another video card.
It's not a bullet-proof solution, but it works for me, and I hope you find it useful. I'll post my source patch at some point once I've cleaned it up. It's not complex at all, the real pain was getting it to build under Visual C++ 2003. Oh well, it was an educational evening if nothing else

[edit]
Oh yes I forgot, standard disclaimer: This is just a random build of a bugfix I made. I'm sharing it with everyone with no guarentee as to its stability etc. It may eat you and/or your children. You have been warned, use at your own risk.
- Jamie
Comment