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: 2,054
Default MIDI editor tools: warp, stretch, deselect etc

A variety of scripts for useful MIDI editor tools.

This GIF demonstrates some of the CC editing 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. To help you get going, also read from this post onwards.

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.

PIN-ON-TOP: Some scripts, such as the MIDI Inspector pictured here, open GUI windows. If you are on Windows, you can add pin-on-top buttons to script GUIs (or any other window) using 3rd party apps such as FileBox eXtender.


LEFT-DRAG MOUSE MODIFIERS vs SCRIPTS THAT FOLLOW MOUSE MOVEMENT

Some of the MIDI editing scripts (such as Warp, Stretch and Arch) resemble Reaper's own left-drag mouse modifier actions (such as "Draw CCs", Arpeggiate, "Paint notes", etc), in that the scripts follow mouse movement and continue to run until the user stops the script.

However, continuous scripts respond to shortcut keys and mouse buttons in an opposite way to mouse modifier actions:
* To run a mouse modifier action, you press the keyboard modifiers (such as ctrl) and the mouse button together, and then hold them all down while moving the mouse.
* In contrast, to run continuous scripts, shortcut keys work as toggles: 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 the 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".)



KEYBOARD SHORTCUTS vs TOOLBAR BUTTONS

* 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.





MOUSEWHEEL CONTROL

Most of the MIDI editing scripts (such as Warp, Stretch etc) respond to mousewheel control by, for example, changing the shape of the curve of flipping event positions.

Linking each script to its own mousewheel modifier is not ideal, since it would mean that the user must remember several modifier combinations, one for each script.

An easier option is to link a single mousewheel+modifier shortcut to one of the following scripts, which will then broadcast mousewheel movement to any js script that is running:

* js_Run the js_'lane under mouse' script that is selected in toolbar
* js_Mousewheel - Control js MIDI editing script (if one is running), otherwise scroll up or down
* js_Mousewheel - Control js MIDI editing script (if one is running), otherwise zoom horizontally


-----------------------------------------------------------------------

LFO Tool
The mighty LFO Tool has its own thread.


General tools
* MIDI Inspector: A MIDI Inspector that improves on the native Properties windows in several ways.
* Insert empty space in time selection -- without moving MIDI and tempo markers off the grid

MIDI editing tools
* Quick draw linear, sine or LFO curves

* 1-sided warp (accelerate)
* 2-sided warp (and stretch)
* Stretch
* Insert CC at mouse position, leaving others selected
* Compress or expand
* Tilt to mouse position
* Insert ramps between selected CCs

* Remove redundant CCs
* Deselect all MIDI events outside time selection

* 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

* Split / Trim notes by drawing a line with the mouse
* Select and deselect MIDI notes by step pattern

Tools for multi-channel MIDI editing
(Described in another thread.)
* Option - Selecting single note or CC in active take sets channel for new events
* Option - Switching active take sets channel for new events to channel of existing events
* Set MIDI send channel of selected tracks to channel of existing MIDI events in track
* Deselect all MIDI except in active channel of active take
* Set MIDI send channel of selected tracks to channel of existing MIDI events in track
* Autoincrement MIDI send channels of selected tracks

Notation scripts
* Select all notes that have customized display lengths or positions
* Set beaming of selected notes to custom rhythm
* Set display length of selected notes to double and add staccato articulation
* Set display length of selected notes to quadruple and add staccatissimo articulation
* Set displayed length of selected notes to custom value

Inline MIDI editor
Most of the MIDI editing scripts will also work in the inline editor.
* Select active MIDI channel
* Select CC lanes to show

... and many other scripts! Please browse through the ReaPack repository for the "js_" scripts.

--------------------
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
Attached Images
File Type: png MIDI Inspector with FileBox eXtender pin-on-top button.png (9.4 KB, 1116 views)

Last edited by juliansader; 06-01-2018 at 02:06 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: 2,054
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: 2,054
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: 2,054
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)

* If the initial mouse position is within a CC lane or the piano roll, the script will stretch only events in that lane.

* If the initial position is over a lane divider, the script will stretch ALL selected events in all lanes together.

* Depending on initial mouse position, the script will stretch from the left side, right, top or bottom:


Last edited by juliansader; 07-18-2018 at 12:01 AM.
juliansader is online now   Reply With Quote
Old 05-14-2016, 11:45 PM   #5
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
Default Arch events with sine, linear or power curve

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. (Almost like an advanced version of the Tilt script.)
* 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.


Last edited by juliansader; 05-25-2018 at 05:40 AM.
juliansader is online now   Reply With Quote
Old 05-14-2016, 11:46 PM   #6
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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   #7
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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, 01:11 AM   #8
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
Default Select and deselect MIDI notes by step pattern

EDIT 08-01-2016:


TIPS:
If it seems that the script does not apply the correct pattern, perhaps check the following:
~ Are the notes in the editor's active take?
~ Are the MIDI editor's grid setting correct? If the grid length is longer than the distance between the notes' start positions, the script will regard all these notes as a single chord or glissando.

This script works well with the "js_Deselect all notes outside time selection (from all takes).lua" script. Use the piano roll keys to select all notes in a range of pitches, and then run the Deselect script to limit the note selection to the time selection.

Last edited by juliansader; 05-25-2018 at 05:46 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 01:11 AM   #9
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
Default MIDI Inspector

EDIT 2016-08-20:

js_MIDI Inspector:



This script opens a GUI that shows important information about the active MIDI take, selected notes, and selected CCs.

The script improves on REAPER's native Properties windows in several ways:
* The GUI is continuously updated and does not interfere with MIDI editing.
* If multiple events are selected, value ranges are shown.
* Note, CC and take information are all shown simultaneously.
* Note and CC positions can be displayed in any of REAPER's time formats.
* The GUI can be docked.

In addition, the script clearly shows the take's default insert channel, and allows the user to change the channel. This crucial setting is hidden in the default MIDI editor.

Click on any of the highlighted values to open a Properties window or a dropdown menu in which the values can be changed.

The default colors of the GUI can be customized in the script's USER AREA.

Last edited by juliansader; 07-18-2018 at 12:00 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 03:16 AM   #10
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 5,008
Default

Impressive set of scripts ! well done !
X-Raym is offline   Reply With Quote
Old 05-15-2016, 03:39 AM   #11
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 573
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   #12
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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; 12-14-2017 at 11:08 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 05:21 AM   #13
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 4,563
Default

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

Tilt selected CCs or velocities to mouse position:
* The events are tilted to the exact value of the mouse position, so it is useful for precise positioning of ramps.

EDIT: The Arch scripts can also perform tilting, and the mousewheel can control the shape of the arching curve.



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

Last edited by juliansader; 12-14-2017 at 11:10 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 07:54 AM   #15
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 2,030
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   #16
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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   #17
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 2,030
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   #18
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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.
* Replace existing LFOs with new point shapes.

* Mousewheel switches between sine curve and linear/power curve.
* Move mouse to warp ramps into all kinds of weird shapes.



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

Last edited by juliansader; 06-01-2018 at 02:42 AM.
juliansader is online now   Reply With Quote
Old 05-15-2016, 10:53 AM   #19
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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   #20
dea-man
Human being with feelings
 
dea-man's Avatar
 
Join Date: Oct 2009
Posts: 6,081
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   #21
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,525
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   #22
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,058
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   #23
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,525
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   #24
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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   #25
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,525
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   #26
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Buenos Aires, Argentina
Posts: 848
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   #27
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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   #28
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Buenos Aires, Argentina
Posts: 848
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   #29
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,525
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   #30
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,525
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   #31
gwok
Human being with feelings
 
gwok's Avatar
 
Join Date: Jun 2010
Location: Nelson, BC
Posts: 3,310
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   #32
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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   #33
gwok
Human being with feelings
 
gwok's Avatar
 
Join Date: Jun 2010
Location: Nelson, BC
Posts: 3,310
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   #34
Soli Deo Gloria
Human being with feelings
 
Soli Deo Gloria's Avatar
 
Join Date: Oct 2013
Location: Buenos Aires, Argentina
Posts: 848
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   #35
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   #36
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,525
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   #37
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
Default Draw linear or curved ramps in real time, chasing start values

Draw linear or curved ramps -- or even LFOs -- in real time:

* If snap to grid is enabled in the MIDI editor, the endpoints of the ramp or LFO will snap to grid, allowing precise positioning of the inserted CCs (allowing, for example, the insertion of a pitch riser at the exact position of a note).

* When drawing linear or sine ramps, the mousewheel warps the shape of the ramp (allowing the easy insertion of parabolic shapes). When drawing LFOs, the mousewheel scroll through the available 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.

Draw basic LFOs:



Draw sine curve:




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; 06-01-2018 at 02:47 AM.
juliansader is online now   Reply With Quote
Old 05-17-2016, 05:33 PM   #38
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 2,054
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   #39
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 3,598
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 offline   Reply With Quote
Old 05-18-2016, 11:28 AM   #40
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
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:07 PM.


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