-
-
Notifications
You must be signed in to change notification settings - Fork 21
Index Format
A ReaPack repository consists of a XML document (referred to as the repository index) describing its current content. See also reapack-index, a tool for generating an index from a git repository.
<?xml version="1.0" encoding="utf-8"?>
<index version="1" name="My Repository">
<category name="Example">
<reapack name="Hello World.lua" type="script" desc="Print Hello World">
<version name="1.0" author="cfillion" time="2016-06-10T21:17:24Z">
<source main="midi_editor">http://example.com/dl/1.0/Hello%20World.lua</source>
<source file="Hello World.jsfx" platform="windows" type="effect">http://example.com/dl/1.0/Hello%20World.jsfx</source>
<changelog><![CDATA[Initial Release]]></changelog>
</version>
<version name="1.0.1" author="cfillion" time="2016-12-25T00:00:00Z">
<source main="midi_editor">http://example.com/dl/1.0.1/Hello%20World.lua</source>
<source file="Hello World.jsfx" platform="windows" type="effect">http://example.com/dl/1.0.1/Hello%20World.jsfx</source>
<changelog><![CDATA[Fixed a small UI glitch when the window is resized]]></changelog>
</version>
<metadata>
<link rel="website">http://example.com</link>
<link rel="donation" href="http://example.com">Optional Label</link>
<link rel="screenshot" href="http://example.com/a.png">First Feature</link>
<link rel="screenshot" href="http://example.com/b.png">Second Feature</link>
<description><![CDATA[{\rtf1 {\fonttbl {\f0 Helvetica;}} \f0\fs60 Documentation for this package!}]]></description>
</metadata>
</reapack>
</category>
<metadata>
<link rel="website">http://example.com</link>
<link rel="donation" href="http://example.com">Label</link>
<link rel="screenshot">http://example.com</link>
<description><![CDATA[{\rtf1 {\fonttbl {\f0 Helvetica;}} \f0\fs60 Description of the repository!}]]></description>
</metadata>
</index>
This is the root element of any ReaPack index file.
Attribute | Required | Description |
---|---|---|
version |
Yes | Must be "1" |
name |
For import | Display name of the repository (must contain filename-friendly characters only) |
Child elements:
Used both for organization in the package list and for specifying subdirectories
of script and effect packages. The target directory can also be changed using
the file
attribute of the source
element.
Attribute | Required | Description |
---|---|---|
name |
Yes | Path divided with slashes |
Child element:
Represents a single package, made of multiple versions, each consisting of one or more files.
Packages meeting any of these conditions are silently discarded:
- The package type is invalid/unsupported
- The package contains no version
- None of the versions have files (
source
elements) compatible with the current platform
Attribute | Required | Description |
---|---|---|
name |
Yes | Default filename of the package |
type |
Yes | Possible values are script , effect , extension , data , theme , langpack , webinterface , projectpl , tracktpl , midinotenames and autoitem
|
desc |
No | (Added in v1.1) Display name of the package (the value of name is used if omitted) |
Child elements:
Attribute | Required | Description |
---|---|---|
name |
Yes | Syntax is described in Version Names |
author |
No | Author(s) of the release (no specific format) |
time |
No | Release datetime in ISO 8601 format (UTC timezone) |
Child elements:
Sets the plain text changelog of the version
containing this element.
This element represent a single file in a version.
The content of this node must be the download URL.
Use a version-specific URL and keep previous version available when possible.
Files marked as win64
are installed on windows-arm64ec
if there are no files marked windows-arm64ec
in the version.
Attribute | Required | Description |
---|---|---|
file |
No | File name/path (relative to the category name). Defaults to the package name. |
platform |
No | Possible values are all (default), darwin , darwin32 , darwin64 , darwin-arm64 (v1.2.3.1+), linux , linux32 , linux64 , linux-armv7l (v1.2.3+), linux-aarch64 (v1.2.3+), windows , win32 , win64 and windows-arm64ec (v1.2.5+) |
type |
No | Overrides the package type |
main |
No | List of Action List sections separated by spaces. Only effective on script files. Possible values are main , midi_editor , midi_inlineeditor , midi_eventlisteditor and mediaexplorer . (For compatibility with v1.0, a special value true is also supported. This uses the category name to determine the section.) |
hash |
No |
Multihash checksum of the file in hexadecimal form (added in v1.2.2). Supports SHA-256 (1220 prefix). |
Fills the about dialog of the repository or of a package.
Child elements:
-
description
(optional) -
link
(optional)
Description (documentation) of the repository or package in RTF format.
If the href
argument is present, the content of the element becomes the display name of the link.
Attribute | Required | Description |
---|---|---|
rel |
No | Possible values: website , donation and screenshot (added in v1.1). Default/fallback is website
|
href |
No | Must start with http:// or https://. If omitted, the content of the element becomes the URL. |
ReaPack treats versions names as segments of whole numbers and letters optionally separated by one or more non-alphanumeric character (such as dots). A valid version must start with a digit. Individual number segments must fit in an unsigned 16-bit integer (0 to 65535). A version is treated as a pre-release if it contains one or more letters. Versions are handled as if they end by an infinity of 0 segments (1 = 1.0 = 1.0.0 etc).
See also this note about the handling of decimal versioning schemes in ReaPack.