projectM-visualizer / projectm

projectM - Cross-platform Music Visualization Library. Open-source and Milkdrop-compatible.
https://discord.gg/mMrxAqaa3W
GNU Lesser General Public License v2.1
3.41k stars 376 forks source link

Specify the requirements for preset editor. #220

Open ghost opened 5 years ago

ghost commented 5 years ago

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

revmischa commented 5 years ago

projectM-visualizer/projectm#204 projectM-visualizer/frontend-sdl2#8 projectM-visualizer/projectm#208 projectM-visualizer/projectm#217 etc

ghost commented 5 years ago

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 commented 5 years ago

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

PeterMalkin commented 5 years ago

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

jberg commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

@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 commented 5 years ago

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 commented 5 years ago

Greetings, I am very happy to help! First, look in the msvc folder and open the projectm.sln

Let me know when you are able to open the visual studio solution file.

Please look at the appveyer.yml file for exact command prompt instructions to build on your machine.

On Jun 26, 2019, at 12:58 PM, Michael Schmalle notifications@github.com wrote:

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?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

PeterMalkin commented 5 years ago

@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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

Thanks for the url! If interested, this is an easy opportunity to create a pull request to the repo and we can then include you in the authors.txt

On Jul 3, 2019, at 9:57 AM, bebop210 notifications@github.com wrote:

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

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

ghost commented 5 years ago

@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 commented 5 years ago

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

teotigraphix commented 5 years ago

@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 commented 4 years ago

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 commented 4 years ago

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

Broeckelmaier commented 4 years ago

@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 commented 3 years ago

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:

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.