[RWP] Extending reaper with Reascript Macros
Indigo
33indigo at charter.net
Fri May 24 11:18:00 EDT 2013
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
>
More information about the Rwp
mailing list