[RWP] Extending reaper with Reascript Macros

Chris Belle cb1963 at sbcglobal.net
Sat May 25 01:54:18 EDT 2013


How novel, a consile in the sense of a command line instead of a musical 
console.
for a daw.\



----- Original Message ----- 
From: "TheOreoMonster" <monkeypusher69 at gmail.com>
To: "Reapers Without Peepers" <rwp at reaaccess.com>
Sent: Friday, May 24, 2013 10:08 PM
Subject: Re: [RWP] Extending reaper with Reascript Macros


> Reaconsole is basically a command prompt that prompts you for commands to 
> do common task.
> eg. to select a track  you would type S2 to toggle select  of track two. 
> to select only track two you would write S2 and press  return. (note case 
> sensitivity). the SWS manual or the SWS website has some more detailed 
> info on the syntax. Can be used with track names and wild cards as well. 
> so S Guit* would  force select on for all tracks that start with GUIT and 
> so on. It can be use to toggle or force on/off Solo, Mute, Pan Positions, 
> Volume changes, inputs,  name tracks, prepend something to the beginning 
> of a track name, append something to the endif a track name and  etc.
>
> On May 24, 2013, at 8:12 PM, Indigo <33indigo at charter.net> wrote:
>
>> Thanks for your kind tips.
>> I'll take a look at ReaConsole, don't know what it's for yet.
>> Indi
>> Indi
>>
>> On 5/24/2013 7:09 PM, TheOreoMonster wrote:
>>> already been playing with SWS here. ITs a great tool, if only for 
>>> reaconsole. Snapshots seem to be more mix snapshots and not  so  much 
>>> automation snapshots from what i read. ITs basically like keeping 
>>> multiple versions of the project in one project file instead of having 
>>> to save multiple version of a mix and then open them all individually.
>>> thanks for the tip on the action list online.
>>> On May 24, 2013, at 4:25 PM, Indigo <33indigo at charter.net> wrote:
>>>
>>>> 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
>>>
>>
>> _______________________________________________
>> 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