Steps to reproduce:
- Place playhead before a note in the Matrix Editor
- Switch to the Main Window and hit
Eto open the Event Editor
- The note appears to be selected, but is not
- Try edit by pressing
E (Edit) and nothing happens
- Even the Edit menu items appear to be enabled
- Worse still, try
I(Insert) e.g. a pitch bend
- On OK, the pitch bend dialog does open, but the Absolute time is zero i.e nothing to do with the selected note
- If the time error is noticed, Canceling the window returns to the Event Editor, but the false selection persists
- The user can click on the item to actually select it...nothing appears to happen, but on opening the pitch bend editor again, the Absolute time is correct
- In addition, the Edit menu items now match up if the user selects the row.
- Also, on CTRL-click the fake selection highlight vanishes, and the Edit menu responds by disabling Edit
Just an additional comment...perhaps the Absolute time field should be selected on opening. That way, left arrow will move the cursor to the start of the time (unlikely wanted by the user), while right arrow will move it to the end, where they can more easily adjust the relative position. And of course, if high-lighted, delete the whole field in one go...again unlikely. Opening with a field selected is how track name editing, and volume change editors open. It's not crucial though.
Yes - the initial selection is not done properly.
See merge request.
Note that I have not tested the latest fix yet, since I await feedback about the compatibility popup window in master. In the meantime...
First off, I'm amazed that pasting events in the EventEditor works. It looks deceptively simple, but is not. But I can see one small problem, and it's related to selections.
Scenario: Here are some made up events as seen in the EventEditor:
Now, say I want to copy the pitchbends (not the note) elsewhere to a different segment. Obvious solution is to select the pitchbends, copy them, then find the segment and open the EventEditor for that.
Let's say there is one note in the destination segment:
83280 noteBI select that note meaning to bend it like the one at 73920 above and get this.
Alright, so the order is mixed up, but it's the same time location anyway.
However, I wanted the pitch bend locations to reflect those at the other location (no 9's). So, I return to the original location, and this time include the note in the copy. When I paste, I get:
And I can delete noteA, and I get what I want. I've seen no obvious other way to get this. Is there one?
Assuming the answer is no: If a location to paste was offered with a popup, I could pick 83281 (i.e. the offset of 1) and would get that precise positioning too. But that gets in the way of the quick intuitive paste at the selection.
Consider what happens when nothing is selected the EventEditor. The paste automatically goes to the start of the segment (in my case) i.e. an assumption, which is fine when there are no already existing events. But, if there are events AND no selection AND we remove the assumption to instead popup a window with the start of the segment as default, the user could edit it to paste the sequence of events where they really want it to go without the above workaround.
Does that seem like a way to solve the problem? Or do we just live with the workaround?
Last edit: Ted Felix 2026-03-31
The event list editor doesn't have a playback position pointer like matrix and notation. With them, you can set the PPP anywhere you want and paste.
How about a "Paste At..." feature? Ctrl+V (Paste) would put it down at the currently selected event like it does now. A new Ctrl+Shift+V (Paste At...) would pop up a time dialog primed with the currently selected event time and paste at the time the user selects. You can always remap using the shortcut editor if you find yourself needing the time dialog more frequently.
Funny enough, the method I used made the event editor behave as though it had a PPP. That's why I visited a segment first using the MatrixEditor AND selected the note BEFORE returning and opening the event editor. The PPP was then just before that note. A bit cumbersome, but it worked. But since the timeline itself is created in the event editor as events appear, points in between don't really exist...that's why I said I was amazed pastes worked at all...but it uses relative time from a known point to overcome that...which is why we need to specify that start point.
But the PasteAt feature is excellent. I didn't mean to ask for a whole new feature for something so minor, but if it's simple to implement, it solves the problem completely. Do you want me to create a new feature request around this or should we just let it absorb into the event editor in this bug along with the selection changes?
Should be very easy. (But then I've said that before and spent days on something that just got more and more complicated. 🤣)
It's fine here. I've got it in my email, so it will end up on my todo.
Pushed new Event List Editor Paste At... feature as [b3682e]. Please test latest git.
Related
Commit: [b3682e]
Merged Philip's change as [1a171a]. Please test latest git.
I put back the setCurrentItem() call to make sure the keyboard works correctly if the user tabs into the table and wants to navigate that way.
Related
Commit: [1a171a]
Last edit: Ted Felix 2026-03-30
This is
EditEvent::m_timeSpinBox. Selecting the text within would be consistent with tabbing through the dialog. I'll have a look.Just pushed [9d3dca] which selects the text in the time field when the Edit Event dialog is launched. Please test latest git.
I think this one is finished.
Related
Commit: [9d3dca]
There's still a minor problem with the selection.
Eto edit opens the Edit Event window on that event, andIto insert opens a window primed to insert at that event location, so it's apparently selectedAnd something I didn't mention last time because it's all related to selections and I thought it would be seen:
Ito insert an eventALT-Oto close the windowI guess the next best selection after editing an event could depend on what one is doing. However, if adding one event after the other, then the new event should be selected so that when
EorIis hit, the new location is in the Absolute time...just an opinion though.This is because keyboard focus is on the "Note" checkbox in the left column. Press Shift+Tab and the list will have focus, and the up/down arrow keys will work.
Some things that probably should be addressed for keyboard users:
Event List Editor initial focus fix pushed as [c527a2]. Please test latest git.
Related
Commit: [c527a2]
Works just great.
I'm one for noticing new log entries though:
I'm not sure what that can mean since obviously it was possible :-) It worked! Anyway, and the log entry is harmless, although misleading.
Event List Editor "select new event after insert" fix pushed as [5131ab]. Please test latest git.
Related
Commit: [5131ab]
Field selection on opening now works.
Inserting an event causes that new event to be selected when the popup is closed. The latest fix says for insert, but just in case, when editing an event, nothing is selected on closing the popup, so you don't know which one was edited. Perhaps you're already working on it.
The next two would likely be different bugs, but it was uncovered during this bug. I'll mention them here and if they are separate bugs, let me know and I'll open them.
Set Event Velocities used to default to 100, which is the default value of a note. Now it defaults to an unlikely value of zero now. Was that an intentional change?
Steps to reproduce:
There is also potentially another bug: Event velocities only work for the first of tied notes.
Difficult to know if this is a design decision, but RG allows the user to set the velocities of two sequential notes individually. When the notes are tied and played, both notes play with the velocity of the first note only. Note, that the velocities can be set individually, even when tied.
Steps to reproduce:
I expected the velocity MIDI message to still be sent with the second note, and the MIDI sound module to adjust the velocity accordingly, while still holding the note. Or is it only ever the duration which counts? For all I know a MIDI sound module can't even do that.