VocalEasel/Sources/VLMMAWriter.h

45 lines
914 B
C
Raw Normal View History

2007-05-27 04:35:45 +00:00
//
// File: VLMMAWriter.h
//
// Author(s):
//
// (MN) Matthias Neeracher
//
2018-02-19 00:59:23 +00:00
// Copyright © 2007-2018 Matthias Neeracher
2007-05-27 04:35:45 +00:00
//
#include "VLModel.h"
class VLMMAWriter: public VLSongVisitor {
public:
2008-01-24 01:29:18 +00:00
VLMMAWriter(bool preview, int beginSection, int endSection)
: fPreview(preview), fBeginSection(beginSection), fEndSection(endSection)
{}
2007-05-27 04:35:45 +00:00
2018-02-19 00:59:23 +00:00
void Visit(VLSong & song) override;
void VisitMeasure(uint32_t m, VLProperties & p, VLMeasure & meas) override;
void VisitNote(VLLyricsNote & n) override;
void VisitChord(VLChord & c) override;
2007-05-27 04:35:45 +00:00
const std::string & Measures() const { return fMeasures; }
private:
std::string fMeasures;
2007-05-27 04:35:45 +00:00
VLSong * fSong;
2008-01-24 01:29:18 +00:00
bool fPreview;
bool fUseSharps;
bool fTied;
bool fInitial;
int fMeas;
size_t fLastDur;
std::string fAccum;
int fKey;
std::string fGroove;
2008-01-24 01:29:18 +00:00
int fBeginSection;
int fEndSection;
2007-05-27 04:35:45 +00:00
};
// Local Variables:
// mode:C++
// End: