Csound and CsoundAC API
5.17
|
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...
#include <Random.hpp>
Public Member Functions | |
virtual void | addChild (Node *node) |
virtual void | clear () |
virtual void | createDistribution (std::string distribution) |
virtual ublas::matrix< double > | createTransform () |
virtual double & | element (size_t row, size_t column) |
virtual ublas::matrix< double > | getLocalCoordinates () const |
Returns the local transformation of coordinate system. | |
virtual ublas::matrix< double > | getRandomCoordinates () const |
virtual void | produceOrTransform (Score &score, size_t beginAt, size_t endAt, const ublas::matrix< double > &compositeCoordinates) |
The default implementation does nothing. | |
Random () | |
virtual double | sample () const |
virtual void | setElement (size_t row, size_t column, double value) |
virtual ublas::matrix< double > | traverse (const ublas::matrix< double > &globalCoordinates, Score &score) |
The default implementation postconcatenates its own local coordinate system with the global coordinates, then passes the score and the product of coordinate systems to each child, thus performing a depth-first traversal of the music graph. | |
virtual | ~Random () |
Static Public Member Functions | |
static void | seed (int s) |
Data Fields | |
double | a |
double | b |
double | c |
std::vector< Node * > | children |
Child Nodes, if any. | |
int | column |
std::string | distribution |
int | eventCount |
bool | incrementTime |
double | Lambda |
double | maximum |
double | mean |
double | minimum |
double | q |
int | row |
double | sigma |
Static Public Attributes | |
static boost::mt19937 | mersenneTwister |
Protected Attributes | |
boost::variate_generator < boost::mt19937, boost::bernoulli_distribution<> > * | bernoulli_distribution_generator |
boost::variate_generator < boost::mt19937, boost::exponential_distribution<> > * | exponential_distribution_generator |
void * | generator_ |
boost::variate_generator < boost::mt19937, boost::geometric_distribution<> > * | geometric_distribution_generator |
ublas::matrix< double > | localCoordinates |
boost::variate_generator < boost::mt19937, boost::lognormal_distribution<> > * | lognormal_distribution_generator |
boost::variate_generator < boost::mt19937, boost::normal_distribution<> > * | normal_distribution_generator |
boost::variate_generator < boost::mt19937, boost::triangle_distribution<> > * | triangle_distribution_generator |
boost::variate_generator < boost::mt19937, boost::uniform_int<> > * | uniform_int_generator |
boost::variate_generator < boost::mt19937, boost::uniform_real<> > * | uniform_real_generator |
boost::variate_generator < boost::mt19937, boost::uniform_smallint<> > * | uniform_smallint_generator |
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.
The resulting matrix will be used in place of the local coordinates when traversing the music graph. If eventCount is greater than zero, a new event will be created for each of eventCount samples, which will be transformed by the newly sampled local coordinates.
virtual csound::Random::~Random | ( | ) | [virtual] |
virtual void csound::Node::addChild | ( | Node * | node | ) | [virtual, inherited] |
virtual void csound::Node::clear | ( | ) | [virtual, inherited] |
Reimplemented in csound::ChordLindenmayer, csound::Lindenmayer, csound::MusicModel, and csound::ScoreModel.
virtual void csound::Random::createDistribution | ( | std::string | distribution | ) | [virtual] |
virtual ublas::matrix<double> csound::Node::createTransform | ( | ) | [virtual, inherited] |
virtual double& csound::Node::element | ( | size_t | row, |
size_t | column | ||
) | [virtual, inherited] |
virtual ublas::matrix<double> csound::Node::getLocalCoordinates | ( | ) | const [virtual, inherited] |
Returns the local transformation of coordinate system.
virtual ublas::matrix<double> csound::Random::getRandomCoordinates | ( | ) | const [virtual] |
virtual void csound::Random::produceOrTransform | ( | Score & | score, |
size_t | beginAt, | ||
size_t | endAt, | ||
const ublas::matrix< double > & | compositeCordinates | ||
) | [virtual] |
The default implementation does nothing.
Derived nodes that produce notes from scratch should transform them using the composite transformation of coordinate system, which is passed in from the traverse() function.
Reimplemented from csound::Node.
virtual double csound::Random::sample | ( | ) | const [virtual] |
static void csound::Random::seed | ( | int | s | ) | [static] |
virtual void csound::Node::setElement | ( | size_t | row, |
size_t | column, | ||
double | value | ||
) | [virtual, inherited] |
virtual ublas::matrix<double> csound::Node::traverse | ( | const ublas::matrix< double > & | globalCoordinates, |
Score & | score | ||
) | [virtual, inherited] |
The default implementation postconcatenates its own local coordinate system with the global coordinates, then passes the score and the product of coordinate systems to each child, thus performing a depth-first traversal of the music graph.
Reimplemented in csound::Sequence, and csound::Hocket.
double csound::Random::a |
double csound::Random::b |
boost::variate_generator<boost::mt19937, boost::bernoulli_distribution<> >* csound::Random::bernoulli_distribution_generator [protected] |
double csound::Random::c |
std::vector<Node *> csound::Node::children [inherited] |
Child Nodes, if any.
std::string csound::Random::distribution |
boost::variate_generator<boost::mt19937, boost::exponential_distribution<> >* csound::Random::exponential_distribution_generator [protected] |
void* csound::Random::generator_ [protected] |
boost::variate_generator<boost::mt19937, boost::geometric_distribution<> >* csound::Random::geometric_distribution_generator [protected] |
double csound::Random::Lambda |
ublas::matrix<double> csound::Node::localCoordinates [protected, inherited] |
boost::variate_generator<boost::mt19937, boost::lognormal_distribution<> >* csound::Random::lognormal_distribution_generator [protected] |
double csound::Random::maximum |
double csound::Random::mean |
boost::mt19937 csound::Random::mersenneTwister [static] |
double csound::Random::minimum |
boost::variate_generator<boost::mt19937, boost::normal_distribution<> >* csound::Random::normal_distribution_generator [protected] |
double csound::Random::q |
double csound::Random::sigma |
boost::variate_generator<boost::mt19937, boost::triangle_distribution<> >* csound::Random::triangle_distribution_generator [protected] |
boost::variate_generator<boost::mt19937, boost::uniform_int<> >* csound::Random::uniform_int_generator [protected] |
boost::variate_generator<boost::mt19937, boost::uniform_real<> >* csound::Random::uniform_real_generator [protected] |
boost::variate_generator<boost::mt19937, boost::uniform_smallint<> >* csound::Random::uniform_smallint_generator [protected] |