Hello All, Considering Chris C.'s five items.
First could you clearly define what you mean by 'device'? I'm guessing you mean an RG internal connection point that is named in the studio like 'system device 2.' If that is true then just a generic midi device that follows 1 and two that you mentioned is fine. Chris wrote: > 1. On first startup with an empty composition, we should > have one > output device, connected to some plausible looking MIDI > client if > there is one. ("Plausible-looking" means that ALSA > reports it as a > software synth or a hardware port.) You want any more > devices in your > composition, create (and connect) them yourself. > > 2. If a new "plausible-looking" MIDI device appears while > we're > running, and _if_ an existing device has no current > connection at all, > connect that to it. Don't create any new devices. > I specially like the idea of not creating any new devices. What if somebody saves their studio setup with that default pointing somewhere else? We need to make certain to honor that request not over ride it no matter what the configuration setting is in 3. say that their choice for the device is 'no connection.' Chris wrote: > 3. Make the auto-connect parts of 1 and 2 optional in > configuration? > > 4. When loading an existing composition, do our best to > connect the > devices in that document to connections that look the same > as the ones > they were connected to before it was saved. In the > ideal case where > all the MIDI devices are exactly the same as they were > then, we should > be able to do this perfectly... Well, 3 is fine, but like has been mentioned. The device must already exist in the manager and it must not be connected to any output. But without some kind of sanity check that may lead to some misleading connections as well. For instance, say I have a drum machine I connect occasionally to the machine. So I enter the info into the device manager. What happens next time I load rosegarden and the device is not present? Maybe it is a USB interface device that is plug and play. What would rosegarden do with the connection? Will is say 'not connenected,' or list some other message, or try to reconnect to a different device? Maybe the solution is to lock and unlock each device. Once a device is set to the users preference, the user can lock that connection, so that each time RG runs its tries to honor the connection, but doesn't forget it if it doesn't exist. Maybe with a suffix in the connection box stating 'un-reachable' or 'not found.' I guess the default Studio file sort of does this. Also say a device isn't plugged in, so the user makes a 'temporary connection' just to get things running. What should we do if the user then subsequently saves the file. Should we save the temporary connection, or the studio defaults with the file? Hmm... I don't think RG currently keeps track of defaults. It just loads in a autoload.rg file or something each time a new composition is started or loaded. So this could be an issue as well. I guess we could always move a 'default' studio setup into the configuration file, that way loading saving and setting a studio file would have more staying power. Maybe I'm all wet on this one. I hadn't really reasearched this. Chris wrote: > 5. Make it simpler (somehow!) for the user to see and > change > connections in the main user interface, without having to > use the MIDI > device dialog. Adding and removing devices however > will involve the > dialog. Well, a dialog box would be nice, but again this action should be controlled as a configuration option. This is tough because, we can't just assume that a new device is for RG. Many people run multiple apps, and having RG connectying to them automatically or displaying some modal dialog could be annoying. Michael, I bet you just love the idea of all of these new configuration settings?! Sincerely, Julie S. ------------------------------------------------------------------------------ _______________________________________________ Rosegarden-devel mailing list Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel