ReaScript HTML Documentation Parser
This project aims to parse the Reascript HTML documentation, reaper actions list and USDocML documentation (Ultraschall API) to any other format.
An intermediate representation of the documentation (class ReaDoc
)
is built and used by a parser (child of class ReaDocParser
).
ReaDoc
currently extract:
BeautifulSoup4 (see doc) is used in this project,
to install it with pip, use the command : pip install beautifulsoup4
The folder api
contains all available documentation:
reascripthelp.html
: Documentation shown in REAPER (Help -> ReaScript Documentation)reaper-apidocs.USDocML
: Documentation of REAPER by Ultraschall.reaper-videoprocessor-docs.USDocML
: Documentation of REAPER video-processor by Ultraschall (for eel only).ultraschall.USDocML
: Documentation of Ultraschall API. This documentation is build using build_usdoc
function in the main.py
file.reaper_ActionList.txt
: Action list generated by SWS action Dump action list (native actions only)
sws_ActionList.txt
: Action list generated by SWS action Dump action list (SWS actions only)
Be sure to update the api
folder with the lastest documentation available.
Command arguments are available, check --help
to get more information.
Below is a list of available parser.
This parser produce snippets for Visual Studio Code for all available languages (C, EEL, Lua and Python).
This parser provide ‘with return’ snippets with the following prefix :reaperwr.FUNCTION_NAME
on lua and WR_FUNCTION_NAME
on C, EEL and Python.
(Same applies for ultraschall
functions)
Example of ‘with return’ snippet in lua :
reaperwr.GetSetMediaTrackInfo_String
giveslocal boolean retval, string stringNeedBig = reaper.GetSetMediaTrackInfo_String(MediaTrack tr, string parmname, string stringNeedBig, boolean setNewValue)
Every documentation has been parsed in the folder vscode_snippets/
.
See its README.md
for available snippets / installation process.
This is a readable / example parser.
Output: raw/
folder.
You can make your own parser by creating a ReaDocParser
child class and
by implementing its parse
method.