Package: risset
risset: a package manager for csoundThis is the repository of risset, a package manager for csound external
plugins and user-defined-opcodes. The index aggregating all available packages is kept
atrisset-data.Installation``rissetdepends only ongit` and `python3` (>= 3.9) being installed.pipinstallrissetThis will install the script "risset" into your pathLinuxIn certain linux distributions it is not allowed to install packages to the
system python. In that case the recommended way is to install risset within
its own virtual environment viapipx:sudoaptinstallpipx
pipxinstallrissetQuick start# list all defined packages$rissetlist

*else/1.10.0|Miscellaneousplugins[installed:1.10.0]|Path:/home/xx/.local/lib/csound/6.0/plugins64/libelse.so
*pathtools/1.10.0|Cross-platformpathhandlingandstringopcodes[installed:1.10.0]|Path:/home/xx/.local/lib/csound/6.0/plugins64/libpathtools.so
*klib/1.10.0|Ahashtableforcsound[installed:1.10.0]|Path:/home/xx/.local/lib/csound/6.0/plugins64/libklib.so
*beosc/1.10.0|Band-enhancedoscillatorsimplementingthesine+noisesynthesismodel[installed:1.10.0]|Path:/home/xx/.local/lib/csound/6.0/plugins64/libbeosc.so
*jsfx/1.10.0|jsfxsupportforcsound[installed:1.10.0]|Path:/home/xx/.local/lib/csound/6.0/plugins64/libjsfx.so
*poly/1.10.0|Multiple(parallelorsequential)instancesofanopcode[installed:1.10.0]|Path:/home/xx/.local/lib/csound/6.0/plugins64/libpoly.so
-sndmeta/1.10.0|opcodesusinglibsndfile
*risset/1.10.0|Cross-platformpathhandlingandstringopcodes[manual]|Path:/home/xx/.local/lib/csound/6.0/plugins64/librisset.so
*vst3/0.3.0|Hostvst3pluginsincsound[manual]|Path:/home/xx/.local/lib/csound/6.0/plugins64/libvst3_plugins.so# Install some packages$rissetinstallelsejsfx# Show information about a specific package$rissetshowpoly

Plugin:poly
Author:EduardoMoguillansky(eduardo.moguillansky@gmail.com)URL:https://github.com/csound-plugins/csound-plugins.git
Version:1.10.0
Csoundversion:>=6.14
Installed:1.10.0(path:/home/xx/.local/lib/csound/6.0/plugins64/libpoly.so)Manifest:/home/xx/.local/share/risset/installed-manifests/poly.json
Abstract:Multiple(parallelorsequential)instancesofanopcode
Description:Multiple(parallelorsequential)instancesofanopcode
Opcodes:defer,poly,poly0,polyseq# Remove a plugin$rissetremovepoly# See manual page for an opcode (installed or not)$rissetmanpolyRisset commandsupdateUpdate the local index to the latest state.$ risset updatelistList all available plugins for your platform$ risset list [options]Options--nameonly: Output just the name of each plugin--installed: List only installed plugins--upgradeable: List only installed packages which can be upgraded--notinstalled: List only plugins which are not installed-1, --oneline: List each plugin in one lineshowShow information about a plugin$ risset show <plugin>installInstall one or multiple plugins$ risset install [--force] <plugin> [<plugin2>, ...]Install a given plugin for the current platform. Plugins are installed into
the user folder (no administrator requirements are needed). Look at theinfocommand to query information about the system.Options--force: Installs a plugin even if the plugin with the same version is already installedthe system folder where all other builtin plugins are installed (this requires administrator rights in some platforms). Admin rights are needed for this.removeRemove an installed plugin$ risset remove <plugin>


#### documentationOpen man page as markdown in the command line$ risset man [options] <opcode>Options-s, --simplepath: Print just the path of the manual page-m, --markdown: Use the .md page instead of the .html version-e, --external: Open the man page in the default app. This is only used when opening the markdown man page.--html: Opens the .html version of the manpage in the default browser (or outputs the path with the --path option)--theme {dark,light,gruvbox-dark,gruvbox-light,material,fruity,native}: Style used when displaying markdown files (default=dark)Open the html man page in the default browser:$ risset man --html <opcode>Generate/update documentation:$ risset makedocsBuild the documentation for all defined plugins. This depends onmkdocsbeing installedupgrade$ risset upgradeUpgrade any installed plugin to the latest versionlistopcodes$ risset listopcodesList installed opcodesOptions-l, --long: Long format$ risset listopcodes -l

accum               else        Simple accumulator of scalar values
atstop              else        Schedule an instrument at the end of the current instrument
beadsynt            beosc       Band-Enhanced Oscillator-Bank
beosc               beosc       Band-Enhanced Oscillator
bisect              else        Returns the fractional index of a value within a sorted ar…ay / tab
chuap               chua        Simulates Chua's oscillator
crackle             else        generates noise based on a chaotic equation
defer               poly        Run an opcode at the end of current event
deref               else        Dereference a previously created reference to a variable
detectsilence       else        Detect when input falls below an amplitude threshold
dict_del            klib        Remove a key:value pair from a hashtable
dict_dump           klib        Dumps the contents of this dict as a string
dict_exists         klib        Returns 1 if the dict exists, 0 otherwise
dict_free           klib        Free a hashtable
...download$ risset download <plugin>Download a pluginOptions--path PATH: Directory to download the plugin to (default: current directory)--platform: The platform of the plugin to download (default: current platform). One oflinux,macos,window,macos-arm64,linux-arm64info$ risset info [options]Outputs information about the environment as json in order to be integrated by other systems.
For example,CsoundQTuses this command to read the installed plugins and their opcodes
and documentationOptions--outfile OUTFILE: Save output to this path--full: Include all available informationPlugin DocumentationDocumentation for all plugins can be found here:https://csound-plugins.github.io/risset-docs/Upgrading rissetIf installed viapip, do:pip install risset -UIf installed viagit, go to the repository and do:git pull
python setup.py installContributingIn order to add/modify a plugin, clonerisset-dataAt the root of the repository there is an index filerissetindex.json, with the form:{"version":"1.0.0","plugins":{"else":{"url":"https://github.com/csound-plugins/csound-plugins.git","path":"src/else"},"pathtools":{"url":"https://github.com/csound-plugins/csound-plugins.git","path":"src/pathtools"},"klib":{"url":"https://github.com/csound-plugins/csound-plugins.git","path":"src/klib"},"beosc":{"url":"https://github.com/csound-plugins/csound-plugins.git","path":"src/beosc"},"vst3":{"url":"https://github.com/csound-plugins/vst3-risset.git"}}}To add a plugin to the index, just extend thepluginsdict. The url should point to a valid git repository,
the path attribute can be used to indicate where risset.json manifest is within this repository. This allows to
define multiple plugins within one repository.ManifestEach plugin has an accompanying manifest in the .json format. The name of this file
is alwaysrisset.jsonSee one of the examples inhttps://github.com/csound-plugins/csound-plugins/tree/master/srcfor
more information about the manifest