Project directions¶
.github
: PR and issue template for GitHub.travis
: scripts for Travis CIcmake_modules
: Find and Config modules for CMakecommon
: C++ files needed by multiple components of the projecteditors
: Files forscide
and editor extensionssc-el
: the SuperCollider Emacs package,scel
sc-ide
: source forscide
sced
: source for the SuperCollidergedit
plugin,sced
scvim
: the SuperCollider Vim package,scvim
examples
: SuperCollider code examples, packaged into release assetsexternal_libraries
: C and C++ third-party librariesboost
: root of Boost C++ sourcesboost_sync
: contains Boost::sync, a synchronization lib which was never integrated into Boost proper.hidapi
: HID API project, whichsclang
uses for HID capability. Our fork is significantly patched for cross-platform compatibility.icu
: IBM’s ICU libraryjackey
: a simple header for Jack that makes working with Jack Metadata easier. Used byscsynth
andsupernova
, but not in current builds (only whenSC_JACK_USE_METADATA_API
is defined, may be old work that was never completed)libsndfile
: header forlibsndfile
, for working with audio file formats. Used bysclang
and the serversnova-simd
:nova-simd
, a framework for SIMD vector functionsnova-tt
:nova-tt
, a library for cross-platform thread synchronizationoscpack_1_1_0
: Oscpack, a library for working with OSC packets.portaudio_sc_org
: SC’s fork of PortAudio, which has been modded for cross-platform workportmidi
: PortMIDI, a cross-platform library for MIDI I/Osimplejson-2.3.2
: simplejson, a Python package used bysced
yaml-cpp
: yaml-cpp, a C++ library for YAML
HelpSource
: schelp source for SCDocicons
: contains icon files for the projectinclude
: C++ headers for client code, including server pluginslang
: C++ source forsclang
LangSource
: sources for the core of the language, including the interpreterLangPrimSource
: sources for SuperCollider primitive functions. Loosely organized by functionality.
package
: tools for preparing and packaging release assets, including changelog-related scriptsplatform
: various platform-specific bitsQtCollider
: sources for the Qt GUI extensions tosclang
SCClassLibrary
: SuperCollider sources for the core class librarySCDoc
: C++ sources for SCDoc, the .schelp parserserver
: C++ sources forscsynth
,supernova
, and server pluginsplugins
: sources for server plugins (UGens)scsynth
: sources for scsynthsupernova
: sources for supernova
sounds
: sound files, packaged into release assetstestsuite
: test filesclasslibrary
: SuperCollider-language tests for the core class librarysclang
: tests forsclang
server
: C++ tests forscsynth
andsupernova
tools
: various tools useful for maintainers
Important files in the root directory are:
.appveyor.yml
: config file for AppVeyor CI.travis.yml
: config file for Travis CIbuild_sclang_cfg.in
: config file used for the specialSC_DOC_RENDER
build targetCMakeLists.txt
: main CMake fileREADME_*
: readmes for various platformsSCVersion.txt
: the primary versioning document. The version number is stored here and nowhere else.travis_test_run_proto.json
: config file used by qpm to run tests in CI