LibMusicXML 3.22
|
A visitor that computes a diatonic transposition of a score. More...
#include <transposition.h>
Public Member Functions | |
transposition (int steps) | |
Public Member Functions inherited from notevisitor | |
bool | isGrace () const |
bool | isCue () const |
bool | inChord () const |
bool | inFermata () const |
type | getType () const |
int | getTie () const |
int | getStaff () const |
int | getVoice () const |
S_note | getSnote () const |
float | getNoteHeadDy (string fCurClef) const |
std::string | getNoteheadType () const |
bool | printObject () const |
virtual float | getMidiPitch () const |
Compute the note MIDI pitch. | |
virtual float | getAlter () const |
virtual int | getOctave () const |
virtual const std::string & | getStep () const |
virtual const std::string & | getInstrument () const |
virtual const std::string & | getGraphicType () const |
virtual const rational & | getTimeModification () const |
virtual void | setStep (const std::string &step) |
virtual void | setOctave (int oct) |
virtual void | setAlter (float alter) |
virtual long | getDynamics () const |
virtual long | getDuration () const |
virtual int | getDots () const |
virtual void | print (std::ostream &out) const |
virtual const std::vector< Sxmlelement > & | getFingerings () const |
virtual const std::vector< S_tied > & | getTied () const |
virtual const std::vector< S_slur > & | getSlur () const |
virtual const std::vector< S_beam > & | getBeam () const |
virtual const std::vector< S_wavy_line > & | getWavylines () const |
virtual const std::vector< S_tuplet > & | getTuplet () const |
virtual const std::vector< S_lyric > & | getLyric () const |
virtual const std::string & | getSyllabic () const |
virtual const std::string & | getLyricText () const |
virtual const float & | getLyricDy () const |
Public Member Functions inherited from visitor< S_accent > | |
virtual void | visitEnd (S_accent &elt) |
Public Member Functions inherited from visitor< S_alter > | |
virtual void | visitEnd (S_alter &elt) |
Public Member Functions inherited from visitor< S_beam > | |
virtual void | visitEnd (S_beam &elt) |
Public Member Functions inherited from visitor< S_breath_mark > | |
virtual void | visitEnd (S_breath_mark &elt) |
Public Member Functions inherited from visitor< S_chord > | |
virtual void | visitEnd (S_chord &elt) |
Public Member Functions inherited from visitor< S_cue > | |
virtual void | visitEnd (S_cue &elt) |
Public Member Functions inherited from visitor< S_display_octave > | |
virtual void | visitEnd (S_display_octave &elt) |
Public Member Functions inherited from visitor< S_display_step > | |
virtual void | visitEnd (S_display_step &elt) |
Public Member Functions inherited from visitor< S_dot > | |
virtual void | visitEnd (S_dot &elt) |
Public Member Functions inherited from visitor< S_duration > | |
virtual void | visitEnd (S_duration &elt) |
Public Member Functions inherited from visitor< S_fermata > | |
virtual void | visitEnd (S_fermata &elt) |
Public Member Functions inherited from visitor< S_grace > | |
virtual void | visitEnd (S_grace &elt) |
Public Member Functions inherited from visitor< S_instrument > | |
virtual void | visitEnd (S_instrument &elt) |
Public Member Functions inherited from visitor< S_octave > | |
virtual void | visitEnd (S_octave &elt) |
Public Member Functions inherited from visitor< S_pitch > | |
virtual void | visitEnd (S_pitch &elt) |
Public Member Functions inherited from visitor< S_rest > | |
virtual void | visitEnd (S_rest &elt) |
Public Member Functions inherited from visitor< S_slur > | |
virtual void | visitEnd (S_slur &elt) |
Public Member Functions inherited from visitor< S_staccato > | |
virtual void | visitEnd (S_staccato &elt) |
Public Member Functions inherited from visitor< S_staff > | |
virtual void | visitEnd (S_staff &elt) |
Public Member Functions inherited from visitor< S_stem > | |
virtual void | visitEnd (S_stem &elt) |
Public Member Functions inherited from visitor< S_step > | |
virtual void | visitEnd (S_step &elt) |
Public Member Functions inherited from visitor< S_strong_accent > | |
virtual void | visitEnd (S_strong_accent &elt) |
Public Member Functions inherited from visitor< S_tenuto > | |
virtual void | visitEnd (S_tenuto &elt) |
Public Member Functions inherited from visitor< S_tie > | |
virtual void | visitEnd (S_tie &elt) |
Public Member Functions inherited from visitor< S_tied > | |
virtual void | visitEnd (S_tied &elt) |
Public Member Functions inherited from visitor< S_time_modification > | |
virtual void | visitEnd (S_time_modification &elt) |
Public Member Functions inherited from visitor< S_type > | |
virtual void | visitEnd (S_type &elt) |
Public Member Functions inherited from visitor< S_unpitched > | |
virtual void | visitEnd (S_unpitched &elt) |
Public Member Functions inherited from visitor< S_voice > | |
virtual void | visitEnd (S_voice &elt) |
Public Member Functions inherited from visitor< S_lyric > | |
virtual void | visitEnd (S_lyric &elt) |
Public Member Functions inherited from visitor< S_turn > | |
virtual void | visitEnd (S_turn &elt) |
Public Member Functions inherited from visitor< S_tremolo > | |
virtual void | visitEnd (S_tremolo &elt) |
Public Member Functions inherited from visitor< S_inverted_turn > | |
virtual void | visitEnd (S_inverted_turn &elt) |
Public Member Functions inherited from visitor< S_trill_mark > | |
virtual void | visitEnd (S_trill_mark &elt) |
Public Member Functions inherited from visitor< S_wavy_line > | |
virtual void | visitEnd (S_wavy_line &elt) |
Public Member Functions inherited from visitor< S_inverted_mordent > | |
virtual void | visitEnd (S_inverted_mordent &elt) |
Public Member Functions inherited from visitor< S_mordent > | |
virtual void | visitEnd (S_mordent &elt) |
Public Member Functions inherited from visitor< S_arpeggiate > | |
virtual void | visitEnd (S_arpeggiate &elt) |
Public Member Functions inherited from visitor< S_accidental_mark > | |
virtual void | visitEnd (S_accidental_mark &elt) |
Public Member Functions inherited from visitor< S_notehead > | |
virtual void | visitEnd (S_notehead &elt) |
Public Member Functions inherited from visitor< S_tuplet > | |
virtual void | visitEnd (S_tuplet &elt) |
Public Member Functions inherited from visitor< S_fingering > | |
virtual void | visitEnd (S_fingering &elt) |
Public Member Functions inherited from visitor< S_pluck > | |
virtual void | visitEnd (S_pluck &elt) |
Public Member Functions inherited from visitor< S_up_bow > | |
virtual void | visitEnd (S_up_bow &elt) |
Public Member Functions inherited from visitor< S_down_bow > | |
virtual void | visitEnd (S_down_bow &elt) |
Public Member Functions inherited from visitor< S_harmonic > | |
virtual void | visitEnd (S_harmonic &elt) |
Public Member Functions inherited from visitor< S_snap_pizzicato > | |
virtual void | visitEnd (S_snap_pizzicato &elt) |
Public Member Functions inherited from visitor< S_staccatissimo > | |
virtual void | visitEnd (S_staccatissimo &elt) |
Public Member Functions inherited from visitor< S_cancel > | |
virtual void | visitEnd (S_cancel &elt) |
Public Member Functions inherited from visitor< S_fifths > | |
virtual void | visitEnd (S_fifths &elt) |
Public Member Functions inherited from visitor< S_encoding > | |
virtual void | visitStart (S_encoding &elt) |
Public Member Functions inherited from visitor< S_part > | |
virtual void | visitEnd (S_part &elt) |
Static Public Member Functions | |
static int | getOctave (Chromatic steps) |
static Chromatic | getOctaveStep (Chromatic steps) |
static int | getKey (Chromatic steps) |
static int | getAccidental (Diatonic pitch, int key) |
static string | getAccident (float alter) |
static int | transposeKey (int key, Chromatic steps, int &enharmonicChange) |
Static Public Member Functions inherited from notevisitor | |
static int | step2i (const std::string &step) |
static std::string | i2step (int i) |
Protected Member Functions | |
void | initialize () |
Sxmlelement | buildSupport (const string &elt, bool val) const |
void | transpose (string &pitch, float &alter, int &octave, int tableshift) const |
void | setPitch (notevisitor &v) |
ctree< xmlelement >::iterator | insertAlter (S_note &elt, ctree< xmlelement >::iterator pos, float value) |
ctree< xmlelement >::iterator | insertAccident (S_note &elt, ctree< xmlelement >::iterator pos, const string &value) |
virtual void | visitStart (S_part &elt) |
virtual void | visitEnd (S_note &elt) |
virtual void | visitStart (S_cancel &elt) |
virtual void | visitStart (S_fifths &elt) |
virtual void | visitEnd (S_encoding &elt) |
Protected Member Functions inherited from notevisitor | |
void | reset () |
virtual void | visitStart (S_accent &elt) |
virtual void | visitStart (S_alter &elt) |
virtual void | visitStart (S_beam &elt) |
virtual void | visitStart (S_tuplet &elt) |
virtual void | visitStart (S_breath_mark &elt) |
virtual void | visitStart (S_chord &elt) |
virtual void | visitStart (S_cue &elt) |
virtual void | visitStart (S_display_octave &elt) |
virtual void | visitStart (S_display_step &elt) |
virtual void | visitStart (S_dot &elt) |
virtual void | visitStart (S_duration &elt) |
virtual void | visitStart (S_fermata &elt) |
virtual void | visitStart (S_grace &elt) |
virtual void | visitStart (S_instrument &elt) |
virtual void | visitStart (S_note &elt) |
virtual void | visitStart (S_octave &elt) |
virtual void | visitStart (S_pitch &elt) |
virtual void | visitStart (S_rest &elt) |
virtual void | visitStart (S_slur &elt) |
virtual void | visitStart (S_staccato &elt) |
virtual void | visitStart (S_staff &elt) |
virtual void | visitStart (S_stem &elt) |
virtual void | visitStart (S_step &elt) |
virtual void | visitStart (S_strong_accent &elt) |
virtual void | visitStart (S_tenuto &elt) |
virtual void | visitStart (S_tie &elt) |
virtual void | visitStart (S_tied &elt) |
virtual void | visitStart (S_time_modification &elt) |
virtual void | visitStart (S_type &elt) |
virtual void | visitStart (S_unpitched &elt) |
virtual void | visitStart (S_voice &elt) |
virtual void | visitStart (S_lyric &elt) |
virtual void | visitStart (S_turn &elt) |
virtual void | visitStart (S_tremolo &elt) |
virtual void | visitStart (S_trill_mark &elt) |
virtual void | visitStart (S_wavy_line &elt) |
virtual void | visitStart (S_accidental_mark &elt) |
virtual void | visitStart (S_inverted_mordent &elt) |
virtual void | visitStart (S_inverted_turn &elt) |
virtual void | visitStart (S_arpeggiate &elt) |
virtual void | visitStart (S_mordent &elt) |
virtual void | visitStart (S_notehead &elt) |
virtual void | visitStart (S_fingering &elt) |
virtual void | visitStart (S_pluck &elt) |
virtual void | visitStart (S_down_bow &elt) |
virtual void | visitStart (S_up_bow &elt) |
virtual void | visitStart (S_harmonic &elt) |
virtual void | visitStart (S_snap_pizzicato &elt) |
virtual void | visitStart (S_staccatissimo &elt) |
Protected Attributes | |
Chromatic | fChromaticSteps |
std::vector< pair< std::string, int > > | fFifthCycle |
int | fTableShift |
int | fOctaveChange |
int | fKeySign |
int | fCurrentKeySign |
Protected Attributes inherited from notevisitor | |
bool | fInNote |
Additional Inherited Members | |
Public Types inherited from notevisitor | |
enum | { C , D , E , F , G , A , B , last =B , diatonicSteps =last } |
enum | type { kUndefinedType , kPitched , kUnpitched , kRest } |
enum | { kUndefinedDynamics = -1 , kUndefinedStaff = 0 , kUndefinedVoice = 0 } |
Public Attributes inherited from notevisitor | |
S_stem | fStem |
S_accent | fAccent |
S_strong_accent | fStrongAccent |
S_staccato | fStaccato |
S_tenuto | fTenuto |
S_breath_mark | fBreathMark |
S_trill_mark | fTrill |
S_inverted_mordent | fInvertedMordent |
S_mordent | fMordent |
S_turn | fTurn |
S_tremolo | fTremolo |
S_arpeggiate | fArpeggio |
S_inverted_turn | fInvertedTurn |
S_accidental_mark | fAccidentalMark |
S_notehead | fNotehead |
S_fermata | fFermata |
std::string | fGraphicType |
std::string | fAccidental |
std::string | fCautionary |
S_harmonic | fHarmonic |
S_snap_pizzicato | fSnapPizzicato |
S_staccatissimo | fStaccatissimo |
S_up_bow | fBowUp |
S_down_bow | fBowDown |
int | x_default |
The transposition visitor computes a diatonic transposition of a score. The transposition interval is specified as a number of chromatic steps, the simplest enharmonic diatonic transposition is automatically selected. The operation makes use of a fifth cycle table to compute transposed values.
|
protected |
Create a support element
elt | the target element name |
val | a boolean denoting support |
|
static |
gives the accident string corresponding to an alter value
alter | a float pitch alter value |
|
static |
gives a note accidental according to a key signature
pitch | a diatonic pitch (where C=1) |
key | the key signature expressed as a number of sharps when > 0 or flats when < 0 |
|
static |
computes a key sign corresponding to a chromatic degree
steps | a chromatic step |
|
inlinestatic |
computes an octaves count from a chromatic interval
steps | a chromatic steps count |
|
inlinestatic |
computes a step number wihin an octave
steps | a chromatic steps count |
|
protected |
Transpose a pitch expressed as a diatonic value + alteration + octave
pitch | on input a diatonic pitch value (where C=1), on output the new pitch value |
alter | on input the accidental value, on output the new accidental value |
octave | on input the octave number, on output the new octave number |
tableshift | shift in the table of fifth cycle |
|
static |
Transpose a key expressed as a count of sharps (positive keys) or flats (negative key). The method may do enharmonic adjustments to choose the simplest key.
key | the key to be transposed |
steps | chromatic transposition steps |
enharmonicChange | on output, possible adjustment to enharmonic keys |
|
protectedvirtual |
Reimplemented from visitor< S_encoding >.
|
protectedvirtual |
Reimplemented from notevisitor.
|
protectedvirtual |
Reimplemented from visitor< S_cancel >.
|
protectedvirtual |
Reimplemented from visitor< S_fifths >.
|
protectedvirtual |
Reimplemented from visitor< S_part >.