Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 07-08-2016, 07:01 AM   #81
lowellben
Human being with feelings
 
lowellben's Avatar
 
Join Date: Aug 2010
Location: They put me in a home.
Posts: 3,432
Default

Could you create a small, brief tutorial (either video or listed steps) on how to configure these new "Run 'lane under mouse' scripts" as toolbar icons for new or inexperienced users? It's hard to visualize how to coordinate these and it may be helpful for users.

Maybe? Just an idea!
__________________
47.8% of statistics are made up.
lowellben is offline   Reply With Quote
Old 07-08-2016, 07:33 AM   #82
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by lowellben View Post
Could you create a small, brief tutorial (either video or listed steps) on how to configure these new "Run 'lane under mouse' scripts" as toolbar icons for new or inexperienced users? It's hard to visualize how to coordinate these and it may be helpful for users.

Maybe? Just an idea!
The following instructions are included inside the js_Run script:

[TL/DR version:
1) Add all of the 'lane under mouse' scripts to the toolbar.
2) Link the js_Run script to a keyboard shortcut as well as a mousewheel shortcut.
3) Now any 'lane under mouse' script that is activated in toolbar can be run using the shortcuts assigned in step 2.]



Description:
This script helps to improve the UI by allowing js_ MIDI editing functions to be selected via toolbar buttons, similar to FL Studio and other DAWs.

Any js_ script that edits the 'lane under mouse' and that has been linked to a toolbar button can be run using a single keyboard shortcut that has been linked to this script -- therefore no more need to remember a different shortcut for each script.

This script currently works with the following js_ MIDI editing scripts:
~ Arch with sine curve
~ Arch with linear or power curve
~ Stretch
~ Tilt
~ Compress or expand
~ 1-sided warp (accelerate)
~ 2-sided warp (and stretch)
~ Draw linear or curved ramp in real time
~ Draw linear or curved ramp in real time (chasing start values)
~ Draw sine curve in real time
~ Draw sine curve in real time (chasing start values)
~ Split notes
~ Split selected notes
~ Trim notes
~ Trim selected notes
~ Remove redundancies (in lane under mouse)

Any user-customized variants of these scripts can also be added to the toolbar.

NOTE: The scripts listed above are those that work with events in the lane under mouse. Since the mouse needs to be positioned over the MIDI editor's CC lanes or notes area for these scripts to work, they cannot be run directly from toolbar buttons.

Scripts that work with events in the last-clicked lane (such as variants the LFO Tool or the Remove Redundancies script) can be run directly from the toolbar.

Instructions:
* This script must be linked to a keyboard shortcut (such as "S") as well as a mousewheel shortcut (such as Ctrl+mousewheel).
* This script should not be linked to a toolbar button.
* The js_ MIDI functions listed above should each be linked to a toolbar button. (They can also be linked to their own keyboard shortcuts, but this is not necessary.)
* To run the selected js_ MIDI function:
* 1) click its button, which will light up,
* 2) move the mouse to its position in the CC lane or notes area, and
* 3) press the shortcut key for this "Run the js_..." script.

Note: Since this script is a user script, the way it responds to shortcut keys and mouse buttons is opposite to that of REAPER's built-in mouse actions with mouse modifiers: To run the script, press the shortcut key *once* to start the script and then move the mouse *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".)

Last edited by juliansader; 02-08-2017 at 03:54 PM.
juliansader is offline   Reply With Quote
Old 07-08-2016, 07:38 AM   #83
lowellben
Human being with feelings
 
lowellben's Avatar
 
Join Date: Aug 2010
Location: They put me in a home.
Posts: 3,432
Default

Thank you so very much for this write-up guide.
__________________
47.8% of statistics are made up.
lowellben is offline   Reply With Quote
Old 07-08-2016, 10:38 AM   #84
strachupl
Human being with feelings
 
strachupl's Avatar
 
Join Date: Jan 2013
Posts: 648
Default

Quote:
EDIT 2016-06-24:
Split notes by drawing a line with the mouse
* Intended to mimic the functionality of FL Studio's Slice Tool.
I realise that it exist when i was exploring reapack. I love you for this!
strachupl is offline   Reply With Quote
Old 07-17-2016, 08:05 AM   #85
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Inserting new events in the wrong channel in the MIDI editor is an all-too-easy mistake to make, particularly after switching the active track. I have therefore uploaded three new scripts to ReaPack that will hopefully make it easier to set the appropriate MIDI channels for new events (and for track sends):

js_Option - Selecting single note or CC in active take sets channel for new events:

With this new option, the user can switch to the correct channel by simply clicking a note or CC of the new track. It is intended to be similar to the built-in action "Option: Drawing or selecting a note sets the new note length" (but for channel instead of note length).

js_Option - Switching active take sets channel for new events to channel of existing events:

If this option is activated, the default MIDI channel for new events will automatically be set to the channel of existing MIDI events in the newly active track, whenever the active track is switched. (If the existing MIDI events in the track use more than one channel, the default channel will be set one of these channels, usually - but not always - the channel of the very first event in the take.) The first MIDI event written to a track therefore determines the channel of subsequent events. This option emulates having a default channel per track, with the advantage that the user can still override the default channel when necessary.

js_Set MIDI send channel of selected tracks to channel of existing MIDI events in track:

Similar to the older js_Autoincrement MIDI send channels of selected tracks script, the new script is particularly useful when opening large MIDI files, to ensure that each track's MIDI is sent to a single, unique channel.

Last edited by juliansader; 07-17-2016 at 10:34 AM.
juliansader is offline   Reply With Quote
Old 07-17-2016, 09:22 AM   #86
lowellben
Human being with feelings
 
lowellben's Avatar
 
Join Date: Aug 2010
Location: They put me in a home.
Posts: 3,432
Default

Quote:
Originally Posted by juliansader View Post
Inserting new events in the wrong channel in the MIDI editor is an all-too-easy mistake to make, particularly after switching the active track. I have therefore uploaded three new scripts to ReaPack that will hopefully make it easier to set the appropriate MIDI channels for new events (and for track sends):

js_Option - Selecting single note or CC in active take sets channel for new events:

With this new option, the user can switch to the correct channel by simply clicking a note or CC of the new track. It is intended to be similar to the built-in action "Option: Drawing or selecting a note sets the new note length" (but for channel instead of note length).
Oh. My. Goodness. This is EXACTLY what my brain wants to have in Reaper but never could do it haha. THIS IS BRILLIANT. Selecting notes changes channel = GOLD. THANK YOU!!!!!!!!!!!!!
__________________
47.8% of statistics are made up.
lowellben is offline   Reply With Quote
Old 07-18-2016, 05:04 AM   #87
tvm79
Human being with feelings
 
Join Date: Jan 2014
Posts: 27
Default

Thanks for all the awesome scripts! They have helped my workflow immensely!

In Reaper I mostly use Kontakt, which usually use one midi channel per track. One annoyance in my workflow is that I manually have to change the items midi channel to match the tracks channel when opening in the midi editor.

Is it possible to "fix" this via scripting, so that when I create a new item and open it in the midi editor, the items channel corresponds to that of the tracks?

Thanks again for you hard work
tvm79 is online now   Reply With Quote
Old 07-18-2016, 10:59 AM   #88
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Ah, your post made me realize that the js_Option - Switching active take sets channel for new events to channel of existing events.lua script was not yet compatible with multi-item tracks. I have uploaded a new version 1.10 that should work better.

To quote from the script's Description:
Quote:
To find the channel, the script will first search through the newly active take to find MIDI events with usable channel info. If no such MIDI events are found (for example if the take is still empty) the script will search through other takes in the same track.

If no MIDI events are found anywhere in the track, the script will check whether the track has any MIDI sends, and will use the MIDI destination channel of the sends, if any.

(Therefore, by setting a MIDI send channel before drawing new MIDI events in the track, the send channel will act as the default channel for MIDI events in the track.)
If this new version does not solve your problem, could you please give some more details? (By "track channel" and "item channel", do you mean the send destination channel of the track or item, or do you mean the channel of the MIDI events inside the track or item?)
juliansader is offline   Reply With Quote
Old 07-19-2016, 02:51 AM   #89
tvm79
Human being with feelings
 
Join Date: Jan 2014
Posts: 27
Default

Hmm by the looks of the description, the script should function the exact way I wanted, but it seems like it won't use the default midi send of the track. I create a new track, set the midi send to «All -> 2», create a midi item and draw inn notes in the midi editor, but all notes are on the default channel «All Channels» (Channel 1).

I also came across a error msg as you can see towards the end of the clip (file was too big for stash, so had to "dropbox" it): https://dl.dropboxusercontent.com/u/...nnelScript.gif
tvm79 is online now   Reply With Quote
Old 07-19-2016, 03:41 AM   #90
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Could you please check that you are using v1.10? (Extensions -> ReaPack -> Synchronize packages.) According to the error message in the GIF, GetEvt is on line 60, which means that you are probably using v1.01 at the moment.

In the next version, I will try to find a workaround for the error message when items are deleted while the MIDI editor is open. (I also noted that sysex events may confuse the channel detector.)

EDIT: Unfortunately, it seems that the error message is due to a bug in the ReaScript API itself. I have reported it here: ReaScript: MIDIEditor_GetTake returns take object even if no take is active.

Last edited by juliansader; 07-19-2016 at 04:17 AM.
juliansader is offline   Reply With Quote
Old 07-19-2016, 03:58 AM   #91
lowellben
Human being with feelings
 
lowellben's Avatar
 
Join Date: Aug 2010
Location: They put me in a home.
Posts: 3,432
Default

Quote:
Originally Posted by juliansader View Post
Could you please check that you are using v1.10? (Extensions -> ReaPack -> Synchronize packages.) According to the error message in the GIF, GetEvt is on line 60, which means that you are probably using v1.01 at the moment.

In the next version, I will try to find a workaround for the error message when items are deleted while the MIDI editor is open. (I also noted that sysex events may confuse the channel detector.)
Just to confirm, the newest versions are:

js_Option - Selecting single note or CC in active take sets channel for new events.lua* v1.0

js_Option - Switching active take sets channel for new events to channel of existing events.lua* v1.10

Yes?
__________________
47.8% of statistics are made up.
lowellben is offline   Reply With Quote
Old 07-19-2016, 04:21 AM   #92
tvm79
Human being with feelings
 
Join Date: Jan 2014
Posts: 27
Default

Ah, you are correct, it works as intended. I thought I had updated Reapack, my bad. Thanks for taking the time helping me out, much appreciated
tvm79 is online now   Reply With Quote
Old 07-19-2016, 05:05 PM   #93
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by lowellben View Post
Just to confirm, the newest versions are:

js_Option - Selecting single note or CC in active take sets channel for new events.lua* v1.0

js_Option - Switching active take sets channel for new events to channel of existing events.lua* v1.10

Yes?
Yep

EDIT: The Switching script has been updated to v1.11.

Last edited by juliansader; 07-22-2016 at 04:28 AM.
juliansader is offline   Reply With Quote
Old 08-01-2016, 06:45 AM   #94
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default Select and deselect MIDI notes by step pattern

Select and deselect notes by drawing a pattern in the GUI.

The script offers two modes:
* Step pattern
* Measure division



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; 03-31-2019 at 03:00 PM.
juliansader is offline   Reply With Quote
Old 08-01-2016, 08:53 AM   #95
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

That is super useful!
__________________
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 08-07-2016, 07:20 PM   #96
lowellben
Human being with feelings
 
lowellben's Avatar
 
Join Date: Aug 2010
Location: They put me in a home.
Posts: 3,432
Default

Quote:
Originally Posted by juliansader View Post
You.
Are.
A.
GENIUS.
BRILLIANT.
__________________
47.8% of statistics are made up.
lowellben is offline   Reply With Quote
Old 08-14-2016, 03:12 PM   #97
run_esc
Human being with feelings
 
Join Date: Mar 2016
Location: Victoria, BC
Posts: 198
Default

juliansader, I just want to say, these scripts have breathed new life into Reaper as an electronic music DAW for me. Great stuff, thank you!
run_esc is offline   Reply With Quote
Old 08-15-2016, 07:05 PM   #98
run_esc
Human being with feelings
 
Join Date: Mar 2016
Location: Victoria, BC
Posts: 198
Default

