Old 05-03-2018, 10:29 AM   #1
airon
Human being with feelings
 
airon's Avatar
 
Join Date: Aug 2006
Location: City
Posts: 10,359
Default v5.81pre6 - May 3 2018

v5.81pre6 - May 3 2018
# MIDI editor: fix multicontext CC editing bug [p=1985426]
# MIDI editor: fix secondary editor zoom inconsistency with different PPQN settings [p=1985602]
# MIDI editor: improve UI for editor preferences
# MIDI editor: improve autoscroll behavior when duplicating events
# MIDI editor: improve track list display in source-beats view
# MIDI editor: note folding ignores other contexts in source-beats view
# MIDI editor: scroll but do not zoom when activating item from track list (click again to auto-zoom)
# MIDI paste: fix paste at start of item
__________________
Dialogue/FX Editor & Re-Recording Mixer
(Video)Using Latch Preview
"My ego comes pre-shrunk" - Randy Thom
airon is offline   Reply With Quote
Old 05-03-2018, 11:02 AM   #2
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,221
Default

Quote:
# MIDI editor: scroll but do not zoom when activating item from track list (click again to auto-zoom)
Yes! Thank you!
EvilDragon is online now   Reply With Quote
Old 05-03-2018, 01:16 PM   #3
DANIELE
Human being with feelings
 
DANIELE's Avatar
 
Join Date: Aug 2015
Location: Florence, Italy
Posts: 346
Default

What about the native implementation of this great tool?
__________________
Audio: AKG-K240 MKII, Adam A7X, Audient iD22 - Steinberg UR22; Piano: Yamaha P-250 - NI S88 MK1;
!!DANIELE EPIC ORCHESTRAL MUSIC!! |*| STAR WARS SERIES
DANIELE is online now   Reply With Quote
Old 05-03-2018, 02:06 PM   #4
snooks
Human being with feelings
 
Join Date: Sep 2015
Posts: 1,584
Default

Quote:
Originally Posted by airon View Post
# MIDI editor: scroll but do not zoom when activating item from track list (click again to auto-zoom)
Woot, thanks for this! No auto-zoom works perfectly.

Couple of issues:
- Auto-scroll on Track List item click doesn't work when "Active MIDI item follows selection change..." is not set.
- Auto-zoom doesn't work here on second click
snooks is offline   Reply With Quote
Old 05-03-2018, 02:29 PM   #5
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 12,389
Default

Quote:
Originally Posted by snooks View Post
Woot, thanks for this! No auto-zoom works perfectly.

Couple of issues:
- Auto-scroll on Track List item click doesn't work when "Active MIDI item follows selection change..." is not set.
- Auto-zoom doesn't work here on second click
If that option is not set you would want to not just select the item but activate it for editing using the appropriate button... (otherwise you’re just selecting it not activating it)
Justin is offline   Reply With Quote
Old 05-03-2018, 02:53 PM   #6
snooks
Human being with feelings
 
Join Date: Sep 2015
Posts: 1,584
Default

Ah, no worries. I always have that option on anyway, I was testing without and saw it didn't scroll. All is good!

One last Track List thing is the rec arm buttons not refreshing when "Automatically record-arm when selected" tracks are selected with a script. A click is needed in the Track List area to refresh.

Apologies for not being fully on point here, but I thought it was worth mentioning while the Track List was hot (although I realise it might not be straightforward).
snooks is offline   Reply With Quote
Old 05-03-2018, 03:01 PM   #7
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default Multiple items actions and scripts in the midi editor

Hi Justin,

Thank you so much for all the really great changes you are making to the midi editor. It's really an improvements.

There are two minor changes I and a few other people on the forum have posted and while you're in there tweaking the MIDI editor I thought I'd bring them back to your attention.

There are two things in the midi editor that slow us down:

1) There currently is no option for a script or action to affect multiple midi items at once. For example, I can not quantize midi notes across multiple selected items. So I have to switch parts between each item and hit the quantize command several times. This is cumbersome and leads to a high probability of me missing one of the items I need to quantize. This goes for any script as well. I have some JS midi scripts to set the velocity values for all the notes or move CC data around. I have to switch between each item and manually get them close by eye. I would be so great if you opened up the api for scripts and actions to be able to apply themselves to multiple selected midi items, notes and CC Data. This could be a toggle checkbox that could be turned on and off in the midi editor just like the other multi item edit and view options you've been adding to the editor. This way the user can work the new way where they can apply actions to every item or toggle it off to work the old way.

2) There seems to be some sort of bug in the midi items bounds. Here's a test:

A) create a midi item at bar 2 to bar 4.
B) Open the midi editor and draw a note at that is whole note at bar three.
C) Try to move the note beyond the bounds of the midi item.

Reaper will not allow you to move the note past bar four.

Test 2:

A) Create the same 2 bar item and note at bar 3.
B) Use an action to duplicate the note several times so that it duplicates beyond the bounds of the midi item.
C) Extend the midi item end bound so that it now includes the duplicated notes.

