Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 04-05-2019, 06:19 PM   #41
Thonex
Human being with feelings
 
Join Date: May 2018
Location: Los Angeles
Posts: 1,719
Default

Quote:
Originally Posted by _Stevie_ View Post
Maybe JSFX could be extended to feature a MIDI delay? That way Reaper doesn't need to be touched.
Maybe, but I sort of doubt it. The more I think about it, the more I think other DAWs assign a MIDI Delay array to all tracks with an inverse offset to all tracks if the Delay is negative. I think that would get messy as a Lua script or similar. Unfortunately, I think Justin and Schwa need to do this natively.
__________________
Cheers... Andrew K
Reaper v6.80+dev0621 - June 21 2023 • Catalina • Mac Mini 2020 6 core i7 • 64GB RAM • OS: Catalina • 4K monitor • RME RayDAT card with Sync Card and extended Light Pipe.
Thonex is offline   Reply With Quote
Old 04-06-2019, 02:38 AM   #42
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Yes, you are right. Too many dependencies there!
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 04-06-2019, 03:47 AM   #43
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

I feel, if it ever gets introduced natively, it won't be at track level, since that adds too many dependencies to other parts of Reaper (skinning, etc.). What might happen is additional setting in Item Properties that is valid for MIDI items only, and then maybe a checkbox "Apply to all MIDI items on current track". But then there's a problem when you move the MIDI item to another track, what happens?

But as far as Reaper philosophy, this seems more likely than a track-based parameter, IMHO.
EvilDragon is online now   Reply With Quote
Old 04-06-2019, 05:59 AM   #44
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

I definitely could live with an item based setting.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 04-06-2019, 07:31 AM   #45
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Quote:
Originally Posted by _Stevie_ View Post
I definitely could live with an item based setting.
I couldn't. It really needs to be track based. The sheer amount of items we are talking about here is frightening.
Klangfarben is offline   Reply With Quote
Old 04-06-2019, 07:54 AM   #46
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Okay, good to know! So, both options would be great.

Let's say we are using an instrument (Violins) with articulations on a single track. The legato item might need a higher track delay, than the one with staccato.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 04-06-2019, 10:08 AM   #47
Thonex
Human being with feelings
 
Join Date: May 2018
Location: Los Angeles
Posts: 1,719
Default

The current pdc_midi = 1.0 hack is a good start. I had to write another script to hack into playback start time so notes on the downbeat (where the edit cursor is parked) don't get omitted during playback. I haven't yet applied that same code to Recording. It can get messy quickly.

So, I'm actually not against having MIDI Delay plugin... but I think the "omitting notes at edit cursor during playback and record" issues would need to be solved for this to be smooth.

Right now I'm living with it using the hack and other scripts that compensate for the playback issues... ... but it shouldn't be that way.

Negative MIDI delay is an important and sought-after feature... that is why all the major DAWs have it.
__________________
Cheers... Andrew K
Reaper v6.80+dev0621 - June 21 2023 • Catalina • Mac Mini 2020 6 core i7 • 64GB RAM • OS: Catalina • 4K monitor • RME RayDAT card with Sync Card and extended Light Pipe.

Last edited by Thonex; 04-06-2019 at 10:28 AM.
Thonex is offline   Reply With Quote
Old 04-06-2019, 10:45 AM   #48
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Quote:
Originally Posted by Thonex View Post
The current pdc_midi = 1.0 hack is a good start. I had to write another script to hack into playback start time so notes on the downbeat (where the edit cursor is parked) don't get omitted during playback. I haven't yet applied that same code to Recording. It can get messy quickly
Andrew, you definitely get bonus points there for trying

My thoughts are though that this method really doesn't provide an advantage over using the current Time Adjustment JSFX. The only advantage with using the above would be that you wouldn't need to have a separate track for every VST instrument and could use separate midi tracks to trigger VSTi since the delay wouldn't be audio based. But since I already use a separate track for every VST instrument, using the Time Adjustment JSFX would work slightly better than the above since notes where the play cursor starts still trigger and play and that rabbit hole would be avoided.

By all means I'm open to a JSFX/Script-based solution if someone can figure this out without a whole bunch of workarounds. But IMHO I think a native midi offset is going to be the only real solution to this - although I'm happy for someone to prove me wrong on that.
Klangfarben is offline   Reply With Quote
Old 04-06-2019, 10:51 AM   #49
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
Default

Quote:
Originally Posted by Thonex View Post
Negative MIDI delay is an important and sought-after feature... that is why all the major DAWs have it.
Hi Andrew and Stevie, I've been following this and have a question.

I assume this negative MIDI delay would happen everywhere on the the midi item? That would be fine much of the time, but many times while editing I would want to be able to easily/quickly turned it off.

Ha ha, I'm sure there would be and action for that, so I'm all for it.

I've never used a DAW that had it before.
Tod is offline   Reply With Quote
Old 04-06-2019, 10:53 AM   #50
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by Klangfarben View Post
I couldn't. It really needs to be track based. The sheer amount of items we are talking about here is frightening.
I don't see it introduced as a track setting. At least not visually on TCP/MCP. I would even bet that that won't be happening.
EvilDragon is online now   Reply With Quote
Old 04-06-2019, 11:06 AM   #51
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Quote:
Originally Posted by EvilDragon View Post
I don't see it introduced as a track setting. At least not visually on TCP/MCP. I would even bet that that won't be happening.
I think a better discussion than making wagers on this is to either figure out a way to do this non-natively or to make the best case we can to the developers for its inclusion. Like I said, there's a reason this is native in every major DAW besides Reaper. It's basically a prerequisite for serious midi work.
Klangfarben is offline   Reply With Quote
Old 04-06-2019, 11:25 AM   #52
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,241
Default

