[RWP] Extending reaper with Reascript Macros

Chris Belle cb1963 at sbcglobal.net
Sat May 25 20:59:00 EDT 2013


I know Jim, reapers automation is maddning.

I only seemed to be able to do anything with read and write, I didn't get 
anything with touch.

And I couldn't get anything like a snapshot,
where you make a mark of where the faders are, only envelops of them moving 
but not staying where you left them.

With sonar, I just delete my automation and you can even delete spots, of 
automation and get things working nicely.

On the other hand,
splitting clips or events or items all the same thing really, but we'll call 
them items for reapers sake,
is the bomb, cross-fading audio, growing edges,
and sawing boards and gluing them back together is nicer than sonar's way of 
doing it.

I wish we had it all in one place, but hey, we do the best we can with what 
we got.



----- Original Message ----- 
From: "Jim Snowbarger" <Snowman at SnowmanRadio.com>
To: "Reapers Without Peepers" <rwp at reaaccess.com>
Sent: Saturday, May 25, 2013 6:51 PM
Subject: Re: [RWP] Extending reaper with Reascript Macros


> Hi guys,
> Regarding automating from the keyboard.
> I created two custom actions, one for increasing and one for decreasing 
> track volume.
> Since I wanted to go in 1db steps, and reaper alt up and down arrow goes 
> in .05 db baby steps
> The first approach was to make my custom actions consist of 20 track: 
> numdge volume up commands.
> Twenty of them.  These actions do in fact now move in 1db steps, and they 
> are recorded in automation.  Unfortunately, they are a bit sluggish, and 
> can only move at a rate of about 10 db per second.  That is what the 
> poster meant by poor performers.  Anybody brought up on hardware faders on 
> good old analog consoles would feel like they were mixing with led boots 
> on.
> Very sluggish, not at all agile.
>
> So, my second approach was to painfully dig through all the sws 
> extensions. I found a pair of xenakio actions, down around item 1326 in 
> the main list, which bump the selected track volumes by 1 db, and created 
> a pair of hot keys mapping to those.
> Those are much faster, still not the old analog snappiness, but almost 
> acceptable.
> But, they don't appear to record in automation.
> So, that's too bad.
>
> And yes, as Chris mentioned, when I record automation, and move my fader 
> somewhere, then stop the transport, the volume flops right back to where 
> it was.
> So, you play the file, and get this nice slow fade, followed by a sudden 
> jump back to the original volume at the point where I stopped recording. 
> I'm not sure why it doesn't leave it there.
>
> And, the undo history is a mess.  Even if you check the little checkbox in 
> the action definition about consolidating undo history, undoing whatever 
> you did in your last automation  session is pretty hairy.
> But, it seems like just doing it over erases the automation you recorded 
> in the previous session.  Seems like I remember having problems in Sonar, 
> where it recorded that in overdub mode, and you would get a mix of 
> conflicting controller messages.  but, this seems to do overwrite mode, so 
> that's nice.
>
> But, about automation modes.  This was partially described by one if 
> Indigo's snips.  It tseems that , touch, means that, when you stop moving 
> your fader, the automation recording stops too.  The transport continues 
> to move, but the volume reverts back to where it was just before you 
> started moving the control.  So, it's for modifying the control slightly 
> during a short passage, then returning it back to the original without you 
> actually having to do the work to get it back there.
>
> Latch, makes less sense.  It seems like latch prevents you from modifying 
> voluem at all.  I was hoping that might cause it to stay where you  put it 
> after you stop recording automation.  But, that doesn't seem to be the 
> case.
>
> More later, should I actually manage to learn any.
>
>
>
>
>
>
>
> ----- Original Message ----- 
> From: "Indigo" <33indigo at charter.net>
> To: "Reapers Without Peepers" <rwp at reaaccess.com>
> Sent: Friday, May 24, 2013 3:25 PM
> Subject: Re: [RWP] Extending reaper with Reascript Macros
>
>
>> Thanks, TheOreoMonster,
>> Sounds easy enough.
>> I know how to drag in Wineyes, which is what I use on my actual daw, so 
>> that's no problem.
>> I should learn how NVDA drags.
>>
>> By the way, you can get the action list online, which has some 
>> advantages, especially if you save a copy of it in your documents folder; 
>> just to spend time looking for useful actions.
>> Yes, you can also save a document copy of the actions list from Reaper 
>> itself, but it won't have all the SWS and Xenakios actions until you 
>> download them.
>>
>> Here's a link to the actions list online, and look at the SWS and 
>> Xenakios actions.
>> Those are already scriptts, which you can include among the native Reaper 
>> actions; so you're making a script calling scripts.
>> http://wiki.cockos.com/wiki/index.php/Action_List_Reference
>>
>> To get the SWS actions, go to:
>> http://www.standingwaterstudios.com
>>  and sign up, download the installer; then install it, then you can 
>> download all those SWS actions into Reaper.
>> I notice that Snapshots are a big feature in the SWS and Xenakios 
>> actions, but don't know if they're used the same way Sonar uses 
>> Snapshots.
>> I also notice that one of the SWS actions is to run the action marker 
>> currently under the cursor.
>> There also are actions to wait until the end of the current loop that is 
>> playing; or the current measure that's playing, to run an action.
>> You have a bunch of auto actions to imbed into the music tracks.
>> Thanks,
>> Indi
>>
>> On 5/24/2013 12:12 PM, Monkey Pusher wrote:
>>> in the actions list dialogue box just pass where you can assign a
>>> short cut to an action in the action list is Custom Action. click on
>>> the new button  just past the  words custom action.. It will  bring up
>>> a new dialog. there is a filter edit box you can use to search for
>>> action, An edit box to name your custom actions, and tehn two tables
>>> of list like the action list dialog has. The first one is where u
>>> select the actions  yo want. You drag them into the second dialogue
>>> box in the order you want to chaing them in. Once done You save it.
>>> check the show in actions list check mark if u want to be able to find
>>> it in the normal action list. and click ok. Back in the normal action
>>> list, you can find it and assign a short cut key to it like would any
>>> other action.
>>>
>>> On 5/24/13, Indigo <33indigo at charter.net> wrote:
>>>> I've assigned shortcuts to single actions, but don't know how to chain
>>>> actions together yet, just haven't got round to trying it.
>>>> Many things are simpler than we think when we finally try them.
>>>> Thanks for your tip,
>>>> Indi
>>>>
>>>> On 5/24/2013 7:41 AM, TheOreoMonster wrote:
>>>>> for most macro style things you may not even need to write a script. 
>>>>> You
>>>>> can make custom actions by chaining together a number of different 
>>>>> actions
>>>>> and assigning them shortcut key
>>>>>
>>>>> On May 19, 2013, at 12:25 PM, Indigo <33indigo at charter.net> wrote:
>>>>>
>>>>>> Yeh, I intend to write the script I need, to start a recording, then 
>>>>>> wait
>>>>>> a certain number of seconds before executing the next action, then 
>>>>>> stop
>>>>>> recording at the end of measure.
>>>>>> I don't like having to time it in seconds to get a 2 or 4 measure
>>>>>> recorded loop; since that will break when I change tempo 
>>>>>> sufficiently.
>>>>>> I thought I found something in the ReaScript help about recording 2
>>>>>> beats;.
>>>>>> If I can find that action again; I could string enough of those 
>>>>>> together
>>>>>> to make 2 or 4 measures.
>>>>>> I don't comprehend why there isn't an action for record 1 measure, or 
>>>>>> why
>>>>>> the length of recording in preferences doesn't change to measures and
>>>>>> beats when I change the project settings to measures/beats.
>>>>>> When you learn that reaper itself is made of thousands of these 
>>>>>> scripts,
>>>>>> you understand why it is amazingly malliable, also why there are huge
>>>>>> gaps in its features that need filling.
>>>>>> It's for sure not perfect, but it is changeable; ; given enough time 
>>>>>> and
>>>>>> energy.
>>>>>> When we learn enough, I'll bet we can counter any breakages that 
>>>>>> might
>>>>>> occur with future versions as they might occur.
>>>>>> That help file you get with alt+h, then arrow down to HTML Files Auto
>>>>>> Generated, then arrow right to 3 lists, mouse modifiers, ReaScript 
>>>>>> and
>>>>>> actions is nothing short of mind dazzling.
>>>>>>
>>>>>> I can just feel the huge power for us in the mouse modifiers.
>>>>>> We'll run the mouse with its power with a shortcut.
>>>>>> I had that way back in Atari ST days, when I used a simple macro 
>>>>>> recorder
>>>>>> to record the mouse moves and clicks my sighted wife did, then edited 
>>>>>> out
>>>>>> the extra time; leaving only enough time for the computer to carry 
>>>>>> out
>>>>>> the actions.
>>>>>> Mouse moves went fast as light.
>>>>>> No sighted user could move the mouse that fast.
>>>>>> Oh, Jim, I discovered the right click context menu with the actions 
>>>>>> list;
>>>>>> which also has a selection to copy the ID's to clipboard.
>>>>>> Once you click on Show ID's, they remain displayed anywhere you go in 
>>>>>> the
>>>>>> actions list.
>>>>>> Here's a page from the forums, explaining the difference between 
>>>>>> scripts,
>>>>>> macros, actions and Auto Hot Key scripts to Reaper.
>>>>>> This tells me that we're better off working with native actions and
>>>>>> scripts that don't get broken easily, as AHK scripts can:
>>>>>> Snip:
>>>>>> Cockos Confederated Forums > REAPER Forums > JS and ReaScript 
>>>>>> Discussion
>>>>>> Reaper/custom/extension action command IDs and strings
>>>>>> 12-02-2009, 06:51 AM
>>>>>>    #1
>>>>>> schwa
>>>>>> Administrator
>>>>>> : 7,276
>>>>>> Default Reaper/custom/extension action command IDs and strings
>>>>>>
>>>>>> This will be of interest only to extension developers, ReaScript 
>>>>>> authors,
>>>>>> and AutoHotKey users.
>>>>>>
>>>>>> For context:
>>>>>>
>>>>>> Reaper native actions are the set of actions that appear in the 
>>>>>> action
>>>>>> dialog (press the ? key) for all users.
>>>>>>
>>>>>> Reaper custom actions are action lists (essentially macros) that are
>>>>>> created by users, and appear at the top of the action list as 
>>>>>> "Custom:
>>>>>> actionname".
>>>>>>
>>>>>> ReaScript allows users to create scripts in Python that do many of 
>>>>>> the
>>>>>> same things that extensions can do. ReaScripts can be loaded as 
>>>>>> actions
>>>>>> and appear in the action dialog as "Custom: scriptname".
>>>>>>
>>>>>> Reaper extensions are compiled add-ins created by developers (such as 
>>>>>> the
>>>>>> redoubtable SWS and Xenakios) to add functionality to Reaper. Regular
>>>>>> users download and install the extensions, and the extended functions
>>>>>> then appear in the action dialog as (for example) "SWS: actionname".
>>>>>>
>>>>>> AutoHotKey is a 3rd-party application, nothing to do with Reaper, 
>>>>>> that
>>>>>> can be used to create macros that send commands directly to windows 
>>>>>> on
>>>>>> your screen.
>>>>>>
>>>>>> Every native, custom, and extension action in Reaper has a command 
>>>>>> ID.
>>>>>> This is a unique number that identifies the action. ReaScript users 
>>>>>> can
>>>>>> invoke any action via functions like RPR_Main_OnCommand and
>>>>>> RPR_MIDIEditor_OnCommand. SWS extension users can use the command IDs 
>>>>>> in
>>>>>> SWS marker actions. AHK users can invoke any action by sending the
>>>>>> command ID to the Reaper window.
>>>>>>
>>>>>> No other users will ever care about command IDs. If you don't fit any 
>>>>>> of
>>>>>> the descriptions in the previous paragraph (or if you don't 
>>>>>> understand
>>>>>> any of this) then you don't need to worry about it and can happily go
>>>>>> back to recording whatever awesome music you were just about to 
>>>>>> record.
>>>>>>
>>>>>> You can see command IDs for each action by scrolling to the right in 
>>>>>> the
>>>>>> action dialog. Only Reaper native actions have command ID numbers 
>>>>>> that
>>>>>> never change. These are the only command ID numbers that are 
>>>>>> completely
>>>>>> safe to use in any of these contexts.
>>>>>>
>>>>>> Custom, ReaScript, and extension actions are assigned command ID 
>>>>>> numbers
>>>>>> when Reaper starts up. This is because Reaper doesn't know until it 
>>>>>> loads
>>>>>> how many non-native actions will be added. Therefore, these command 
>>>>>> ID
>>>>>> numbers can change from run to run. For example if you add or delete 
>>>>>> a
>>>>>> custom action, ReaScript, or extension dll, or if the extension 
>>>>>> itself is
>>>>>> updated, then any or all of the non-native command ID numbers can 
>>>>>> change.
>>>>>> The ID numbers themselves can't be relied on unless the set of 
>>>>>> non-native
>>>>>> commands never changes.
>>>>>>
>>>>>> Non-native actions are stored with a command ID string that Reaper 
>>>>>> uses
>>>>>> at load time to assign unique command ID numbers. The command ID 
>>>>>> string
>>>>>> never changes and can be relied on.
>>>>>>
>>>>>> ReaScript authors should use RPR_NamedCommandLookup to convert 
>>>>>> non-native
>>>>>> command ID strings to numbers within the script. Otherwise, the 
>>>>>> script
>>>>>> isn't guaranteed to always work.
>>>>>>
>>>>>> Unfortunately AHK users don't have a choice, AHK doesn't have 
>>>>>> anything to
>>>>>> do with Reaper so it doesn't have any way to look up command ID 
>>>>>> numbers.
>>>>>> Whenever non-native actions change, AHK scripts that use non-native
>>>>>> actions may break and will need to be updated.
>>>>>> End Snip.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 5/18/2013 10:43 PM, Jim Snowbarger wrote:
>>>>>>> I think the first step on this is to install Python on your machine,
>>>>>>> and
>>>>>>> learn to write the simplest possible Python script.  That's about 
>>>>>>> where
>>>>>>> I am right now.  Your python scripts can be as complicated as you 
>>>>>>> can
>>>>>>> imagine, but they dont' have to be.  You won't need to be a Python
>>>>>>> expert to string actions together.  It looks like that will be quite
>>>>>>> simple.  About how to tell Reaper what hot key to connect to the
>>>>>>> script,  Haven't gotten there yet.  But, this link Indigo provided 
>>>>>>> is
>>>>>>> pretty instructive.  So, it's all there.
>>>>>>>
>>>>>>> time,  all it takes is time.  Anybody got enough of it?
>>>>>>>
>>>>>>> ----- Original Message ----- From: "Nadine Jahns"
>>>>>>> <beats4thenation at gmail.com>
>>>>>>> To: "Reapers Without Peepers" <rwp at reaaccess.com>
>>>>>>> Sent: Friday, May 17, 2013 2:49 AM
>>>>>>> Subject: Re: [RWP] Extending reaper with Reascript Macros
>>>>>>>
>>>>>>>
>>>>>>>> Cool! I really have to try this out next week, when I'm back home!
>>>>>>>> Yesterday i looked shortly in the reascript documentation and 
>>>>>>>> totally
>>>>>>>> got lost :)!
>>>>>>>>
>>>>>>>> Am 17.05.2013 um 04:43 schrieb "Jim Snowbarger"
>>>>>>>> <Snowman at SnowmanRadio.com>:
>>>>>>>>
>>>>>>>>> Well, there you go.  Once you can bind a script to a hot key, your
>>>>>>>>> home free.  All  you need to do to string actions together is to 
>>>>>>>>> have
>>>>>>>>> multiple lines, each containing this api call, with the 
>>>>>>>>> appropriate
>>>>>>>>> action number.
>>>>>>>>>
>>>>>>>>> It's worth mentioning, in case anybody else other than me doesn't
>>>>>>>>> already know, to get the action numbers to show, you don't have to
>>>>>>>>> scroll right, as described.  Just right click on the action, down
>>>>>>>>> arrow to show action ID'S, and press enter.
>>>>>>>>>
>>>>>>>>> Time to learn to write a simple REAScript, and bind it to a hot 
>>>>>>>>> key.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ----- Original Message ----- From: "Indigo" <33indigo at charter.net>
>>>>>>>>> To: "Reapers Without Peepers" <rwp at reaaccess.com>
>>>>>>>>> Sent: Thursday, May 16, 2013 12:06 PM
>>>>>>>>> Subject: [RWP] Extending reaper with Reascript Macros
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Python programming language and ReaScript, which uses Python, can
>>>>>>>>>> get complex, but I understand this to say that I can call any 
>>>>>>>>>> action
>>>>>>>>>> with this API script; and; I'm assuming that I can list more than 
>>>>>>>>>> 1
>>>>>>>>>> action, though this isn't stated here.
>>>>>>>>>> I'm going to buy the e-book: Reaper 4 Unleashed; about $10 USD,
>>>>>>>>>> which claims to get you going with custom actions, keymaps,
>>>>>>>>>> etcetera.
>>>>>>>>>> I'm already finding already written custom actions in Reaper's
>>>>>>>>>> resources link, also in the Cockos forums.
>>>>>>>>>> Here's the quote from the Wiki on ReaScript:
>>>>>>>>>> Snip:
>>>>>>>>>> top  Calling REAPER Actions
>>>>>>>>>>
>>>>>>>>>> You can call any REAPER action from ReaScript by using the API
>>>>>>>>>> function
>>>>>>>>>>
>>>>>>>>>> RPR_Main_OnCommand(actionnumber, 0)
>>>>>>>>>>
>>>>>>>>>> Find the action number for a given action by opening the Actions
>>>>>>>>>> list, and scrolling the window right to reveal an extra column. 
>>>>>>>>>> For
>>>>>>>>>> example, from ReaScript you would call the REAPER action "Item:
>>>>>>>>>> Split item under mouse cursor" like this:
>>>>>>>>>>
>>>>>>>>>> RPR_Main_OnCommand(40746, 0)
>>>>>>>>>>
>>>>>>>>>> If you use ReaScript as an advanced macro language, this is the 
>>>>>>>>>> only
>>>>>>>>>> API function you need to know.
>>>>>>>>>> End Snip.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> http://www.reaper.fm/sdk/reascript/reascript.php
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> RWP mailing list
>>>>>>>>>> RWP at reaaccess.com
>>>>>>>>>> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> RWP mailing list
>>>>>>>>> RWP at reaaccess.com
>>>>>>>>> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> RWP mailing list
>>>>>>>> RWP at reaaccess.com
>>>>>>>> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> RWP mailing list
>>>>>>> RWP at reaaccess.com
>>>>>>> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com
>>>>>>
>>>>>> _______________________________________________
>>>>>> RWP mailing list
>>>>>> RWP at reaaccess.com
>>>>>> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> RWP mailing list
>>>>> RWP at reaaccess.com
>>>>> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com
>>>>>
>>>>
>>>> _______________________________________________
>>>> RWP mailing list
>>>> RWP at reaaccess.com
>>>> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com
>>>>
>>>
>>> _______________________________________________
>>> RWP mailing list
>>> RWP at reaaccess.com
>>> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com
>>>
>>
>> _______________________________________________
>> RWP mailing list
>> RWP at reaaccess.com
>> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com
>>
>
>
>
> _______________________________________________
> RWP mailing list
> RWP at reaaccess.com
> http://reaaccess.com/mailman/listinfo/rwp_reaaccess.com 





More information about the Rwp mailing list