On Tuesday, January 24, 2012, Tom Breton (Tehom) wrote:

> One question: What's the status of MidiFile?  That's the one I still need
> to fix.  It seemed like it was already ignoring repeats, triggered
> segments, etc.

When MidiFile is used to convert a composition into a standard MIDI file, it's 
home to a laundry list of bugs of omission that really impose some pretty 
serious limitations on anybody who wants to export a native composition to 
MIDI intact.

There is plenty that could be fixed, and if you think something seems broken, 
you're almost certainly right.
 
> instead.  Now when they play two or more notes in unison, they really
> sound that many notes in unison.

Ahhhhh.  Very subtle, but obvious once you know what you're listening for.

>    Also if you jump back in the trumpet bit, it will demo another
> "invisible feature" - they get the right controllers for that point in
> time.

This bit is especially striking if you try it with stock Rosegarden for 
contrast.

> * Won't handle multiple MIDI devices neatly.  For instance,
> fixing 2 track tracks on different devices becomes impossible.

I'm not sure I follow you.
 
> But maybe we can improve on even that.  I want to run this by your voice
> of experience first:  Suppose there were 3 options:
>  * auto
>  * fixed to track number

Fixed to *instrument* number.  Multiple tracks can use the same instrument.

>  * custom - fix to a specified channel on a specified MIDI device no
> matter where the track is.

I think you're confused about what owns what.  From the Instrument Parameters 
box containing the controls for "General MIDI Device #2" you can't change the 
device.  This instrument, #2, is contained inside of "General MIDI Device" and 
just by arriving here we have already established that "General MIDI Device" 
is the device.  There can be no other.

As such, all we could do for a third option is have a manual option to fix to 
some arbitrary channel of the user's choosing, instead of the channel 
corresponding with this instrument number.
 
> In your opinion, is that clear enough to forestall user confusion and bug
> reports?

The problem with confusion and bug reports is that people forget that they set 
instrument #3 to play on channel 12, and they also set instrument #12 to play 
on channel 12.  They change controls for #3 not realizing it affects channel 
12, and therefore #12 as well.  Which set of controls should take precedent is 
really undefined behavior, and this causes all kinds of bizarre things to 
happen.

I suppose in your scheme if you fixed #3 to 12, it would automatically force 
#12 to allocate to some other channel, so that would solve the biggest part of 
the problem.

However, I still have yet to see a defined use case where it is necessary to 
use some arbitrary channel, instead of the channel corresponding with the 
instrument number.  People find Rosegarden's overall schema enormously 
confusing, and providing the ability to change channels manually just makes 
Rosegarden looks that much more like MusE or Cakewalk or something, and 
encourages that much more confusion as users come to grips with the fact that 
Rosegarden's whole model for everything is quite distinctly non-traditional, 
and different.

Moreover, everything you're doing with automatic allocation of channels and so 
on just takes Rosegarden even farther along the path of being quite distinctly 
non-traditional and different.  I don't think that's a bad thing at all, but 
in order to be consistent with its own reality, I don't think trying to offer 
more traditional controls on top of a radically non-traditional schema really 
accomplishes anything beneficial to users trying to get their heads around how 
everything fits together.

I say all of this as somebody who spent years trying to get his head around 
how everything fits together.  Even through about the first three drafts of my 
book, I still didn't quite get it.  It's VERY confusing to someone who grew up 
on Cakewalk, although it's all fine and well thought out once you get into the 
same head space as the people who designed it.

> And "fixed to track" will clone instruments to give each fixed track a
> dedicated instrument, so there's no question of the same instrument being
> fixed to two tracks or playing oddly on an "auto" track.

Think about everything I just said, and see if you still have some thoughts 
along the above lines, after filtering them through a fresh look at how 
everything fits together.
 
> Thanks.  I actually am rewriting the controller context code for speed.

I imagine the overhead is crazy, and I'm surprised at how well it works in its 
initial form.
-- 
D. Michael McIntyre

------------------------------------------------------------------------------
Keep Your Developer Skills Current with LearnDevNow!
The most comprehensive online learning library for Microsoft developers
is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
Metro Style Apps, more. Free future releases when you subscribe now!
http://p.sf.net/sfu/learndevnow-d2d
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to