Logo Search packages:      
Sourcecode: csound version File versions  Download package

csound::Lindenmayer Class Reference

#include <Lindenmayer.hpp>

Inheritance diagram for csound::Lindenmayer:

csound::ScoreNode csound::Node

List of all members.


Detailed Description

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. The Z dimension of note space is used for chirp rate. The actions of the turtle are rescaled to fit the specified bounding hypercube. The turtle commands are represented by letters (all n default to 1): The abbreviations for the dimensions are:
  1. i = instrument
  2. t = time
  3. d = duration
  4. k = MIDI key number
  5. v = MIDI velocity number
  6. p = phase
  7. x = pan
  8. y = height
  9. z = depth
  10. s = pitch-class set as Mason number

Definition at line 89 of file Lindenmayer.hpp.


Public Member Functions

virtual void addChild (Node *node)
virtual void addRule (std::string command, std::string replacement)
virtual void clear ()
virtual ublas::matrix< double > createTransform ()
virtual double & element (size_t row, size_t column)
virtual void generate ()
virtual double getAngle () const
virtual std::string getAxiom () const
virtual int getIterationCount () const
virtual ublas::matrix< double > getLocalCoordinates () const
virtual std::string getReplacement (std::string command)
virtual ScoregetScore ()
virtual void produceOrTransform (Score &score, size_t beginAt, size_t endAt, const ublas::matrix< double > &coordinates)
virtual void setAngle (double angle)
virtual void setAxiom (std::string axiom)
virtual void setElement (size_t row, size_t column, double value)
virtual void setIterationCount (int count)
virtual ublas::matrix< double > traverse (const ublas::matrix< double > &globalCoordinates, Score &score)

Public Attributes

std::vector< Node * > children
std::string importFilename

Protected Member Functions

virtual ublas::matrix< double > createRotation (int dimension1, int dimension2, double angle) const
virtual int getDimension (char dimension) const
virtual void initialize ()
virtual void interpret (std::string command, bool render)
virtual void rewrite ()
virtual void updateActual (Event &event)

Protected Attributes

double angle
std::string axiom
clock_t beganAt
clock_t elapsed
clock_t endedAt
int iterationCount
ublas::matrix< double > localCoordinates
std::map< std::string,
std::string > 
rules
Score score
Event turtle
Event turtleOrientation
std::stack< EventturtleOrientationStack
std::stack< EventturtleStack
Event turtleStep
std::stack< EventturtleStepStack

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index