If you play back those notes on a vst instrument, reaper will playback the notes that were originally within the bounds of the midi item but it will not playback the notes that were duplicated beyond the bounds of the midi region even though we've extended the bounds to include those notes. That's an unexpected behaviour, and I'm sure it's just a bug of some sort.

The solution, imho, is to get rid of the bound limits all together in Reaper. Items should still have bounds but not limits on what we can do in and outside of those bounds. I can't think of a good reason why there would be a bound limit in the midi editor. It's unlike the rest program in that there really isn't very many limits in the program anywhere else. The bounds are there to let the user know what it to be playback within the bounds and what will be muted outside the bounds, but we should still have the ability to move things around any way we like and reset the bounds later.

If you could somehow fit those two functions in while you're working on the editor, it would really save years of editing work off our live. '

Thanks again for constantly improving Reaper. You're a genius.
srdmusic is offline   Reply With Quote
Old 05-03-2018, 03:39 PM   #8
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,221
Default

You certainly can quantize across multiple items, you just need to have them editable and notes selected.

Quote:
Originally Posted by srdmusic View Post
2) There seems to be some sort of bug in the midi items bounds. Here's a test:

A) create a midi item at bar 2 to bar 4.
B) Open the midi editor and draw a note at that is whole note at bar three.
C) Try to move the note beyond the bounds of the midi item.

Reaper will not allow you to move the note past bar four.
Not a bug, but a feature. This is an option in MIDI editor, Options->Allow note edit to extend media item.


Quote:
Originally Posted by srdmusic View Post
The solution, imho, is to get rid of the bound limits all together in Reaper. Items should still have bounds but not limits on what we can do in and outside of those bounds. I can't think of a good reason why there would be a bound limit in the midi editor. It's unlike the rest program in that there really isn't very many limits in the program anywhere else. The bounds are there to let the user know what it to be playback within the bounds and what will be muted outside the bounds, but we should still have the ability to move things around any way we like and reset the bounds later.
This is absolutely not as simple as it sounds. Items have bounds, period, be them audio or MIDI. That's how MIDI was implemented into Reaper, as item-based, in the first place. And Cockos is absolutely not known by their habit of removing features (they're not doing it), so this method with items and their boundaries is bound (sic) to stay.
EvilDragon is online now   Reply With Quote
Old 05-03-2018, 03:58 PM   #9
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Bamboozle, North Carolina
Posts: 1,931
Default

Quote:
The solution, imho, is to get rid of the bound limits all together in Reaper. Items should still have bounds but not limits on what we can do in and outside of those bounds.
srdmusic, i've been thinking about this a lot in this pre cycle. i agree with the desired behavior, but we're going to have to find a way to do it without getting rid of item bounds. follow me here:

until recently, i'd been thinking of the midi editor as a neutral "window into midi land." but it's not: open a midi editor and look in the top left. it references a specific midi take. THIS is your "window into midi land" and actions done in the editor are done in the context of this active midi item.

the MIDI editor requires an item to work, and items need bounds in order to exist. content outside bounds is not played by your project. as i understand it, this means the relevant FRs need to be made to work within that framework, rather than reinventing it.

so - behavior we want from a "boundless midi" style concept?

[DONE] extend item by drawing in midi notes (example of desired behavior type)
ability to move notes between items via clickdrag and ctrldrag
ability to quickly glue 2 items together in MIDI editor
option to automatically glue midi items if you extend a note's duration over the item's endpoint and onto the next
etc.

by the way, aside from these FRs, it's possible to set REAPER up in such a way that simulates "boundless item" concept workflow. with this pre-cycle, i'm damn close. i'd be happy to go into detail, but maybe this is not the best place.
__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° reluctantly switched to using Ableton for live performance and actually enjoying it

Last edited by mccrabney; 05-03-2018 at 04:10 PM.
mccrabney is online now   Reply With Quote
Old 05-03-2018, 04:15 PM   #10
MikComposer
Human being with feelings
 
MikComposer's Avatar
 
Join Date: May 2012
Location: Brighton
Posts: 1,988
Default

Quote:
Originally Posted by srdmusic View Post
Hi Justin,

Thank you so much for all the really great changes you are making to the midi editor. It's really an improvements.

There are two minor changes I and a few other people on the forum have posted and while you're in there tweaking the MIDI editor I thought I'd bring them back to your attention.

There are two things in the midi editor that slow us down:

1) There currently is no option for a script or action to affect multiple midi items at once. For example, I can not quantize midi notes across multiple selected items. So I have to switch parts between each item and hit the quantize command several times. This is cumbersome and leads to a high probability of me missing one of the items I need to quantize. This goes for any script as well. I have some JS midi scripts to set the velocity values for all the notes or move CC data around. I have to switch between each item and manually get them close by eye. I would be so great if you opened up the api for scripts and actions to be able to apply themselves to multiple selected midi items, notes and CC Data. This could be a toggle checkbox that could be turned on and off in the midi editor just like the other multi item edit and view options you've been adding to the editor. This way the user can work the new way where they can apply actions to every item or toggle it off to work the old way.

2) There seems to be some sort of bug in the midi items bounds. Here's a test:

A) create a midi item at bar 2 to bar 4.
B) Open the midi editor and draw a note at that is whole note at bar three.
C) Try to move the note beyond the bounds of the midi item.

Reaper will not allow you to move the note past bar four.

Test 2:

A) Create the same 2 bar item and note at bar 3.
B) Use an action to duplicate the note several times so that it duplicates beyond the bounds of the midi item.
C) Extend the midi item end bound so that it now includes the duplicated notes.

If you play back those notes on a vst instrument, reaper will playback the notes that were originally within the bounds of the midi item but it will not playback the notes that were duplicated beyond the bounds of the midi region even though we've extended the bounds to include those notes. That's an unexpected behaviour, and I'm sure it's just a bug of some sort.

The solution, imho, is to get rid of the bound limits all together in Reaper. Items should still have bounds but not limits on what we can do in and outside of those bounds. I can't think of a good reason why there would be a bound limit in the midi editor. It's unlike the rest program in that there really isn't very many limits in the program anywhere else. The bounds are there to let the user know what it to be playback within the bounds and what will be muted outside the bounds, but we should still have the ability to move things around any way we like and reset the bounds later.

If you could somehow fit those two functions in while you're working on the editor, it would really save years of editing work off our live. '

Thanks again for constantly improving Reaper. You're a genius.
I'm agreeing with this. Please devs, do improve that. I'd like to add several more:


- Selecting track from track panel in arranger, should automatically update midi editor and display items on that track ( and optionally leave older track in).
- Would be nice to be able to move transport bar to the top of the editor.
- CC tools - IK there are scripts, but none feels complete. Instead just have one panel that allows you to resize, compress/expand, create different types of ramps, set value trough values. etc.
- BIG ONE! Pease make piano roll keyboard 3x smaller then now. At best make its width adjustable. It's just silly the way it is now.
- What's up with cc bazier curves?
- Another big one: Lane for keyswitches.

Ik it's a lot, but those are on the request list for a very very long while now, so i thought I remind about it. Ta
__________________
My Royalty Free Music library
MikComposer is offline   Reply With Quote
Old 05-03-2018, 04:19 PM   #11
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default

Quote:
Originally Posted by EvilDragon View Post
You certainly can quantize across multiple items, you just need to have them editable and notes selected.



Not a bug, but a feature. This is an option in MIDI editor, Options->Allow note edit to extend media item.
Thank you very much for the 'allow note edit to extend media item' bit. That super helpful. I can manually drag a note and extend the midi boundary. That is really really helpful. Can't thank you enough.

However the bug with duplicating notes outside the bounds still remains. If i select a note and use an action to duplicate it beyond the bounds, the expected result should be that the boundary automatically extends to that newly duplicated note, just like it does if I manually duplicate it with the mouse and drag it. There is also still a bug with notes that were duplicated beyond a boundary not playing back when the boundary is extended to include those newly create notes. Can you guys test that and see if you are getting the same result.

Can you explain how to quantize across multiple items because I can seem to find the setting that lets secondary midi notes editable via the quantize action.

Also that's great if we can get actions to edit notes and CC's but that still doesn't include custom scripts that edit CC's or Notes on multiple items.
srdmusic is offline   Reply With Quote
Old 05-03-2018, 04:19 PM   #12
MikComposer
Human being with feelings
 
MikComposer's Avatar
 
Join Date: May 2012
Location: Brighton
Posts: 1,988
Default

Quote:
Originally Posted by mccrabney View Post
srdmusic, i've been thinking about this a lot in this pre cycle. i agree with the desired behavior, but we're going to have to find a way to do it without getting rid of item bounds. follow me here:

until recently, i'd been thinking of the midi editor as a neutral "window into midi land." but it's not: open a midi editor and look in the top left. it references a specific midi take. THIS is your "window into midi land" and actions done in the editor are done in the context of this active midi item.

the MIDI editor requires an item to work, and items need bounds in order to exist. content outside bounds is not played by your project. as i understand it, this means the relevant FRs need to be made to work within that framework, rather than reinventing it.

so - behavior we want from a "boundless midi" style concept?

[DONE] extend item by drawing in midi notes (example of desired behavior type)
ability to move notes between items via clickdrag and ctrldrag
ability to quickly glue 2 items together in MIDI editor
option to automatically glue midi items if you extend a note's duration over the item's endpoint and onto the next
etc.

by the way, aside from these FRs, it's possible to set REAPER up in such a way that simulates "boundless item" concept workflow. with this pre-cycle, i'm damn close. i'd be happy to go into detail, but maybe this is not the best place.
Hmm, but why complicate it? Boundaries could stay and be used for what is being displayed and played in arranger, while notes should be placed anywhere in the piano roll, but ignored by arranger if they are outside ... the boundaries, unless its a note that started within boundaries, or part of the note that's end is within the boundaries.
__________________
My Royalty Free Music library
MikComposer is offline   Reply With Quote
Old 05-03-2018, 04:20 PM   #13
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Bamboozle, North Carolina
Posts: 1,931
Default

Quote:
- Selecting track from track panel in arranger, should automatically update midi editor and display items on that track ( and optionally leave older track in).
we can do this. it's awesome.

srd, regarding quantize across multiple items, this configuration will allow you to do that too.


__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° reluctantly switched to using Ableton for live performance and actually enjoying it
mccrabney is online now   Reply With Quote
Old 05-03-2018, 04:24 PM   #14
MikComposer
Human being with feelings
 
MikComposer's Avatar
 
Join Date: May 2012
Location: Brighton
Posts: 1,988
Default

Quote:
Originally Posted by mccrabney View Post
we can do this. it's awesome.

I can't yet, don't have pre, but basically if it works the way i think it should, then that's great!
__________________
My Royalty Free Music library
MikComposer is offline   Reply With Quote
Old 05-03-2018, 04:25 PM   #15
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default

Quote:
Originally Posted by mccrabney View Post
so - behavior we want from a "boundless midi" style concept?

by the way, aside from these FRs, it's possible to set REAPER up in such a way that simulates "boundless item" concept workflow. with this pre-cycle, i'm damn close. i'd be happy to go into detail, but maybe this is not the best place.
I am by no means, suggesting that we should not have boundary's in the midi items. They need to be there. But what I'm trying to get accomplished is to change some of the things that feel a little like bugs. IE. the bug I posted about midi notes not playing back when duplicated outside the boundary, then extending the boundary to include then new notes. The new duplicated notes will not playback. Seems like a bug to me.
srdmusic is offline   Reply With Quote
Old 05-03-2018, 04:28 PM   #16
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Bamboozle, North Carolina
Posts: 1,931
Default

Quote:
Originally Posted by srdmusic
The solution, imho, is to get rid of the bound limits all together in Reaper. Items should still have bounds but not limits on what we can do in and outside of those bounds. I can't think of a good reason why there would be a bound limit in the midi editor.
to be clear, this is what i mean when i refer to ""boundless."" sorry for the confusion.
__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° reluctantly switched to using Ableton for live performance and actually enjoying it
mccrabney is online now   Reply With Quote
Old 05-03-2018, 04:33 PM   #17
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Bamboozle, North Carolina
Posts: 1,931
Default

Quote:
There is also still a bug with notes that were duplicated beyond a boundary not playing back when the boundary is extended to include those newly create notes. Can you guys test that and see if you are getting the same result.
i can't reproduce this. can you give steps and action names, please?
__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° reluctantly switched to using Ableton for live performance and actually enjoying it
mccrabney is online now   Reply With Quote
Old 05-03-2018, 04:34 PM   #18
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default

Quote:
Originally Posted by mccrabney View Post
we can do this. it's awesome.

srd, regarding quantize across multiple items, this configuration will allow you to do that too.
I've tried these setting and it does not work on my rig. It only quantized the note of the active part with these settings. To be clear I am trying to using a key command to quantize the notes on multiple midi items. I can move notes in multiple midi items to a quantized value with the mouse but I can't get actions or scripts to run on multiple items.

I must be missing something other than these settings if you can get it to work on your rig.
srdmusic is offline   Reply With Quote
Old 05-03-2018, 04:38 PM   #19
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default

Quote:
Originally Posted by mccrabney View Post
i can't reproduce this. can you give steps and action names, please?
I use a script from MPL call mpl_Duplicate selected MIDI notes.lua


Below is the text of the script if you don't have it. It duplicates notes in the same way I'm used to doing in Cubase. For some reason there doesn't seem to be a duplicate note action that does what I needed it to native in Reaper. If you want to try this script and don't have it, copy the text below into a text file. Save it as mpl_Duplicate selected MIDI notes.lua and add the script to your action list.

--[[
* Duplicate selected MIDI notes
* Lua script for Cockos REAPER
* Author: Michael Pilyavskiy (mpl)
* Author URL: http://forum.cockos.com/member.php?u=70694
* Licence: GPL v3
* Version: 1.0
]]

script_title = "Duplicate selected notes"
-- Alternative to internal duplicate action which is buggy especially with multichannel midi

reaper.Undo_BeginBlock()

notes_2_copy_t = {}
notes_2_copy_subt = {}
act_editor = reaper.MIDIEditor_GetActive()
if act_editor ~= nil then
take = reaper.MIDIEditor_GetTake(act_editor)
if take ~= nil then
item = reaper.GetMediaItemTake_Item(take)
item_pos = reaper.GetMediaItemInfo_Value(item, "D_POSITION")
item_len = reaper.GetMediaItemInfo_Value(item, "D_LENGTH")
channel = reaper.MIDIEditor_GetSetting_int(act_editor, "default_note_chan")
retval, notecnt, ccevtcnt, textsyxevtcnt = reaper.MIDI_CountEvts(take)
if notecnt ~= nil then
startppqpos_min = reaper.MIDI_GetPPQPosFromProjTime(take, item_len+item_pos)
endppqpos_max = 0
for i = 1, notecnt do
retval, selected, muted, startppqpos, endppqpos, chan, pitch, vel = reaper.MIDI_GetNote(take, i-1)
if selected == true and chan == channel then
notes_2_copy_subt = {selected, muted, startppqpos, endppqpos, chan, pitch, vel}
table.insert(notes_2_copy_t, notes_2_copy_subt)
startppqpos_min = math.min(startppqpos_min, startppqpos)
endppqpos_max = math.max(endppqpos_max, endppqpos)
end
end
end

delta = endppqpos_max - startppqpos_min

if notecnt ~= nil then
for i = 1, notecnt do
retval, selected, muted, startppqpos, endppqpos, chan, pitch, vel = reaper.MIDI_GetNote(take, i-1)
reaper.MIDI_SetNote(take, i-1, false, muted, startppqpos, endppqpos, chan, pitch, vel, false)
end
end

if notes_2_copy_t ~= nil then
for i = 1, #notes_2_copy_t do
notes_2_copy_subt = notes_2_copy_t[i]
reaper.MIDI_InsertNote(take, true, notes_2_copy_subt[2], notes_2_copy_subt[3]+delta, notes_2_copy_subt[4]+delta,
notes_2_copy_subt[5], notes_2_copy_subt[6], notes_2_copy_subt[7], false)
end
end
reaper.MIDI_Sort(take)
end
end
if item ~= nil then
reaper.UpdateItemInProject(item)
end
reaper.UpdateArrange()

reaper.Undo_EndBlock(script_title, 0)
srdmusic is offline   Reply With Quote
Old 05-03-2018, 04:38 PM   #20
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default

Quote:
Originally Posted by mccrabney View Post
to be clear, this is what i mean when i refer to ""boundless."" sorry for the confusion.
Gotcha, thanks for clarifying.
srdmusic is offline   Reply With Quote
Old 05-03-2018, 04:57 PM   #21
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Bamboozle, North Carolina
Posts: 1,931
Default



this is with native quantize action. is this the behavior you're looking for?

regarding the duplication issue, you might not have luck with scripts that only work on one item at a time. mpl might have more to say about this as it's his work.
__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° reluctantly switched to using Ableton for live performance and actually enjoying it
mccrabney is online now   Reply With Quote
Old 05-03-2018, 05:32 PM   #22
ovnis
Human being with feelings
 
ovnis's Avatar
 
Join Date: Oct 2011
Posts: 1,314
Default

Quote:
You certainly can quantize across multiple items, you just need to have them editable and notes selected.
It's true, but for lots of fonctionnlites (like scripts, velocity with contextual menu or some actions like "edit: Set note lenghts to grid size") we can't edit all the midi item at once. And when we have to edit lots of midi items, it can be borring.
ovnis is offline   Reply With Quote
Old 05-03-2018, 05:55 PM   #23
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 2,524
Default

I have no idea why one would use "duplicate selected notes" for selected items.
Anyway it just require from guys proper script request for Main(arrangement) area (not MIDI Editor script) since notes selections aren't lost after closing MIDI editors. And mechanisms of applying different stuff not always can be easily ported from MIDI Editor to Main area. Current API implementations is 1) MIDI Editor loads its settings when you open MIDI take 2) API get MIDI Editor parameters for doing stuff. So to make MIDI script works in main area you need to somehow get settings without actually loading them.

Re
Quote:
some actions like "edit: Set note lenghts to grid size"
Grid in ME and arrangement can be different than main view grid, also can be different between each take. Possible, but require from scripter parsing knowledges. For example, to get per-MIDI-take-grid, I should spend a couple of time to parse and test this stuff in RPP for to know where I can find a damn per-MIDI-take-grid value:

Quote:
CFGEDITVIEW 0 0.180475 61 12 0 -1 0 0 0 0.5
EVTFILTER 0 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 0 -1 0 -1 -1
CFGEDIT 1 1 0 1 0 0 1 1 1 1 1 2 156 151 1415 677 0 0 0 1 0.25 0 1 0 0 0.5 1 0 1 64
(it is not an API request, just showcase of what can be complex when porting MIDI script to main window)
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 05-03-2018 at 06:33 PM.
mpl is offline   Reply With Quote
Old 05-03-2018, 06:41 PM   #24
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 8,963
Default

[OT]
@mpl:
https://wiki.cockos.com/wiki/index.p...ions#MIDI_Item

Last edited by nofish; 05-03-2018 at 06:50 PM.
nofish is offline   Reply With Quote
Old 05-03-2018, 06:59 PM   #25
FnA
Human being with feelings
 
FnA's Avatar
 
Join Date: Jun 2012
Posts: 2,173
Default

Scripters need a list of takes which are Editable in a midi editor, to limit their procedures to those takes alone. This list does not exist.


edit. This was for response to part of quote in next post.

Last edited by FnA; 07-14-2018 at 05:25 PM.
FnA is offline   Reply With Quote
Old 05-03-2018, 07:21 PM   #26
FnA
Human being with feelings
 
FnA's Avatar
 
Join Date: Jun 2012
Posts: 2,173
Default

Quote:
Originally Posted by srdmusic View Post
1) There currently is no option for a script or action to affect multiple midi items at once. For example, I can not quantize midi notes across multiple selected items. So I have to switch parts between each item and hit the quantize command several times. This is cumbersome and leads to a high probability of me missing one of the items I need to quantize. This goes for any script as well. I have some JS midi scripts to set the velocity values for all the notes or move CC data around. I have to switch between each item and manually get them close by eye. I would be so great if you opened up the api for scripts and actions to be able to apply themselves to multiple selected midi items, notes and CC Data. This could be a toggle checkbox that could be turned on and off in the midi editor just like the other multi item edit and view options you've been adding to the editor. This way the user can work the new way where they can apply actions to every item or toggle it off to work the old way.
Something like this seems powerful as alternative or incorporated. A toggle: "enable multi item editing". You could then go back and forth between limiting editing to one item and allowing it on a chosen group which could be maintained throughout. You wouldn't have to keep re selecting them. On/off. Could grey out the lock column, maybe with per track mode like ripple. Just an idea, not all worked out or anything.
FnA is offline   Reply With Quote
Old 05-03-2018, 07:48 PM   #27
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 12,389
Default

Quote:
Originally Posted by snooks View Post
One last Track List thing is the rec arm buttons not refreshing when "Automatically record-arm when selected" tracks are selected with a script. A click is needed in the Track List area to refresh.
Got it -- if you have undo tracking track selection and you run the reascript from the actions list (rather than the IDE), it should work.. or if you call reaper.Undo_OnStateChange("whatever") it should also work. but fixing anyway...
Justin is offline   Reply With Quote
Old 05-04-2018, 12:24 AM   #28
snooks
Human being with feelings
 
Join Date: Sep 2015
Posts: 1,584
Default

Quote:
Originally Posted by Justin View Post
Got it -- if you have undo tracking track selection and you run the reascript from the actions list (rather than the IDE), it should work.. or if you call reaper.Undo_OnStateChange("whatever") it should also work. but fixing anyway...
Cool, thanks very much for this update - it's fixing all niggles here!

This script runs in the background with reaper.defer() where Undo_OnStateChange now indeed makes it work, doh!
snooks is offline   Reply With Quote
Old 05-04-2018, 02:45 AM   #29
JoostJanssensDS
Human being with feelings
 
Join Date: Feb 2017
Posts: 23
Default

Quote:
Originally Posted by MikComposer View Post
I'm agreeing with this. Please devs, do improve that. I'd like to add several more:


- Selecting track from track panel in arranger, should automatically update midi editor and display items on that track ( and optionally leave older track in).
- Would be nice to be able to move transport bar to the top of the editor.
- CC tools - IK there are scripts, but none feels complete. Instead just have one panel that allows you to resize, compress/expand, create different types of ramps, set value trough values. etc.
- BIG ONE! Pease make piano roll keyboard 3x smaller then now. At best make its width adjustable. It's just silly the way it is now.
- What's up with cc bazier curves?
- Another big one: Lane for keyswitches.

Ik it's a lot, but those are on the request list for a very very long while now, so i thought I remind about it. Ta
This times a 1000! I'll just quote one of my posts here that I've just put up on VI-Control (I'll just copy the whole thing here):

''I would agree, and yet I've tried both programs and have settled on Cubase. Because, when I'm composing, I'm not using that kind of complex routing. I just use instrument tracks and sends and FX returns, so nothing crazy.

I find that from time to time Reaper offers me some function I can't find anywhere. Like Audio Event FX with the automation on the event itself. Beautiful. Or the fact that I can select a portion of a clip in the browser and only import that.

When you are doing Sound FX work on a movie, those features are enormous time savers.

But for composing with midi, I find the workflow in Cubase so much more rounded and streamlined than Reaper.

Reaper can do everything that Cubase can, but not as fast and intuitive, at least on the midi front. The fact that I have to install dozens of scripts to even get that midi editor up to par speaks volumes for me. I was trying to get the midi editor to behave easily and intuitively but I always felt that I ran into walls with scripts all the time. Like, there's a script that can subtract -10 from CC7. But then you need another script for CC11. And another for CC1. And three others for +10. I got a headache from trying to manage and update all the scripts, putting them in the appropriate contextual toolbars, having them working in the right context, troubleshooting, messaging with script creates because of errors and bugs...

I'm sure that, if you take the time to customize it, Reaper can be heaven. But for me, for serious composing work, I just like Cubase more because it offers me a brilliantly thought out workflow that is easy to learn, deep to master, and once you master it, it is pure bliss.

The only program that kinda offers the same streamlined workflow when it comes to midi that I know of is Studio One (it might be even more streamlined). But alas, Studio One can't handle very large disabled templates and I'm sure as hell not going back to VEPro anymore.

So right now I'm on Cubase. And loving it. I'm keeping a side eye towards both Reaper and Studio One, but both need the following to really get me to switch:

1) Reaper's CC editing needs to become more intuitive. Those scripts need to become native, and have to become much more integrated to the point where the same command applies to all CC's instead of having multiple scripts for CC1, 7, 11, 21, 2, and so forth. I want to be able to copy and paste CC's using CTRL+C, CTRL+V, no matter what CC, no matter where. I want handles on the sides of selected CC events to visually stretch, compress, expand and increase or decrease them. Julian's scripts come very close, but a likewise solution needs to become native, and much more streamlined. And not 20 different scripts for different functions. That is, for me, the number one thing keeping me away from Reaper. In my opinion, Reaper needs to be much more consistent instead of feature rich. It may have almost all the features in the world for everybody, but as a MIDI composer, for me it lacks where it matters the most.

2) Studio One needs a timeline to cut up video (I can already see the use with those sweet, sweet scratch pads).

3) Studio One needs to be able to handle massive disabled templates. It chokes after a certain amount of tracks.''
JoostJanssensDS is offline   Reply With Quote
Old 05-04-2018, 03:03 AM   #30
Stroudy
Human being with feelings
 
Join Date: Jul 2014
Posts: 375
Default

^^^^^
Agreed. It's great to have scripts for non-standard, workflow-specific tasks, but at some point, the basic universal appeal of a function surely warrants native implementation?
Stroudy is offline   Reply With Quote
Old 05-04-2018, 03:14 AM   #31
tusitala
Human being with feelings
 
tusitala's Avatar
 
Join Date: Apr 2010
Location: London (UK)
Posts: 353
Default

Hi, after testing this latest Pre I've still encountered these same behaviours from a few versions back:



1) the fact that closing and reopening the editor makes it lose the zoom level I just selected, which means having to re-zoom all the time when closing and reopening.

2) the zoom level of the notation editor influences the zoom level of the piano roll and vice-versa, and it should not be this way, they should be independent...piano roll and notation have two very different purposes, so we might need to zoom very close to see just a single note in the piano roll, but we would never zoom as much to read the same note in the notation editor. On the contrary the notation is useful to have an overview of more staves and get a better "glance" at the harmony and the relationships between notes we are creating. If you look at the end of my video, I zoomed in a lot in the piano roll, and switching to notation made me lose sight of the 5 staves I was working on.


Hope this makes sense, please let me know if I can help further.
Here's my options:

and I always open and close editors using key commands.


THANKS!
All the best
-t
__________________
MacOS 10.14.6
UA Apollo Twin
tusitala is offline   Reply With Quote
Old 05-04-2018, 03:15 AM   #32
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,221
Default

