jwdj / EasyABC

EasyABC
GNU General Public License v2.0
87 stars 36 forks source link

Warning when starting Python version in Windows minimized #46

Open mist13 opened 2 years ago

mist13 commented 2 years ago

I start the Python version in Windows from a shortcut on my desktop set to run it minimized. I thus am only a click onto the taskbar away from running EasyABC with the black Python window tucked away on said bar.

Everything is running fine, only the minimized Python window on the taskbar gives me this:

Warning: FluidSynth library not found. Playing using a SoundFont (.sf2) is disabled.Traceback (most recent call last): File "C:\Users\Michi\AppData\Roaming\Python\Python38\site-packages\wx\lib\agw\aui\framemanager.py", line 8917, in OnSize self.Repaint() File "C:\Users\Michi\AppData\Roaming\Python\Python38\site-packages\wx\lib\agw\aui\framemanager.py", line 8773, in Repaint client_dc = wx.BufferedDC(wx.ClientDC(self._frame), wx.Size(w, h)) wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(134) in wxBufferedDC::UnMask(): invalid backing store

jwdj commented 2 years ago

If you don't mind missing out on the very latest features you could just install the latest released version with installer. https://sourceforge.net/projects/easyabc/files/EasyABC/1.3.8/EasyABC-1.3.8.exe/download Then you will also get rid of the black Python window and the FluidSynth library is then installed along with it.

But if you want to start from python: The FluidSynth library not found can be solved by downloading the file https://github.com/FluidSynth/fluidsynth/releases/download/v2.2.1/fluidsynth-2.2.1-winXP-x86.zip and placing the contents of the folder 'bin' into \bin\FluidSynth\X86 and restarting EasyABC.

The last time https://sourceforge.net/p/easyabc/tickets/27/ I got this 'invalid backing store' error the reason was a negative width or height, but with the latest source you are using that should not occur anymore. You could try to edit easy_abc.py and in the function load_and_apply_settings change 'if load_window_size_pos:' to 'if False:' and the same for 'if load_perspective:' A better solution might be to move the block with 'if load_perspective:' before the 'if load_window_size_pos:' I was not able to reproduce the error you got with a shortcut with starting python minimized.

On 13-9-2021 18:12, mist13 wrote:

I start the Python version in Windows from a shortcut on my desktop set to run it minimized. I thus am only a click onto the taskbar away from running EasyABC with the black Python window tucked away on said bar.

Everything is running fine, only the minimized Python window on the taskbar gives me this:

Warning: FluidSynth library not found. Playing using a SoundFont (.sf2) is disabled.Traceback (most recent call last): File "C:\Users\Michi\AppData\Roaming\Python\Python38\site-packages\wx\lib\agw\aui\framemanager.py", line 8917, in OnSize self.Repaint() File "C:\Users\Michi\AppData\Roaming\Python\Python38\site-packages\wx\lib\agw\aui\framemanager.py", line 8773, in Repaint client_dc = wx.BufferedDC(wx.ClientDC(self._frame), wx.Size(w, h)) wx._core.wxAssertionError: C++ assertion "m_buffer && m_buffer->IsOk()" failed at ....\src\common\dcbufcmn.cpp(134) in wxBufferedDC::UnMask(): invalid backing store

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jwdj/EasyABC/issues/46, or unsubscribe https://github.com/notifications/unsubscribe-auth/AC22EZBNKDTGW45MBL6TSOLUBYPIPANCNFSM5D6F4YMQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

mist13 commented 2 years ago

Dear Jan,

Thank you for your extensive reply.

I have used the exe version for qite a few years, but it is much more fun to have a look at what is happening by using the Python, which is running on my Linux machine anyway.

Changing the order of the code blocks did not do the trick. I think I will either have to live with it or sneak out by setting the shortcut to _cmd "python [...]\easyabc.py" rather than _python [...]\easyabc.py direct. This also brings up the EasyABC window without extra mouse click.

I have never bothered with getting fluidsynth as playing the midi is fine without it. So, as far as I am concerned, the warning is not entirely necessary. Also, setting the path to the exe in settings has never worked for me. I suppose it is targeting the other OS's.

Since you couldn't reproduce the warnings I took a Win10 machine I do not tinker with, installed Python 3.9.7 and pywin32 3.9 and did all the necessary pip installs. Same messages.

Regards, Michael