Need help understanding Load/Save functions on synthesizer panel - MS 2.3.2

• Nov 27, 2018 - 03:52

I am running 2.3.2 rev 4592407 on Linux Mint 17.3. I tried making some adjustments to the settings on the Zita1 reverb panel to get better sound quality when running live synth output into an amp & hi-fi speakers. After I hit "Save Default", when I next reloaded the program, I could not get any sound through the Zita1 module. The "Load Default" and "Save Default" buttons were grayed out.

Normally Zita1 is on Effect A; Effect B is NoEffect. If I set both A and B to NoEffect, I get sound through with (of course) no reverb. My main question now is, how do I get Zita1 to pass sound normally again?

Another thing: I looked at the user's manual. Am I correct in understanding that in order for a change in the Zita1 settings to show an effect in exported audio files, I must hit "Save to Score"? Won't "Save to Default" do it (at least normally)? What I really want to do is change the reverb settings in .mp3 files that I export.


Some further results:

Tried restoring "factory" settings - this worked, restored the Zita1 settings to those shown in the user's manual, now had sound as originally.
Then tried adjusting the Zita1 settings - this also worked, could tell from sound quality that the new settings were operational.
Then hit "Set as Default" - both Default buttons grayed out, no sound.
Reloaded program - heard some loud clicks while loading, still no sound.
Restored "factory" settings again, made my adjustments again, this time hit "Save to Score" - seemed to work OK, still had sound. Saved the score to disc.
Reloaded program, reloaded score - Zita1 came up with default settings.
Hit "Load from Score" - got the new settings, had sound.

So it looks like there's something fishy with the Load/Save Default in 2.3.2 - anyone have any thoughts?

BTW, I notice there's a new 3.0.0 AppImage that's not marked Nightly - that's my next thing to try out.

I downloaded the source for 2.3.2 and started looking through it. It looks like when the "Save Default" button is clicked, it causes a call to write the synthesizer state to a file "synthesizer.xml" but only if the file previously exists. I can't find the file anywhere on my machine, so I would assume the program is hanging because it can't find the file. Doing a grep in the 2.3.2 source directory on the file name gives

libmscore/synthesizerstate.h: // used if synthesizer.xml does not exist or is not
mscore/synthcontrol.cpp: QString s(dataPath + "/synthesizer.xml");
synthesizer/msynthesizer.cpp: QString s(dataPath + "/synthesizer.xml");
synthesizer/msynthesizer.cpp: QString s(dataPath + "/synthesizer.xml");

but I don't see any code to initially create the file. And how can I tell what the dataPath string is set to? I can create an empty file, but how will I know where to put it?

Thanks, Jojo for the suggestion. I searched for a "synthesizer.xml" and did not find one in either of the places listed. (Which raises the question - how do the "factory" Zita1 default settings get loaded on startup? Where do they come from if "synthesizer.xml" does not exist?)

Meanwhile I was able to save my new Zita1 settings into a score by using the "Save to Score" button. I could then restart the program with my score loaded, observe that Zita1 came up with the "factory" default settings, click "Load from Score" and get my new settings back; got sound out. Works fine that way.

By grepping the 2.3.2 source code for "dataPath", seeing which other files are accessed from this directory, and finding the files on my machine, I was able to identify "dataPath" as
I tried creating an empty file "synthesizer.xml" in this directory, then clicked "Set as Default". The button grayed out and the program appeared to have locked up (at least I couldn't close the Synthesizer). I managed to exit the program, and found that my "synthesizer.xml" had acquired content - I found a [Zita1] section with what appeared to be the settings. Then I restarted the program, viewed the Synthesizer, and it had what appeared to be my new settings as the (now) default on startup. However - no sound. Exited the program, deleted my "synthesizer.xml", and restarted - Synthesizer now came up with the "factory" defaults, with sound working.

At this point I'm ready to file a bug report on the synthesizer Load/Save Default - for 2.3.2. I haven't checked the 3.0.0 beta yet to see if the same thing happens there; if it does, you can bet I'll file one at "major" level because of (1) the lockup on "Save as Default" and (2) the no-sound on output. Or would anyone else care to try this on 3.0.0 beta?

In reply to by dhfx

Works just like it should on Windows 7, creates that synthesizer.xml and doesn't hang. So this probably is a Linux specific problem.
Or an installation problem, if you used sudo to install it it may have created your settings direcory with the wrong permissions or rather ownerships

/.local/share/data/MuseScore/MuseScore2 is (or should) be only accessible to root, I hope you mean ~/.local/share/data/MuseScore/MuseScore2

In reply to by Jojo-Schmitz

Looks OK - I did use sudo to install from a repo using the distro's Software Manager; the executable is owned by root, but the ~/.config and ~/.local dirs and all subdirs have owner "rwx" permissions with me (not root) as owner. I can try uninstalling and (without sudo) downloading the AppImage instead.

In reply to by dhfx

I just downloaded the latest 3.0.0 AppImage beta, started it, loaded a score, opened the Synthesizer window, made my adjustments to the Zita1 settings and clicked "Save as Default" - NO lockup, HAD sound. Checked in ~/.local/share/MuseScore/MuseScore3 and found "synthesizer.xml" where it should be, and AS it should be with content including a [Zita1] section. Tried "Load From Score" - all OK; then "Load Default" - again all OK.

So either the bug in 2.3.2 was specific to that version in Linux, or (thanks again, Jojo) it's something in my installation. If I want to continue working in 2.3.2 for now, the logical thing would be to undo the installation done with Software Manager from the repo, and download the AppImage instead. And if I still have the bug, maybe this will drive me to switch to 3.0.0 sooner than I would have otherwise. In any event, my thanks for everyone's patience.

So, I uninstalled 2.3.2, downloaded the AppImage for 2.3.2 and ran it. Heard loud clicks when starting up, and when I tried to run the Synthesizer, no sound - evidently because 3.0.0 beta had been running previously. Went back to factory settings on 2.3.2, then was able to load my Zita1 settings from the score, set them as default, and get sound out; also "synthesizer.xml" is where it should be for each version:
But now 3.0.0 has clicks on startup, and no sound. Evidently there is some conflict between the two AppImage executables, possibly over which one last had access to the local system sound channel, and getting access back from the other seems to require a factory reset. Does anyone have any insight into how MS connects with Linux sound? Could this be considered a bug - that with two separate MS executables on Linux, if you run one, close it and then run the other, starting the second one does not automatically grab the sound unless you do a factory reset on it?

In reply to by dhfx

at first, i say "sorry my bad english, and i dont know about Linux".
this case is in 2.3.2/Mac
after "revert factory settings", default settings is coming up to the application.
"synthesizer.xml" is still none.
if you changed some effects setting, but "Load Default" button is not working. cause nothing to load data.
if you changed effects setting, you'll get "Save Default".
but its not the same of default, cause you changed.

  1. install something soundFont like "GeneralUser GS".
  2. "revert factory settings"
  3. a some score open.
  4. load some soundFont using "Add" button.
  5. then delete this soundFont using "Delete" button.
  6. "Set as Default" button is still rise up(maybe). Push it.
  7. re-Launch application.
  8. "synthesizer.xml" is exists.

and about "No Sound", you can check "I/O" settings of preferences panel.
youve done "factory settings".
probably, you have two or more outputs? no?
this is Mac case. in my case.

Do you still have an unanswered question? Please log in first to post your question.