Please consider this clarification of the need to do what I'm doing. 

In this case, I can't save the pieces as ".rg" files, because they need to be played with a generic MIDI player (actually, the sequencer in Java sound). 

The MIDI channel needs to be channel 1 so that the student can interact with the notes.  If they have to change the channel of their MIDI device, I can't tell them how to make that change on every particular synthesizer out there (and they're all different). 

Also, it can be really difficult to change the channel at all, such as with the Akai LPK25 (there is a way, but it requires saving alternate configurations, and last time I tried it, it didn't work on Linux). 

I think I can generally count on keyboards initially sending on MIDI channel 1, which makes the course-ware simpler and easier. 

- Aere

On Fri, 2012-09-07 at 12:58 -0400, Tom Breton (Tehom) wrote:
> On 09/06/2012 11:20 PM, Tom Breton (Tehom) wrote:
>> There has always been a separate conductor track in RG exported MIDI.
> There's the problem then, Tom.
> He wants to get all the stuff on channel n by assigning everything to
> instrument n.  There is no direct way to set the channel, but choosing
> instrument #n with the channel fixed to it ought to do the job.

Yes, that's what I understood too.

> Now we apparently export a separate conductor track.  I didn't even know
> that.  (I just never use standard MIDI files, and everything I've done
> of any consequence for the past 10 years is in .rg format.)

I know what you mean.  I just use RG files in my work too.

> The MIDI export logic probably just grabs channels on a first come,
> first serve basis and starts with 1 for the first track, which is the
> conductor track, then increments from there.  The result I'd expect to
> see is that we always export stuff to use channel n+1, with n never
> attainable unless n >= 2.

Actually, the MIDI export logic itself doesn't even say channel numbers. 
The only way it thinks about channels is to make sure exported tracks are
unambiguous wrt internal track and channel.  Channels get into the MIDI as
program change events that live on tracks.  The import logic seems to get
us back to channels by keeping a running map of what channel a track
thinks it's on.

> (Bear in mind I'm using "end user" MIDI channel numbers where they're +1
> relative to the actual numbers we use internally.  0 is 1, 1 is 2, etc.)


	Tom Breton (Tehom)

Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
Rosegarden-devel mailing list - use the link below to unsubscribe