Extension for REAPER

Version: 3.1.0.32 17.06.2024
Download (WIN32) Download (WIN64)

General information

The purpose of this chapter is to give users an initial understanding of the internal structure of an extension. The «Ear» consists of the following elements:

  • direct plugin, dynamic link library reaper_ear.dll located at REAPER / Plugins;
  • extension components located in the REAPER / Ear path.

Extension components, in turn, consist of the following parts:

  • REAPER / Ear / algorithms - algorithms that ensure the operation of the extension, implementing both the sound of certain REAPER commands and the functionality of the extension as a whole. This part of the ear components is used in developer mode. The final binary file REAPER / Ear / ear.algorithms is compiled from the contents of the algorithms folder, on the basis of which the extension runs in normal user mode. Algorithms are primarily ear scripts, syntax similar to C ++, although in some cases pascal, java and basic syntax can be used to write ear scripts. This part of the components is not needed for the extension to function in normal user mode.
  • REAPER / Ear / configurations - - the part containing all configurations of the extension.
  • REAPER / Ear / documentations - documentation and various references for the extension (still in writing).
  • REAPER / Ear / keymaps - automatically updated REAPER keyboard layout included with the extension. By default, this layout is constantly synchronized for all users, as soon as the developers make any changes to it. Automatic layout synchronization can be disabled.
  • REAPER / Ear / languages ​​- extension localization files.

Voice acting for new commands, making certain corrections to the already implemented voice acting, introducing additional functionality of the extension, including adding new multipressing assignments, creating cyclic switches, creating various context menus, are possible only in developer mode. In normal user mode, only changing the keyboard layout is available.

Absolutely all users of the registered extension instance have access to developer mode. There is a possibility of enabling a special status for a particular user, thanks to which all changes or additions made by him to certain areas of the «Ear» algorithms will be immediately synchronized for all users. Thus, most often the new functionality of the extension is delivered to the end user without a global update of the executable files, and any number of people can work on this new functionality.

We will not describe in detail the developer mode yet, but to give an approximate idea of ​​the principles of its work, we will briefly describe the sequence of actions that is necessary to voice a particular new command:

  • Turn on developer mode;
  • Turn on command interception mode;
  • Execute the command you want to speak.

As a result, in the algorithmic part of the «Ear» components, a script will be created that relates specifically to this command, thanks to which you will be able to voice it out or otherwise process it.

For example, in order to sound this or that standard REAPER switch (toggle), in its script it is enough to write:
say.toggle (self);

Absolutely all scripts created to date are available in source codes, and everyone can take a look at them by referring to the algorithmic part of the «Ear» components. In this part you will also find multipressing assignments, a section with cyclic switches, as well as global modules in which all virtual «Ear» dialogs are implemented, such as:

  • peak inspector;
  • track parameter editor;
  • clip parameters editor;
  • routing editor;
  • editor of effects and their parameters;
  • advanced search for tracks and clips;
  • and so on ...

A separate article will be devoted to virtual dialogs as a basic component of the extension. These are not just dialogs that provide the ability to control certain parameters, they are a powerful tool for convenient, prompt, fast, competitive interaction with the REAPER software interface.

The device of the «Ear» is such that it allows using the same scripts to voice or in any way correct not only the regular REAPER commands, but also commands of any other third-party extensions. Thus, the Ukha developers pay great attention to the SWS extension, well-known in the circles of advanced users REAPER, regularly voicing its commands. In this regard, it is strongly recommended to use «Ear» in conjunction with SWS , although of course everything will work fine without it.