Closed AndrewBelt closed 1 year ago
I'm not a developer, so I can't comment on the technical stuff. But I am a UX designer, so I can help think through the flow a little bit.
I feel like there are a lot of similarities between the task of selecting modules in Rack and the task of selecting modules on Modulargrid. On MG, you have basically an infinite assortment to choose from and you can add any amount of a single module to your rack. In Rack, with enough module plugins installed, you pretty much have the same thing.
I guess what we're thinking of here is a data model (???) for modules? If so, here are my suggestions (integrating Andrew's as well)
In terms of how this would work, I'm imagining that the current plugin-focused navigation would go away and be replaced by module-focused searching/filtering/sorting like MG. It still makes sense, I think, to do this in a modal.
If this happens, we could potentially also make some of this info available from the right-click menu when you RC on a module. E.g., "website link" would be particularly useful, as would CV I/O ranges.
EDIT by Andrew: replaced pack -> plugin
screenshots could be in further subdirectories for each manufacturer in the repo itself
@AndrewBelt It looks like you're starting to implement this. I'm a UX designer, but not a visual designer. Would it be helpful if I put together a prototype? It'll be black, white, and gray, but the interactions will be solid.
I have a deadline to meet, so any changes will need to be wrapped up in ~4 hours of effort. But you're welcome to send some ideas. Keep in mind that I already have a graphic designer who would work on this if I asked, but I won't say no to opinions.
Alright. Probably can't be useful on this one then. Let me know if you need help working out interaction ideas in the future. Happy to collab with your graphic designer.
Okay, going with the following schema.
"modules": {
"MyModule": {
"name": "MyModule",
"description": "A simple sine oscillator for demonstrating the Rack API",
"tags": ["vco"]
}
}
This will be in plugin.json
and will actually be required for all modules.
Here's a full example from the Template plugin. https://github.com/VCVRack/Template/blob/7c28f8d276e51d9d2c8e8de639e6823648c97e8c/plugin.json
For screenshots, the following questions need to be answered:
A few freewheeling ideas, to feed the heuristic phase...
Closing since the "modules" property was added in Rack 1, and feature requests are now handled by VCV Support.
This is a design proposal for adding a "modules" property with information about each module contained in a plugin.
A lot of things I don't like here.
plugin.json
in the same folder/package asplugin.{so,dylib,dll}
. But then how do we ensure that the sameplugin.json
file is used in the ZIP package and the community repository? We can't because of a circular dependency on the download URLs. Fundamentally, how do we distribute this metadata to both experimental plugins (that don't belong to the community repository) and polished plugins in the community?Web app for creating/editing manifests
Disclaimer: The existence of an issue by me doesn't imply it will be implemented.