Quote:
Originally Posted by JoostJanssensDS View Post
This times a 1000! I'll just quote one of my posts here that I've just put up on VI-Control (I'll just copy the whole thing here):
Bringing noise into prerelease threads, so. Sorry but that whole post is not related to what's being handled in these prereleases and is better posted elsewhere on the forum.
EvilDragon is online now   Reply With Quote
Old 05-04-2018, 06:54 AM   #33
D Rocks
Human being with feelings
 
Join Date: Dec 2017
Location: Quebec, Canada
Posts: 444
Default

wow this is alot of great work. Thanks Justin. - you know guys, by just being part of Reaper community you inspired me to start educating myself about programming and I must say it is quite a lifechanger for me.

Thanks for this great community.
have a good day
__________________
Alex | www.drocksrecords.com | Thanks for REAPER
D Rocks is offline   Reply With Quote
Old 05-04-2018, 08:13 AM   #34
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default

Quote:
Originally Posted by EvilDragon View Post
Bringing noise into prerelease threads, so. Sorry but that whole post is not related to what's being handled in these prereleases and is better posted elsewhere on the forum.
Well said. The pre realease forum is a great place to post ideas on how to make this specific release better. Comparing DAW workflows might be better discussed in the general forum.
srdmusic is offline   Reply With Quote
Old 05-04-2018, 08:16 AM   #35
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default

Quote:
Originally Posted by D Rocks View Post
wow this is alot of great work. Thanks Justin. - you know guys, by just being part of Reaper community you inspired me to start educating myself about programming and I must say it is quite a lifechanger for me.

Thanks for this great community.
have a good day
Good on you. This community is full of great people and real genius like Justin. It's good to have another knowledge seeker like yourself in the forum.
srdmusic is offline   Reply With Quote
Old 05-04-2018, 10:08 AM   #36
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default

Quote:
Originally Posted by mccrabney View Post


this is with native quantize action. is this the behavior you're looking for?

regarding the duplication issue, you might not have luck with scripts that only work on one item at a time. mpl might have more to say about this as it's his work.
Thank you so much for helping me try to get to the bottom of this problem. It's really a time sucker and if we can solve it together I and a few of my other composer friends would owe you a life debt or gratitude.

First, what are you using to make those gif videos to record your screen and reaper? I've been trying to find a good way to show people on the forum what I'm seeing on my reaper screen.

Second, Is it possible for you to send me an export of your reaper preferences. It will help me narrow down what preference I'm missing that's allow you to apply actions to multiple midi items. I can't get mine to do that even with the settings you sent over earlier and it might fix the problem if I just import your prefs.

Thanks again.
srdmusic is offline   Reply With Quote
Old 05-04-2018, 10:17 AM   #37
EvilDragon
Human being with feelings
 
EvilDragon's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 23,221
Default

Quote:
Originally Posted by srdmusic View Post
First, what are you using to make those gif videos to record your screen and reaper? I've been trying to find a good way to show people on the forum what I'm seeing on my reaper screen.
https://www.cockos.com/licecap/
EvilDragon is online now   Reply With Quote
Old 05-04-2018, 10:20 AM   #38
srdmusic
Human being with feelings
 
Join Date: Dec 2016
Posts: 565
Default

Quote:
Originally Posted by mpl View Post
I have no idea why one would use "duplicate selected notes" for selected items.
Anyway it just require from guys proper script request for Main(arrangement) area (not MIDI Editor script) since notes selections aren't lost after closing MIDI editors. And mechanisms of applying different stuff not always can be easily ported from MIDI Editor to Main area. Current API implementations is 1) MIDI Editor loads its settings when you open MIDI take 2) API get MIDI Editor parameters for doing stuff. So to make MIDI script works in main area you need to somehow get settings without actually loading them.

Re
Grid in ME and arrangement can be different than main view grid, also can be different between each take. Possible, but require from scripter parsing knowledges. For example, to get per-MIDI-take-grid, I should spend a couple of time to parse and test this stuff in RPP for to know where I can find a damn per-MIDI-take-grid value:


(it is not an API request, just showcase of what can be complex when porting MIDI script to main window)
I would not want to process the duplicate midi notes script across multiple items but I am having an issue with that script duplicating notes beyond a midi items boundary. Once the script duplicates the notes beyond those bounds, the notes will not be able to be played back by Reaper even if the boundary is extended to include those notes. They remain muted as if they are still beyond the boundary. I have no idea if this is due to the custom script you've create or if it is some sort of bug with Reaper's midi item boundaries. Either it's a very unexpected outcome.

I think the solution would be to modify the duplicate midi note script to force Reaper to automatically extend the boundary of the midi item. Just as it would do if you drag a midi not to the edge of a midi item boundary. I have turned on the preference to called 'MIDI editor, Options->Allow note edit to extend media item'. It works properly for moving notes but your duplicate script does not automatically move the boundary.

Is there a way for you to modify your script to do that?

Thank you btw for all your really handy scripts. They bring a of the functionality that I was used to in the Cubase MIDI editor it Reaper. You've really made it possible for a lot of us to switch from other DAW's to Reaper.
srdmusic is offline   Reply With Quote
Old 05-04-2018, 12:08 PM   #39
ivansc
Human being with feelings
 
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 18,889
Default

MIDI improvements much appreciated, but with regard to MIDI items and boundaries, etc., this is a perfect example of why old MIDI farts like Tod and I use one single end-to-end MIDI item and ignore all the multiple item stuff with its attendant mind melting. FWIW I still do takes the old fashioned way as well. At least I always know where I am.
__________________
Brexit Schmexit. Lets have a violent revolution instead. Bagsy the first go with a nuke! (Here, Moggy Moggy...)
ivansc is offline   Reply With Quote
Old 05-04-2018, 12:20 PM   #40
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,692
Default

Quote:
Originally Posted by srdmusic View Post
They remain muted as if they are still beyond the boundary. I have no idea if this is due to the custom script you've create or if it is some sort of bug with Reaper's midi item boundaries. Either it's a very unexpected outcome.
The API function MIDI_InsertNote does not seem to respect the setting "Allow MIDI note edit to extend the media item", so when it inserts notes after the item boundary, an extraneous "All Notes Off" event will remain before the new notes.

You can also try the custom action:
1) Set time selection to selected notes
2) Duplicate events within time selection

These actions will extend the MIDI item boundaries, if "Allow MIDI note edit to extend the media item" is enabled.
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 04:33 AM.


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