Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Bug Reports

Reply
 
Thread Tools Display Modes
Old 03-30-2018, 02:08 PM   #1
tusitala
Human being with feelings
 
tusitala's Avatar
 
Join Date: Apr 2010
Location: London (UK)
Posts: 336
Default Changing channel of a few notes deletes one (random, not always happening) (FIXED)



Hi, I can't reproduce this all the time but somehow it's happening in my current project.

I select a few notes and using a shortcut I assign them to a different midi channel (as I do quite frequently)

Any insight?

I'm on the latest official Reaper release, MacOS 10.13.3
tusitala is offline   Reply With Quote
Old 04-01-2018, 05:42 AM   #2
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,135
Default

My first thought would be to check the MIDI editor's Event Filter.
juliansader is offline   Reply With Quote
Old 04-01-2018, 11:15 AM   #3
tusitala
Human being with feelings
 
tusitala's Avatar
 
Join Date: Apr 2010
Location: London (UK)
Posts: 336
Default

hi! what should i look for in the event filter?
tusitala is offline   Reply With Quote
Old 04-01-2018, 12:06 PM   #4
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,135
Default

If the Event Filter is the problem, it would display "Show only events that pass filter" checked, with some or other combination of filter settings.

If the Event Filter isn't the problem, you could perhaps find out where the missing note went to by checking View -> Raw MIDI data, or by using the MIDI Inspector script.
juliansader is offline   Reply With Quote
Old 04-01-2018, 01:19 PM   #5
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,693
Default

Quote:
Originally Posted by tusitala View Post
I select a few notes and using a shortcut I assign them to a different midi channel (as I do quite frequently)
Are you changing the notes to the same channel as the immediately previous notes? If so, and the first changed note overlaps with the one before it, and the MIDI editor option "automatically correct overlapping notes" is enabled, that might explain this behavior.
schwa is offline   Reply With Quote
Old 04-01-2018, 02:00 PM   #6
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,135
Default

Ah yes, now I remember this bug has been discussed at length before.

Also related: Pasted note disappears if it overlaps existing note.

Poor abandoned piano roll, hungry and alone, looking at all the fancy new features that are getting all the devs' love.
juliansader is offline   Reply With Quote
Old 04-01-2018, 03:27 PM   #7
tusitala
Human being with feelings
 
tusitala's Avatar
 
Join Date: Apr 2010
Location: London (UK)
Posts: 336
Default

Quote:
Originally Posted by schwa View Post
Are you changing the notes to the same channel as the immediately previous notes? If so, and the first changed note overlaps with the one before it, and the MIDI editor option "automatically correct overlapping notes" is enabled, that might explain this behavior.
Dear Schwa,
Thank you very much for your help...I think you nailed it and that’s exactly what happens, as I managed to reproduce this behaviour in a new and empty project.
I wasn’t aware of the “automatically correct overlapping notes” option, and yes, if I deactivate it, this behaviour doesn’t happen again.

What’s strange tough is that I inputted those notes using “step recording” so their value is supposed to be perfectly quantised and I assume that because of that they should not be overlapping...am I wrong or am I missing something?

Thanks a lot again for your work.
All the best
-t
tusitala is offline   Reply With Quote
Old 04-02-2018, 01:48 PM   #8
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,135
Default

Quote:
Originally Posted by tusitala View Post
What’s strange tough is that I inputted those notes using “step recording” so their value is supposed to be perfectly quantised and I assume that because of that they should not be overlapping...am I wrong or am I missing something?
REAPER stores MIDI data as a sorted sequence of events (which you can inspect with View -> Raw MIDI data). In the case of MIDI events that fall on the exact same tick position, events on lower channels are sorted before those on higher channels.

When two perfectly quantized notes are adjacent, the first note's note-off falls on the same tick position as the next note's note-on, so the MIDI data looks like this:

Code:
+0     0:        91 30 60     (Note 1 note-on, channel 1)
+960   960:      90 30 60     (Note 2 note-on, channel 0)
+0     960:      81 30 00     (Note 1 note-off, channel 1)
+960   1920:     80 30 00     (Note 2 note-off, channel 0)
If the second note's channel is changed to 1 -- and if REAPER neglects to re-sort the events on tick 960 -- you get:

