// // File: VLLilypondWriter.h // // Author(s): // // (MN) Matthias Neeracher // // Copyright © 2007 Matthias Neeracher // #include "VLModel.h" class VLLilypondWriter: public VLSongVisitor { public: VLLilypondWriter() {} virtual void Visit(VLSong & song); virtual void VisitMeasure(size_t m, VLProperties & p, VLMeasure & meas); virtual void VisitNote(VLLyricsNote & n); virtual void VisitChord(VLChord & c); const std::string & Chords() const { return fChords; } const std::string & Melody() const { return fMelody; } const std::string & Lyrics(size_t stanza) const { return fLyrics[stanza]; } private: std::string fChords; std::string fMelody; std::vector fLyrics; VLSong * fSong; bool fUseSharps; bool fInPickup; bool fAutomaticLayout; int fPrevBreak; size_t fSeenEnding; int fNumEndings; VLNote fPrevNote; std::string fAccum; std::string fIndent; std::vector fL; VLProperties * fLastProp; }; // Local Variables: // mode:C++ // End: