Our current Studio menu has two options for fiddling with MIDI devices: 
Manage MIDI Devices, and Manage MIDI Banks and Programs.  There's also 
the newer Manage Control Parameters option, which deals with things 
that by general consensus probably ought to be properties of MIDI 
devices but that are instead currently global to the Studio.

I'm currently considering whether it's worth tying these together into a 
single MIDI device management dialog, from which the other dialogs flow 
(and making controller settings per-device at the same time).  Mostly 
this wouldn't be hard to do.  Here's a proposal:

http://www.all-day-breakfast.com/rosegarden/tmp/devices.png

The code is just deviceeditor.cpp ripped up and glued together again.
The buttons on the right don't yet work (except the ones that already 
did).

This dialog would be the only one of the three to be available on a main 
menu.  The Bank dialog would be available from the Banks button on this 
one (configuring banks for only the selected device) and the 
Controllers dialog from the Controllers button (configuring controllers 
for only the selected device likewise).  Import and Export would be as 
for the options on the Bank dialog, but would import everything about a 
device, not just banks.  Possibly we might want to keep Import/Export 
on the bank dialog as well.

The main advantage to this is it's easier to do simple setup of 
everything in your studio from existing library files: just select a 
device, check the connection, and hit import.  The more I try to use 
(and particularly to demo) this software, the more I realise that 
having to use two separate dialogs to set up your connections and 
patches is quite a serious overhead.  I notice that MusE's (IMHO mostly 
opaque) port management dialog has a simple dropdown to choose from the 
set of predefined device types (GM, GS, Yamaha whatnot) for each 
port... whilst I like the fact that our method makes it clear that you 
can create and export your own devices as well, I do find the 
simplicity of that appealing.  Accordingly I've also coded this so that 
a double-click on the device name opens the import dialog directly.

Note that we could also bring the configuration of the current record 
device into this dialog (as shown).

The main _dis_advantage I think is the relative lack of feedback for 
some of these operations.  If you hit Import and select a file, you're 
probably going to overwrite the patches on whichever device you had 
selected in the dialog, but you won't get any feedback on that except 
the change in device name, and you may never have actually deliberately 
selected a device before you hit the button anyway.  Having Import on 
the bank dialog is more transparent from that point of view.

Anyway, just a suggestion and to open discussion.  I'm prepared to 
implement this (including the controller stuff) forthwith if it's taken 
to be a good idea.  The vast majority of the remaining work is just 
cut-&-paste: bringing things like the Import code from the bank dialog 
into this dialog or somewhere common, and so on.  The controllers would 
need a bit of care, but there are quite a few bug fixes needed there 
already so I could combine the two.

I won't be committing this prototype unless I'm actually going ahead 
with it -- it wouldn't tell you anything much besides what you can see 
already.


Chris



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Rosegarden-devel mailing list
[EMAIL PROTECTED] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to