View Single Post
Old 04-09-2017, 12:47 PM   #203
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by hopi View Post
Julian... I'm not having sucess with the compress cc [velocity events] with the mousewheel script...

Can you help me out plz? I have it set to the key press of K, and I have it in a toolbar for the MIDI Ed.... but I never get it to work.
I suspect that you are having the same problem as dimitris above. Could you please check that a mousewheel+modifier has been assigned? (Either directly to the Compress script itself, or to the "js_Run" master control script?)

The script provides some instructions that can be read in REAPER's script editor, or via ReaPack's interface:

Code:
  # Instructions  
  To use:
  1) Select MIDI events to be compressed/expanded.
  2) Position mouse in lane.
      * The vertical position of the mouse is the value to/from which the events will be compressed/expanded, 
      * If the horizontal position of the mouse is within the time range of the selected events, all events will be compressed/expanded with the same factor.
      * If the horizontal position of the mouse is outside the time range, events that are closer to the mouse will be compressed/expanded more than events further away.
  3) Press shortcut key.
  4) Scroll mousewheel to compress or expand the event values.
      * Scroll down to compress, or up to expand.
  5) Move mouse up or down to change the value to/from which the events are compressed/expanded.
  6) To exit, move mouse out of CC lane, or press shortcut key again.
          
  The resolution (i.e. speed) of compression/expansion can be customized by changing the 
      "compressResolution" variable in the USER AREA, near the top of the script.
        
        
  This script therefore requires:
    * a keyboard shortcut to start the script, as well as
    * a mousewheel modifier to control the extent of compression/expansion.
    
  
  KEYBOARD SHORTCUT
  
  There are two ways in which the script can be started via a keyboard shortcut:  
  
  1) First, the script can be linked to its own easy-to-remember shortcut key, such as "C".  
      (Using the standard steps of linking any REAPER action to a shortcut key.)
    
  2) Second, this script, together with other "js_" scripts that edit the "lane under mouse",
          can each be linked to a toolbar button.  
     - In this case, each script does not need to be linked to its own shortcut key.  
     - Instead, only the master control script, with the long name 
          "js_Run the js_'lane under mouse' script that is selected in toolbar.lua"
       needs to be linked to a keyboard shortcut.
     - Clicking the toolbar button will 'arm' the linked script (and the button will light up), 
          and this selected (armed) script can then be run by using the shortcut for the 
          aforementioned "js_Run..." script.
     - For further instructions - please refer to the "js_Run..." script.      
  
  Note: Since this function 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".)
  
  
  MOUSEWHEEL MODIFIER
  
  A mousewheel modifier is a combination such as Ctrl+Ctrl+mousewheel, that can be assigned to an
  Action, similar to how keyboard shortcuts are assigned.
  
  As is the case with keyboard shortcuts, the script can either be controlled via its own
  mousewheel modifier, or via the mousewheel modifier that is linked to the "js_Run..." control script.
  
  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.  (Mousewheel modifiers such as 
  Ctrl+Shift+mousewheel are more difficult to remember than keyboard shortcuts such as "C".)
  
  An easier option is to link a single mousewheel+modifier shortcut to the "js_Run..." script, 
  and this single mousewheel+modifier can then be used to control any of the other "lane under mouse" scripts. 
  
  NOTE: The mousewheel modifier that is assigned to the "js_Run..." script can be used to control 
      the other scripts, including the Compress/expand script, even if these scripts
      were started from their own keyboard shortcuts.
      
      
  PERFORMANCE TIPS
  
  * The responsiveness of the MIDI editor is significantly influenced by the total number of events in 
      the visible and editable takes. If the MIDI editor is slow, try reducing the number of editable and visible tracks.
      
  * 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.

Quote:
Originally Posted by hopi View Post
I was also wondering if it is not possible to have a script like that one work as 'armed'... you know, with a rt clk on the toolbar icon for it???
The standard arming method (right-click to arm and then left-click to run the action) actually does work - but only in the piano roll area, not in the CC lane. For some reason, REAPER's toolbar arming does not work in the CC lane. (I think I should submit a feature request, or bug report.) The Trim notes script, for example, can be run via the standard toolbar arming method.

Because of this problem, I coded my scripts so that they can be armed via left-clicking. For scripts such as Compress, you can arm the script by left-clicking on its toolbar button, and then use the keyboard shortcut that is linked to the "js_Run" master control script to run the armed action.


Last edited by juliansader; 04-09-2017 at 02:42 PM.
juliansader is offline   Reply With Quote