Skip to content
Christian Fillion edited this page Nov 22, 2016 · 71 revisions
  1. Syntax 1
  2. Syntax 2
  3. JS Effect
  4. Extension
  5. Theme
  6. Language Pack
  7. Misc. Data
  8. Bundle additional files
  9. Multiple user-callable scripts
  10. Hide from the action list
  11. Download from internet
  12. Rename a file

Syntax 1

(Note that only @version is required)

-- @description Display name/short description
-- @version 1.0
-- @author John Doe
-- @about
--   # Your Package Title
--   Longer description/documentation for this package in *markdown*.
-- @changelog
--   + Initial release

reaper.ShowMessageBox("Hello World", "Script code here", 0)

Syntax 2

Changelog can also be used as a regular tag in the first block like in Syntax 1. Note that the stars at the start of each line in the first block is only for esthetic purpose and is not required.

--[[
 * ReaScript Name: Display name/short description
 * Version: 1.0
 * Author: John Doe
 * About:
 *   Longer description/documentation for this package in *markdown*.
--]]

--[[
 Changelog:
 * v1.0
    + Initial release
--]]

reaper.ShowMessageBox("Hello World", "Script code here", 0)

JS Effect

Utility/Effect Name.jsfx

version: 1.0.5
desc: Display name/short description
author: John Doe
about:
  # Your Package Title
  Longer description and documentation for this package in *markdown*.
changelog:
  - Added super cool feature XYZ
  - Removed unused triggers

@init

@slider

@block

@sample

Extension

Extensions/Brain Interface.ext

@description Display name/short description
@version 1.0.5
@author John Doe
@about
  # Your Package Title
  Longer description/documentation for this package in *markdown*.
@changelog
  - Added super cool feature XYZ
  - Removed unused triggers
@provides
   [darwin] reaper_braininterface.dylib http://example.com/download/$version/$path
   [windows] reaper_braininterface.dll http://example.com/download/$version/$path

Theme

Category/author_Theme Name.theme

@description Theme Name
@version 1.0
@provides ThemeFile.ReaperThemeZip http://stash.reaper.fm/12345/$path
@author John Doe
@links
  Forum Thread http://forum.cockos.com/showthread.php?t=175565
@screenshots
  Arrange Window https://i.imgur.com/niDeNll.png
  MIDI Editor https://i.imgur.com/cixprJ7.png
@about
  Optionally write a description of your theme or some documentation here.

Language Pack

Translations/Klingon.ReaperLangPack

#NAME: LangPack Name
;Version: 1.0.1
;Author: John Doe
;Changelog: Fixed a typo
;About: Optionally write some text here (or remove this line)

[common]
DCEF2B4D03DE723C=Name

Misc. Data

Utility/Chord Names.data

@description Display name/short description
@version 1.0.5
@author John Doe
@provides Some Directory/*.txt

Bundle additional files

Add @noindex or NoIndex: true at the top of Library_File.lua and User_Callable_File.lua to prevent them from being also indexed.

-- @version 1.0
-- @provides
--   Library_File.lua
--   A Sub Directory/*.png
--   [main] User_Callable_File.lua

reaper.ShowMessageBox("Hello World", "Script code here", 0)

Multiple user-callable scripts

This will create a package containing two files without including itself (because of @metapackage). Notice the lua comment syntax (--) is not required in this case.

@metapackage
@version 1.0
@provides
  [main] User_Callable_File1.lua
  [main] User_Callable_File2.lua

Hide from the action list

The dot means "current file".

-- @version 1.0
-- @provides [nomain] .

function LibraryFunction()
end

Download from internet

@version 1.0
@provides . http://host.com/download/url/for/file1
@provides logo.png http://host.com/download/url/for/file2

Rename a file

This will install "Original.lua" in the repository as "Target/Name.lua".

-- @version 1.0
-- @provides Original.lua > Target/Name.lua
Clone this wiki locally