LibMusicXML 3.22
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
midicontextvisitor Class Reference

A Visitor that maintains a context for MIDI generation. More...

#include <midicontextvisitor.h>

Inheritance diagram for midicontextvisitor:
visitor< S_sound > visitor< S_score_part > visitor< S_part > visitor< S_measure > visitor< S_midi_device > visitor< S_forward > visitor< S_backup > visitor< S_divisions > scoreInstrument midiInstrument transposevisitor notevisitor

Public Member Functions

 midicontextvisitor (long tpq, midiwriter *writer=0)
 
- 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 rationalgetTimeModification () 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 floatgetLyricDy () 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 transposevisitor
virtual void reset ()
 
- Public Member Functions inherited from visitor< S_diatonic >
virtual void visitEnd (S_diatonic &elt)
 
- Public Member Functions inherited from visitor< S_chromatic >
virtual void visitEnd (S_chromatic &elt)
 
- Public Member Functions inherited from visitor< S_octave_change >
virtual void visitEnd (S_octave_change &elt)
 
- Public Member Functions inherited from visitor< S_double >
virtual void visitEnd (S_double &elt)
 
- Public Member Functions inherited from visitor< S_midi_channel >
virtual void visitEnd (S_midi_channel &elt)
 
- Public Member Functions inherited from visitor< S_midi_name >
virtual void visitEnd (S_midi_name &elt)
 
- Public Member Functions inherited from visitor< S_midi_bank >
virtual void visitEnd (S_midi_bank &elt)
 
- Public Member Functions inherited from visitor< S_midi_program >
virtual void visitEnd (S_midi_program &elt)
 
- Public Member Functions inherited from visitor< S_midi_unpitched >
virtual void visitEnd (S_midi_unpitched &elt)
 
- Public Member Functions inherited from visitor< S_volume >
virtual void visitEnd (S_volume &elt)
 
- Public Member Functions inherited from visitor< S_instrument_name >
virtual void visitEnd (S_instrument_name &elt)
 
- Public Member Functions inherited from visitor< S_instrument_abbreviation >
virtual void visitEnd (S_instrument_abbreviation &elt)
 
- Public Member Functions inherited from visitor< S_divisions >
virtual void visitEnd (S_divisions &elt)
 
- Public Member Functions inherited from visitor< S_midi_device >
virtual void visitEnd (S_midi_device &elt)
 
- Public Member Functions inherited from visitor< S_measure >
virtual void visitStart (S_measure &elt)
 

Protected Member Functions

void addDuration (long dur)
 
long convert2Tick (long val)
 
long convert2Vel (long val)
 
virtual void playScoreInstrument (const scoreInstrument &instr)
 
virtual void playMidiInstrument (const midiInstrument &instr)
 
virtual void playNote (const notevisitor &note)
 
virtual void playTempoChange (long bmp)
 
virtual void playPedalChange (midiwriter::pedalType type, const std::string &val)
 
virtual void visitStart (S_divisions &elt)
 
virtual void visitStart (S_duration &elt)
 
virtual void visitStart (S_backup &elt)
 
virtual void visitEnd (S_backup &elt)
 
virtual void visitStart (S_forward &elt)
 
virtual void visitEnd (S_forward &elt)
 
virtual void visitEnd (S_score_instrument &elt)
 
virtual void visitStart (S_midi_device &elt)
 
virtual void visitEnd (S_midi_instrument &elt)
 
virtual void visitEnd (S_measure &elt)
 
virtual void visitStart (S_part &elt)
 
virtual void visitEnd (S_part &elt)
 
virtual void visitEnd (S_note &elt)
 
virtual void visitStart (S_score_part &elt)
 
virtual void visitEnd (S_score_part &elt)
 
virtual void visitStart (S_sound &elt)
 
virtual void visitEnd (S_sound &elt)
 
virtual void visitEnd (S_transpose &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_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 Member Functions inherited from transposevisitor
virtual void visitStart (S_transpose &elt)
 
virtual void visitStart (S_diatonic &elt)
 
virtual void visitStart (S_chromatic &elt)
 
virtual void visitStart (S_octave_change &elt)
 
virtual void visitStart (S_double &elt)
 
- Protected Member Functions inherited from midiInstrument
virtual void reset ()
 
virtual void visitStart (S_midi_instrument &elt)
 
virtual void visitStart (S_midi_channel &elt)
 
virtual void visitStart (S_midi_name &elt)
 
virtual void visitStart (S_midi_bank &elt)
 
virtual void visitStart (S_midi_program &elt)
 
virtual void visitStart (S_volume &elt)
 
virtual void visitStart (S_midi_unpitched &elt)
 
- Protected Member Functions inherited from scoreInstrument
virtual void reset ()
 
virtual void visitStart (S_score_instrument &elt)
 
virtual void visitStart (S_instrument_name &elt)
 
virtual void visitStart (S_instrument_abbreviation &elt)
 

Protected Attributes

midiwriterfMidiWriter
 
long fDivisions
 
long fCurrentDate
 
long fLastPosition
 
long fPendingDuration
 
long fCurrentDynamics
 
long fTranspose
 
long fTPQ
 
long fCurrentChan
 
- 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 }
 
