On Wednesday 25 March 2009, Chris Cannam wrote:

> How about this for a set of goals?
>
>  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.

(See user list for an expansive discussion about whether anything is 
ever "plausible.")

>  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.

"General MIDI Device" has no connection.  User starts QSynth.  Don't create a 
new device, but hook QSynth to the existing one.

Check.

>  3. Make the auto-connect parts of 1 and 2 optional in configuration?

No.  If it requires configuration, it's too complicated.  Plus we have WAY too 
many configuration options as it is.

>  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...

Yes.

>  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.

We could probably do this adequately with nothing more than a second combo box 
and a list of available ALSA output ports.

The IPB currently shows the ALSA port the instrument is connected to. Just 
make it editable here.  Most users would never need to use the device manager 
ever again if...


> In no circumstance do we create or delete a device automatically,
> except the very first one in an empty composition.

...if we DON'T enforce that rule.  This part I don't agree with.  If a user 
changes something while we're running, odds are they meant to do that, and we 
should act on it.  If Hydrogen starts, and no device lacks a connection, then 
create a device for Hydrogen and connect to it.  Optionally we could ask, and 
that's what Emanuel and I were thinking the other day, but now that I've seen 
how the "detected that you started a new synth" code runs in an environment 
that isn't trashed up with a bunch of extra garbage, I think it is probably 
safe to assume the user meant to do that in this kind of situation, and it's 
OK to be helpful.

Especially bearing in mind rule 2.  DON'T create the new device for Hydrogen 
if there's already something empty to fill.

But if there isn't, no, I don't think I should have to go invoke the MIDI 
device manager and manually create a device just because I started Hydrogen.

Let me add here at the bottom that one thing all of this discussion 
presupposes so far is that the user has something "General MIDI" at all.  
This is mostly true, but not always.  Users wouldn't necessarily (and we 
really hope not) have to use the bank editor, but they should be expected to 
make use of our extensive library.  If we're wanting to keep people out of 
the device manager as much as possible, perhaps we should devise a way to 
load banks from an .rgd file straight out of the main window too.
-- 
D. Michael McIntyre 

------------------------------------------------------------------------------
_______________________________________________
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to