Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Specify the requirements for preset editor. #220

Open
ghost opened this issue Jun 13, 2019 · 20 comments
Open

Specify the requirements for preset editor. #220

ghost opened this issue Jun 13, 2019 · 20 comments

Comments

@ghost
Copy link

ghost commented Jun 13, 2019

Build a consensus with development team. Document and define things such as default keybindings and key features.

@revmischa
Copy link
Collaborator

@ghost ghost self-assigned this Jun 13, 2019
@ghost
Copy link
Author

ghost commented Jun 13, 2019

I wish we could get feedback from GEISS, Martin, or EOS about how they developed many of their creations. @revmischa I have no experience developing these milk drop presets, do you know how to get in contact with any of the preset designers?

@revmischa
Copy link
Collaborator

I don't but I'd start here: http://forums.winamp.com/forumdisplay.php?f=84

@PeterMalkin
Copy link
Contributor

Actually I work with Geiss, can ask him something specific if you guys want

@jberg
Copy link

jberg commented Jun 14, 2019

This document describes some of the keybindings: http://www.geisswerks.com/hosted/milkdrop2/milkdrop_preset_authoring.html

Flexi is active on twitter, and I imagine would be happy to answer questions: https://twitter.com/Flexi23

@revmischa
Copy link
Collaborator

My suggestion:
Get the emscripten branch fully working (#92) and make a web-based preset editor
And ask people on the milkdrop forums what sort of UI they would like to have

I would split up shader code into its own entry field and make the UI so people don't have to write the actual literal preset code by hand, but abstract out a lot of the fields into more friendly inputs

@ghost
Copy link
Author

ghost commented Jun 20, 2019

@revmischa I agree that the web-based version would get quick feedback. @PeterMalkin I do have a question for Geiss about the preset creation community. I would like to understand the essence of what exactly led up to the formation of an entire community interested in creating new and original milkdrop presets. What can we do to start encouraging preset creators and developers to contribute new content?

@teotigraphix
Copy link

If I could get this building on Windows, I can help a lot. I just feel intimidated here since I have no idea how to build this on Windows but could actually start developing it. I UMLed the framework and got a bunch of the relationships understood. @mancoast How are you developing and building the core framework?

@ghost
Copy link
Author

ghost commented Jun 26, 2019 via email

@PeterMalkin
Copy link
Contributor

@mancoast
Here's what Ryan has to say:

"Back in the early 2000's, winamp was very popular, so it had quite a few more (daily active) users than it does today (I assume). With that one central site, which had a lot of users, all we really had to do was add a forum for milkdrop preset authoring, and it took off right away. It was a single and obvious place where folks could chat about how to do it, share their presets, and so on.

At first, I wrote a bunch of basic presets myself, just to show what you could do, and then other people started working from those. They shared their tricks (and presets) on the forums. One thing that surprised me was that a lot of the authors didn't actually know how to code, or how to use a sine wave, but were nonetheless able to hack together really amazing presets.

I upgraded MilkDrop to use pixel shaders in 2007, which opened up the graphical possibilities quite a bit, and I think that also gave the preset authoring community another kick. After that point, some authors did stuff I never dreamed of, like making mandelcube zoomers. Some of Martin's presets really blew my mind.

From my point of view, though, what I experienced was basically this: I just added the preset authoring capability, and created a few forums, and after that it pretty much exploded on its own. It was a fun and wild ride. :)

If I were reviving this, I'd consider creating a central website, with a good (not fancy) name that made its purpose obvious, that had both forums for people to talk, and (even better) places for people to upload presets and then vote on them. Even better, I'd probably port MilkDrop to webGL and then make the entire thing run in a webpage, including being able to author the new presets, view others' presets, vote on them, built custom collections (in the cloud), etc.

I think that if someone did those things, and made it really easy for people to use (no installation woes, works from any web browser), it would greatly increase the chances of rekindling a community -- and a strong userbase. :)"

@revmischa
Copy link
Collaborator

I super agree! A website where you can edit and preview presets would be amazing and really not so far off from where we are now on the emscripten branch.
I could help build a simple serverless backend and start a react frontend if people are interested in contributing.

@bebop210
Copy link

bebop210 commented Jul 3, 2019

This is a zip i found with 52k milk drop 2 presets. I imagine monsiourtalbot whittled away at these to come up with his super pack but that’s only conjecture on my part..
https://bit.ly/2Jl4VZb

Hope this helps and/or is new to you..

@ghost
Copy link
Author

ghost commented Jul 3, 2019 via email

@ghost
Copy link
Author

ghost commented Jul 3, 2019

@PeterMalkin I greatly appreciate you taking the time to speak with Geiss. That is really cohesive idea of unification, and I love it.

@revmischa who did the webdev branch intially? How broken is it?

@jberg we’re you able to contact Flexi?

@teotigraphix how’s your build environment looking?

@revmischa
Copy link
Collaborator

me and @axe312ger worked on the webGL implementation. i forget how broken it is, but i think it's really close to working. see #92

@teotigraphix
Copy link

@mancoast Same, I had to leave it the other day. I managed to get the VS solution loaded and things seem to look correct. From there... well that is where I am at. :) So understanding all the VS projects and what to compile, I am a bit confused still.

@Broeckelmaier
Copy link

Hey everyone, I want to contribute.
But i can't code well enough yet.
What I can offer is some webspace I have lying around.
How does the domain milkdrops.org sound?

@revmischa
Copy link
Collaborator

@Broeckelmaier
If you want to point it here sure, though milkdrop is a separate project from projectM

@Broeckelmaier
Copy link

@revmischa i thought it might be a kind of clever play of words, as the used presets would be the 'drops' that make the visuals of milkdrop and projectm work.

@kblaschke
Copy link
Member

Even if this ticket is a few years old now, this still seems to be a great idea. There are different suggestions on where to implement the editor, preferring either desktop- or web-based solutions. With emscripten and WebAssembly, we might even be able to implement a single editor UI with Qt that can be compiled and run on both platforms. Besides that issue, the editor should support a few features people are expecting today:

  • Easy UI-based editing of all preset init settings, e.g. as a property list.
  • Providing text editors with syntax highlighting and maybe even code suggestions for writing both per_pixel/per_frame equations and HLSL shaders.
  • A live preview that can be updated similar to ShaderToy by pressing Alt+Enter and can be shown in the main UI or in a separate window if the platform supports it to make use of a second monitor.
  • Error checking in both equation and shader code with useful error messages.
  • Display the translated and wrapped GLSL shaders projectM will actually run.
  • A compatibility test mode to run presets with different OpenGL [ES] versions.
  • A performance profiler that gives details on how long each rendering steps takes.
  • Checking overall Milkdrop/AVS compatibility of the preset.

To support many of these features, the editor needs to tap deep into projectM's internals like the equation parser or OpenGL renderer, possibly requiring some additional code to support callbacks on parsing and rendering errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants