--- MuseScore-3.3.2/aeolus/aeolus.cpp.orig 2019-11-14 00:56:37.000000000 -0700
+++ MuseScore-3.3.2/aeolus/aeolus.cpp 2019-11-21 12:41:43.437378783 -0700
@@ -52,32 +52,46 @@ Synthesizer* createAeolus()
// Aeolus
//---------------------------------------------------------
-Aeolus::Aeolus()
+Aeolus::Aeolus() : Synthesizer()
{
- model = 0;
+ model = nullptr;
patchList.append(new MidiPatch { false, "Aeolus", 0, 0, 0, "Aeolus" });
_sc_cmode = 0;
_sc_group = 0;
_running = false;
+ _hold = 0;
_nplay = 0;
- _fsamp = 0;
_nasect = 0;
_ndivis = 0;
+ _revsize = 0.0f;
+ _revtime = 0.0f;
nout = 0;
- _ifc_init = 0;
- for (int i = 0; i < NGROUP; i++)
- _ifelms [i] = 0;
+ _fsamp = 0.0f;
+ _fsize = 0;
+ _ifc_init = nullptr;
+ memset(_midimap, 0, sizeof(_midimap));
+ memset(_asectp, 0, sizeof(_asectp));
+ memset(_divisp, 0, sizeof(_divisp));
memset(_keymap, 0, sizeof(_keymap));
+ memset(_audiopar, 0, sizeof(_audiopar));
+ memset(routb, 0, sizeof(routb));
+ memset(loutb, 0, sizeof(loutb));
+ memset(_asectpar, 0, sizeof(_asectpar));
+ memset(_ifelms, 0, sizeof(_ifelms));
+ memset(_tempstr, 0, sizeof(_tempstr));
}
Aeolus::~Aeolus()
{
- delete model;
+ if (model != nullptr)
+ delete model;
for (int i = 0; i < _nasect; i++)
- delete _asectp [i];
+ if (_asectp [i] != nullptr)
+ delete _asectp [i];
for (int i = 0; i < _ndivis; i++)
- delete _divisp [i];
+ if (_divisp [i] != nullptr)
+ delete _divisp [i];
}
//---------------------------------------------------------
@@ -257,10 +271,11 @@ SynthesizerGroup Aeolus::state() const
// setState
//---------------------------------------------------------
-void Aeolus::setState(const SynthesizerGroup& g)
+bool Aeolus::setState(const SynthesizerGroup& g)
{
for (const IdValue& v : g)
setValue(v.id, v.data.toDouble());
+ return true;
}
//---------------------------------------------------------
--- MuseScore-3.3.2/aeolus/aeolus.h.orig 2019-11-14 00:56:37.000000000 -0700
+++ MuseScore-3.3.2/aeolus/aeolus.h 2019-11-21 12:18:54.840326983 -0700
@@ -109,7 +109,7 @@ class Aeolus : public Synthesizer {
virtual double masterTuning() const;
virtual bool loadSoundFonts(const QStringList&) { return true; }
- virtual QStringList soundFonts() const { return QStringList(); }
+ virtual std::vector<Ms::SoundFontInfo> soundFontsInfo() const { std::vector<Ms::SoundFontInfo> sl; return sl; }
virtual void process(unsigned, float*, float*, float*);
virtual void play(const PlayEvent&);
@@ -118,7 +118,7 @@ class Aeolus : public Synthesizer {
// get/set synthesizer state
virtual SynthesizerGroup state() const;
- virtual void setState(const SynthesizerGroup&);
+ virtual bool setState(const SynthesizerGroup&);
virtual void allSoundsOff(int channel) { allNotesOff(channel); }
virtual void allNotesOff(int /*channel*/);
--- MuseScore-3.3.2/aeolus/model.cpp.orig 2019-11-14 00:56:37.000000000 -0700
+++ MuseScore-3.3.2/aeolus/model.cpp 2019-11-21 12:18:54.841326969 -0700
@@ -745,7 +745,7 @@ int Model::write_instr()
Ifelm *I;
Addsynth *A;
- sprintf (buff, "%s/definition", _instr);
+ snprintf (buff, sizeof(buff), "%s/definition", _instr);
if (! (F = fopen (buff, "w")))
{
fprintf (stderr, "Can't open '%s' for writing\n", buff);
@@ -963,7 +963,7 @@ bool Model::writePresets()
uchar data [256];
FILE *F;
- sprintf (name, "%s/presets", _instr);
+ snprintf (name, sizeof(name), "%s/presets", _instr);
if (! (F = fopen (name, "w"))) {
fprintf (stderr, "Can't open '%s' for writing\n", name);
return 1;
--- MuseScore-3.3.2/aeolus/sparm.cpp.orig 2019-11-14 00:56:37.000000000 -0700
+++ MuseScore-3.3.2/aeolus/sparm.cpp 2019-11-21 12:18:54.841326969 -0700
@@ -110,12 +110,12 @@ bool SyntiParameterData::operator==(cons
// write
//---------------------------------------------------------
-void SyntiParameterData::write(Xml& xml) const
+void SyntiParameterData::write(XmlWriter& xml) const
{
if (_type == SP_FLOAT)
xml.tagE(QString("f name=\"%1\" val=\"%3\"").arg(_name).arg(_fval));
else if (_type == SP_STRING)
- xml.tagE(QString("s name=\"%1\" val=\"%3\"").arg(_name).arg(Xml::xmlString(_sval)));
+ xml.tagE(QString("s name=\"%1\" val=\"%3\"").arg(_name).arg(XmlWriter::xmlString(_sval)));
}
//---------------------------------------------------------
@@ -189,7 +189,7 @@ SyntiParameterType SyntiParameter::type(
// write
//---------------------------------------------------------
-void SyntiParameter::write(Xml& xml) const
+void SyntiParameter::write(XmlWriter& xml) const
{
d->write(xml);
}
--- MuseScore-3.3.2/aeolus/sparm.h.orig 2019-11-14 00:56:37.000000000 -0700
+++ MuseScore-3.3.2/aeolus/sparm.h 2019-11-21 12:18:54.841326969 -0700
@@ -21,7 +21,7 @@
#define __SPARM_H__
namespace Ms {
- class Xml;
+ class XmlWriter;
class Synth;
}
@@ -54,7 +54,7 @@ class SyntiParameter {
SyntiParameterType type() const;
- void write(Ms::Xml&) const;
+ void write(Ms::XmlWriter&) const;
const QString& name() const;
void setName(const QString& s);
--- MuseScore-3.3.2/aeolus/sparm_p.h.orig 2019-11-14 00:56:37.000000000 -0700
+++ MuseScore-3.3.2/aeolus/sparm_p.h 2019-11-21 12:18:54.841326969 -0700
@@ -70,7 +70,7 @@ class SyntiParameterData : public QShare
SyntiParameterData(int id, const QString& name, const QString& val);
SyntiParameterData(const SyntiParameterData& pd);
- virtual void write(Ms::Xml&) const;
+ virtual void write(Ms::XmlWriter&) const;
virtual bool operator==(const SyntiParameterData&) const;
virtual void print() const;