I agree some native solution would be the best.
Also... look what happens when using time_adjustment jsfx and you freeze. It would need to take the negative delay into consideration but it doesn't. First freeze with -100ms (same as attack of reasynth) it cuts all the attack. Second freeze with 0 delay is correct with the attack of the note intact, but of course without the negative delay we need.

in Cubase you say it sounds ok playing from the beat and having negative delay... but would it sound like the second freeze of this gif with delay=0? or the first freeze?

heda is offline   Reply With Quote
Old 04-06-2019, 11:56 AM   #53
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

You bring up a really good point, Heda. In my case, I have a custom script which adds 1 bar to the start of my midi items. So there is always 1 bar before any midi notes play in the midi item. Because of that, I haven't run into this issue with freezing tracks. But I would imagine the same problem would occur when rendering as well (and another reason an audio JSFX is not a good solution for this).

I can confirm that in Cubase and Logic if you set a negative offset on the track, this does not occur. Probably because the offset is independent of the audio path or perhaps like Thonex speculated, that everything else is being moved forward. I'm not sure this is the case though as I've used some pretty large track delays in Cubase (100ms or more sometimes) and that should be noticeable on playback start.

I haven't used Pro Tools or Ableton Live for a while so I'm not sure if that's the case in those programs.
Klangfarben is offline   Reply With Quote
Old 04-07-2019, 12:29 PM   #54
Thonex
Human being with feelings
 
Join Date: May 2018
Location: Los Angeles
Posts: 1,719
Default

Quote:
Originally Posted by Klangfarben View Post
You bring up a really good point, Heda. In my case, I have a custom script which adds 1 bar to the start of my midi items. So there is always 1 bar before any midi notes play in the midi item.
Yep... I have separate Key Commands for such things. It really becomes quite a PITA to manage this. You have to stay on your toes... and double check all recordings and Exports and Freezes to make sure nothing wrong happened.

Until very recently, I'd only been using Reaper for editing audio. Now I'm delving into it as my main MIDI sequencer (migrating from Nuendo). I won't say it was an easy or intuitive transition by any means, but I do see some light at the end of the tunnel... and hopefully it's not a train .

Reaper's track system is "just" a routing system... whether routing audio or MIDI. So until you actually put a MIDI item on the track or Set the input to MIDI, there is no way to tell its a MIDI track. So the negative delay would have to work the same on MIDI as Audio. I REALLY REALLY believe it's not a PDC related solution. I think it's a PLAYBACK offset solution independent of PDC.

PDC relates to the actual latency introduced my a plugin's audio signal flow. Simple Negative (or positive) delay simply offsets the start time of the playback of the events on the track.
__________________
Cheers... Andrew K
Reaper v6.80+dev0621 - June 21 2023 • Catalina • Mac Mini 2020 6 core i7 • 64GB RAM • OS: Catalina • 4K monitor • RME RayDAT card with Sync Card and extended Light Pipe.
Thonex is offline   Reply With Quote
Old 04-07-2019, 12:36 PM   #55
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
Default

Quote:
Originally Posted by Thonex View Post
but I do see some light at the end of the tunnel... and hopefully it's not a train .
*splurts orange juice all over his face*


Good one. Had me in stitches
EvilDragon is online now   Reply With Quote
Old 04-08-2019, 09:34 AM   #56
Klangfarben
Human being with feelings
 
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,701
Default

Quote:
Originally Posted by Thonex View Post
Reaper's track system is "just" a routing system... whether routing audio or MIDI. So until you actually put a MIDI item on the track or Set the input to MIDI, there is no way to tell its a MIDI track. So the negative delay would have to work the same on MIDI as Audio. I REALLY REALLY believe it's not a PDC related solution. I think it's a PLAYBACK offset solution independent of PDC.
A really good point. Not to mention that once you put midi on a track, it's still not a "midi" track. But I 100% agree that this should be a playback offset.
Klangfarben is offline   Reply With Quote
Old 04-27-2019, 02:52 AM   #57
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

Yep, I absolutely agree as well.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 04-28-2019, 03:38 AM   #58
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,576
Default

Quote:
Originally Posted by EvilDragon
I don't see it introduced as a track setting. At least not visually on TCP/MCP. I would even bet that that won't be happening.
Mmmmh ... maybe it won't happen.

But nevertheless it is a very basic function since only by track
delay-adaption a groove can be put into effect. Every DAW (except
Reaper) does have a track-delay parameter.

Quote:
Originally Posted by Klangfarben View Post
Like I said, there's a reason this is native in every major DAW besides Reaper.
It's basically a prerequisite for serious midi work.
Also look here.
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is offline   Reply With Quote
Old 07-09-2019, 02:07 AM   #59
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,241
Default

Maybe it could be a native per note property.. like note delayed start. Which would be used internally in the audio engine. And the normal note start value would be used for display the note in the editor. Then we could also have some actions to apply delay offset to all notes in a track. But this also would allow per note adjustments.all the delay data would ve stored in the notes then. Not a track property.
It would also need to store the biggest negative delay in all project in a variable, to be used by the audio engine to start playback a bit earlier than the cursor displays.
Yes I think we need a native solution for this.
heda is offline   Reply With Quote
Old 07-10-2019, 04:52 PM   #60
AtmanActive
Human being with feelings
 
AtmanActive's Avatar
 
Join Date: Dec 2009
Location: United Kingdom
Posts: 668
Default

I can't believe Reaper still doesn't have this!
AtmanActive 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 04:43 AM.


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