add new palette Tempo
This commit is contained in:
parent
02d7b91649
commit
126b855350
10 changed files with 52 additions and 32 deletions
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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());
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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"));
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
Loading…
Reference in a new issue