JAWS Scripts for Reaper

The Reaper application is a multiTracked audio and MIDI recording program, availble from Reaper.fm

These scritps are free of charge, and are intended to support the OSARA accessibility package for Reaper, being developed by NVAccess. Link to the NVAccess OSARA page Make sure you have the latest Osara installed.

The following installer has been modified to work with jaws after version 2018, as well as with earlier versions: Download the scripts installer, and run it as normal. Instructions on how to use some of the script featues appears further down this page. Use the H key in JAWS to jump to those headings.

Scripts version 25 (most recent)

See the documentation further down this page. If you experience problems with these, please write to snowman@SnowManRadio.com

Download: Reaper Scripts Version 25

Scripts documentation

The rest of this document describes extra functionality that is provided by these scripts. For a list of hot keys, while focused in Reaper, press jawsKey+h, and review the list.

Selection Nudge Mode

This feature can be enabled, or disabled by a key in the JAWSKey layer described later in this document. When the feature is disable, nudging reverts to default behavior. This generally also applies to nudging the boundaries of time selections, or the currently focused item. It is a means of letting you nudge one of the edges, and then automatically playing some portion of the audio to show you the effect of the most recent nudge. The scritps are intercepting each of the nudge keys in the standard reaper key map, passing those keys on to reaper, and then deciding what to play. That decision is made based on the mode that you have selected by the f9, f10 and f11 keys in the JAWS Key Layer.

You can always stop playback by pressing the space bar, or pressing another nudge key. Here are the three modes currently supported:

You can press the nudge keys as rapidly as you like. Playback will simply be canceled, and not restarted until you stop pressing keys.

Actions list, and Effects List Hot Keys

There are three hot keys that do not require the jaws layer, but which work only when focused in either of these two dialogs. You can use them to set focus on commonly used elements in the dialog:

Track and FX Parameters Lists

As you arrow up and down the list of parameters, the name of the parameter, is followed by the value of that parameter. SayLine will also say name and value. This avoids the need to press tab to hear the value. You still must tab over if you want to change the value. In the Value field, you can hold down the up or down arrow, or page up / page down, if you want to rapidly scroll through the values. Jaws will no longer insert a keyboard delay. JAWS will remain silent as long as the key is held down. If you want to hear the current value spoken, just lift your finger. When you reach the end of the value list, jaws will ding repeatedly, until you release the key.>

Bookmarking Position In A Dialog

There are two hotkeys for memorizing, and then returning to a control in a dialog. Suppose you opened the item properties, and pressed tab tab tab a million times, to laboriously find a control, which you knew you would want to return to. Before leaving the dialog, press control+windows+tab to memorize the position. Next time you open the dialog, you can press windows+tab to return focus to the memorized position.

This will not work in some cases, such as where the window structure changes as you tab into other parts of the dialog.

The JAWSKey+z Layered Keystrokes

Because the Reaper key map is a very busy place, keys that only have significance to a user of these scripts have been hidden in this layer to prevent conflicts. To access these, press JAWSKey+z, followed by the layered key you wish to use. All keys listed below will exit the layer, back to the normal reaper keymap, once they are pressed. The following keys are presently defined:

Braille Support

This section describes the use of a braille display with the Snowman's JAWS Scripts for Reaper. This system requires structured mode, which will be set by default. There are two major cections here, one for the track list, and another for the MIDI Editor.

It is recommended that you disable toolTips in Reaper, in order for this to work properly, or else make sure the jaws cursor is at the top of the application. ToolTips can override some of the fields we are using to learn the track information. If your display shows unexpected things, that may be the cause.

Track List

Text on the display is broken into the following components, which appear in the order listed:
  1. Cursor time, as control by the reaper ruler time format selection. .
  2. track name. If you have not named the track, this will be the letter "t" followed by the track number, such as t3, or t15.
  3. Item count, in parenthesis, such as (3) meaning there are 3 items on this track.
item 4 depends on context, and will be one of the followeing:
  1. Item number and item details, when control+left or right arrowing.
  2. Marker number name and details.
  3. Special phrases such as armed, muted, soloed, etc. Phrases like these will appear when you press the function keys to arm or unarm a track. However, when you arrow away, and come back to a track, the only phrases that are allowed are, armed, soloed, and muted.
  4. Item 5 will contain the boundaries of a time selection, if one exists. These are in the following form: <> Length

    TrackList Braille Examples

    ? ? ? t1(0)
    This is track one, not named, and has no items. You have not moved the transport since you started reaper, so the time field has question marks.

    0:02.000 songs(3)
    This is a tracked called "songs". The cursor is at 2.0 seconds. It contains 3 items, but you are in track context. So, no item is selected.

    If you press control+rightArrow to select the first item, and that item is at 3 seconds, the display might look like this:
    0:03.00 songs(3) 1 MyFirstSong

    Now, move into your song, and establish a time selection from 5 seconds, to 7 seconds. And put the cursor at the start of the time selection. That would look like this:
    0:05.000 songs(3) 1 MyFirstSong <0:05.000-0:07.000> 2.000

    Marker Navigation

    If you have established markers or regions, you can also use the first 10 routing buttons to jump to those entities, analogous to use of the keys on the numbers row on the keyboard.

    Whizz Wheels And The Track Volume Control

    If you have a Freedom Scientific Braille display that has Whizz Wheels, you can use the right Whizz wheel to dynamically adjust the track volume. First, adjust the track volume manually to the maximum volume you want to allow, and press down on the right Whizz wheel. that will set a limit for how loud the volume will be adjusted by the wheel. Now, roll the wheel down to decrease the volume, and up to increase it. Increases will be limited to the level you set initially. This does what it does by using the action attached to control+shift+UpArrow, and control+shift+downArrow.

    MIDI Editor

    This is support for the MIDI editor, Piano view, activated by control+shift+e, and thebn alt+1. When using left and right arro to move between notes, the display shows the current position in the format bar.beat.percent. If Osara has not told us one of those items, then that position is filled with an asterisk. For example: *.*.* means we have no idea where we are, until we arrow around sufficiently to learn it. The scripts will attempt to learn the current position when entering the editor, pending a better solution from Osara. But, if that stop gap method causes problems on your system, you can disable that by editing file reaper.ini in the jaws scripts folder, and setting MidiEditorInit to 0.

    Also, when using left and right arrow, the number of notes is displayed.

    When using up and down arrow, the note name is displayed, folllowed by a comma, then the length of the note in percent. This is the percent that Osara reports to us, and it is presumed to be a percent of a quarter note.

    Note names are in the following format, name, followed by the flat or sharp indicator, followed by the octave.

    Her are some note name examples: b4 = 4th octave b natural
    bb3 = third octave b flat. Note that osara prefers all sharps as of this writing.
    f#3 = third octave f sharp.

    Midi Editor, Events List

    This supports the Midi Editor Events List, accessed by pressing control+shift+e, from the track view, then alt+3 on the numbers row. Normally, you use up and down arrow to explore the events in chronological order. The entire event is spoken, including all fields, from left to right. The scripts allow you to use left and right arrow to choose from the available fields in the event. For example, pressright arrow a few times. each press announces a new field name, and its value. For example, press right arrow until it says, value. If this is a note, then the note name is spoken. Pressing numPad 5 will repeat the note name. Using up and down arrow now will only say note names, with none of the other fields being spoken. This is a great time saver. You can focus on the field you want, and then up and down arrow will only speak that field. To return to the normal mode where all fields are spoken, press left arrow until it says, all fields.

    Create Cue Sheets For Station Playlist Creator

    If you want to use Reaper to create a program for broadcast, and that program contains elements that you would like to send out via title streaming when the program is streamed, using Station Playlist Creator, you would need a means of converting the reaper project file into the cue sheet format used by SPL. This section contains a simple utility for doing that.

    This is a Python program. So you need to install Python on your machine in order to use this program, or otherwise have a means of running python programs. JAWS Scritps are not required for this.

    This converter assumes that the audio files that you are including in your project are named using the artist - title format. If further assumes, that all tracks will be scanned, and that items of 60 second length, or longer, should be included. But, if your items in reaper are just live voice recordings, those file names will turn up in your cue sheet as well, and you will need to edit the resulting cue sheet manually, to turn those numerical filenames into something useful to stream.

    To use this, download This Python program


    Use your Backspace key to browse the rest of the JAWS scripts offered by The SnowMan.

    Back to The SnowMan Main Page