Csound and CsoundAC API 5.13
Data Structures | Typedefs | Functions | Variables

csound Namespace Reference

The csound namespace contains classes for doing algorithmic composition, and for rendering audio from algorithmically generated scores, especially using Csound. More...

Data Structures

class  Cell
 Score node that simplifies building up repetitive and overlapping motivic cells, such as used in Minimalism. More...
class  ChordLindenmayer
 This class implements a Lindenmayer system that generates a score by moving a turtle around in various implicit music spaces. More...
class  Chunk
struct  Command
class  Composition
 Base class for user-defined musical compositions. More...
class  Conversions
 Conversions to and from various music and signal processing units. More...
class  CounterpointNode
 Uses Bill Schottstaedt's species counterpoint generator code to either (a) generate a counterpoint in species 1, 2, or 3 for a cantus firmus selected from notes generated by child nodes, or (b) attempt to correct the voice leading for species 1, 2, or 3 counterpoint in notes generated by child nodes. More...
class  Event
 Represents an event in music space, such as a note of definite duration, a MIDI-like "note on" or "note off" event, or a MIDI-like control event. More...
class  Exception
 Base class for C++ exceptions in the Silence system. More...
class  Hocket
 Simplifies constructing complex hocketted scores. More...
class  ImageToScore
 Translates images in various RGB formats to scores. More...
class  Lindenmayer
 This class implements a Lindenmayer system in music space for a turtle that writes either notes into a score, or Jones-Parks grains into a memory soundfile. More...
class  Logger
class  MCRM
class  MidiEvent
 This class is used to store ALL Midi messages. More...
struct  MidiEventComparator
class  MidiFile
 Reads and writes format 0 and format 1 standard MIDI files. More...
class  MidiHeader
class  MidiTrack
class  MusicModel
 A ScoreModel that uses Csound to render generated scores, via the CppSound class. More...
class  Node
 Base class for all music graph nodes in the Silence system. More...
class  Random
 A random value will be sampled from the specified distribution, translated and scaled as specified, and set in the specified row and column of the local coordinates. More...
class  RemoveDuplicates
 Removes all duplicate events produced by the child nodes of this. More...
class  Rescale
 Rescales all child events to fit a bounding hypercube in music space. More...
class  Score
 Base class for collections of events in music space. More...
class  ScoreModel
 Base class for compositions that use the principle of a music graph to generate a score. More...
class  ScoreNode
 Node class that produces events from the contained score, which can be built up programmatically or imported from a standard MIDI file. More...
class  Sequence
 Node that creates a temporal sequence of child nodes. More...
class  Shell
 Provide a shell in which Python scripts can be loaded, saved, and executed. More...
class  Soundfile
 Simple, basic read/write access, in sample frames, to PCM soundfiles. More...
class  StrangeAttractor
 Generates notes by searching for a chaotic dynamical system defined by a polynomial equation or partial differential equation using Julien C. More...
class  System
 Abstraction layer for a minimal set of system services. More...
class  TempoMap
class  ThreadLock
 Encapsulates a thread monitor, such as a Windows event handle. More...
struct  Turtle
class  Voicelead
 This class contains facilities for voiceleading, harmonic progression, and identifying chord types. More...
class  VoiceleadingNode
 This node class imposes a sequence of one or more "voice-leading" operations upon the pitches of notes produced by children of this node, within a segment of the notes. More...
class  VoiceleadingOperation
 Utility class for storing voice-leading operations within a VoiceleadNode for future application. More...

Typedefs

typedef unsigned char csound_u_char
typedef void(* MessageCallbackType )(CSOUND *csound, int attribute, const char *format, va_list marker)
typedef NodeNodePtr
typedef void PyObject_

Functions

bool operator< (const Event &a, const Event &b)
bool operator< (const MidiEvent &a, const MidiEvent &b)
std::ostream & operator<< (std::ostream &stream, const VoiceleadingOperation &operation)
void printChord (std::ostream &stream, std::string label, const std::vector< double > &chord)

Variables

void(* Py_Finalize_ )(void)
void(* Py_Initialize_ )(void)
void(* PyErr_Print_ )(void)
PyObject_ *(* PyImport_ImportModule_ )(char *)
long(* PyLong_AsLong_ )(PyObject_ *)
PyObject_ *(* PyObject_CallMethod_ )(PyObject_ *, char *, char *,...)
PyObject_ *(* PyObject_GetAttrString_ )(PyObject_ *, char *)
int(* PyRun_SimpleFileEx_ )(FILE *, const char *, int)
int(* PyRun_SimpleString_ )(const char *)
void(* PySys_SetArgv_ )(int, char **)

Detailed Description

The csound namespace contains classes for doing algorithmic composition, and for rendering audio from algorithmically generated scores, especially using Csound.

There should be one header file for each class declared in CsoundAC, and that header file should be #included in Silence.hpp.

SWIG is run on Silence.hpp to generate wrappers for all CsoundAC classes in other languages, especially scripting languages such as Python, Therefore, all framework headers must be included in this header, and all framework headers must use #ifdef SWIG to declare the module and make other SWIG declarations (see Node.h for an extensive example). The order of declaration is important to SWIG!

It is also expected that doxygen will be used to generate documentation from comments in the framework header files.


Typedef Documentation

typedef unsigned char csound::csound_u_char
typedef void(* csound::MessageCallbackType)(CSOUND *csound, int attribute, const char *format, va_list marker)
typedef void csound::PyObject_

Function Documentation

bool csound::operator< ( const Event &  a,
const Event &  b 
)
bool csound::operator< ( const MidiEvent &  a,
const MidiEvent &  b 
)
std::ostream& csound::operator<< ( std::ostream &  stream,
const VoiceleadingOperation &  operation 
)
void csound::printChord ( std::ostream &  stream,
std::string  label,
const std::vector< double > &  chord 
)

Referenced by csound::Turtle::__str__().


Variable Documentation

void(* csound::Py_Finalize_)(void)
void(* csound::Py_Initialize_)(void)
void(* csound::PyErr_Print_)(void)
PyObject_*(* csound::PyObject_CallMethod_)(PyObject_ *, char *, char *,...)
int(* csound::PyRun_SimpleFileEx_)(FILE *, const char *, int)
int(* csound::PyRun_SimpleString_)(const char *)
void(* csound::PySys_SetArgv_)(int, char **)