lichen-community-systems / flocking-midi

A collection of MIDI components for Infusion and Flocking
1 stars 2 forks source link

Remove the dependency on Flocking, and rename this library #40

Open colinbdclark opened 2 years ago

colinbdclark commented 2 years ago

flocking-midi currently depends on Flocking because it uses on Flocking's selectbox UI component.

Flocking is unlikely to be upgraded to Infusion 4.x any time soon, and it seems like a dependency that is worth breaking by moving the select box component to a separate repository that can be shared by both libraries (or, gasp, simply duplicating the implementation of the one file in both repositories).

Since this the only relationship today between flocking-midi and Flocking, perhaps we can even come up with a cool name for this library to celebrate its independence.

duhrer commented 2 years ago

One option I've been exploring today is to make a UI agnostic component that just tracks the available ports and selected port. This would offer the most options for reusing the core components in other environments, or for transitioning to new renderers, we'd only have to rewrite the UI components.

In addition to a UI agnostic grade, the package should include a viewComponent based setup, perhaps based on the flocking select stuff. I'm imagining this as not exactly a drop-in, but an easy upgrade for those who already use flocking-midi.

I would be willing to put together a pull along these lines to create a new fluid-midi, or to review a pull if you want to put one together.

colinbdclark commented 2 years ago

Sure, go for it! Let me know how I can help.