Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER General Discussion Forum

Reply
 
Thread Tools Display Modes
Old 05-14-2016, 11:40 PM   #1
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default MIDI editor tools: warp, stretch, deselect etc

A variety of scripts for useful MIDI editor tools.

INSTALLATION: All the scripts can be easily installed via the ReaPack extension.

HELP: Most of the scripts contain extensive Descriptions and Instructions inside the script itself. These can be read in REAPER's built-in script editor (by clicking the "Edit" button in the Actions list), or in ReaPack's "About" window.

PERFORMANCE TIP: If the MIDI editor gets slow and jerky when a certain VST plugin is loaded, check for graphics driver incompatibility by disabling graphics acceleration in the plugin.

* All the scripts can be linked to easy-to-remember keyboard shortcuts such as "S" = Stretch, "1" = 1-sided Warp, "A" = Arch linear, "shift+A" = Arch sine, etc.
* Alternatively, the scripts that edit the "lane under mouse" can be linked to toolbar buttons (instructions in a later post), as demonstrated in the GIF.
* The "lane under mouse" scripts that use the mousewheel can all be controlled via a single mousewheel shortcut.




1-sided warp (accelerate) selected events in lane under mouse:
* Useful for changing a linear ramp into a parabolic (or other power) curve.
* Useful for accelerating or decelerating a series of evenly spaced notes.

2-sided warp (and stretch) selected events in lane under mouse:
* Useful for changing a linear ramp into a more complex logistic-type curve.
* Useful for accelerating and decelerating a series of evenly spaced notes, as is typical in a trill.

Stretch selected events in lane under mouse:
* REAPER has mouse actions for stretching notes together with all CCs in all lanes underneath them, but not for stretching CCs (or sysex events) in individual lanes, separate from other lanes.

Deselect all MIDI events outside time selection (from all tracks):
* This is one of the filters that I use most often.

Insert CC or pitchwheel event at mouse position, leaving others selected:
* One of the simplest imaginable functions: inserting a single CC or pitchwheel event. But due to an unfortunate idiosyncracy of the MIDI editor it is not possible to use a mouse modifier to insert a CC or pitchwheel event while leaving others selected.
* With snap-to-grid enabled, it is useful for inserting endpoint 'nodes' beneath notes.

Compress or expand CCs or velocities using mousewheel:
* Very similar to spk77's breakthrough "Velocity tool" script, but using mousewheel and mouse movement instead of a GUI.

Tilt CCs or velocities to mouse position:
* A simplified version of the compression script (without compression or warping)
* The events are tilted to the exact value of the mouse position, so it is useful for precise positioning of ramps.

Insert linear or shaped ramps between selected CCs or pitches:
* Useful for quickly adding ramps between 'nodes' (which can be inserted using the abovementioned "Insert CC or pitchwheel event at mouse position, leaving others selected" script.
* Useful for smoothing transitions between CCs that were drawn at low resolution.
* Combine with warping scripts to easily insert all kinds of weird shapes.

EDIT 2016-05-17:
Draw linear or curved ramps in real time, chasing start values:
An improvement over REAPER's built-in "Linear ramp CC events" mouse action:
* If snap to grid is enabled in the MIDI editor, the endpoints of the ramp will snap to grid, allowing precise positioning of the ramp (allowing, for example, the insertion of a pitch riser at the exact position of a note).
* By using the mousewheel, the shape of the ramp can be changed from linear to curved (allowing the easy insertion of parabolic shapes).
* The script can optionally chase existing CC values, instead of starting at the mouse's vertical position. This ensures that CC values change smoothly.
* The events in the newly inserted ramp are automatically selected, which allows immediate further shaping of the ramp (using, for example, the 2-sided warp (and stretch) script).

EDIT 2016-05-18:
The script have been updated to v1.1 and should now be compatible with the newest pre-releases of SWS, as well as the current stable v2.8.3.

EDIT 2016-05-28:
LFO generator and shaper for MIDI editor!
[Another screencap here, showing positioning of LFO beneath selected notes.]

Remove redundant CCs:
* Simple, one-click action that works with 7-bit CCs, channel pressure and pitchwheel - useful for cleaning up after drawing LFOs, ramps etc.
* User can choose whether to limit to selected/all events, last clicked lane / lane under mouse / all lanes.

EDIT 2016-06-09:
* All the scripts are now available at Github (as part of the ReaTeam scripts for ReaPack), and the download links have been updated.
* The LFO Tool, Remove redundant CCs, and Insert ramp scripts have been updated.
* In particular, the LFO Tool now has an option to insert CCs underneath selected notes.

EDIT 2016-06-11:
New scripts to fit events to time selection (particularly useful to precisely position CC curves underneath notes):
* Fit selected events to time selection in last clicked lane
* Fit selected events to time selection in lane under mouse
* Fit all selected events to time selection
* Set time selection to selected events in last clicked lane
* Set time selection to selected events in lane under mouse

EDIT 2016-06-24:
Split / Trim notes by drawing a line with the mouse
* Intended to mimic the functionality of FL Studio's Slice Tool.

EDIT 2016-07-04:
Easy control of all the "lane under mouse" scripts by a single keyboard shortcut and a single mousewheel shortcut.
* The "lane under mouse" scripts can now be linked to toolbar buttons. Clicking a toolbar button will select ('arm') the script to be applied next.
* A single keyboard shortcut and a single mousewheel shortcut are all that is needed to run any selected ('armed') script.
* This single mousewheel shortcut can even control scripts that were called from their own keyboard shortcuts.

EDIT 2016-07-08:
Arch events with sine, linear or power curve
This script arches the selected events towards the mouse. The shape of the arch can be changed using the mousewheel.
* Useful for when you want to tweak an existing, complex CC or velocity curve up or down, so that you do not need to re-draw the curve.
* Useful for quickly applying and auditioning crescendo-decrescendo (fade-in and fade-out) curves.

EDIT 2016-07-17:
Scripts for multi-channel MIDI editing:
* js_Option - Selecting single note or CC in active take sets channel for new events
* js_Option - Switching active take sets channel for new events to channel of existing events
* js_Set MIDI send channel of selected tracks to channel of existing MIDI events in track
* js_Deselect all MIDI except in active channel of active take

EDIT 2016-08-01:
Select and deselect MIDI notes by step pattern

EDIT 2016-08-20:
MIDI Inspector
* A MIDI Inspector that improves on the native Properties windows in several ways.

EDIT 2017-03-14:
View and edit the tempo map in the MIDI editor

EDIT 2017-08-06:
Insert empty space in time selection -- without moving MIDI and tempo markers off the grid


--------------------
Donations

A taste of the other nifty scripts in ReaPack:
Kawa's script pack / X-Raym's script pack / Lokasenna's Theory Helper / mpl's script pack / eugen's TrackFXs Routing Matrix / airon's Color Swatch Tool

Last edited by juliansader; 12-02-2017 at 12:26 PM.
juliansader is online now   Reply With Quote
Old 05-14-2016, 11:43 PM   #2
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default 1-sided warp (accelerate) selected events in lane under mouse

1-sided warp (accelerate) selected events in lane under mouse:
* Useful for changing a linear ramp into a parabolic (or other power) curve.
* Useful for accelerating or decelerating a series of evenly spaced notes.





Warp 3.00: Warp left/right or up/down, depending on initial mouse movement (similar to REAPER's "in one direction only" mouse modifiers):


Last edited by juliansader; 01-16-2017 at 04:46 PM.
juliansader is online now   Reply With Quote
Old 05-14-2016, 11:43 PM   #3
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default 2-sided warp (and stretch) selected events in lane under mouse:

2-sided warp (and stretch) selected events in lane under mouse:
* Events to the left of the mouse are stretched separately from events to the right. Moving the mouse up or down warps the events toward or away from the mouse.
* Useful for changing a linear ramp into a more complex logistic-type curve.
* Useful for accelerating and decelerating a series of evenly spaced notes, as is typical in a trill.


Last edited by juliansader; 02-07-2017 at 02:06 AM.
juliansader is online now   Reply With Quote
Old 05-14-2016, 11:45 PM   #4
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default Stretch selected events in lane under mouse

Stretch selected events in lane under mouse:
* REAPER has mouse actions for stretching notes together with all CCs in all lanes underneath them, but not for stretching CCs (or sysex events) in individual lanes, separate from other lanes. (See also http://forum.cockos.com/showpost.php...&postcount=138)




Stretch 3.00: Stretch left, right, top or bottom, depending on initial mouse position:


Last edited by juliansader; 01-16-2017 at 04:47 PM.
juliansader is online now   Reply With Quote
Old 05-14-2016, 11:46 PM   #5
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default Deselect all MIDI events outside time selection (from all tracks)

Deselect all MIDI events outside time selection (from all tracks):



https://raw.githubusercontent.com/Re...0tracks%29.lua

Last edited by juliansader; 05-29-2016 at 06:10 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 01:11 AM   #6
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default Insert CC or pitchwheel event at mouse position, leaving others selected

Insert CC or pitchwheel event at mouse position, leaving others selected:
* One of the simplest imaginable functions: inserting a single CC or pitchwheel event. But due to an unfortunate idiosyncracy of the MIDI editor, it is not possible to use a mouse modifier to insert a CC or pitchwheel event while leaving others selected.
* With snap-to-grid enabled, it is useful for inserting endpoint 'nodes' beneath notes.



https://raw.githubusercontent.com/Re...20selected.lua

Last edited by juliansader; 02-07-2017 at 02:08 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 03:16 AM   #7
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 4,300
Default

Impressive set of scripts ! well done !
X-Raym is offline   Reply With Quote
Old 05-15-2016, 03:39 AM   #8
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 503
Default

Cool stuff, thank you! One question though: how do you bind these scripts to the mouse modifiers?

EDIT: Looks like the instructions are in the script file, nevermind I wish we could run the scripts using the mouse modifiers though...

Last edited by Sju; 05-15-2016 at 03:55 AM.
Sju is offline   Reply With Quote
Old 05-15-2016, 05:07 AM   #9
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default Compress or expand CCs or velocity using mousewheel

Compress or expand CCs or velocity using mousewheel:
* Very similar to spk77's breakthrough "Velocity tool" script, but using mousewheel and mouse movement instead of a GUI.
* The vertical position of the mouse determines the position towards which events are compressed (or expanded from). The mousewheel determines the amount of compression/expansion.

EDIT: The new version 3 of the Stretch script can also be used to compress or expand event values vertically.



https://raw.githubusercontent.com/Re...mousewheel.lua

Last edited by juliansader; 05-09-2017 at 04:20 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 05:21 AM   #10
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 3,832
Default

This is great stuff, thanks very much !
vanhaze is offline   Reply With Quote
Old 05-15-2016, 05:42 AM   #11
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default Tilt selected CCs or velocities to mouse position

Tilt selected CCs or velocities to mouse position:
* A simplified version of the compression script (without compression or warping)
* The events are tilted to the exact value of the mouse position, so it is useful for precise positioning of ramps.



https://raw.githubusercontent.com/Re...20position.lua

Last edited by juliansader; 06-04-2016 at 02:15 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 07:54 AM   #12
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,560
Default

Cool. I already find it useful for myself.
Did you saw our ReaPack stuff? What do you think about sharing your scripts this way?
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 05-15-2016, 09:53 AM   #13
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default

Quote:
Originally Posted by mpl View Post
Cool. I already find it useful for myself.
Did you saw our ReaPack stuff? What do you think about sharing your scripts this way?
I have been following the development of ReaPack with interest and I would feel very honoured to have my scripts included in the library! I am not familiar with Github, however - would it be possible to simply add these scripts to the ReaTeam repo?

BTW, I do not see gofer/spk77's very useful "Smooth CC values" script among spk77's other scripts in the collection.
juliansader is online now   Reply With Quote
Old 05-15-2016, 10:01 AM   #14
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 1,560
Default

If you not against, I can simply add these scripts to repo with proper header and your credits on main page and then commit new index for extension later. I may didn`t find "smooth cc" before, just browsed stash and some forum threads, so it is ok I could forget to add something interesting.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 05-15-2016 at 10:37 AM.
mpl is offline   Reply With Quote
Old 05-15-2016, 10:52 AM   #15
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default Insert linear or shaped ramps between selected CCs or pitches in lane under mouse

Insert linear or shaped ramps between selected CCs or pitches in lane under mouse:
* Useful for quickly adding ramps between 'nodes' (which can be inserted using the abovementioned "Insert CC or pitchwheel event at mouse position, leaving others selected" script.
* Useful for smoothing transitions between CCs that were drawn at low resolution.
* Combine with warping scripts to easily insert all kinds of weird shapes.



https://raw.githubusercontent.com/Re...er%20mouse.lua

Last edited by juliansader; 06-04-2016 at 02:16 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 10:53 AM   #16
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default

Quote:
Originally Posted by mpl View Post
If you not against, I can simply add these scripts to repo with proper header and your credits on main page and then commit new index for extension later.
Great!
juliansader is online now   Reply With Quote
Old 05-15-2016, 12:05 PM   #17
dea-man
Human being with feelings
 
dea-man's Avatar
 
Join Date: Oct 2009
Posts: 6,049
Default

These seem fabulously useful.

Good work!

Thank you.
__________________
Please check out my REAPER produced music here: http://soundcloud.com/dea-man
dea-man is offline   Reply With Quote
Old 05-15-2016, 12:25 PM   #18
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,412
Default

What kind of witch craft is this!

Really great stuff here thanks!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 05-15-2016, 12:47 PM   #19
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 6,330
Default

Looking first class
__________________
Reaper x64, win 8.1
G-Sun.no - Music Blog - My music
G-Sun is offline   Reply With Quote
Old 05-17-2016, 07:33 AM   #20
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,412
Default

This is quite bizarre I think.

I can't get any of these to work as either keyboard assigned scripts in the midi editor action list or the normal arrange page action list.

I've read the instructions too and am on the latest pre-release just in case.

I wonder if there's something obvious I'm doing wrong.

One thing it could be is that I use a wacom pen and not a mouse so maybe it's not picking up on the absolute position of the pen?

Will try a mouse in a sec.

EDIT: nope, mouse didn't work either. Could it be having the midi editor docked under the arrange and synced up that's causing it?
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.

Last edited by musicbynumbers; 05-17-2016 at 07:38 AM.
musicbynumbers is offline   Reply With Quote
Old 05-17-2016, 07:37 AM   #21
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default

Quote:
Originally Posted by musicbynumbers View Post
This is quite bizarre I think.

I can't get any of these to work as either keyboard assigned scripts in the midi editor action list or the normal arrange page action list.

I've read the instructions too and am on the latest pre-release just in case.

I wonder if there's something obvious I'm doing wrong.

One thing it could be is that I use a wacom pen and not a mouse so maybe it's not picking up on the absolute position of the pen?

Will try a mouse in a sec.
Since these functions are user scripts, the way they respond to shortcut keys and mouse buttons is opposite to that of REAPER's built-in mouse actions with mouse modifiers: To run a script, press the shortcut key *once* to start the script and then move the mouse or mousewheel *without* pressing any mouse buttons. Press the shortcut key again once to stop the script.

(The first time that a script is stopped, REAPER will pop up a dialog box asking whether to terminate or restart the script. Select "Terminate" and "Remember my answer for this script".)
juliansader is online now   Reply With Quote
Old 05-17-2016, 08:22 AM   #22
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,412
Default

Quote:
Originally Posted by juliansader View Post
Since these functions are user scripts, the way they respond to shortcut keys and mouse buttons is opposite to that of REAPER's built-in mouse actions with mouse modifiers: To run a script, press the shortcut key *once* to start the script and then move the mouse or mousewheel *without* pressing any mouse buttons. Press the shortcut key again once to stop the script.

(The first time that a script is stopped, REAPER will pop up a dialog box asking whether to terminate or restart the script. Select "Terminate" and "Remember my answer for this script".)
Thanks. I did try that and what's interesting is that I don't even get the terminate window like I do with most scripts. Should I be running them from the normal action window or the midi action window? I've tried both though?
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 05-17-2016, 09:08 AM   #23
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Buenos Aires, Argentina
Posts: 818
Default

Quote:
Originally Posted by musicbynumbers View Post
Thanks. I did try that and what's interesting is that I don't even get the terminate window like I do with most scripts. Should I be running them from the normal action window or the midi action window? I've tried both though?
I have the same issue; I haven´t been able to use them since I find the same situation as musicbynumbers. Running them either with shortcuts or through the action windows does not seem to do anything, no matter what combination of mouse/mousewheel movements movements I use.
Soli Deo Gloria is offline   Reply With Quote
Old 05-17-2016, 09:23 AM   #24
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default

Quote:
Originally Posted by musicbynumbers View Post
Thanks. I did try that and what's interesting is that I don't even get the terminate window like I do with most scripts. Should I be running them from the normal action window or the midi action window? I've tried both though?
Quote:
Originally Posted by Soli Deo Gloria View Post
I have the same issue; I haven´t been able to use them since I find the same situation as musicbynumbers. Running them either with shortcuts or through the action windows does not seem to do anything, no matter what combination of mouse/mousewheel movements movements I use.
Curiouser and curiouser... I quickly tested the scripts on a new installation of REAPER, and they seem to work OK.

Perhaps you could check the following?
1) The events that you want to manipulate are selected
2) The MIDI editor is active
3) The mouse is over the lane

If the mouse is not positioned over a suitable part of REAPER's interface, the script will not run.

Do you have the same problems with the Deselect script (which does not involve the mouse)?
juliansader is online now   Reply With Quote
Old 05-17-2016, 10:22 AM   #25
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Buenos Aires, Argentina
Posts: 818
Default

I try everything as you say, but the scripts do not seem to respond. The deselect one does indeed work, though...
Soli Deo Gloria is offline   Reply With Quote
Old 05-17-2016, 10:59 AM   #26
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,412
Default

Quote:
Originally Posted by juliansader View Post
Curiouser and curiouser... I quickly tested the scripts on a new installation of REAPER, and they seem to work OK.

Perhaps you could check the following?
1) The events that you want to manipulate are selected
2) The MIDI editor is active
3) The mouse is over the lane

If the mouse is not positioned over a suitable part of REAPER's interface, the script will not run.

Do you have the same problems with the Deselect script (which does not involve the mouse)?
Well, the good news is the deselect script works and that's run from the midi editor section of the actions window. but even with the above, the others do nothing at all

I've been assigning the script to single keys on the keyboard and just tried to detach the midi editor as well as unsync it just in case and nothing still.

Weird!

Will try my 2nd computer when I get time. Very curious to know what it could be!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 05-17-2016, 11:01 AM   #27
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,412
Default

Is there a dependency/API thingy we need outside of reaper that most people may have but for some reason we don't?
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 05-17-2016, 11:36 AM   #28
gwok
Human being with feelings
 
gwok's Avatar
 
Join Date: Jun 2010
Location: Nelson, BC
Posts: 3,283
Default

hmm, not working here either, mavericks, 5.20 64bit.

Tried a bunch of tweaks, including unassigning the mousewheel, no luck though. THey are meant to be installed as midi actions not "main" actions I assume?
__________________
MacPro Xeon, 10.9.5
Reaper 5
gwok is offline   Reply With Quote
Old 05-17-2016, 12:27 PM   #29
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default

Quote:
Originally Posted by musicbynumbers View Post
Is there a dependency/API thingy we need outside of reaper that most people may have but for some reason we don't?
It does need SWS.
juliansader is online now   Reply With Quote
Old 05-17-2016, 12:37 PM   #30
gwok
Human being with feelings
 
gwok's Avatar
 
Join Date: Jun 2010
Location: Nelson, BC
Posts: 3,283
Default

hmm, just updated SWS from the official to the beta, no improvement.

I do notice that when I run the action compress or expand select cc\vel using mousewheel, some of the cc's move just a slight little bit left or right upon running the action. The mousewheel doesnt do anything though.

Also, is there a possibility of action\mouse modifier assignments creating some sort of conflict that breaks the functionality?

thanks!

edit: also tested on 32bit, and on my laptop (mavericks) same result.
__________________
MacPro Xeon, 10.9.5
Reaper 5

Last edited by gwok; 05-17-2016 at 12:48 PM.
gwok is offline   Reply With Quote
Old 05-17-2016, 12:40 PM   #31
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Buenos Aires, Argentina
Posts: 818
Default

I´m on Win 7 x64, Reaper 5.20 and latest SWS pre v8.7.0, by the way...
Soli Deo Gloria is offline   Reply With Quote
Old 05-17-2016, 01:54 PM   #32
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

the problem is that his scripts need exactly stable sws version 2.8.3..
newer betas 2.8.6 or 2.8.7 and also lower versions others then stable SWS 2.8.3 do not work...
for this scripts

some of the br_xxxx things like reaper.BR_GetMouseCursorContext() seems to be broken within newer betas... or maybe complete missing like Breeder^^
(have looked not yet accurate...)

With SWS 2.8.3 x86 & x64 all his/this great scripts work..

really good & much useful scripts. but need exact sws 2.8.3

Greetings
__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.

Last edited by ELP; 05-17-2016 at 02:01 PM.
ELP is offline   Reply With Quote
Old 05-17-2016, 03:18 PM   #33
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,412
Default

That's probably it. I'm on the latest beta for sws.

And so it begins.. the slow but sure "unwinding" of all the lovely sws tapestry as buts of it start to break and there's no one to fix them. Really sad..

Thought it would last a bit longer than this!

Quote:
Originally Posted by ELP View Post
the problem is that his scripts need exactly stable sws version 2.8.3..
newer betas 2.8.6 or 2.8.7 and also lower versions others then stable SWS 2.8.3 do not work...
for this scripts

some of the br_xxxx things like reaper.BR_GetMouseCursorContext() seems to be broken within newer betas... or maybe complete missing like Breeder^^
(have looked not yet accurate...)

With SWS 2.8.3 x86 & x64 all his/this great scripts work..

really good & much useful scripts. but need exact sws 2.8.3

Greetings
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Old 05-17-2016, 04:33 PM   #34
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default Draw linear or curved ramps in real time, chasing start values

Draw linear or curved ramps in real time, chasing start values:
(An improvement over REAPER's built-in "Linear ramp CC events" mouse action.)
* If snap to grid is enabled in the MIDI editor, the endpoints of the ramp will snap to grid, allowing precise positioning of the ramp (allowing, for example, the insertion of a pitch riser at the exact position of a note).
* By using the mousewheel, the shape of the ramp can be changed from linear to curved (allowing the easy insertion of parabolic shapes).
* The script can optionally chase existing CC values, instead of starting at the mouse's vertical position. This ensures that CC values change smoothly.
* The script inserts new CCs, instead of only editing existing CCs.
* The script does not change or delete existing events until execution ends, so there are no 'overshoot remnants' if the mouse movement overshoots the target endpoint.
* The events in the newly inserted ramp are automatically selected and other events are deselected, which allows immediate further shaping of the ramp (using, for example, the 2-sided warp (and stretch) script).




Drawing at low resolution:
Preferences -> MIDI editor -> Events per quarter note = 4 (1/16th notes).
Endpoint snap-to-grid either enabled (at 1/4 note grid) or disabled.




EDIT 2016-07-04: A new version that draws sine curves is also now available:




Available via ReaPack or direct download:
js_Draw linear or curved ramps in real time.lua
js_Draw linear or curved ramps in real time, chasing start values.lua
js_Draw sine curve in real time.lua
js_Draw sine curve in real time, chasing start values.lua

Last edited by juliansader; 07-05-2016 at 10:40 AM.
juliansader is online now   Reply With Quote
Old 05-17-2016, 05:33 PM   #35
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default

Quote:
Originally Posted by ELP View Post
the problem is that his scripts need exactly stable sws version 2.8.3..
newer betas 2.8.6 or 2.8.7 and also lower versions others then stable SWS 2.8.3 do not work...
for this scripts

some of the br_xxxx things like reaper.BR_GetMouseCursorContext() seems to be broken within newer betas... or maybe complete missing like Breeder^^
(have looked not yet accurate...)

With SWS 2.8.3 x86 & x64 all his/this great scripts work..

really good & much useful scripts. but need exact sws 2.8.3

Greetings
Thanks for the insight!

Good news: the problems with the scripts appear not to be due to anything being broken in the new pre-release, but actually due to a bug fix. In fact, I noted in the scripts that:
-- ! SWS documentation is incorrect: NO retval is returned
-- ! by BR_GetMouseCursorContext_MIDI()
It seems that this was indeed a bug, and that it is now fixed in the new pre-release.

I would not be difficult to adapt the scripts to the new version. (Simply add an extra "_," before each call to BR_GetMouseCursorContext_MIDI().) When I corrected this in the scripts, they all worked fine with the new SWS pre-release.

(Perhaps I can even include a test to distinguish between the two versions, so that the scripts can handle both versions.)
juliansader is online now   Reply With Quote
Old 05-17-2016, 06:07 PM   #36
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 3,459
Default

THANK YOU. THANK YOU SO MUCH I have needed this for so long. It has baffled me since day 1 that this is not included natively. In some way, I hate you for doing this because now Justin can just point to this when people bitch about it.

Imo if you can stretch audio, a complex series of sample values, then having tools for stretching much more basic values like CC is a no-brainer.

The way Cubase does it is absolutely perfect as far as I'm concerned. And I'm sure there's other DAWs with equally useable tools.
__________________
Check out my hip-hop, funk-rock band Theatre Crisp
Fergler is online now   Reply With Quote
Old 05-18-2016, 11:28 AM   #37
ELP
Human being with feelings
 
Join Date: Apr 2014
Posts: 943
Default

jope @juliansader that it was.

BR_GetMouseCursorContext_MIDI retval value #783
https://github.com/Jeff0S/sws/issues/783

The problem with this fix is now...
if you would do it right (docu) like example this
_, _, _, ccLane, ccLaneVal, _ = reaper.BR_GetMouseCursorContext_MIDI()

this would break your scripts with the last stable 2.8.3

and if you would do it like this to avoid the issue within 2.8.3
_, _, ccLane, ccLaneVal, _ = reaper.BR_GetMouseCursorContext_MIDI()

this would not be like within docu and break the SWS versions which include the fix...

normally 2.8.7 should be the last stable SWS at sws-extension.org and not 2.8.3 but we all know......
__________________
I hope you can understand me? Without german beer my written english is always very bad, with beer it becomes unbearable!.
Less is more! To much limited the own creativity.

Last edited by ELP; 05-18-2016 at 11:43 AM.
ELP is offline   Reply With Quote
Old 05-18-2016, 03:28 PM   #38
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,313
Default

Scripts updated to v1.1 and should now be compatible with the new pre-release versions of SWS, as well as current v2.8.3.

(Except for "Draw linear or curved ramps in real time, chasing start values", which I want to tweak a bit more.)

EDIT 2016-05-19: "Draw linear or curved ramps in real time, chasing start values" now also updated to v1.1

Last edited by juliansader; 05-19-2016 at 06:42 AM.
juliansader is online now   Reply With Quote
Old 05-18-2016, 04:12 PM   #39
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 4,300
Default

I found a GitHub repo full of REAPER MIDI actions, all documented, with screenshot :
kawaCat/ReaScript-MIDI: Reaper ReaScript MIDI

I paste the link here as it is not on the forum and to give some inspiration to juliansader :P
X-Raym is offline   Reply With Quote
Old 05-18-2016, 05:36 PM   #40
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,412
Default

Quote:
Originally Posted by juliansader View Post
Scripts updated to v1.1 and should now be compatible with the new pre-release versions of SWS, as well as current v2.8.3.

(Except for "Draw linear or curved ramps in real time, chasing start values", which I want to tweak a bit more.)
Thanks! will try them again tomorrow. Much appreciated!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
musicbynumbers is offline   Reply With Quote
Reply

Thread Tools
Display Modes

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

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

Forum Jump


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


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