<br><div class="gmail_quote"><br><br><br><div><div></div><div class="h5"><br><br><div class="gmail_quote">On Wed, Mar 25, 2009 at 2:28 PM, Chris Cannam <span dir="ltr">&lt;<a href="mailto:cannam@all-day-breakfast.com" target="_blank">cannam@all-day-breakfast.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Wed, Mar 25, 2009 at 2:45 AM, D. Michael McIntyre<br>
<div>&lt;<a href="mailto:rosegarden.trumpeter@gmail.com" target="_blank">rosegarden.trumpeter@gmail.com</a>&gt; wrote:<br>
</div>&gt; Discuss.<br>
<br>
No argument about the need to try to improve on the old experience.<br>
<br>
I do think though (as I mentioned the other day in an off-list email)<br>
that any time the user has to go to the Manage MIDI Devices dialog,<br>
the terrorists have already wo-- sorry, I mean, the rest of the<br>
interface has failed.<br>
<br>
That joke was a bit old.  I apologise.<br>
<br>
This I think is the use-case in which I think RG 1.x fails most<br>
seriously (because it fails in bad and unpredictable ways, and because<br>
it&#39;s a common use-case):<br>
<br>
  1. User starts RG<br>
  2. User starts qsynth, timidity, or some other software synth (this<br>
might happen before 1, but the result is similar)<br>
  3. User wants to play their composition through that synth<br>
<br>
RG 1.x fails this for two separate reasons.  First, if it creates a<br>
new device for this synth, the device will have some totally unhelpful<br>
name because RG is too non-committal to give it a sensible name.<br>
Second, even if you were prepared for that, it&#39;s just as likely to<br>
connect the synth up to some device that already existed but was not<br>
connected before.<br>
<br>
It should not be necessary to go to the Manage MIDI Devices window to<br>
make this one work.  I suspect that a lot of casual users never even<br>
find that window, apart from anything else, before dismissing the<br>
program as impossible to use.<br>
<br>
Removing device auto-creation doesn&#39;t really help with that one.  The<br>
critical part is being able to select your target synth using a<br>
meaningful name (not just some virtual RG device) directly in the user<br>
interface, preferably directly from the track header.  This could mean<br>
either auto-creating a device with the right connection and just<br>
naming it more sensibly, or making it simpler to select the<br>
_connection_ rather than the device (i.e. to redirect an existing<br>
device to a new connection).<br>
<br>
Here&#39;s the other big important use-case:<br>
<br>
  1. User uses RG for something, saves file<br>
  2. User loads file later, presses play<br>
  3. User expects file to play through same synth(s) as before<br>
(assuming they are available).<br>
<br>
Removing device auto-creation _does_ help with this one, but it still<br>
won&#39;t guarantee we always get it right -- we&#39;d still be at the mercy<br>
of the auto-connection-to-similar-sounding-connection-name logic,<br>
unless we expected the user to always restore their connections by<br>
hand every time they loaded a file.  At least, removing device<br>
auto-creation should make it easier to fix this situation if the<br>
defaults come up wrong.<br>
<br>
I was hoping to be able to link to an illustrative video about this,<br>
but I can&#39;t find it any more.  At last year&#39;s Linux audio conference I<br>
had to go up and help out Julius O Smith (noted Stanford DSP guy)<br>
during his presentation because he couldn&#39;t get Rosegarden to play to<br>
the synth he was trying to demonstrate (a software synth of his own<br>
devising).  The cause of the problem was that, although he&#39;d carefully<br>
saved his composition with the right device connected to the right<br>
connection, a new USB MIDI device had been connected at some moment<br>
between his last successful test and the live demo, and the track was<br>
playing to that instead.  Worse, the USB device was a controller<br>
keyboard with no synth (it was playing to the keyboard&#39;s MIDI output<br>
port to which nothing was connected).  Two people failed to fix this<br>
before I went up.<br>
<br>
Removing device auto-creation would go some way to solving that<br>
problem, but only to the extent that the device came back up connected<br>
to the right connection even though the available ALSA MIDI devices<br>
had changed and re-ordered since the devices were set up.  If that<br>
failed, it would be much more apparent how to fix it if the connection<br>
was more obvious and more easily editable in the main GUI itself.<br>
<br>
Just for completeness, there is also a third use-case which was<br>
prominent in our minds when we first (mis-)designed this stuff:<br>
<br>
  1. User makes composition<br>
  2. User passes composition to friend<br>
  3. Friend lacks same MIDI devices, but device names in composition<br>
help friend work out how to recreate the setup<br>
<font color="#888888"><br>
<br>
Chris<br>
</font><div><div></div><div><br>
------------------------------------------------------------------------------<br>
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are<br>
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and<br>
easily build your RIAs with Flex Builder, the Eclipse(TM)based development<br>
software that enables intelligent coding and step-through debugging.<br>
Download the free 60 day trial. <a href="http://p.sf.net/sfu/www-adobe-com" target="_blank">http://p.sf.net/sfu/www-adobe-com</a><br>
_______________________________________________<br>
Rosegarden-user mailing list<br>
<a href="mailto:Rosegarden-user@lists.sourceforge.net" target="_blank">Rosegarden-user@lists.sourceforge.net</a> - use the link below to unsubscribe<br>
<a href="https://lists.sourceforge.net/lists/listinfo/rosegarden-user" target="_blank">https://lists.sourceforge.net/lists/listinfo/rosegarden-user</a><br>
</div></div></blockquote></div><br><br></div></div>possible option 4?<br>
<br>
First opening of the midi device manager shows GM device, and an extra entry, titled &quot;Add new connection&quot;.<br>
<br>
It does precisely that, and the user selects from a dropdown list of connectable devices, that RG has detected.<br>
<br>
And as each connection is added, the &quot;Add new connection&quot; option stays in view and ready to rumble, at the bottom of the list.<br>
<br>
Another vote here for user creatable jackmidi ports. (For future consideration.)<br>
<br>
Alex.<br clear="all"><font color="#888888"><br>-- <br>Parchment Studios (It started as a joke...)<br>
</font></div><br><br clear="all"><br>-- <br>Parchment Studios (It started as a joke...)<br>