Is there way for a user to edit/replace/update the Midi Dictionary?
Doing so might increase submissions/updates to OpenMidi and let users test their submissions directly. Users are less likely to contribute if they have to wait for a new version of the editor before they can use/test their changes.
Thinking of a few ways the MidiDictionary could be opened up in the Editor App:
Allow entenson/replacement of the dictionary … if the yaml files are parsed at runtime
Allow users to add their own devices (perhaps a one or more user yaml files can be loaded/unloaded that add user devices)
Replace the entire dictionary with a different yaml file (this solves all the above)
Allow the User Library to be used to create/use/test entries that could be exported as OpenMidi yaml with no/little edits required. Probably just a few optional fields that would be rendered similar to the Midi Dictionary.
We are looking into the possibility of adding a form in www.openmidi.com so anyone can send in modification requests or add new entries - still thinking of a good way to do this without having to get your login details to prevent spam. I can open-source the OpenMIDI frontend. Anyone with Angular (not AngularJS) experience wants to give it a go?
The data in OpenMIDI is the “one source of truth” so we can’t just allow anyone to make edits without a review process.
Ideally we could copy/paste (an entire) User Library from the editor to the submission page (and edit it from there). The idea is that we could use/test the dictionary entries before submitting it.
I assume if there are Midi commands added in later updates to a device, we should add them to the existing device and add a comment like “Added in v1.2” to the description of the CC?
Or do we create a v1.2 of the device?
Suspect a pull request is easier with the the former and a submission via the UI is easier with the latter (unless someone later merges these)
IMO we should just add it to the existing device and assume that all users should be running the latest available firmwares of whatever they are controlling.