Code:
+0     0:        91 30 60     (note-on, channel 1)
+960   960:      91 30 60     (overlapping note-on, channel 1)
+0     960:      81 30 00     (note-off, channel 1)
+960   1920:     81 30 00     (note-off, channel 1)
Now there appears to be an overlapping note on channel 1.

To avoid triggering "Correct overlapping notes", REAPER should sort the MIDI events on tick 960 before correcting:

Code:
+0     0:        91 30 60     (Note 1 note-on, channel 1)
+960   960:      81 30 00     (Note 1 note-off, channel 1)
+0     960:      91 30 60     (Note 2 note-on, channel 1)
+960   1920:     81 30 00     (Note 2 note-off, channel 1)
juliansader is offline   Reply With Quote
Old 04-02-2018, 03:15 PM   #9
tusitala
Human being with feelings
 
tusitala's Avatar
 
Join Date: Apr 2010
Location: London (UK)
Posts: 336
Default

Ouch my head hurts now! :-)
tusitala is offline   Reply With Quote
Old 04-03-2018, 05:41 AM   #10
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,693
Default

Quote:
Originally Posted by juliansader View Post
In the case of MIDI events that fall on the exact same tick position, events on lower channels are sorted before those on higher channels.
I don't think that's correct. REAPER goes to some effort to keep MIDI events in a stable order, to avoid endless problems like this, with drum-triggered notes of zero length, etc. There shouldn't ever be an arbitrary sort on some attribute other than time position.

Do you have a sequence of events that causes notes to be sorted in the order you are showing?
schwa is offline   Reply With Quote
Old 04-03-2018, 06:55 AM   #11
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,135
Default

Quote:
Originally Posted by schwa View Post
There shouldn't ever be an arbitrary sort on some attribute other than time position.

Do you have a sequence of events that causes notes to be sorted in the order you are showing?
In the case of events that fall on the same time position, I assume that some other attribute is taken into account?

This image shows how note-ons and note-offs at PPQ position 960 are sorted by channel:



(Similarly for pitches, CCs etc of the same type, on the same PPQ position.)

Last edited by juliansader; 04-03-2018 at 07:18 AM.
juliansader is offline   Reply With Quote
Old 04-03-2018, 07:01 AM   #12
Bri1
Human being with feelings
 
Bri1's Avatar
 
Join Date: Dec 2016
Location: England
Posts: 1,723
Default

Quote:
This image shows how note-ons and note-offs at PPQ position 960 are sorted by channel:
Is that not logical? keeping order of channels?
How about some type of automatic 'offset' where no 2 notes are 'allowed' to share an exact space- moving by 1 tick either way,for 'human'ness' .. ?
This helps to reduce audio transients overloads also eh....
Bri1 is offline   Reply With Quote
Old 04-03-2018, 07:20 AM   #13
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,693
Default

Quote:
Originally Posted by juliansader View Post
In the case of events that fall on the same time position, I assume that some other attribute is taken into account?

This image shows how note-ons and note-offs at PPQ position 960 are sorted by channel:
The order should just be the order the events were added, in other words the order the notes were created.

schwa is offline   Reply With Quote
Old 04-03-2018, 09:55 AM   #14
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,135
Default

Here is the same sequence of actions on my system:

juliansader is offline   Reply With Quote
Old 04-03-2018, 09:59 AM   #15
schwa
Administrator
 
schwa's Avatar
 
Join Date: Mar 2007
Location: NY
Posts: 9,693
Default

Well, something is different there!

Do you have any extension installed that might be reacting to changes in the MIDI item? That is in-project MIDI, right?
schwa is offline   Reply With Quote
Old 04-03-2018, 10:28 AM   #16
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,135
Default

I quickly checked the same actions on a new portable install without any extensions, and I get the same behavior.

I have always thought that sorting by channel is the normal behavior, and have discussed it long ago in other bug report threads too.

(MIDI is in-project.)
juliansader is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:42 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.