[RWP] Extending reaper with Reascript Macros

Indigo 33indigo at charter.net
Fri May 24 22:21:45 EDT 2013


Got it, thanks to your instructions.
I got a stack of actions in the field which indicated Drag Actions Here; 
I stacked up a few actions that wouldn't hurt anything, put checkmarks 
in the selections, named it My First Custom Action, then pressed OK.
I was returned to the first action dialog, where I found my new custom 
action named, and waiting for a shortcut.
I assigned it an unused shortcut, and pressed OK; exited the actions list.
When I pressed F4, there was my custom action at the top of the actions 
list, with its shortcut.
It was just a harmless test custom action, so I deleted it, and it 
immediately disappeared from the actions list.
Very Easy.
Tomorrow I'll think out a logical  custom action and create a hopefully 
useful custom action.
I believe I'll import the SWS and Xenakios actions first; to include 
some of those in my custom actions.
With a little careful thought, we should be able to repair or augment 
anything ReaAccess doesn't currently  provide.
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
>




More information about the Rwp mailing list