I am trying to compile this from source code in Ubuntu 18.04 and downloaded all the python packages I think I need. When I try to run "easy_abc.py", I get an error saying:
wx._core.wxAssertionError: C++ assertion "GetEventHandler() == this" failed at /home/vagrant/wxPython-4.0.6/ext/wxWidgets/src/common/wincmn.cpp(478) in ~wxWindowBase(): any pushed event handlers must have been removed
Do I need an older version of wxPython? Or would it be something completely different?
Hello Wesly,
I installed wxPython 4.0.6 (32 bit and 64 bit) and everything worked fine.
Until today. You probably got the same error as here below.
I have no clue how to fix this yet. I think it is wxPython related. An
older version might help.
Jan Wybren de Jong
(developer of EasyABC)
Traceback (most recent call last):
? File
"C:\Users\jwdj\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wx\lib\agw\aui\framemanager.py",
line 8899, in OnSize
??? self.Repaint()
? File
"C:\Users\jwdj\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wx\lib\agw\aui\framemanager.py",
line 8755, 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(132) in wxBufferedDC::UnMask():
invalid backing store
Traceback (most recent call last):
? File "C:\Users\jwdj\Documents\GitHub\EasyABC\easy_abc.py", line 8339,
in OnInit
??? self.frame = self.NewMainFrame()
? File "C:\Users\jwdj\Documents\GitHub\EasyABC\easy_abc.py", line 8298,
in NewMainFrame
??? frame = MainFrame(None, 0, self.app_dir, self.settings)
? File "C:\Users\jwdj\Documents\GitHub\EasyABC\easy_abc.py", line 3785,
in init
??? self.load_and_apply_settings(load_window_size_pos=True)
? File "C:\Users\jwdj\Documents\GitHub\EasyABC\easy_abc.py", line 7778,
in load_and_apply_settings
??? self.manager.LoadPerspective(perspective)
? File
"C:\Users\jwdj\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wx\lib\agw\aui\framemanager.py",
line 5534, in LoadPerspective
??? self.Update()
? File
"C:\Users\jwdj\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wx\lib\agw\aui\framemanager.py",
line 6370, in Update
??? self.DoUpdate()
? File
"C:\Users\jwdj\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wx\lib\agw\aui\framemanager.py",
line 6564, in DoUpdate
??? self.Repaint()
? File
"C:\Users\jwdj\AppData\Local\Programs\Python\Python37-32\lib\site-packages\wx\lib\agw\aui\framemanager.py",
line 8755, 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(132) in wxBufferedDC::UnMask():
invalid backing store
OnInit returned false, exiting...
Error in atexit._run_exitfuncs:
wx._core.wxAssertionError: C++ assertion "GetEventHandler() == this"
failed at ....\src\common\wincmn.cpp(478) in
wxWindowBase::~wxWindowBase(): any pushed event handlers must have been
removed
Press any key to continue . . .
On 4-10-2019 16:25, Wesly Simonson wrote:
Related
Tickets: #27
Hello Wesly,
Found the source of the problem. The last width and height of the main
window is stored in a settings file. When the stored dimension are too
small these errors will occur.
One solution is to throw away the settings file (settings1.3.dat).
The other is to use the source from https://github.com/jwdj/EasyABC
where this issue has been solved by ignoring the dimensions when below a
certain threshold.
I hope this will help getting your EasyABC running again.
On 8-10-2019 10:57, J.W. de Jong wrote:
Related
Tickets: #27
Hi J.W.
I downloaded the zip files from the Github site you provided, but I'm still
getting errors. I think they're still wxPython (I also have version 4.0.6)
related:
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
ALSA lib conf.c:3558:(snd_config_hooks_call) Cannot open shared library
libasound_module_conf_pulse.so
(/usr/lib/alsa-lib/libasound_module_conf_pulse.so:
libasound_module_conf_pulse.so: cannot open shared object file: No such
file or directory)
ALSA lib seq.c:935:(snd_seq_open_noupdate) Unknown SEQ default
/home/wesly/Desktop/EasyABC-master/wxhelper.py:102: wxPyDeprecationWarning:
Call to deprecated item EmptyBitmap. Use :class:
wx.Bitmap
insteadreturn wx.EmptyBitmap(width, height, depth)
/home/wesly/Desktop/EasyABC-master/wxhelper.py:18: wxPyDeprecationWarning:
Using deprecated class. Use Colour instead.
return wx.NamedColour(c)
/home/wesly/Desktop/EasyABC-master/wxhelper.py:42: wxPyDeprecationWarning:
Call to deprecated item. Use Append instead.
menu.AppendItem(menu_item)
/home/wesly/Desktop/EasyABC-master/wxhelper.py:32: wxPyDeprecationWarning:
Call to deprecated item. Use Append instead.
return menu.AppendMenu(-1, label, submenu)
Traceback (most recent call last):
File "easy_abc.py", line 8338, in OnInit
self.frame = self.NewMainFrame()
File "easy_abc.py", line 8297, in NewMainFrame
frame = MainFrame(None, 0, self.app_dir, self.settings)
File "easy_abc.py", line 3661, in init
self.setup_toolbar()
File "easy_abc.py", line 4480, in setup_toolbar
self.zoom_slider.SetTickFreq(10, 0)
TypeError: Slider.SetTickFreq(): too many arguments
OnInit returned false, exiting...
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
func(*targs, kargs)
wxAssertionError: C++ assertion "GetEventHandler() == this" failed at
/home/vagrant/wxPython-4.0.6/ext/wxWidgets/src/common/wincmn.cpp(478) in
~wxWindowBase(): any pushed event handlers must have been removed
Error in sys.exitfunc:
Traceback (most recent call last):
File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
func(*targs, kargs)
wx._core.wxAssertionError: C++ assertion "GetEventHandler() == this" failed
at /home/vagrant/wxPython-4.0.6/ext/wxWidgets/src/common/wincmn.cpp(478) in
~wxWindowBase(): any pushed event handlers must have been removed
On Tue, Oct 8, 2019 at 2:15 PM J.W. de Jong jwdejong@users.sourceforge.net
wrote:
Related
Tickets: #27
Hello Wesly,
Thank you for sending the error log.
I have made some changes that should fix these issues. As usual they can be found at:
https://github.com/jwdj/EasyABC
You are running python 2.7 with the new wxPython (version 4). I was not aware that wxPython 4 also had a Python 2.7 version. So I replaced some checks for Python3 with checks for wxPython4.
The first line of easy_abc.py pointed to python2.7. Since we are moving to Python 3 I have removed that line.
Supporting 2 versions of Python is soon coming to an end when 2.7 is End-Of-Life in 2020.
Jan Wybren
Hi Jan,
Thanks for helping me out with this. I appreciate the time your taking to
help troubleshoot this.
I tried running it under Python 3.6 and still have 1 error:
File "/home/wesly/Desktop/EasyABC-master/wxmediaplayer.py", line 17, in
init self.mc http://self.mc = wx.media.MediaCtrl(parent_window,
szBackend=backend)TypeError: MediaCtrl(): arguments did not match any
overloaded call: overload 1: too many arguments overload 2: argument
'szBackend' has unexpected type 'NoneType'OnInit returned false, exiting...
I get the same error in Python 2.7. I don't really know wxPython all that
well, otherwise I'd play around with it and try to help debug it.
Wesly
On Wed, Oct 9, 2019 at 1:53 PM J.W. de Jong jwdejong@users.sourceforge.net
wrote:
Related
Tickets: #27
Hi Jan,
I messed around with it more. It seems like the wx.media.MediaCtrl function
needed a blank for szBackend ("") not a "None".
That popped the GUI up for me. However, when EasyABC launched, it still
gave me an error "Media Playback error: GStreamer error: state change
failed and some element failed to post a proper error message with the
reason for the failure"
Despite this, the GUI still works and I can open my abc files! The playback
just doesn't work.
On Wed, Oct 9, 2019 at 2:29 PM Wesly Simonson wesly82@gmail.com wrote:
Related
Tickets: #27
Hello Wesley,
I have tried EasyABC on Linux a year ago and also got: "Media Playback error: GStreamer error"
That is why I have been searching for an alternative.
I found an implementation of FluidSynth for Python from Wim Vree.
https://wim.vree.org/svgParse/testplayer.html
When I contacted Wim Vree he told me he made that for the original developer of EasyABC, Nils Liberg.
Good news. As of today it works for Windows (32 bit only).
Bad news: someone needs to port FluidSynth 1.1.6 along with Wim Vree's modification to Linux and macOS both 32 and 64 bit.
Jan Wybren