add new palette Tempo

This commit is contained in:
ws 2013-09-25 14:36:11 +02:00
parent 02d7b91649
commit 126b855350
10 changed files with 52 additions and 32 deletions

View file

@ -33,21 +33,21 @@ XmlReader::XmlReader(QFile* d)
_track = 0;
}
XmlReader::XmlReader(const QByteArray& d)
: QXmlStreamReader(d)
XmlReader::XmlReader(const QByteArray& d, const QString& s)
: QXmlStreamReader(d), docName(s)
{
_tick = 0;
_track = 0;
}
XmlReader::XmlReader(QIODevice* d)
: QXmlStreamReader(d)
XmlReader::XmlReader(QIODevice* d, const QString& s)
: QXmlStreamReader(d), docName(s)
{
_tick = 0;
_track = 0;
}
XmlReader::XmlReader(const QString& d)
XmlReader::XmlReader(const QString& d, const QString& s)
: QXmlStreamReader(d)
{
_tick = 0;

View file

@ -40,9 +40,9 @@ class XmlReader : public QXmlStreamReader {
public:
XmlReader(QFile*);
XmlReader(const QByteArray& d);
XmlReader(QIODevice* d);
XmlReader(const QString& d);
XmlReader(const QByteArray& d, const QString& s = QString());
XmlReader(QIODevice* d, const QString& s = QString());
XmlReader(const QString& d, const QString& s = QString());
void unknown() const;

View file

@ -138,6 +138,7 @@ MasterPalette::MasterPalette(QWidget* parent)
addPalette(MuseScore::newNoteHeadsPalette());
addPalette(MuseScore::newTremoloPalette());
addPalette(MuseScore::newRepeatsPalette());
addPalette(MuseScore::newTempoPalette());
addPalette(MuseScore::newTextPalette());
addPalette(MuseScore::newBreaksPalette());
addPalette(MuseScore::newBagpipeEmbellishmentPalette());

View file

@ -105,6 +105,11 @@
<string>Repeats</string>
</property>
</item>
<item>
<property name="text">
<string>Tempo</string>
</property>
</item>
<item>
<property name="text">
<string>Text</string>

View file

@ -873,6 +873,37 @@ struct TempoPattern {
// newTempoPalette
//---------------------------------------------------------
Palette* MuseScore::newTempoPalette()
{
Palette* sp = new Palette;
sp->setName(QT_TRANSLATE_NOOP("Palette", "Tempo"));
sp->setMag(0.65);
sp->setGrid(60, 30);
sp->setDrawGrid(true);
static const TempoPattern tp[] = {
TempoPattern(QString("%1%2 = 80"). arg(QChar(0xd834)).arg(QChar(0xdd5f)), 80.0/60.0), // 1/4
TempoPattern(QString("%1%2 = 80"). arg(QChar(0xd834)).arg(QChar(0xdd5e)), 80.0/30.0), // 1/2
TempoPattern(QString("%1%2 = 80"). arg(QChar(0xd834)).arg(QChar(0xdd60)), 80.0/120.0), // 1/8
TempoPattern(QString("%1%2%3%4 = 80").arg(QChar(0xd834)).arg(QChar(0xdd5f)).arg(QChar(0xd834)).arg(QChar(0xdd6d)), 120.0/60.0), // dotted 1/4
TempoPattern(QString("%1%2%3%4 = 80").arg(QChar(0xd834)).arg(QChar(0xdd5e)).arg(QChar(0xd834)).arg(QChar(0xdd6d)), 120/30.0), // dotted 1/2
TempoPattern(QString("%1%2%3%4 = 80").arg(QChar(0xd834)).arg(QChar(0xdd60)).arg(QChar(0xd834)).arg(QChar(0xdd6d)), 120/120.0) // dotted 1/8
};
for (unsigned i = 0; i < sizeof(tp)/sizeof(*tp); ++i) {
TempoText* tt = new TempoText(gscore);
tt->setFollowText(true);
tt->setTrack(0);
tt->setTempo(tp[i].f);
tt->setText(tp[i].pattern);
sp->append(tt, tr("Tempo Text"), QString(), 1.5);
}
return sp;
}
//---------------------------------------------------------
// newTextPalette
//---------------------------------------------------------
Palette* MuseScore::newTextPalette()
{
Palette* sp = new Palette;
@ -906,23 +937,6 @@ Palette* MuseScore::newTextPalette()
text->setText(tr("1."));
sp->append(text, tr("Lyrics Verse Number"));
static const TempoPattern tp[] = {
TempoPattern(QString("%1%2 = 80"). arg(QChar(0xd834)).arg(QChar(0xdd5f)), 80.0/60.0), // 1/4
TempoPattern(QString("%1%2 = 80"). arg(QChar(0xd834)).arg(QChar(0xdd5e)), 80.0/30.0), // 1/2
TempoPattern(QString("%1%2 = 80"). arg(QChar(0xd834)).arg(QChar(0xdd60)), 80.0/120.0), // 1/8
TempoPattern(QString("%1%2%3%4 = 80").arg(QChar(0xd834)).arg(QChar(0xdd5f)).arg(QChar(0xd834)).arg(QChar(0xdd6d)), 120.0/60.0), // dotted 1/4
TempoPattern(QString("%1%2%3%4 = 80").arg(QChar(0xd834)).arg(QChar(0xdd5e)).arg(QChar(0xd834)).arg(QChar(0xdd6d)), 120/30.0), // dotted 1/2
TempoPattern(QString("%1%2%3%4 = 80").arg(QChar(0xd834)).arg(QChar(0xdd60)).arg(QChar(0xd834)).arg(QChar(0xdd6d)), 120/120.0) // dotted 1/8
};
for (unsigned i = 0; i < sizeof(tp)/sizeof(*tp); ++i) {
TempoText* tt = new TempoText(gscore);
tt->setFollowText(true);
tt->setTrack(0);
tt->setTempo(tp[i].f);
tt->setText(tp[i].pattern);
sp->append(tt, tr("Tempo Text"), QString(), 1.5);
}
Harmony* harmony = new Harmony(gscore);
harmony->setText("C7");
sp->append(harmony, tr("Chord Name"));

View file

@ -615,6 +615,7 @@ class MuseScore : public QMainWindow, public MuseScoreCore {
void allowShowMidiPanel(const QString &file);
void setMidiPrefOperations(const QString &file);
static Palette* newTempoPalette();
static Palette* newTextPalette();
static Palette* newTimePalette();
static Palette* newRepeatsPalette();

View file

@ -17,6 +17,7 @@
#include "preferences.h"
#include "libmscore/xml.h"
#include "paletteBoxButton.h"
#include "workspace.h"
namespace Ms {
@ -97,7 +98,7 @@ Palette* PaletteBox::newPalette(const QString& name, int slot)
vbox->insertWidget(slot, b);
vbox->insertWidget(slot+1, p, 1000);
connect(b, SIGNAL(paletteCmd(int,int)), SLOT(paletteCmd(int,int)));
connect(p, SIGNAL(changed()), SLOT(setDirty()));
connect(p, SIGNAL(changed()), Workspace::currentWorkspace, SLOT(setDirty()));
for (int i = 0; i < (vbox->count() - 1) / 2; ++i)
static_cast<PaletteBoxButton*>(vbox->itemAt(i * 2)->widget())->setId(i*2);
return p;

View file

@ -263,8 +263,6 @@ void Workspace::write()
xml.etag();
xml.etag();
cbuf.seek(0);
//f.addDirectory("META-INF");
//f.addDirectory("Pictures");
f.addFile("META-INF/container.xml", cbuf.data());
// save images
@ -282,7 +280,7 @@ void Workspace::write()
xml.header();
xml.stag("museScore version=\"" MSC_VERSION "\"");
xml.stag("Workspace");
xml.tag("name", _name);
// xml.tag("name", _name);
PaletteBox* pb = mscore->getPaletteBox();
pb->write(xml);
xml.etag();
@ -313,7 +311,7 @@ void Workspace::read()
MQZipReader f(_path);
QByteArray ba = f.fileData("META-INF/container.xml");
XmlReader e(ba);
XmlReader e(ba, _path);
// extract first rootfile
QString rootfile = "";
@ -373,7 +371,7 @@ void Workspace::read(XmlReader& e)
while (e.readNextStartElement()) {
const QStringRef& tag(e.name());
if (tag == "name")
_name = e.readElementText();
e.readElementText();
else if (tag == "PaletteBox") {
PaletteBox* paletteBox = mscore->getPaletteBox();
paletteBox->clear();

Binary file not shown.

Binary file not shown.