Re: External MIDI controller track/instrument in Matrix Editor

mark_at_yahoo via Rosegarden-user <rosegarden-user-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Newsgroups gmane.comp.audio.rosegarden.user
Message-ID <[email protected]>
On 2/17/22 12:20 PM, Ted Felix wrote:
>    This feels to me like a bug.

The more I played with it (and the more I've become familiar with RG's 
interface, at which I'm still a beginner) the more I thought so, too.


>    In Step Recording mode, Matrix should take over the keyboard and 
> route the note to the selected Segment's device/channel (Instrument). It 
> shouldn't go through the usual main window routing.  Of course, this 
> could get confusing when a user forgets to turn off Step Recording.  Or 
> what if you have both a Notation and a Matrix editor open and both in 
> Step Record?

I think it should take over regardless of whether Step Recording is on 
or off, and have a possibly radical suggestion about Notation vs Matrix 
conflicts. See below for both.


>    How does Notation behave in step record?  Same problem?
Yes, same problem. I tested in both 21.12 and the current Git code.


I'm going to jump in with both feet here and give my unasked-for 
opinions, going way beyond the bug and into feature request territory 
related to it. Just for the sake of discussion -- I'll file a formal 
ticket if desired. BTW, in reference to our messages over in 
rosegarden-devel, this was one of two issues that prompted my desire to 
get into the codebase and see if there was anything I could do about them.

IMO, RG should have a single/global active 
segment/track/device/channel/intrument/etc. If the user selects a track 
or segment in the main interface, or a segment or staff in the notation 
editor, or a segment in the matrix editor, or does something in one of 
multiple open event list editors, I think any/all other open 
windows/editors should update to match.

If that track's (i.e. that segment's track's) Track Parameters Device, 
Channel, and Thru Routing are set appropriately, incoming Note On and 
Note Off messages should have their channel number changed to that of 
the track before being sent to the MIDI outputs. This should happen 
regardless of whether Step Recording is on or off. I think the normal 
workflow should be that RG settings control all MIDI output. But I admit 
I don't fully understand Thru Routing's Auto vs When Armed, or the 
use-case where someone would want incoming MIDI channels to be output 
unmodified. Or the incredible can of worms which would be incoming MIDI 
note channels controlling RG's active track/segment (global or otherwise).

I also don't fully understand segments vs tracks in regards to 
instruments, etc.  I think mostly in MIDI terms but understand that RG 
is more general than that. Speaking purely MIDI, all segments in an RG 
track use the same MIDI channel (as set in Track Parameters), right? But 
different segments within a track can be different MIDI instruments? 
I've tried to do this by setting Instrument Parameters to one 
instrument, adding notes to a segment, changing to a different 
instrument and adding notes to a different segment in the track, and it 
didn't work. But I did use the Event Editor to achieve the same result 
by inserting MIDI program change events -- it even works to have a 
program change in the middle of a segment. But (another can of worms) a 
track can have multiple segments overlapping in the same time period, 
one vertically on top of the other in the main interface. What happens 
if two segments have a program change at the exact same time, but to 
different MIDI program (instrument) numbers?

Apologies for getting mired in this swamp (exacerbated by my own 
misunderstandings about RG) but it all relates to the "global active 
<something>" concept that I think the current bug logically leads to. 
Single active what? Track? Segment? Instrument (MIDI or more general)? 
BTW, regarding "all other open windows/editors should update to match", 
it's awesome that when moving a segment horizontally in time in the main 
interface the Notation and Matrix editors reflect the change, but it 
seems that the Event List editors don't. :(

Finally, getting back to simpler issues, I was stuck back on RG 17.12 
before this, and the improvements to the Matrix Editor (and everything 
else in general) are huge. The lower bar in the ME showing the current 
track and segment (and in the segment's color!!) is particularly useful.

That said, I find using the scrollwheel to change segments a bit clumsy, 
even with the hotkey bindings. It's still a linear search through them. 
I'd like to see a vertical column with abbreviated track/segment names 
to the left of the piano keyboard for instant click-access to any 
segment. Similar to the track names (with clefs) in the the Notation 
Editor, although I don't see why a scrollwheel for selecting tracks is 
needed there instead of clicking on them. Except that clicking in a 
staff accomplishes that anyway. Of course clicking a note to select a 
segment can't work in the ME because there's no way to know what segment 
a grayed-out note belongs to, and there can also be multiple identical 
notes from multiple segments on top of each other.

My congratulations to anyone who's read this far in an overly long post. 
I realize implementing even a small percentage of the above suggestions 
would be a huge amount of work, but if time, ability, and the learning 
curve of ramping up with the RG codebase (and Qt in general) permits, 
maybe I could contribute to some of it.





_______________________________________________
Rosegarden-user mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.