From: Joe E. <jo...@em...> - 2011-09-20 14:13:28
|
On 9/20/2011 12:40 AM, Frankie Fisher wrote: > off the top of my head, the only time i can think of where it would be > an advantage not to be using all ports is in the "autoscan" > functionality because it takes a while to scan each port. Keep in mind that I'm talking about the MIDI layer *listening* on all input ports. What this means is: 1 - Drivers still need to decide which port to send *out* on, and 2 - *Drivers* actually (currently) need to decide which port to listen on. Basically, the initial thing that we'll be able to do when the underlying MIDI layer listens on everything is to be able to plug a synth into any MIDI input port, send a sysex dump, and JSL will notice it and be able to bring up a pop-up asking the user what to do about it (save it as a Generic patch, search for a driver for it, assign an existing driver to that new input port, discard it, etc.) > Having said that there's no reason why we couldn't scan on all ports > in parallel. Maybe there would be some situation where another app > could be sending/receiving sysex so maybe we would want to exclude > some ports. Maybe we should have an interface like midi-ox where we > can multiple select all the ports we want to use That's what I was thinking. Initially, it'll be easier to just listen on everything and figure out what nifty features that enables for us. Then, we can put in the config stuff where the user can select individual ports. I think the toughest part is deciding how JSL should respond when *some* of the selected interfaces go missing. Suppose I have two USB MIDI interfaces, and I have some drivers using ports on each one. Then, I remove one of the MIDI interfaces and then run JSL again. Should JSL re-query the user about: 1 - Which ports to listen on? 2 - The port assignments for every driver which had its port go missing? or do we want to just have JSL fail-over to a default port? If we just give the user a default, what do we do if that interface shows back up again, later? - Joe |