If we were to permit the user to select multiple MIDI tracks and record 
on all of them at once, how should they select which track records 
which MIDI data?

Some options:

 -- The existing "channel" property of the instrument (used for playback 
channel now) is also used to select events to record.  No new GUI 
element is added.  A track records all events on a given channel, but 
from _all_ selected input MIDI devices at once.  There is no way to 
record multiple channels on a single track.  The "default" activity for 
many keyboard users, of always recording from channel 0 (or 1 depending 
on how you count 'em) regardless of output channel, becomes hard.

 -- An additional "channel" property for each instrument appears on the 
instrument parameter box, specifying the recording channel.  A track 
records all events on that channel, but from _all_ selected input MIDI 
devices at once.  There is no way to record multiple channels on a 
single track.  This seems a bit bogus to me, as we're defining an 
apparently instrument-level property that has nothing to do with a 
single instrument (because we still record from all devices).  However, 
it does neatly parallel the way we handle audio input selection.

 -- As previous, but with some advanced means for selecting more than 
one channel at once.

 -- The track has an additional "record instrument" property which 
contains all of the device/channel stuff to identify a single MIDI 
instrument, and which defines what channel is recorded.  A track 
therefore only records from a single input device.  There is no way to 
record multiple channels or devices on a single track.  We currently 
have no way to present track-level (as opposed to instrument-level) 
properties, and it would seem odd to relegate this particular selection 
to yet another parameter box (or elsewhere).

 -- The track has an additional "record MIDI device" property, and we 
finally get around to implementing the "MIDI device covering only a 
subset of MIDI channels" functionality I intended to do years ago.

 -- Something else.

Ideas welcome.  Note that I'm not particularly interested in 
requirements for pure capability (I want to be able to do this, this 
and this, and I don't care how), and I'm not particularly interested in 
implementation details at this point.  I really want to know how this 
should best work in the user interface.

I should go and review some other applications, because I can't actually 
remember how this is handled elsewhere.


Chris


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to