Drum roll please... MD2 is now open source!

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • geiss
    Nullsoft Visualization Developer
    • May 2001
    • 147

    Drum roll please... MD2 is now open source!

    Hey all,

    I have great news. Thanks mainly to the efforts of Ben Allison at Nullsoft, MilkDrop 2 has, at long last, been open-sourced! (He was also kind enough to allow me to make the announcement here. )

    You can grab the source code HERE. It builds in Visual Studio [C++] 2008 or later - just open vis_milk2\milkdrop_DX9.sln, and it should build right away (all dependencies are locally included).

    I have to say, it's been absolutely amazing to see what the preset authoring community here has done with MilkDrop 1 and 2... you've made it do things that I never dreamed it could do. I look at some of these presets and they just fill me - and countless others - with awe. I want to thank you all immensely for your critical contributions... just imagine how lame MilkDrop would be if it only included the presets that I originally authored for it!

    I'm very excited to see where folks take the source code, and to witness the unlocking of a whole new level of preset awesomeness.

    Happy tinkering!

    Best regards,
    Ryan Geiss
  • swingdjted
    DRINK BEER NOW
    (Forum King)
    • Feb 2006
    • 10086

    #2
    Thank you very much for creating it to begin with. There are many nights when work stress has me in a bad place, but milkdrop is always there to relieve that stress. Thanks even more for sharing the code.
    Don't forget to live before you die.

    Comment

    • a_guy_called_joe
      Junior Member
      • May 2013
      • 1

      #3
      Please, use some open source repository

      Hi,

      these are awesome news. Great to see you making MD2 open source.
      But please, use some of the open source providers/portals out there.
      Personally, I would like to use github.com - but the choice is up to you.
      Using such a platform will make it more transparent and opens up
      the ways for the community to work together. Just the .ZIP file is fine,
      but on github i can share my pathes and work with others.

      Just my 50 cent

      Regards
      Joe

      Comment

      • geiss
        Nullsoft Visualization Developer
        • May 2001
        • 147

        #4
        No worries! I actually posted the MD2 source (properly, I hope) to SourceForge (where you can use git) a few days ago. Here's the project link:



        From there, click the 'code' tab, and it'll give you the git clone command to pull down the source.

        Cheers!
        Ryan

        Comment

        • geiss
          Nullsoft Visualization Developer
          • May 2001
          • 147

          #5
          Oh, and there's also a README in the 'files' section (of the project page) that explains how to build & run it.

          Cheers,
          Ryan

          Comment

          • ravermeister
            Senior Member
            • Feb 2009
            • 198

            #6
            ryan you're the best!!
            lastfm.rimkus.it - last.fm Youtube Radio (buy me)
            www.rimkus.it - Contact Music & More

            Comment

            • RLP
              Member
              • Mar 2009
              • 48

              #7
              Well FINALLY! Now I might attempt to rework MilkDrop so it could work better and attempt to contribute...


              ...but my programming skills are, well I have none... -_-

              Never too late to try though right?
              HELLO BOYS!!! I'M BAAAAAAACK!!!!!!!!!!

              Comment

              • PhrostByte
                Senior Member
                • Aug 2000
                • 110

                #8
                Maybe now we can get this working with other players? Like foobar? Or some great open source players like Clementine (uses projectM), VLC (projectM and doesn't have full screen mode), and Media Player Classic?

                Comment

                • Sabine Klare
                  Forum Queen
                  • Nov 2010
                  • 2490

                  #9
                  I have just read Your ideas and wishes. Since a very long time the fans want to have Milkdrop 2 also in other media players and on other operation systems. Why not also with the platform-related profile-players in the different browser? There are enough music-platforms with platform-related music-players. If not yet, for now, maybe it could happen in the future. The doors are open, and I can imagine, there are enough people, who have many knowlegdes with computer and software...
                  I should return to YouTube now and watch the playlists with the very beautiful music-videos in the YouTube-Player...
                  Sabine Klare Aka Sternenmaschinebine
                  Music, Art, Lyrics, Videos
                  AMBIENT... AMBIENT music forever...

                  Comment

                  • DrO
                    • Sep 2003
                    • 27868

                    #10
                    MD2 has already been able to work in foobar2000 and most other players where it was wanted due to bridge plug-ins made for those players to support Winamp vis plug-ins.

                    the open sourcing of MD2 is no different than what MD1 allowed - if other players don't have native MD support by now, i doubt you're going to see any difference with MD2 (based on what has been seen with the MD1 release and a complete lack of anything showing up in other players since MD2 was open sourced).

                    open sourcing is incorrectly seen as a super wonderful magical pill to get x into y and z and updated forever - it happens in _some_ cases but not most - same can be said for all of the kickstarter projects (what with that being the current fad at the time).


                    i'm all for seeing MD2 do well, but it's hard to maintain enthusiasm for it based on what has (or rather more importantly) hasn't happened since it's release (i suppose there might have been some projectM additions from it (not looked) but that had seemed to go off on it's own direction anyway from what i last remember).
                    WACUP Project <‖> "Winamp Ramblings" - Indie Winamp Dev Blog

                    Comment

                    • PhrostByte
                      Senior Member
                      • Aug 2000
                      • 110

                      #11
                      Originally Posted by DrO View Post
                      MD2 has already been able to work in foobar2000 and most other players where it was wanted due to bridge plug-ins made for those players to support Winamp vis plug-ins.

                      the open sourcing of MD2 is no different than what MD1 allowed - if other players don't have native MD support by now, i doubt you're going to see any difference with MD2 (based on what has been seen with the MD1 release and a complete lack of anything showing up in other players since MD2 was open sourced).

                      open sourcing is incorrectly seen as a super wonderful magical pill to get x into y and z and updated forever - it happens in _some_ cases but not most - same can be said for all of the kickstarter projects (what with that being the current fad at the time).


                      i'm all for seeing MD2 do well, but it's hard to maintain enthusiasm for it based on what has (or rather more importantly) hasn't happened since it's release (i suppose there might have been some projectM additions from it (not looked) but that had seemed to go off on it's own direction anyway from what i last remember).
                      Yea that's understandable.. too bad I can't get MilkDrop working in foobar with the shpeck plugin in Windows 8. What I would really love to see is MilkDrop being built into open source/cross-platform software like VLC and Clementine.

                      Comment

                      • Sabine Klare
                        Forum Queen
                        • Nov 2010
                        • 2490

                        #12
                        Some other YouTube-User were able to get Milkdrop working in foobar2000 and Media Monkey. You can do a search in YouTube with the keyworks "milkdrop foobar" and "milkdrop media monkey". You will be surprised.
                        I want to give You 2 links now, and in both links You can start the first video. They look very good and I have them in my playlists.


                        I myself never want to change the OS and I also never want to have another media player. I know Winamp at best, and I am very satisfied with Winamp...
                        Sabine Klare Aka Sternenmaschinebine
                        Music, Art, Lyrics, Videos
                        AMBIENT... AMBIENT music forever...

                        Comment

                        • PhrostByte
                          Senior Member
                          • Aug 2000
                          • 110

                          #13
                          Most of the time I use Linux Mint as I prefer open source software.. but sometimes I use Windows 8.1 and MilkDrop doesn't work with the latest foobar or shpeck plugin... and also obviously doesn't work with open source audio players

                          Comment

                          • mfbscs
                            Junior Member
                            • Dec 2001
                            • 46

                            #14
                            Ryan, I just wanted to give a sincere thanks for doing this.

                            Just curious, why did it take so long? People have been begging on here for years. What did you have to do to allow them to release it?

                            Can you answer before this site goes down in 20 days?

                            Comment

                            • geiss
                              Nullsoft Visualization Developer
                              • May 2001
                              • 147

                              #15
                              > Ryan, I just wanted to give a sincere thanks for doing this.
                              > Just curious, why did it take so long? People have been begging on here for years. What did you have to do to allow them to release it?

                              Sure - this is something I asked for many times, but AOL was generally reluctant to do it, which seemed fairly reasonable as they had one of the most popular visualizers out there, and didn't want to make it too easy for others to clone it.

                              But after enough time passes (...I added pixel shaders to Milkdrop in 2007, which we then renamed to Milkdrop 2) it's generally not such a big deal, as the technology becomes a bit more dated, and others even have some time to (approximately) clone it.

                              I was very glad to see them do it before Winamp closed up shop, though, as this way, there is a chance to revive it later - from both the source code and content perspectives.

                              I'm pretty busy with work right now, but someday I plan to delve back in and write the mother of all visualizers; at that time, it would be a horrible shame if I couldn't reuse all of the outstanding content that was written for MilkDrop.

                              One thing I've always kicked myself for not doing in 2007 was adding an offscreen buffer (or several) to which you could render extra stuff (invisible to the user). Basically take everything about the a preset as it is today (minus the composite shader) and bundle that all up, and make it render (using the warp shader) to a particular offscreen buffer. Let's call each of these bundles a render target (RT0, RT1, RT2, etc.). You could have up to N of these render targets in an MD3 preset. Then you still have a single composite shader for the preset, and it has access to read the contents of all N render targets, and it writes pixels to the screen. In addition, each RT would be able to read the contents of the other RTs. So, serially in time, rendering a frame would go something like: [render to RT0] [render to RT1] ... [render to last RT] [render to screen]. Of course, in each of these passes, you would have read access to all of the other RTs (except the RT you're currently writing - you can't read and write a texture at the same time), and to the screen (unless you're writing to it). (Note: you could actually allow read/write at the same time, if you double-buffer the textures, but this takes twice the memory.)

                              This is all actually pretty easy to hook up, but very powerful in practice.

                              Compatibility is easy: To update an MD2 preset to MD3, just put everything except the composite shader in the RT0 bundle, and then keep the composite shader as-is (but have it read RT0). Done. Now add/edit RT1 - or pull it from an existing MD2 preset (or an RT of an MD3 preset). The hardest part would be coming up with a more sensible name for each of these "bundles".

                              Other low-hanging fruit is upgrading to DX10 and adding 3D textures and float textures.

                              Also, importing DXF files (3D models) and then allowing the user to write code to perturb the vertices (or change their colors/alpha), or instance them, would be amazing. The user could even write shaders to light and/or texture the [instanced] models. Heck, these objects could be textured using the contents of the offscreen buffers.

                              Once you add these features, the sky is basically the limit. None of this should be too hard for a graphics programmer; it's just a matter of finding the time to do it.

                              I apologize for talking about all of this stuff without actually delivering it... I hope that's not too annoying. But I did want to point out that there is *much* more that could be done. (Hmmm... kickstarter?)

                              So anyway, as you can see, I've thought a lot about this, but I just haven't had the time to code it. But I hope to do so one of these days. I love music visualizers, and unless I'm hit by a bus, I seriously doubt I'll go my whole life without writing something new, and I'm confident that it would kick the living crap out of Milkdrop... with a lot of love from a community of brilliant preset authors.

                              Speaking of which... you guys have made Milkdrop so much more than I ever dreamed it could or would be. I really can't thank you all enough. Seriously... I wrote an engine... you guys made it beautiful. I am forever grateful for that.

                              See you on the interwebs...

                              Comment

                              Working...
                              X