Actually I noticed something -- when I run some of your scripts, it changes Reaper's keyboard input to French . So it makes some key commands etc that I set up unavailable until I restart Reaper. Rest of the interface remains in English, took a bit of narrowing down, but I'm sure it's happening when I run these (awesome) scripts.
run_esc is offline   Reply With Quote
Old 08-15-2016, 11:36 PM   #99
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by run_esc View Post
Actually I noticed something -- when I run some of your scripts, it changes Reaper's keyboard input to French . So it makes some key commands etc that I set up unavailable until I restart Reaper. Rest of the interface remains in English, took a bit of narrowing down, but I'm sure it's happening when I run these (awesome) scripts.
This is very weird...

I am not sure, but I suspect that Windows' own keyboard shortcuts are intercepting and interfering with the shortcuts that you are setting up for the scripts. For Windows 7, the default shortcut to change language is Shift+LeftAlt, and Shift+Control to change keyboard layout. Windows can remember a different language for each application, so if you accidentally change language while trying to use the scripts, it will probably only change for REAPER.

Personally I have deactivated most of Windows' keyboard shortcuts, including the ones that use the Win key, so that I can use all of them for REAPER commands.

If these Windows shortcuts are not the source of the problem, could you please let me know which scripts are causing the problem, and which shortcuts you are using? Hopefully we can quickly solve any bugs!

Last edited by juliansader; 08-16-2016 at 03:05 AM.
juliansader is offline   Reply With Quote
Old 08-19-2016, 03:50 AM   #100
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Posts: 3,669
Default

julian, are you the person who will finally implement an FR i've had for more than a year now, which is "select most recently recorded midi data?"

as in data recorded in the last take/overdub? this would really help for quantizing stuff laid down via drumpads/electronic drumset, and then subsequent overdubs.
__________________
mccrabney scripts: MIDI edits from the Arrange screen ala jjos/MPC sequencer
|sis - - - anacru| isn't what we performed: pls no extra noteons in loop recording
| - - - - - anacru|sis <==this is what we actually performed.
mccrabney is offline   Reply With Quote
Old 08-20-2016, 04:12 AM   #101
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by mccrabney View Post
julian, are you the person who will finally implement an FR i've had for more than a year now, which is "select most recently recorded midi data?"

as in data recorded in the last take/overdub? this would really help for quantizing stuff laid down via drumpads/electronic drumset, and then subsequent overdubs.
I would love to help! If possible...

Unfortunately I am not very familiar with live MIDI recording and the workflow problems -- are there perhaps Feature Request discussion threads and GIFs somewhere that I can take a look at? (If not, I think we should open a separate Feature Request thread where the issue can be discussed in more detail.)

* As far as I know, MIDI recording can be set to create a new take or item for each loop -- would this setting solve your problem?

* Could you please elaborate on the part that quantizing plays in the problem?
juliansader is offline   Reply With Quote
Old 08-20-2016, 04:57 AM   #102
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

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.

NOTE: This is a beta release, so please let me know if there are any bugs.

Last edited by juliansader; 06-01-2018 at 02:39 AM.
juliansader is offline   Reply With Quote
Old 08-20-2016, 05:40 AM   #103
lowellben
Human being with feelings
 
lowellben's Avatar
 
Join Date: Aug 2010
Location: They put me in a home.
Posts: 3,432
Default

Quote:
Originally Posted by juliansader View Post
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.

NOTE: This is a beta release, so please let me know if there are any bugs.
Julian the js_MIDI Inspector looks like a dream come true Wow. Amazing.
__________________
47.8% of statistics are made up.
lowellben is offline   Reply With Quote
Old 08-20-2016, 10:00 AM   #104
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
Default

midi inspector looks amazing 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 08-20-2016, 10:14 AM   #105
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Quote:
Originally Posted by lowellben View Post
Julian the js_MIDI Inspector looks like a dream come true Wow. Amazing.
OMG !
vanhaze is offline   Reply With Quote
Old 08-20-2016, 11:57 AM   #106
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

EDIT: The channel bug has been fixed in REAPER v5.24.

v0.92 is online! (Bug fix: GUI gets updated as soon as a new default channel is selected.)

WARNING: Please note that there is a bug in REAPER's actions for changing the default channel for new events ("Set channel for new events to 1 [...16]"): These actions may inappropriately activate the MIDI editor's event filter (as set in the Filter window). Changing the default channel via a script (or by running the actions directly) may therefore render some notes or CCs invisible until the filter is deactivated.

