|
|
|
08-17-2016, 07:37 AM
|
#1
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
MIDI overdub: infinite notelength bugs (FIXED)
6+ report confirmations
one aspect of this bug has been fixed in a recent pre but the others still exist as described.
this bug was discovered by snooks in the "Drum Machine Edit script" thread in the JS/Reascript forums ( http://forum.cockos.com/showthread.php?t=175297). i'll summarize his findings and provide licecaps.
Reproduction:
1- Set a short time selection to loop.
2- create a midi item to fit that time selection
3- overdub arbitrary notes. make sure to hold a note past the end of the loop.
ISSUE:* additional note ons are recorded at the beginning of the loop.
ISSUE: the notes extending beyond the boundary have an end position before the start position.
ISSUE: in overdub mode, REAPER assumes midi notes have infinite length until it receives a NOTEOFF. this is not the case in other record modes. this is perhaps the root of all other described behaviors? see more on this issue here: http://forum.cockos.com/showthread.php?t=176552 -- desired behavior would be that notes should exist up til play cursor and, in the case of a looped overdub recording, drop a noteoff where the play cursor WOULD BE if the user was not looping.
* regarding the first issue, i can see/agree that this is useful behavior AS OPTION, but i would think that the desired behavior would be that the notes last as long as they are played and end as such, rather than assuming that additional noteons are desired.
Quote:
Originally Posted by snooks
[the] general bug here is that when notes like these exist, extending the unlooped item extends the note indefinitely. That's definitely not what was recorded, so it's defo a bug. Scripts not being able to do anything with these notes is just another symptom of the issue.
I think not recording the notes at the beginning of the loop and leaving the ends of the notes beyond the item boundary would be the way forward too.
The only thing that sets the end position of the note correctly is touching the note in the MIDI editor, you don't need to move it. Trying to 'touch' the note via a script doesn't work, it deletes the notes.
Calling MIDI_Sort also deletes the notes, maybe because it does that with invalid notes. Unless there's anything anyone can think about I think the solution lies with the devs perhaps making MIDI_Sort check for end positions of 0 PPQ for notes that start after that time and doing whatever the MIDI editor does when you touch one of the notes.
|
here is a another gif showing the issue as it pertains to snooks' "Drum Machine Edit" script. in this script, users are able to selectively delete notes by triggering the script, holding the notes they want to delete, and then turning off the script to return to normal operations. these "end-before-they-start" notes confuse the script and make it hard if not impossible to use when loop recording. see that the last notes are never deleted, because they have no known noteoff. big problem.
thank you for your time
the crab
Last edited by mccrabney; 09-18-2016 at 10:39 AM.
|
|
|
08-17-2016, 11:14 AM
|
#2
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
additional note concerning this issue:
if you hit STOP before NOTEOFF while in overdub mode, REAPER believes your note is infinite. it will continue for as long as you extend the midi item. desired behavior would be for a noteoff to be inserted at moment of STOP in the event that a NOTEOFF was not received beforehand.
likewise, if you have a note in an item and then overdub the same note, you'd better be sure to release this note before the NOTEON of the next --- otherwise you're stuck with a trailing infinite duration note as described elsewhere in this thread.
Last edited by mccrabney; 08-17-2016 at 11:21 AM.
|
|
|
08-17-2016, 02:35 PM
|
#3
|
Banned
Join Date: Sep 2015
Posts: 1,650
|
Very thorough bug reporting, nothing to add except an obvious +1.
|
|
|
08-18-2016, 11:46 AM
|
#4
|
Human being with feelings
Join Date: Apr 2008
Location: Brasov Romania
Posts: 140
|
midi overdub bug
Yes I get this even when overdub and play the same notes. The strange part is that they show only in the midi editor in the main arranger view they are invisible and appear only if you move them up or down.
See the licecap.
Last edited by mirceablue; 08-18-2016 at 12:20 PM.
|
|
|
08-26-2016, 12:30 AM
|
#5
|
Human being with feelings
Join Date: Sep 2009
Posts: 863
|
Confirmed on Win10 x64, Reaper 5.23 x64
And good bug hunting, this particular bug bites regularly but I couldn't figure out what was going on.
|
|
|
08-26-2016, 07:24 AM
|
#6
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
thanks. this is definitely the Madagascar hissing cockroach of bugs for me. i need to do more testing in other midi modes to confirm that it only shows up in overdub mode, which would explain why other people haven't banged the door down already.
|
|
|
08-26-2016, 08:58 AM
|
#7
|
Human being with feelings
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
|
You know I'm with you mccrabney.
This ended up happening to me yesterday at least 4 times, maybe 5 times.
At least twice it happened when there were no other notes beyond the stop point. That's not so bad, because you can either cut the note and delete the part you don't want or simple delete and replace it.
On the other hand, if there other like notes beyond the stop point, there is no other option but to hit Ctrl-Z.
|
|
|
08-29-2016, 02:34 PM
|
#8
|
Human being with feelings
Join Date: Aug 2010
Location: They put me in a home.
Posts: 3,432
|
Dear GOD this is annoying. I didn't realize THIS was the cause, never knew that! This whole time. WOW. AJHSGJAHGS*&^TS*T&!^&%!$@%$#@!~
__________________
47.8% of statistics are made up.
|
|
|
08-29-2016, 03:26 PM
|
#9
|
Human being with feelings
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,754
|
Quote:
Originally Posted by Tod
You know I'm with you mccrabney.
This ended up happening to me yesterday at least 4 times, maybe 5 times.
At least twice it happened when there were no other notes beyond the stop point. That's not so bad, because you can either cut the note and delete the part you don't want or simple delete and replace it.
On the other hand, if there other like notes beyond the stop point, there is no other option but to hit Ctrl-Z.
|
event list editor?
__________________
Ici on parles Franglais
|
|
|
08-29-2016, 04:16 PM
|
#10
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
A potential fix for this is being worked on, it will likely show up in the next pre-release series (5.25 or so)
|
|
|
08-29-2016, 05:02 PM
|
#11
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
thanks, i will keep an eye out.
|
|
|
08-30-2016, 03:34 PM
|
#12
|
Human being with feelings
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
|
Quote:
Originally Posted by Justin
A potential fix for this is being worked on, it will likely show up in the next pre-release series (5.25 or so)
|
Thanks Justin, that would be great.
|
|
|
09-12-2016, 01:53 PM
|
#13
|
Human being with feelings
Join Date: Apr 2008
Location: Brasov Romania
Posts: 140
|
It looks like is fixed in 5.25 pre6. Can everybody confirm ?
|
|
|
09-18-2016, 08:25 AM
|
#14
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
one issue was fixed, but not the rest. infinite notelengths still appear all the time while recording in midi overdub mode.
note lengths need to be tied to play cursor rather than infinity.
Last edited by mccrabney; 09-18-2016 at 08:31 AM.
|
|
|
09-18-2016, 08:38 AM
|
#15
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by mccrabney
one issue was fixed, but not the rest. infinite notelengths still appear all the time while recording in midi overdub mode.
note lengths need to be tied to play cursor rather than infinity.
|
They will appear temporarily while recording, by design, but they should be ended at the correct position when recording stops.
|
|
|
09-18-2016, 09:05 AM
|
#16
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
thanks for the clarification. behavior has improved a lot, for single notes the issue is resolved i think. will continue to test.
i'm still having issues with chords and "rollover" notes and the "DM select" script that deals with these notes that "end before they start." it's possible that this issue is in the script rather than REAPER's midi editor this time, but i cannot tell.
steps:
1- record a chord. in a looped time selection
2- hold chord over loop so that new note ons are recorded *
3- trigger snooks' "DM delete/select" script and delete the noteons at loop start
4- issue: delete is incomplete and you end up with infinite notelengths
5- note: This only happens with chords. single notes are deleted fine.
*what i need is an option to prevent held notes from creating new note ons at the beginning of the loop and rather allow the note's duration to extend past the time selection end.
|
|
|
09-18-2016, 09:06 AM
|
#17
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
Quote:
Originally Posted by Justin
They will appear temporarily while recording, by design
|
curious, why is this? from a GUI/display perspective, it looks pretty wacky. i don't care how it looks, as long as it works (and it's definitely getting there) but i don't get why this would be the preferred design.
|
|
|
09-18-2016, 10:02 AM
|
#18
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by mccrabney
curious, why is this? from a GUI/display perspective, it looks pretty wacky. i don't care how it looks, as long as it works (and it's definitely getting there) but i don't get why this would be the preferred design.
|
It's complicated
|
|
|
09-18-2016, 10:38 AM
|
#19
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
^ i bet. i have a bad enough time reliably displaying characters on a 16x2 lcd.
things appear to be fixed in 5.25 rc2. thank you so much. see you at the next one!
|
|
|
09-18-2016, 12:21 PM
|
#20
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by mccrabney
^ i bet. i have a bad enough time reliably displaying characters on a 16x2 lcd.
things appear to be fixed in 5.25 rc2. thank you so much. see you at the next one!
|
I should probably explain in order to not sound like a jerk -- but the main reasons are that these notes that are recording do not have note-offs yet, and we don't add them until after the note is finished. This is for a few reasons (other than "that's the way it works"), but changing that would break countless things (and require a big redesign) for what amounts to an aesthetic issue.
Regarding bugs when using various scripts/actions while recording notes, it may be possible to update those scripts and internal actions, but it's a bit of a corner case (editing MIDI while recording it is a bit extreme, IMO).
|
|
|
09-18-2016, 12:34 PM
|
#21
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,668
|
gotcha. that's pretty much what i figured. certainly not worth undoing.
Quote:
Regarding bugs when using various scripts/actions while recording notes, it may be possible to update those scripts and internal actions, but it's a bit of a corner case (editing MIDI while recording it is a bit extreme, IMO).
|
to clarify, in the DM Delete case, REAPER is not in Record or Overdub mode when the issue was occurring. in my above steps regarding that script, i should have said "leave Overdub mode" in between steps 2 and 3. this was all fixed by your most recent Midi Sort adjustment.
that said, MPCs have been able to edit midi while overdubbing since the early 90s using the exact same behavior found in "DM Delete" ... so, now that DM Delete works bug free, REAPER is even more like a traditional hardware sequencer in that regard, and is quickly becoming my favorite MIDI sequencer.
|
|
|
09-18-2016, 12:36 PM
|
#22
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Ah yeah, MIDI_Sort() wasn't working right (due to a number of typos/lack of testing, oops). Thanks!
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 01:58 AM.
|