1
//=============================================================================
2
// BWW to MusicXML converter
4
// Linux Music Score Editor
5
// $Id: writer.h 3891 2011-01-15 14:57:18Z lvinken $
7
// Copyright (C) 2010 Werner Schweer and others
9
// This program is free software; you can redistribute it and/or modify
10
// it under the terms of the GNU General Public License version 2.
12
// This program is distributed in the hope that it will be useful,
13
// but WITHOUT ANY WARRANTY; without even the implied warranty of
14
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
// GNU General Public License for more details.
17
// You should have received a copy of the GNU General Public License
18
// along with this program; if not, write to the Free Software
19
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
//=============================================================================
27
Definition of class Writer
30
#include <QtCore/QString>
38
static const int maxBeamLevel = 3;
51
The flags that need to be handled at the beginning of a measure.
54
struct MeasureBeginFlags {
70
The flags that need to be handled at the end of a measure.
73
struct MeasureEndFlags {
89
The writer that generates the output.
95
virtual void header(const QString title, const QString type,
96
const QString composer, const QString footer,
97
const unsigned int temp) = 0;
98
virtual void tsig(const int beats, const int beat) = 0;
99
virtual void trailer() = 0;
100
virtual void beginMeasure(const Bww::MeasureBeginFlags mbf) = 0;
101
virtual void endMeasure(const Bww::MeasureEndFlags mef) = 0;
102
virtual void note(const QString pitch, const QVector<BeamType> beamList,
103
const QString type, const int dots,
104
bool tieStart = false, bool tieStop = false,
105
StartStop triplet = ST_NONE,
106
bool grace = false) = 0;
107
QString instrumentName() const { return "Bagpipe"; }
108
int midiProgram() const { return 110; }