This bug affects the MIDI Inspector script, as well as these two scripts:
* js_Option - Switching active take sets channel for new events to channel of existing events
* js_Option - Selecting single note or CC in active take sets channel for new events

To everyone who is concerned about the reliability of user scripts: Please support the aforementioned bug report, as well as these:
* Using MIDI_SetNote with noSort=true to move notes onto same pitch causes extended notes
* MIDI_GetNote returns endppqpos different from visual appearance in editor
* MIDI_DeleteNote ADDS note to another pitch

Last edited by juliansader; 09-11-2016 at 11:19 AM.
juliansader is offline   Reply With Quote
Old 08-20-2016, 03:45 PM   #107
run_esc
Human being with feelings
 
Join Date: Mar 2016
Location: Victoria, BC
Posts: 198
Default

Quote:
Originally Posted by juliansader View Post
This is very weird...

I am not sure, but I suspect that Windows' own keyboard shortcuts are intercepting and interfering with the shortcuts that you are setting up for the scripts. For Windows 7, the default shortcut to change language is Shift+LeftAlt, and Shift+Control to change keyboard layout. Windows can remember a different language for each application, so if you accidentally change language while trying to use the scripts, it will probably only change for REAPER.

Personally I have deactivated most of Windows' keyboard shortcuts, including the ones that use the Win key, so that I can use all of them for REAPER commands.

If these Windows shortcuts are not the source of the problem, could you please let me know which scripts are causing the problem, and which shortcuts you are using? Hopefully we can quickly solve any bugs!
Hi juliansader, you were correct -- it was the Windows default shortcuts. Apologies for not getting back sooner, problem resolved (and my fault!). Thanks again for your work on these.
run_esc is offline   Reply With Quote
Old 08-25-2016, 07:56 AM   #108
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Posts: 3,669
Default

any way that the line slice tool could respect "hide unused/unnamed note rows?" right now it kind of explodes the midi editor.
__________________
mccrabney scripts: MIDI edits from the Arrange screen ala jjos/MPC sequencer
|sis - - - anacru| isn't what we performed: pls no extra noteons in loop recording
| - - - - - anacru|sis <==this is what we actually performed.
mccrabney is offline   Reply With Quote
Old 08-25-2016, 08:48 AM   #109
lowellben
Human being with feelings
 
lowellben's Avatar
 
Join Date: Aug 2010
Location: They put me in a home.
Posts: 3,432
Default

Quote:
Originally Posted by mccrabney View Post
any way that the line slice tool could respect "hide unused/unnamed note rows?" right now it kind of explodes the midi editor.
Ah indeed just saw that! Damn.
__________________
47.8% of statistics are made up.
lowellben is offline   Reply With Quote
Old 09-11-2016, 10:05 AM   #110
Phoby
Human being with feelings
 
Join Date: Sep 2009
Location: Why...here of course
Posts: 20
Default

Just seen this set of tools today, but I can't get them to run.
I'm trying to use the 'Insert Linear or Shaped Ramps' script.
I have it installed via ReaPack. Have tried a few others of Julian Sader, but all seem to be the same result
I've tried opening the script via a toolbar button and via a shortcut, but neither seem to work.


Using a keyboard shortcut, I get the following message:

"ERROR:
The mouse should be positioned over a CC lane in which ramps can be drawn: 7-bit CC, 14-bit CC, pitchwheel or channel pressure.

(To prevent future error messages, set 'verbose' to 'false' in the USER AREA near the beginning of the script.)"

My mouse is positioned over a Velocity lane, so I don't know why the error is coming up

Using a Toolbar button, nothing happens at all.

I get no dialogue box opening ( have not touched User settings so default is for dialogue to open )
Tried SWS 2.8.3 and 2.8.7

If I try another script like 'Envelope LFO generator' from Xenakios that is ok.

I'm very new to Scripts ( today really ), so there is probably something really simple I have missed. I've read through various forum posts that would seem to be relevant, but still can't find if I'm being daft and missing a setting or something.

Running 64Bit REAPER latest 5.25pre5 on Windows 8.1, 64bit on Intel i7

Hopefully, somebody can point out the error of my ways...
Phoby is offline   Reply With Quote
Old 09-11-2016, 11:10 AM   #111
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Hi Phoby, welcome to the wonderful world of scripts! I hope they will make your MIDI editing much more efficient.

The fact that you are getting the error message means that you have loaded the script and keyboard shortcut correctly. However, as the error message points out, when you start the script, your mouse must be positioned over a type of lane in which ramps can be drawn (7-bit CC, 14-bit CC, pitchwheel or channel pressure) - not the velocity lane, since the script draws CCs, not notes.

Some of the other scripts, such as Warp, Tilt, Arch, Compress etc, do work in the velocity lane, since they edit pre-existing notes.

Where relevant, the name of the script indicates whether it will work on the the "lane under mouse" or the "last clicked lane". (This is the same terminology that the SWS actions use.) In the case of the ramp script, for example, the full name is "js_Insert linear or shaped ramps between selected CCs or pitches in lane under mouse".

To select a script via the toolbar, please refer to post 85 above.

Last edited by juliansader; 09-11-2016 at 11:54 AM.
juliansader is offline   Reply With Quote
Old 09-11-2016, 12:40 PM   #112
Phoby
Human being with feelings
 
Join Date: Sep 2009
Location: Why...here of course
Posts: 20
Default

Hi Julian,

Thanks for replying.

I'm afraid that something else is wrong other then me not using it in a CC lane. I have tried to use it on CC and Pitch messages, but still nothing works.

On the off chance that something was corrupt in my REAPER project,
I completely closed my project and then opened a blank fresh one.
I actually got one of the scripts to work, dialog box opened and I could alter the MIDI CC messages.

I then shut down that MIDI window and tried another and I'm now back to the script not working again.
Tried closing the project and opening a fresh one, but the result is still the same at not working again.

Even tried rebooting Windows and opening REAPER, but still the same.

Corruption, mouse setting amiss ?

EDIT:
Actually, I think I'm just not doing all that is necessary to get it to work. Having read your post of 85 above, I see that I have to do a Shortcut as well as a Mousewheel setting.
Sorry for troubling you...it would seem that I maybe being a bit daft and not correctly applying the controls neccessary for the task.

Hopefully, I can get somewhere now.

Thanks.

Last edited by Phoby; 09-11-2016 at 01:04 PM.
Phoby is offline   Reply With Quote
Old 09-11-2016, 12:58 PM   #113
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Could you perhaps upload some GIFs of what is happening?

Points to check (I assume you are still trying the "Insert ramp" script):
* Have you read the Description and Instructions inside the script, and do they make sense?
* Have you inserted two or more CCs/pitches in the lane in which you want to draw the ramp?
* Are these CCs/pitches selected?
* Is the MIDI editor in focus?
* Is the mouse positioned above the correct lane?
juliansader is offline   Reply With Quote
Old 09-18-2016, 02:10 PM   #114
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

MAJOR ReaScript bug fix in 5.25rc2!

There have been scary reports of ReaScripts - as well as SWS functions - causing extended notes and freezing REAPER, even though no overlapping notes are present.

We finally traced the problem to this bug: ReaScript: MIDI_Sort extends non-overlapping notes that end in Note-Ons with vel=0.

The bug is now fixed in 5.25rc2. It also fixes some essential SWS functions such as SWS/BR: Enable "Ignore project tempo" for selected MIDI items and preserve time position of events (use tempo at item's start).
juliansader is offline   Reply With Quote
Old 09-23-2016, 10:48 AM   #115
ceanganb
Human being with feelings
 
Join Date: May 2009
Location: Brazil
Posts: 323
Default

Hey, Julian, the MIDI Inspector does not stay on top when i click on the piano roll. Is there a way of setting it ´always on top´?

Thanks.
__________________
Ceanganb
ceanganb is offline   Reply With Quote
Old 09-23-2016, 03:21 PM   #116
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by ceanganb View Post
Hey, Julian, the MIDI Inspector does not stay on top when i click on the piano roll. Is there a way of setting it ´always on top´?

Thanks.
Unfortunately, REAPER's "pin" feature ignores script GUIs. There is an open Feature Request thread for this: add 'always on top' pin for EEL script GUI's. Please vote in the thread!

So to keep script GUIs on top, you need to use your OS's own features or 3rd party software:

* In Linux WINE KDE, you can easily set up a Window Rule to automatically detect any "MIDI Inspector" child windows and then 1) position the GUI in the MIDI editor, 2) remove the window borders, and 3) keep the GUI on top. The MIDI Inspector GUI therefore looks exactly like an integrated part of the MIDI editor!

