Concept

You use REAPER DAW, and you imagine a feature that could really improve your workflow. Problem : it doesn’t exists. Yet ?

Indeed, REAPER provides a variety of tools/functions to create/code your own actions, beyond standards macros, thanks to scripts. ReaScript is simply the name given for a script written for REAPER.

Not all features can be coded with ReaScripts, of course.

But if your feature is about data manipulation (positions, value, color, names, notes etc…) of any kind of objects  (Markers, Regions, Items, Envelope, Envelope Points, Tracks etc…), then it can probably be satisfied with a script.

Example of feature that cannot be coded with a script :

  • Having Comparisonics waveforms in the arrange view
  • Odd number of channels on tracks
  • Negative Playrate for stretch markers
  • Automatically download REAPER updates
Exemples of actions coded thanks to scripts :

  • Quantize selected items to regions starts
  • Envelope smoother (delete all redundant points, and points too close to other points)
  • Export HTML/CSV tables from items in the project with their metadatas
  • Analyse pitch of items under play cursor on selected tracks and commit as item notes (script + JSFX combo)

If you want to know more about ReaScript, I invite you to read my interview about ReaScript on The REAPER Blog : ReaScript Basics — Interview on REAPER blog / Part-1.

A lot of reasons can lead you to ask someone else to make a script for you :

  • You don’t know how to code and don’t want or can’t learn.
  • You know how to code but your feature is too complex
  • You can’t wait to have this feature, you need it now
  • You want to encourage scripting by making a donation, and indirectly contributing to the community

More than 99% of my code (300 scripts in early 2016) is developed and shared for free in open source, so that anyone can take advantage of it, by using it, by modifying the code, or by learning to code from them.

But as anyone else, I have to pay the bills. That’s why I propose you to dedicate my knowledge in this domain for paid jobs, Custom Development, with two main concepts.

Sponsored Development

Scripting takes time, and sharing the results is a whole process.

To encourage my scripts activities, and help me put the time necessary to code your feature, you can sponsor the development phase of the script. To do this, contact me, and we will try to see how many hours it would take, and so, what would be the amount of donation needed to allow me put time in it.

When the script will be finished, it will be release to the world for free as part of my ReaScripts pack, so that other REAPER users could enjoy the results. Together, we contributed to the REAPER development !

You will be credited (name/pseudo + URL) in the script file and in the post announcing the release of the script as sponsor. A nice way to get a bit of visibility !

According to the project, it can be donation based, or contract based.

Dedicated Development

Sometimes you need a very special feature. Something personal, related to one project only, or to one workflow, and that no other users but you will find useful.

Because only few people could enjoy the script (and so, less people will make a donation for it), the price is generally at a regular developer price. Count around 200$ the day-work. Of course, what you asked could take less than a day.

This leads to Business contract, with an invoice from my company, as free lancer. This is not donation based.

Pricing

In both case The result is a custom script, built for you, your workflow, based on your desire.

But how evaluate price ?

Time Investment

Realizing a script is the results of a lot of steps

  1. Research — Seeing if the future doesn’t already exist in a way or another, or if it could be done with existing actions
  2. Documentation — Determining if the script could be made with available functions of the REAPER ReaScript API.
  3. Conceptualization — Trying to determine what would be the best way to handle the feature, in a performance friendly way, keeping an eye on modularity, and evaluating what would be the simplest way to do it
  4. Coding — Writing the code
  5. Beta testing — Check if the scripts behave like expected in every possible circumstances.
  6. Debugging — Correct bugs if any.
  7. Refactoring — Optimizing the source code for readability and maintainability.
  8. Sharing — Put the scripts online, sending messages, writing a forum post, update my script pack, make screenshots.

This may look like a simple list but there is in fact a lot of back and forth between the 2-7 first steps.

This is the most important variable.

Speed

This is about how fast I can satisfy your request.

I tend to deliver scripts pretty quickly, according to the task of course. It could be somewhere between 5 minutes and 2 days. An estimation of this duration will be make before any price evaluation.

Product Value

A simple action can have an huge product value. Imagine you have 500 items and you need them to be snap to regions of the same name. And imagine you have to do that every day in your work. Then this script will save you a lot of time, effort, and money.

Despite product value is not that taken into account into pricing (time is most important variable), it should be help you determine if it worth investing in custom script development.

Business Size

Price can be influenced by your business size.

If you are a student on an independent project, it is fair that you get a discount/low price. If you are a studio, I think a regular price would be more appropriate. And if you work for a triple AAA company on a 10000000 dollars project, your generosity will be very appreciated ! 😛

Support

As my goal is that you could enjoy the script, I will give you basic support if you have trouble. Spending hours for a non-used scripts would be a bit frustrating for me, so don’t worry, we will make it work !

If support involves coding a lot of corrections for the script, then the price can be reevaluated, according to the TIme variable.

Offer

Maybe you can’t spend anything on script development.

Not bad, what do you have to offer ? Do you sell any digital product that I could use ? Or a service ?

If you think that you have something that could interested me, I am open to negotiation.

Users

How many people could take advantage of the script ? Is that something that would help every REAPER users, or only sound designers ? Or maybe only you in one particular project ?

The more people could enjoy the scripts, the less the price could be.

Script Sharing

The scripts are shared to you in open source, so that you can make any custom modifications if you want.

I reserve the right to share the scripts on my free scripts pack, or to sell it on my digital store (unless it is too specific or “confidential” of course) if other users could find them useful.

You will not be allowed to redistribute the scripts or change its author name, but you have no usage restrictions. Use it on how many computers that you need.

Contact

Interested in making your dreamed action a reality ?

Please join me on the Contact page, or on Cockos Forum, and we will discuss of your idea/project !

Thanks for your consideration !

PS : If I don’t feel able to satisfy your request, but that it is scriptable somehow, I will not hesitate to redirect you to other great ReaScripters out there. We are all partners in this field, and we all have our specialties ! 😛