Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running EasyABC on OpenSUSE 15.5 - and 2 minor issues #76

Closed
revad opened this issue Aug 17, 2023 · 2 comments
Closed

Running EasyABC on OpenSUSE 15.5 - and 2 minor issues #76

revad opened this issue Aug 17, 2023 · 2 comments

Comments

@revad
Copy link

revad commented Aug 17, 2023

I had to rebuild EasyABC when I upgraded to OpenSUSE 15.5. I tried various versions of EasyABC, starting with the modified 1.3.8.6 that partly worked before (see #64) and various versions of python. I eventually got it working better than before because it will now play part of a tune.

I used a copy of 1.3.8.7 Master as at 12-AUG-23.
I have:
python 3.6 (which is still the system version in SUSE 15.5)
wx 4.1.1
FluidSynth 2.3.0
(Not using JACK, though I tried it.)

I also have python 3.10 and I tried that in a venv but couldn't get wx to install.

I installed these packages in addition to the ones I already had. They may not all be necessary.
python3-wxPython and uninstalled python-wxwidgets which was installed previously
fluid-soundfont-gm (I was previously using another soundfont.)
gstreamer-plugin-python
gstreamer-plugins-bad-fluidsynth

In ABC Settings > File settings I leave midiplayer path blank and only add
Soundfont: /usr/share/sounds/sf2/FluidR3_GM.sf2

To stop it segfaulting (#28) I added into fluidsynth.py the extra code from here:
#28 (comment)
I inserted it after these lines:

class Synth:            # interface for the FluidSynth synthesizer
    def __init__(self, gain=0.2, samplerate=44100.0, bsize=64, output_path=None):

I made 2 minor changes - both to suppress warnings:

1 To get rid of the frequent gstreamer error popups I deleted the line
self.mc.Load('NONEXISTANT_FILE____.mid')
from wxmediaplayer.py

This was noted in #28 & #54 and originally on sourceforge:
https://sourceforge.net/p/easyabc/discussion/general/thread/524f3f9c/

I note that the 1.3.8.7 changelog includes
"Fixed: Removed loading of NONEXISTANT_FILE for all players except wxmediaplayer"
Why not that one too?

2 After a cold restart it displayed a warning popup and set the gs path to a b'/usr/bin/gs'.
In easy_abc.py I changed:
settings['gs_path'] = unicode(gs_path[0:-1]) to
settings['gs_path'] = gs_path.decode()[:-1]
That makes it consistent in the file settings.

Edit: I see that change was identified by sudobash1 in #66

I note in the changelog:
"Fixed: Some users could not export a PDF because the ghostscript path was a byte string instead of a unicode string..."
The pdf export still works.

@revad
Copy link
Author

revad commented Oct 6, 2023

I have discovered that EasyABC is actually using Timidity, not fluidsynth.
#63 (comment)
I am investigating. There were breaking API changes in fluidsynth since it was implemented in EasyABC.

@revad
Copy link
Author

revad commented Mar 12, 2024

Superseded by changes to fluidsynth.py - #81

@revad revad closed this as completed Mar 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant