Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Q&A, Tips, Tricks and Howto

Reply
 
Thread Tools Display Modes
Old 12-10-2017, 07:12 PM   #1
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default [Script] Stevie's scripts thread

Hey all, since moving from Cubase to Reaper, I was still missing some crucial functions for my work. I messed around a bit with ReaScript and added everything that was missing for me. New scripts will be added over time.

The script are available via my ReaPack repository:
Code:
https://github.com/StephanRoemer/ReaScripts/raw/master/index.xml
Most of my scripts consist only of a couple of lines of code, because the rely on a function file. These are available as a so called "bundle".
They are tailored that way, that you can easily adjust parameters yourself. E.g. if you are missing a Delete CC32 you can easily edit a Delete CC script and only adjust the dest_cc variable in the script and save it as Delete CC32. Same goes for the quantize script. You can adjust the grid, humanize factor, swing off/on and swing amount.

Also for Add VSTi and replace existing VSTi you need to install "Add or replace VSTi".
Be sure to select it in ReaPack, if you want to use these scripts. As with the MIDI scripts, you can easily modify them by changing the variables.


Script demos (right click the GIF and select "show image" to zoom)



2017-12-12

Select notes after edit cursor (in selected item(s) or MIDI editor)
Select notes before edit cursor (in selected item(s) or MIDI editor)
Delete notes before edit cursor (in selected item(s) or MIDI editor)
Delete notes after edit cursor (in selected item(s) or MIDI editor)

  • select all notes, that are located before the edit cursor Position
  • this script works in arrangement, MIDI Editor and Inline Editor
  • for obvious reasons, this script only works with a single item and will popup a message box, if you have more than one item selected





2017-12-12
Delete short notes
  • deletes leftover short notes, that are created, when splitting (on grid) notes that are not hard quantized (humanized)
  • this script works in arrangement, MIDI Editor and Inline Editor
  • adjust the length of shortnote in the user area. To get an idea which values are typical for short notes, enable the ShowConsoleMsg near the end of the script





2017-12-13
Select, delete and move CCs
  • these scripts select, delete and move CC in various ways
  • these scripts work in arrangement, MIDI Editor and Inline Editor





2017-12-15
Transpose notes +/- X
  • these scripts transposes either all notes or selected notes +/- X
  • these scripts work in arrangement, MIDI Editor and Inline Editor





2017-12-15
Double Notes +/- X (formerly "Add notes")
  • these scripts add to either all notes or selected notes +/- X
  • these scripts work in arrangement, MIDI Editor and Inline Editor





2017-12-16
Increase / Decrease CC
  • these scripts increase or decrease all CC events or selected CC events
  • these scripts work in arrangement, MIDI Editor and Inline Editor





2017-12-17
Quantize and Human quantize notes (straight, triplets, swing)
  • these scripts human quantize either all notes or selected notes by their respective values
  • these scripts work in arrangement, MIDI Editor and Inline Editor
  • Keep in mind, with my commands not being native Reaper quantize commands, you cannot restore their initial position with "unquantize"
  • The quantize "grid" commands use the project grid to quantize and NOT the MIDI Editor grid





2017-12-18
Set edit cursor to first / last note in selected items
  • these scripts set the edit cursor to the beginning of the first and the ending of the last note in an selected item
  • these scripts work in arrangement, MIDI Editor and Inline Editor





2017-12-19
Select CCs within boundaries of selected notes
  • these scripts select all CCs within the boundaries of selected notes
  • execute again to toggle selection
  • these scripts work in arrangement, MIDI Editor and Inline Editor





2018-01-15
Add VSTi and replace existing VSTi
  • this script adds a VSTi instance in FX slot 1
  • if there is already a VSTi, it will be replaced by this one
  • if there is no VSTi, this one will be added in FX slot 1. Existing insert FX will be moved down by one slot
  • after loading the VSTi, the floating GUI will be shown
  • in order to function correctly, the script expects only 1 VSTi on a track
Important notes: these scripts expect "Add or replace VSTi" to be installed on your system. Make sure you have checked it for installation in ReaPack.





2018-01-20
Render VSTi items without track FX
  • this script will render a VSTi item to audio, without applying the track FX
During rendering, the track FX will be bypassed, otherwise you would hear them twice (offline render
and realtime track FX). MIDI and audio items can live happy together on the same track.
This is especially useful, when you want to render a sound effect, loop, etc... to reverse the
audio or to apply take FX, fade curves...





2018-01-21
Toggle collapse selected folders
  • this script will collapse or compact selected folder tracks




2018-06-20
Move edit cursor by frames (mousewheel)
  • this script moves the edit cursor by frames depending on the value sent by the mousewheel




2018-06-28
Nudge notes left or right by 10 ticks
  • these scripts nudge either all notes or selected notes left or right by 10 ticks
  • these scripts work in arrangement, MIDI Editor and Inline Editor




2018-06-30
Change note length (mousewheel)
  • this script changes the note length via mousewheel
  • when there is no note selection, only the note under the mouse cursor is altered
  • this script only works in the MIDI Editor





2018-07-02
Change note start (mousewheel)
  • this script changes the note start position via mousewheel
  • when there is no note selection, only the note under the mouse cursor is altered
  • this script only works in the MIDI Editor




2018-07-02
Change note position (mousewheel)
  • this script changes the note position via mousewheel
  • when there is no note selection, only the note under the mouse cursor is altered
  • this script only works in the MIDI Editor





2018-07-02
Move items to timecode (in filename)
  • this script moves either all or selected items to their timecode position (written in the filename)
  • the timecode needs to be in the format xx.xx.xx.xx (Windows does not allow : in filenames)
  • this script is useful for audio formats, where Reaper can't read the BWF chunk (FLAC for example)




2018-07-12
Change note position to grid(mousewheel)
  • this script changes the note position (based on the grid, if snap in the MIDI editor is turned on) via mousewheel
  • for the time being, you have to link the grid in the MIDI editor with the arrangement grid, will try to find another way to solve this
  • if snap is turned off, it works the same as "Change note position (mousewheel)" script
  • when there is no note selection, only the note under the mouse cursor is altered
  • this script only works in the MIDI Editor




2018-07-12
Move notes to the edit cursor (relative)
  • this script moves all selected notes to the edit cursor and keeps their relative offsets
  • when the mouse hovers a note, the hovered note is used as offset instead
  • this script only works in the MIDI Editor




2018-09-05
Send selected tracks to FX
  • this script sends all selected tracks to an FX track prefixed with FX 1,2,3 or 4



2018-09-05
Remove 1st, 2nd, 3rd or 4th send FX from selected tracks
  • this script removes the 1st, 2nd, 3rd or 4th send FX in the send slot of selected track(s)




2018-09-05
Toggle show UI of all FX in Xth send slot
  • this script shows/hides the UI of all FX in the Xth send FX slot


Last edited by _Stevie_; 05-22-2020 at 11:12 AM.
_Stevie_ is offline   Reply With Quote
Old 12-11-2017, 06:46 PM   #2
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

2018-09-16
Toggle select all events in CC lane under mouse cursor
  • This script selects/unselects the whole CC lane under the mouse cursor
  • This script works only in the MIDI Editor


2018-09-16
Select all events in CC lane under mouse cursor
  • This script selects all CC events in the lane under the mouse cursor
  • When a CC selection already exists, the new selection will be added (non-exclusive only)
  • This script works only in the MIDI Editor


2018-09-16
Select all events in CC lane before and under mouse cursor (exclusive and non-exclusive)
  • This script selects all CC events in the lane before and under the mouse cursor
  • When a CC selection already exists, the new selection will be added (non-exclusive only)
  • This script works only in the MIDI Editor


2018-09-16
Select all events in CC lane after and under mouse cursor (exclusive and non-exclusive)
  • This script selects all CC events in the lane after and under the mouse cursor
  • When a CC selection already exists, the new selection will be added (non-exclusive only)
  • This script works only in the MIDI Editor


2018-09-16
Decrease and increase events in CC lane under mouse cursor
  • This script increases all or selected CC events in the lane under the mouse cursor
  • This script works only in the MIDI Editor


2018-09-18
Copy selected CC events to lane under mouse cursor
  • This script copies all selected CC events (from all lanes!) to the lane under the mouse cursor
  • This script works only in the MIDI Editor


2018-09-18
Move selected CC events to lane under mouse cursor
  • This script moves all selected CC events (from all lanes!) to the lane under the mouse cursor
  • This script works only in the MIDI Editor


2018-09-18
Copy selected CC events to lane under mouse cursor at mouse position
  • This script copies all selected CC events (from all lanes!) to the lane under the mouse cursor, starting at the mouse position
  • This script works only in the MIDI Editor


2018-09-18
Move selected CC events to lane under mouse cursor at mouse position
  • This script moves all selected CC events (from all lanes!) to the lane under the mouse cursor, starting at the mouse position
  • This script works only in the MIDI Editor


2018-09-28
Insert signature based on time selection
  • This script inserts a signature based on the grid value and the time selection
  • This script works in the MIDI Editor and the Arrange view


2018-10-07
Change velocity
  • This script bundle consists of several scripts that increase/decrease the velocity of either all or selected notes
  • The amount can be adjusted in the scripts. That way, you can easily create different versions that fit your personal needs.
  • The scripts work in Arrangement, MIDI Editor and Inline Editor

2018-10-14
Align selected items to item under mouse cursor
  • This script aligns selected takes to the take under the mouse
  • Depending on where the mouse is located (near the start or end of the item), selected items will be aligned to their start or end
  • Items with a snap offset will always be aligned to their offset
  • This script only works in the Arrangement



2018-10-16
Move legato point of 2 selected notes (mousewheel)
  • This script moves the legato point of 2 selected notes
  • This script only works, when exactly 2 notes are selected, otherwise an error message will pop up
  • This script only works in the MIDI Editor


2018-12-04
Move cursor to start of selected item and preserve play state
  • This script moves the edit cursor to the start of the selected item
  • If the edit cursor is moved, while playback is on, the playback continues
  • This script works only in the Arrangement

Select and move to next item and preserve play state
  • This script moves the edit cursor to the start of the next item
  • If the edit cursor is moved, while playback is on, the playback continues
  • This script works only in the Arrangement

Select and move to previous item and preserve play state
  • This script moves the edit cursor to the start of the previous item
  • If the edit cursor is moved, while playback is on, the playback continues
  • This script works only in the Arrangement




Open MIDI editor and zoom to 5 measures (zoom center is edit cursor)
  • The code is based to 99% on Julian's code, I only added the open MIDI editor command and cleaned up unnecessary parts.
  • this script should ultimately help you to get rid of any MIDI Editor zooming issues. Assign it to the enter key and it will open the MIDI Editor and zoom to 5 measures (default). Whereas the edit cursor represents the zoom center.
  • You can adjust the measures in the user area.




Open MIDI editor and zoom to content and Zoom MIDI editor to content
  • Almost the same scripts, but the first one works only in the main (opens the MIDI editor) and the second one only works in the MIDI editor and zooms only
  • This script zooms to the content of the MIDI item, without changing the horizontal zoom of the notes




Go to start marker and Go to start marker
  • These scripts put the edit / play cursor to the marker named "=START" or "=END"
  • I use this in conjunction with "X-Raym_Insert or update start and end marker from time selection.lua" to create the project boundaries
  • These scripts work only in the arrangement

Zoom to start and end marker
  • This script zooms in between the boundaries of the start and end marker
  • Again, I use this in conjunction with "X-Raym_Insert or update start and end marker from time selection.lua" to create the project boundaries"
  • To undo the zoom, use "View: Restore previous zoom level



2019-04-05

Delete notes after mouse cursor (in take under mouse or in MIDI editor)
Delete notes before mouse cursor (in take under mouse or in MIDI editor)
Mute notes after mouse (in take under mouse or in MIDI editor)
Mute notes before mouse (in take under mouse or in MIDI editor)
Select notes after mouse cursor (in take under mouse or in MIDI editor)
Select notes before mouse cursor (in take under mouse or in MIDI editor)

  • These scripts select/delete/mute all notes before/after the mouse cursor in the currently focused item, MIDI editor or inline editor

2019-04-10:

Trim head of item(s) and delete item(s) before mouse cursor
Trim tail of item(s) and delete item(s) after mouse cursor

  • These scripts trim the head/tail of all or selected items before/after the mouse cursor
  • Additionally, all items located before the mouse cursor will be deleted
  • This script only works in the arrangement

Last edited by _Stevie_; 04-09-2019 at 07:20 PM.
_Stevie_ is offline   Reply With Quote
Old 12-11-2017, 11:10 PM   #3
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Great stuff, many thx !!
Any chance that these scripts become available via ReaPack ?
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-12-2017, 04:03 AM   #4
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,215
Default

_Stevie_, correct me if I am wrong... I think you are a new REAPER user that recently migrated from Cubase, and you are already scripting? That's awesome!
heda is offline   Reply With Quote
Old 12-12-2017, 04:43 AM   #5
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Quote:
Originally Posted by vanhaze View Post
Great stuff, many thx !!
Any chance that these scripts become available via ReaPack ?
I would do that immediately, if I knew how!
I couldn't find any guidelines how to set up GitHub for ReaPack.
Any hints appreciated!

Quote:
Originally Posted by heda View Post
_Stevie_, correct me if I am wrong... I think you are a new REAPER user that recently migrated from Cubase, and you are already scripting? That's awesome!
Haha, yeah that's right. When using Cubase, I tried to complement it with AutoHotKey scripts, because it was lacking in some areas. So, I kinda felt quickly at home with ReaScript. But I will never be at the same level as guys like you or juliansader, mpl, spk77, etc...
_Stevie_ is offline   Reply With Quote
Old 12-12-2017, 05:38 AM   #6
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,215
Default

haha
you can of course
I'm not very good. I'm learning. for years...

For some reason, testing your script, the undo block is not added.
I think it should be reaper.Undo_EndBlock('Select notes before cursor', 4)
4 for undo in items, but it seems not working either. mmm
I would also put the PreventUIRefresh and the undo commands each one in one line.
heda is offline   Reply With Quote
Old 12-12-2017, 05:58 AM   #7
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Yeah, I was just about to write that! I don't know what's going on there.
If you Undo and then Redo, everything is back to normal. But something is not right there. I have never seen such a behavior before, have you?
_Stevie_ is offline   Reply With Quote
Old 12-12-2017, 06:08 AM   #8
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,215
Default

No I haven't seen that before. But because I don't have much experience with scripts that work on the MIDI data. @juliansader will probably know
change the flag to -1 should be safer but it still doesn't work for me
I've found this thread.. maybe related https://forum.cockos.com/showthread.php?t=185118
heda is offline   Reply With Quote
Old 12-12-2017, 08:39 AM   #9
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Thanks Hector, will check it and see what I can do!


I just finished another script. It's great for these situations when you cut a legato line and you have this small leftover note from the cut. You can adjust the shortnote length in the script's user area and display the note lenghts via ShowMessageConsole (it's commented out, but you can enable it).
It's available @GitHub.

Last edited by _Stevie_; 12-19-2017 at 07:27 AM.
_Stevie_ is offline   Reply With Quote
Old 12-12-2017, 08:53 AM   #10
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,093
Default

Quote:
Originally Posted by _Stevie_ View Post
I would do that immediately, if I knew how!
I couldn't find any guidelines how to set up GitHub for ReaPack.
Any hints appreciated!
In very short:
- Your scripts need a ReaPack header.
https://github.com/cfillion/reapack-index/wiki/Examples
https://github.com/cfillion/reapack-...-Documentation
(or see other scripts in ReaPack for examples)

- You need reapack-index to index the scripts in your repo. reapack-index produces a index.xml file.
https://github.com/cfillion/reapack-index/wiki

- This index.xml is then also pushed to your GitHub repo and you can give this URL other ReaPack users for importing your repo into ReaPack, like e.g. I did with mine:
https://github.com/nofishonfriday/ReaScripts

(or you can have it enabled by default in Reapack, don't know how though)

Thread with more info and for asking questions:
https://forum.cockos.com/showthread.php?t=169127

Last edited by nofish; 12-12-2017 at 09:01 AM.
nofish is offline   Reply With Quote
Old 12-12-2017, 09:42 AM   #11
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Thanks nofish! Will check that out.
I looked at some of the ReaPack scripts. Interessting that most of them don't use the "@decription" synthax.
_Stevie_ is offline   Reply With Quote
Old 12-12-2017, 12:55 PM   #12
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Thanks Stevie. What are you doing typically after you have selected those notes? A few typical examples where you needed those?
TonE is offline   Reply With Quote
Old 12-12-2017, 01:17 PM   #13
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Sure!

I use these commands mainly when varying an existing theme to adjust it for a new scene in a movie.
I would then select a certain part and:

- transpose it
- shorten the notes
- make them more legato
- humanize them
- change the velocity
- or simply delete it


Hope this helps!
_Stevie_ is offline   Reply With Quote
Old 12-12-2017, 01:53 PM   #14
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Cool, thanks, here something back, in case you did not use them yet:

Script: kawa_MIDI_DecreaseLength.lua
Script: kawa_MIDI_IncreaseLength.lua

Script: kawa_MIDI_GrowUp.lua

Script: kawa_MIDI_DecreaseVelocity.lua
Script: kawa_MIDI_IncreaseVelocity.lua

Script: kawa_MIDI_DecrementChannel.lua
Script: kawa_MIDI_IncrementChannel.lua

Script: kawa_MIDI_DeleteBottomNote.lua
Script: kawa_MIDI_DeleteTopNote.lua
Script: kawa_MIDI_SelectMiddleNotes.lua

Script: kawa_MIDI_ExplodeSelectedNotesToNewMediItemByPitch Class.lua
Script: kawa_MIDI_ExplodeSelectedNotesToNewTrackByPitchCla ss(IgnoreDefaultTrackSetting).lua
Script: kawa_MIDI_ExplodeSelectedNotesToNewTrackByPitchCla ss.lua

Script: kawa_MIDI_SplitNote2.lua
Script: kawa_MIDI_SplitNote3.lua
(I like using after these decreasing note length twice, see above first, welcome Tangerine Dream ratcheting)
TonE is offline   Reply With Quote
Old 12-12-2017, 08:01 PM   #15
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Hey TonE!

I love kawa's stuff, but I haven't checked everything in detail.
Will check your recommendations!


BTW, the ReaPack URL is online:

Code:
https://github.com/StephanRoemer/ReaScripts/raw/master/index.xml
_Stevie_ is offline   Reply With Quote
Old 12-13-2017, 02:56 AM   #16
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 223
Default

Thanks _Stevie_ Didn't know you were a coder! Useful stuff.
I'll bet you are busy so when you have some time I wondered if you could do a Transpose note up/down by a Minor 3rd. Perhaps some other common intervals as well.
I know I can use the Transpose Menu, but I prefer just one keystroke as I am using Lemur C_Brains to control Midi. It comes with buttons to do these transpositions.
I've cobbled together a custom action that uses 3 x Edit Move Notes by semitone, to achieve what I want, but I'm sure there is a more elegant way of doing it.
I see that that action is locked, so I couldn't have a look at the code.
Lokasenna has similar actions but they Duplicate the notes. Looked at his script and it was Greek to me.

Last edited by DynamicK; 12-13-2017 at 03:21 AM.
DynamicK is offline   Reply With Quote
Old 12-13-2017, 04:18 AM   #17
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

What is wrong with using custom actions? Wait, I tell you. Nothing.
Just invest your time in other solutions, this you solved already. Using custom actions is the ideal way, always, in using Reaper. Once you understood it, there are no limitations in Reaper, almost.
TonE is offline   Reply With Quote
Old 12-13-2017, 06:17 AM   #18
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 223
Default

@TonE: Good to know I took the right track. Slowly learning to mould Reaper to my desires.
DynamicK is offline   Reply With Quote
Old 12-13-2017, 06:20 AM   #19
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Quote:
Originally Posted by DynamicK View Post
Thanks _Stevie_ Didn't know you were a coder! Useful stuff.
I didn't know either!

Quote:
Originally Posted by DynamicK View Post
I'll bet you are busy so when you have some time I wondered if you could do a Transpose note up/down by a Minor 3rd. Perhaps some other common intervals as well.
Actually TonE is right, but I can see a use case here, that isn't covered with the actions, yet. Usually, when I transpose notes, I don't necessarily need to enter the MIDI Editor. I would just select the item and execute "Transpose +1".
AFAIK, the actions only work in the MIDI Editor. I will take care of the transpose scripts!
_Stevie_ is offline   Reply With Quote
Old 12-13-2017, 06:55 AM   #20
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,215
Default

Quote:
I would just select the item and execute "Transpose +1".
AFAIK, the actions only work in the MIDI Editor. I will take care of the transpose scripts!
Take a look here for transposing scripts from arrange window https://forum.cockos.com/showthread.php?t=137372
heda is offline   Reply With Quote
Old 12-13-2017, 07:22 AM   #21
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Ah Great, thank you Hector!
_Stevie_ is offline   Reply With Quote
Old 12-13-2017, 07:58 AM   #22
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,093
Default

Quote:
Originally Posted by _Stevie_ View Post
BTW, the ReaPack URL is online:

Code:
https://github.com/StephanRoemer/ReaScripts/raw/master/index.xml
That was fast.
Thank you.
nofish is offline   Reply With Quote
Old 12-13-2017, 08:24 AM   #23
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

You're welcome! It was a bit of work, I had to install all kinds of stuff, that I usually don't need But I got it finally working, wohooo
_Stevie_ is offline   Reply With Quote
Old 12-13-2017, 08:47 AM   #24
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

New scripts added to the repo:

Move CC X to CC Y

Especially when working with different orchestral libraries, CCs have different meanings. Some patches in Hollywood Strings use CC11 for x-fade and CC1 for vibrato. Cinematic Studio Strings uses CC1 for x-fade. These scripts make it easy to move CCs around from one lane to another.

Will add a GIF later on.

Copy, delete and select CCs will follow.

Last edited by _Stevie_; 12-13-2017 at 09:38 AM.
_Stevie_ is offline   Reply With Quote
Old 12-13-2017, 10:43 AM   #25
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 223
Default

Thanks_Stevie. Funny enough I was just about to go looking for a script that will Transform CC1 - CC11 as that was one of the features in C_Brains. So I have the button ready !!!
DynamicK is offline   Reply With Quote
Old 12-13-2017, 10:54 AM   #26
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,215
Default

you can insert a JS: MIDI CC Mapper
then render into new MIDI take if you need
heda is offline   Reply With Quote
Old 12-13-2017, 12:35 PM   #27
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by _Stevie_ View Post
... but I can see a use case here, that isn't covered with the actions, yet. Usually, when I transpose notes, I don't necessarily need to enter the MIDI Editor. I would just select the item and execute "Transpose +1".
AFAIK, the actions only work in the MIDI Editor. I will take care of the transpose scripts!
Yes, the trick is then using eel, which can switch between contexts, like from arrange to midi editor, then back after doing its job. Just combine any actions in eel, jumping around between contexts.

Example, open_in_midi_editor_and_zoom_to_content.eel:
PHP Code:
function open_in_midi_editor_and_zoom_to_content()
(  
  
Main_OnCommand(401530); // MAIN section action 40153: "open selected item in MIDI editor"
  
active_MIDI_editor MIDIEditor_GetActive(); // Now the MIDI editor is opened -> get MIDI editor ID
  
MIDIEditor_OnCommand(active_MIDI_editor40466); // ME action: "zoom to content" 
  
MIDIEditor_OnCommand(active_MIDI_editor40468); // ME action: "zoom to one loop iteration"
);

open_in_midi_editor_and_zoom_to_content(); 
TonE is offline   Reply With Quote
Old 12-13-2017, 07:45 PM   #28
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Quote:
Originally Posted by DynamicK View Post
Thanks_Stevie. Funny enough I was just about to go looking for a script that will Transform CC1 - CC11 as that was one of the features in C_Brains. So I have the button ready !!!
Haha, great! It's also one the features Junky XL uses on his touch screen.

TonE: that's actually also possible with LUA.
But the methods I'm using in my scripts doen't care if you are in the arrangement or in the MIDI editor, because it does not check for an activated MIDI editor, but simply checks, if the the item is a MIDI take.

Last edited by _Stevie_; 12-14-2017 at 08:16 AM.
_Stevie_ is offline   Reply With Quote
Old 12-14-2017, 01:31 PM   #29
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Okay guys, A lot of new scripts are online!

I moved all MIDI editing scripts into "Item Editing", because only that way, the scripts are registered in the Main Actions. Not sure, maybe I should add a "MIDI" into the script name to identify them easier. What do you think?

I have still to solve the undo issue with the note deletion. Will see, what I can do.

Next will be the transpose script.

Last edited by _Stevie_; 12-19-2017 at 05:53 AM.
_Stevie_ is offline   Reply With Quote
Old 12-14-2017, 06:05 PM   #30
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

The transpose scripts are ready. There's 1,3,5,7 and 12 semitones up and down.
But I can easily add additional intervals by request.
Depending on if you have selected notes or not, it will either transpose the whole take or only the selected notes.

Last edited by _Stevie_; 12-19-2017 at 07:29 AM.
_Stevie_ is offline   Reply With Quote
Old 12-15-2017, 06:54 AM   #31
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 223
Default

Hey _Stevie_ Many thanks for all these updates. I can now finish my setup in Lemur C_Brains
You are on the way to becoming a Script Guru.
DynamicK is offline   Reply With Quote
Old 12-15-2017, 07:18 AM   #32
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Thanks man, I try my very best
Did you setup Lemur to work with Reaper? That's still something I have on my list.
_Stevie_ is offline   Reply With Quote
Old 12-15-2017, 09:43 AM   #33
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 223
Default

It's a Lemur Midi Template from Midi Kinetic called C_Brains for Cubase which I bought when it was first released.
I'm just mapping the buttons that are in the app to similar actions in Reaper. Waste Not Want Not
I'm using Metagrid for the rest of the Key Commands and X-Touch Compact for Faders and encoders.

There are some Lemur Templates on this forum:- Binder and another one on Liine User Templates. I can send to you if you want.

BTW I have done all the other note transposing luas. I just changed the relevant numbers.
How do I send them to you so you can approve and add them to your repo? I am following your GitHub as Dynamosity.
DynamicK is offline   Reply With Quote
Old 12-15-2017, 01:20 PM   #34
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Quote:
Originally Posted by DynamicK View Post
It's a Lemur Midi Template from Midi Kinetic called C_Brains for Cubase which I bought when it was first released.
I'm just mapping the buttons that are in the app to similar actions in Reaper. Waste Not Want Not
I'm using Metagrid for the rest of the Key Commands and X-Touch Compact for Faders and encoders.
Yeah, I've purchased C_Brains as well, mainly to see what is happening in Cubase in terms of LE and PLE. I never used it but, took over all the LE/PLE presets
But what I was going after with my question: how did you incorporate your Lemur template (c_Brains). Did you just open the Actions List and press the corresponding button on your iPad to assign it? I was thinking of re-configuring my template to OSC, since Reaper understands it natively. But I'm not sure what the advantages are and if it's worth the hassle, since I don't know anything about OSC, yet.

Quote:
There are some Lemur Templates on this forum:- Binder and another one on Liine User Templates. I can send to you if you want.
I think, I checked them both already. They are pretty sophisticated. Which one are you using?

Quote:
BTW I have done all the other note transposing luas. I just changed the relevant numbers.
How do I send them to you so you can approve and add them to your repo? I am following your GitHub as Dynamosity.
I just did a complete overhaul of most of the scripts, because Tack (Rearticulation) suggested to swap the functions out to its proper functions file. So now, it is even easier to create variations of the scripts, because you only have to change 1-2 numbers in the main script. Sorry, if you spent some time on the scripts changing the values!
_Stevie_ is offline   Reply With Quote
Old 12-15-2017, 10:59 PM   #35
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

I uploaded some new scripts (increase and decrease CC, Add notes)and updated the old ones.
There's a major change here: most of the functions have been outsourced to
a dedicated file "sr_MIDI functions.lua". This file has to be selected for installation, when you want to use the MIDI scripts, otherwise the scripts won't work.

I gathered a lot of info today, concerning ReaPack and how to integrate external functions. There were many possibilities, like a metapackage. But all this didn't really satisfy me.
In the case of a metapackage, a single package which carries all the transpose scripts, would be created. But that way, the user won't have the possibility to de-select unnecessary scripts. You would have to install them all in one go. Same for CC selection, CC deletion, etc... In the end, I felt that this would overcomplicate things and make it less streamlined. So, I decided against this approach.
The result is, as I mentioned, the need to install the sr_MIDI functions.lua.

Also, the MIDI scripts have been moved back to the "MIDI Editor" folder, since I found a solution how to make them available in the main action list as well.


EDIT: I'm still in the process of fixing some scripts. Especially the issue with broken undo and get_MIDI. I hope I'll be able to finish that until next week.
_Stevie_ is offline   Reply With Quote
Old 12-16-2017, 06:56 AM   #36
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

New update is out:

* undo states have been fixed
* the items in the arrangement did not update, when adding notes
_Stevie_ is offline   Reply With Quote
Old 12-17-2017, 03:55 AM   #37
DynamicK
Human being with feelings
 
Join Date: Nov 2017
Location: Gloucestershire, UK
Posts: 223
Default

Quote:
Originally Posted by _Stevie_ View Post
But what I was going after with my question: how did you incorporate your Lemur template (c_Brains). Did you just open the Actions List and press the corresponding button on your iPad to assign it?
Exactly. Too difficult to edit that Lemur template. Some features can't be used, but I can get all the ones I used the most to work.

Quote:
Originally Posted by _Stevie_ View Post
I think, I checked them both already. They are pretty sophisticated. Which one are you using?
At the moment neither. I have gone back to real faders and encoders for CC control. I was getting too much of a lag over WIFI.

Quote:
Originally Posted by _Stevie_ View Post
Sorry, if you spent some time on the scripts changing the values!
It was an issue of Search and Replace, so didn't take long. BTW thanks for the updates.
DynamicK is offline   Reply With Quote
Old 12-17-2017, 02:25 PM   #38
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Glad to hear! I still have my Steinberg controllers here (the CMC series), I hope I can hook them up with Reaper, soon. I'm using the iPad solely to fire up DAW internal commands.

And...new commands: Quantize notes and Human quantize notes.
I created those, because in Reaper we are not able to quantize notes in the arrangement. We have to enter the key editor to do so. Furthermore, Reaper does not allow to create presets for quantize with a certain strength. We always have to open the quantize dialog.
You can easily create new presets by adjusting the humanize value in the scripts and the grid value. I will provide triplet presets in a few.
Keep in mind, with my commands not being quantize commands, you cannot restore their initial position with "unquantize".
EDIT: The quantize "grid" commands use the project grid to quantize and NOT the MIDI Editor grid!

Last edited by _Stevie_; 12-19-2017 at 07:33 AM.
_Stevie_ is offline   Reply With Quote
Old 12-17-2017, 02:35 PM   #39
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Thanks, looks good, being able to quantize slowly is useful. Does human quantize work always backwards, as far as I could see from the image demo?
TonE is offline   Reply With Quote
Old 12-17-2017, 02:36 PM   #40
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,048
Default

Sorry, I should have mentioned, when the notes move back to their original position, I was pressing undo

P.S: GitHub takes a while to list all the updates. But should be online in some
minutes.
P.S.S: files are up!


EDIT: new triplets and swing quantize scripts

Last edited by _Stevie_; 12-17-2017 at 08:36 PM.
_Stevie_ 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 01:13 AM.


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