* In Windows, you can use 3rd party software such as TurboTop or FileBox eXtender. I personally use FileBox eXtender on my Windows DAW.

(EDIT: I forgot to mention that you can also dock the Inspector! The docker should have REAPER's own pin-on-top function, or you can place the docker in the main window. This is in fact why I included the "Dock" checkbox.)

Last edited by juliansader; 09-23-2016 at 11:36 PM.
juliansader is offline   Reply With Quote
Old 09-24-2016, 03:07 AM   #117
pinksoir
Human being with feelings
 
pinksoir's Avatar
 
Join Date: Aug 2012
Posts: 214
Default

These are really fantastic and bring Reaper's MIDI capability to a whole new level. They should be part of the program as standard.
__________________
Bear Worship on Bandcamp
pinksoir is offline   Reply With Quote
Old 09-24-2016, 04:18 AM   #118
ceanganb
Human being with feelings
 
Join Date: May 2009
Location: Brazil
Posts: 323
Default

Quote:
Originally Posted by juliansader View Post
* In Windows, you can use 3rd party software such as TurboTop or FileBox eXtender. I personally use FileBox eXtender on my Windows DAW.
Voted! And thanks for the hints!
__________________
Ceanganb
ceanganb is offline   Reply With Quote
Old 10-25-2016, 10:12 AM   #119
gofer
-blänk-
 
gofer's Avatar
 
Join Date: Jun 2008
Posts: 11,359
Default

I am very late to the party, but I guess it's never too late to say WOW I knew from screencaps around the forum that these are some awesome scripts, but man, these ARE awesome scripts!

As of the function of the compress/expand script, it is very versatile, way cool. But much more often I need something a lot simpler. Something a bit like your "stretch selected events", but vertically. Lowest values would be anchored and stay fixed while the mouse position would define the highest value.
The same results can be had with your compress/expand by having the mouse cursor exactly at the bottom of the lane and mouse-wheeling, but I believe it would be much nicer and faster to handle. It's a task that comes up so often.
For pitch and pan it would keep the center values fixed while mouse position defines the furthest (farthest??) derivation, maybe it could even swap polarity if the mouse is in the lower half of the lane

Another wish that came up is a mirrored "stretch selected events", which does the same as the existing one, but anchors the right side and moves the left side.
[I]EDIT: Oh, this one was maybe easier than I thought, at least I think I got it (by tweaking the newPPQpos math line and the exception for notes)
Code:
 -- Except if stretching notes, in which case note-on and note-off cannot be switched around:
    if destPPQpos >= lastPPQpos+#events and (mouseLane == 0x200 or mouseLane == 0x207) then
        destPPQpos = firstPPQpos
    end

...and...

newPPQpos = math.floor(lastPPQpos - (events.PPQ - lastPPQpos)*stretchFactor + 0.5)


seems to have done the trick. Thanks to your superclean code and the fine comments.
It really complements the existing one nicely, maybe you want to add it to your repository.
/edit


Not begging, but thought maybe you'd find the ideas useful, too. I'd go in myself, if I had that much brain. But even with your very detailed comments in the scripts, that task is way over my head

Anyway, mucho respect and thanks for all these cool toys!

Last edited by gofer; 10-25-2016 at 12:05 PM.
gofer is offline   Reply With Quote
Old 10-25-2016, 04:16 PM   #120
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by gofer View Post
I am very late to the party, but I guess it's never too late to say WOW I knew from screencaps around the forum that these are some awesome scripts, but man, these ARE awesome scripts!
Thanks!


Quote:
Originally Posted by gofer View Post
Another wish that came up is a mirrored "stretch selected events", which does the same as the existing one, but anchors the right side and moves the left side.
Any suggestions for useful MIDI scripts are always welcome! I have uploaded a new version 2.10 of the stretching script that can stretch in both directions. If the mouse is placed to the left of the midpoint of the events' time range when the script starts, it will move the left side and use the rightmost event as anchor. And vice versa. (I have also removed the restriction on notes.) Please let me know if it works OK.
juliansader is offline   Reply With Quote
Reply

Thread Tools
Display Modes

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

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

Forum Jump


All times are GMT -7. The time now is 11:15 AM.


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