Csound and CsoundAC API
5.17
|
Base class for user-defined musical compositions. More...
#include <Composition.hpp>
Public Member Functions | |
virtual void | clear () |
Clear all contents of this. | |
virtual void | clearOutputSoundfileName () |
Composition () | |
virtual int | generate () |
Generate performance events and store them in the score. | |
virtual std::string | getAlbum () const |
virtual std::string | getArtist () const |
virtual std::string | getCdSoundfileName () const |
Returns a soundfile name for a CD audio track based on the filename of this, by appending ".cd.wav" to the filename. | |
virtual bool | getConformPitches () const |
Returns whether or not the pitches in generated scores will be conformed to the nearest equally tempered pitch. | |
virtual std::string | getCopyright () const |
virtual std::string | getFilename () const |
Returns the filename of this, which is used as a base for derived filenames (soundfile, MIDI file, etc.). | |
virtual std::string | getFomusFilename () const |
Returns a MusicXML filename based on the filename of this, by appending ".fms" to the filename. | |
virtual std::string | getLicense () const |
virtual std::string | getLilypondFilename () const |
Returns a MusicXML filename based on the filename of this, by appending ".ly" to the filename. | |
virtual std::string | getMidiFilename () const |
Returns a MIDI filename based on the filename of this, by appending ".mid" to the filename. | |
virtual std::string | getMp3SoundfileName () const |
Returns a soundfile name for an MP3 file based on the filename of this, by appending ".mp3" to the filename. | |
virtual std::string | getMusicXmlFilename () const |
Returns a MusicXML filename based on the filename of this, by appending ".xml" to the filename. | |
virtual std::string | getNormalizedSoundfileName () const |
Returns a soundfile name based on the filename of this, by appending ".norm.wav" to the filename. | |
virtual std::string | getOutputSoundfileName () const |
Returns a soundfile name based on the filename of this, by appending ".wav" to the filename, which is the default, or a non-default ouput name which need not be a file but must be set using setOutputSoundfileName(). | |
virtual Score & | getScore () |
Return the self-contained Score. | |
virtual std::string | getTimestamp () const |
Returns the time the score was generated. | |
virtual std::string | getTitle () const |
virtual double | getTonesPerOctave () const |
Returns the number of equally tempered intervals per octave (the default is 12, 0 means non-equally tempered). | |
virtual int | normalizeOutputSoundfile (double levelDb=-3.0) |
Assuming the score has been rendered, uses sox to translate the output soundfile to a normalized soundfile. | |
virtual int | perform () |
Performs the current score to create an output soundfile, which should be tagged with author, timestamp, copyright, title, and optionally album. | |
virtual int | performAll () |
Convenience function that calls performMaster(), and translateMaster(). | |
virtual int | performMaster () |
Convenience function that calls saveMidi(), saveMusicXML(), and perform(). | |
virtual int | processArgs (const std::vector< std::string > &args) |
Pass the invoking program's command-line arguments to processArgs() and it will perform with possibly back-end-dependent options. | |
virtual int | processArgv (int argc, const char **argv) |
Pass the invoking program's command-line arguments to processArgs() and it will perform with possibly back-end-dependent options. | |
virtual int | render () |
Convenience function that calls clear(), generate(), perform(). | |
virtual int | renderAll () |
Convenience function that calls clear(), generate(), performAll(). | |
virtual void | setAlbum (std::string value) |
virtual void | setArtist (std::string value) |
virtual void | setConformPitches (bool conformPitches) |
Sets whether or not the pitches in generated scores will be conformed to the nearest equally tempered pitch. | |
virtual void | setCopyright (std::string value) |
virtual void | setFilename (std::string filename) |
Sets the filename of this – basically, the title of the composition. | |
virtual void | setLicense (std::string value) |
virtual void | setOutputSoundfileName (std::string name) |
Sets a non-default output name (could be an audio device not a file). | |
virtual void | setTitle (std::string value) |
virtual void | setTonesPerOctave (double tonesPerOctave) |
Sets the number of equally tempered intervals per octave (the default is 12, 0 means non-equally tempered). | |
virtual int | tagFile (std::string filename) const |
virtual int | translateMaster () |
Convenience function that calls rescaleOutputSoundfile(), translateToCdAudio(), and translateToMp3(). | |
virtual int | translateToCdAudio (double levelDb=-3.0) |
Assuming the score has been rendered, uses sox to translate the output soundfile to normalized CD-audio format. | |
virtual int | translateToMp3 (double bitrate=256.01, double levelDb=-3.0) |
Assuming the score has been rendered, uses sox and LAME to translate the output soundfile to normalized MP3 format. | |
virtual int | translateToNotation (const std::vector< std::string > partNames=std::vector< std::string >(), std::string header="") |
Saves the generated score in Fomus format and uses Fomus and Lilypond to translate that to a PDF of music notation. | |
virtual void | write (const char *text) |
Write as if to stderr. | |
virtual | ~Composition () |
Static Public Member Functions | |
static std::string | generateFilename () |
Generates a versioned filename. | |
static std::string | makeTimestamp () |
Returns the current locale time as a string. |
Protected Attributes | |
std::string | album |
std::string | artist |
bool | conformPitches |
std::string | copyright |
std::string | filename |
std::string | license |
std::string | outputFilename |
Score | score |
std::string | timestamp |
std::string | title |
double | tonesPerOctave |
Base class for user-defined musical compositions.
Contains a Score object for collecting generated Events such as notes and control messages.
csound::Composition::Composition | ( | ) |
|
virtual |
|
virtual |
Clear all contents of this.
Probably should be overridden in derived classes.
Reimplemented in csound::MusicModel, and csound::ScoreModel.
|
virtual |
|
virtual |
Generate performance events and store them in the score.
Must be overidden in derived classes.
Reimplemented in csound::ScoreModel, and csound::MusicModel.
|
static |
Generates a versioned filename.
|
virtual |
|
virtual |
|
virtual |
Returns a soundfile name for a CD audio track based on the filename of this, by appending ".cd.wav" to the filename.
|
virtual |
Returns whether or not the pitches in generated scores will be conformed to the nearest equally tempered pitch.
|
virtual |
|
virtual |
Returns the filename of this, which is used as a base for derived filenames (soundfile, MIDI file, etc.).
|
virtual |
Returns a MusicXML filename based on the filename of this, by appending ".fms" to the filename.
|
virtual |
|
virtual |
Returns a MusicXML filename based on the filename of this, by appending ".ly" to the filename.
|
virtual |
Returns a MIDI filename based on the filename of this, by appending ".mid" to the filename.
|
virtual |
Returns a soundfile name for an MP3 file based on the filename of this, by appending ".mp3" to the filename.
|
virtual |
Returns a MusicXML filename based on the filename of this, by appending ".xml" to the filename.
|
virtual |
Returns a soundfile name based on the filename of this, by appending ".norm.wav" to the filename.
|
virtual |
Returns a soundfile name based on the filename of this, by appending ".wav" to the filename, which is the default, or a non-default ouput name which need not be a file but must be set using setOutputSoundfileName().
|
virtual |
Returns the time the score was generated.
|
virtual |
|
virtual |
Returns the number of equally tempered intervals per octave (the default is 12, 0 means non-equally tempered).
|
static |
Returns the current locale time as a string.
|
virtual |
Assuming the score has been rendered, uses sox to translate the output soundfile to a normalized soundfile.
|
virtual |
Performs the current score to create an output soundfile, which should be tagged with author, timestamp, copyright, title, and optionally album.
The default implementation does nothing. Must be overridden in derived classes.
Reimplemented in csound::MusicModel.
|
virtual |
Convenience function that calls performMaster(), and translateMaster().
|
virtual |
Convenience function that calls saveMidi(), saveMusicXML(), and perform().
|
virtual |
Pass the invoking program's command-line arguments to processArgs() and it will perform with possibly back-end-dependent options.
Additional arguments can be added to the args before the call. Default implementation calls renderAll().
Reimplemented in csound::MusicModel.
|
virtual |
Pass the invoking program's command-line arguments to processArgs() and it will perform with possibly back-end-dependent options.
Default implementation calls the std::string overload.
|
virtual |
Convenience function that calls clear(), generate(), perform().
Reimplemented in csound::MusicModel.
|
virtual |
Convenience function that calls clear(), generate(), performAll().
|
virtual |
|
virtual |
|
virtual |
Sets whether or not the pitches in generated scores will be conformed to the nearest equally tempered pitch.
|
virtual |
|
virtual |
Sets the filename of this – basically, the title of the composition.
|
virtual |
|
virtual |
Sets a non-default output name (could be an audio device not a file).
|
virtual |
|
virtual |
Sets the number of equally tempered intervals per octave (the default is 12, 0 means non-equally tempered).
|
virtual |
|
virtual |
Convenience function that calls rescaleOutputSoundfile(), translateToCdAudio(), and translateToMp3().
|
virtual |
Assuming the score has been rendered, uses sox to translate the output soundfile to normalized CD-audio format.
|
virtual |
Assuming the score has been rendered, uses sox and LAME to translate the output soundfile to normalized MP3 format.
|
virtual |
Saves the generated score in Fomus format and uses Fomus and Lilypond to translate that to a PDF of music notation.
A meter of 4/4 and a tempo of MM 120 is assumed. A vector of part names may be supplied.
|
virtual |
Write as if to stderr.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |