View Single Post
Old 11-22-2011, 03:23 PM   #690
Jeffos's Avatar
Join Date: Dec 2008
Location: France
Posts: 1,969

schwa about action timing..
Originally Posted by schwa View Post
Actions do have a slight latency, probably on the order of say 5-10 ms. Depending on what the action is meant to do, this could be immaterial. The bigger issue is not so much latency as sync.

If you are triggering things live without needing to sync to anything else, actions might work fine for you, a few ms of latency is not going to be audible as a delay if you are just jumping from marker to marker duing playback. But the action needs to sync with anything -- for example if you are trying to use actions to do looper-style recording, like punching in a bar and looping it -- it won't work right. In other words the action should execute with only a few ms of delay after when you press the button, but whatever the action is trying to affect might be buffered or latent by varying amounts of time that are much greater than a few ms.

We may add some special actions to do specific things like start/stop recording at the next measure, marker, etc. If the sync is designed into the implementation of the specific action, it will work right.
^^ the most important thing here is the first sentence: triggering an action is a bit like writing a letter "Dear REAPER, I would like to do that". So, if I had big bollocks, I would slightly disagree with schwa: even if the sync is designed in the action, it won't always work because a letter "Dear REAPER, I would like to do that on sync at the next measure" can be sent before but received/processed after the next measure.
Not sure it is clear.. Other example: I didn't try but I'd bet 5 euros that these "start/stop recording at the next measure" actions fail if they are triggered 5ms before the next measure. It is not a smartass/corner-case remark: if you try to achieve live looping stuff for example, 5ms around the "next measure" is the main case (assuming you're human).

To me, it is not possible to achieve a fully reliable sync with actions (or we'd need a brand new kind of "actions"). Not to forget live performance stuff, where transport is stopped and where you don't have the time to write letters. The only way I found to achieve such things is with fx plugs (i.e. sample-accurate MIDI stream that trigger some hand coded stuff).

Originally Posted by BenK-msx View Post
thought something like it could be handy when recording with others (through 'phones) to reduce the inevitable
"are we recording?"
"we are recording now"
"no, we're not recording now"
and "sorry, stop, i forgot to hit record" conversations that go on.
ha! haha! You give me an idea: I have to bind an action that will throw a "Stop it right now!". So, when we are all playing and the guitarist starts another solo, I'll just have to hit a pad to ping him: no more excuses with "headphones! I didn't hear!" and, of course, the sample will be played on his recording track so that I'm sure his "solo" will be ruined too )

Some other media file slot use-cases: jingles, bulk of SysEx to some MIDI hardware with a key stroke, etc.. But there are also various "Add media file slot" actions (and not only play/loop actions!) : so if you have some samples/MIDI patterns you often use, you can bind them to key strokes. Quantizing drums would be a crime but I authorize myself to cheat about cymbals from time to time: I have bound some crash/splah/etc.. cymbals to "SWS/S&M: Add media file to current track" (<- at current possiton).
Originally Posted by Anton9 View Post
In the whatsnew.txt for this release what does +Custom resource types !? mean?
It's a "hidden" feature because it is not very useful (but it was dead easy to add, so..). It is for Windows OS only, it just provides drag-drop facilities - but no additionnal slot actions.
In the S&M.ini file, in the section "RESOURCE_VIEW" you can now define custom resource types. The format is: CustomSlotTypen="resource_relative_path,text used in GUI and messages,file_extension". Example:
1) Quit REAPER
2) Make a backup of your S&M.ini file (especially if you just want to have a look: custom slot files will be saved there too)
2) In the S&M.ini file, add for example:
CustomSlotType1="Data\Track_icons,track icon,png"
Result: in the S&M Resource view, you now have 2 new resource types "Track icons" and "Configs" :

Last edited by Jeffos; 11-22-2011 at 03:30 PM.
Jeffos is offline   Reply With Quote