- Static Public Member Functions inherited from notevisitor
static int step2i (const std::string &step)
 
static std::string i2step (int i)
 
- 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
 
- Public Attributes inherited from transposevisitor
int fDiatonic
 
int fChromatic
 
int fOctaveChange
 
bool fDouble
 
- Public Attributes inherited from midiInstrument
int fChan
 an optional MIDI channel (-1 when undefined)
 
int fBank
 an optional MIDI bank number (-1 when undefined)
 
int fProgram
 a MIDI program change (-1 when undefined)
 
int fVolume
 a percentage from 0 to 100 (-1 when undefined)
 
int fUnpitched
 a note number from 1 to 127 (-1 when undefined)
 
std::string fMIDIName
 MIDI names correspond to ProgramName meta-events within a Standard MIDI File.
 
std::string fID
 the midi-instrument id
 
- Public Attributes inherited from scoreInstrument
std::string fName
 the score instrument name
 
std::string fAbbreviation
 the instrument abbreviated name
 
std::string fID
 the score-instrument id
 

Detailed Description

Todo:
Handling of grace notes. Handling of divisions attribute in coda or segno sound attribute. Handling of actual duration in fine sound element.

Member Function Documentation

◆ visitEnd() [1/10]

virtual void visitEnd ( S_backup elt)
inlineprotectedvirtual

Reimplemented from visitor< S_backup >.

◆ visitEnd() [2/10]

virtual void visitEnd ( S_forward elt)
inlineprotectedvirtual

Reimplemented from visitor< S_forward >.

◆ visitEnd() [3/10]

virtual void visitEnd ( S_measure elt)
protectedvirtual

Reimplemented from visitor< S_measure >.

◆ visitEnd() [4/10]

virtual void visitEnd ( S_midi_instrument elt)
protectedvirtual

Reimplemented from visitor< S_midi_instrument >.

◆ visitEnd() [5/10]

virtual void visitEnd ( S_note elt)
protectedvirtual

Reimplemented from notevisitor.

◆ visitEnd() [6/10]

virtual void visitEnd ( S_part elt)
protectedvirtual

Reimplemented from visitor< S_part >.

◆ visitEnd() [7/10]

virtual void visitEnd ( S_score_instrument elt)
protectedvirtual

Reimplemented from visitor< S_score_instrument >.

◆ visitEnd() [8/10]

virtual void visitEnd ( S_score_part elt)
protectedvirtual

Reimplemented from visitor< S_score_part >.

◆ visitEnd() [9/10]

virtual void visitEnd ( S_sound elt)
inlineprotectedvirtual

Reimplemented from visitor< S_sound >.

◆ visitEnd() [10/10]

virtual void visitEnd ( S_transpose elt)
protectedvirtual

Reimplemented from visitor< S_transpose >.

◆ visitStart() [1/8]

virtual void visitStart ( S_backup elt)
inlineprotectedvirtual

Reimplemented from visitor< S_backup >.

◆ visitStart() [2/8]

virtual void visitStart ( S_divisions elt)
protectedvirtual

Reimplemented from visitor< S_divisions >.

◆ visitStart() [3/8]

virtual void visitStart ( S_duration elt)
protectedvirtual

Reimplemented from notevisitor.

◆ visitStart() [4/8]

virtual void visitStart ( S_forward elt)
inlineprotectedvirtual

Reimplemented from visitor< S_forward >.

◆ visitStart() [5/8]

virtual void visitStart ( S_midi_device elt)
protectedvirtual

Reimplemented from visitor< S_midi_device >.

◆ visitStart() [6/8]

virtual void visitStart ( S_part elt)
protectedvirtual

Reimplemented from visitor< S_part >.

◆ visitStart() [7/8]

virtual void visitStart ( S_score_part elt)
protectedvirtual

Reimplemented from visitor< S_score_part >.

◆ visitStart() [8/8]

virtual void visitStart ( S_sound elt)
protectedvirtual

Reimplemented from visitor< S_sound >.