The development of GNU Solfege has moved to Savannah because tca@gnu.org (main author) is stepping down as the only maintainer of the program. Please contact maintainers@gnu.org if you want to take over the job.

FAQ

I get this TypeError message

It looks like this:

Traceback (most recent call last):
 File "/usr/share/solfege/solfege/startup.py", line 160, in start_gui
   solfege.win.load_frontpage()
 File "/usr/share/solfege/solfege/mainwin.py", line 206, in load_frontpage
   self.display_frontpage()
 File "/usr/share/solfege/solfege/mainwin.py", line 616, in display_frontpage
   self.get_view().display_data(data, show_topics=show_topics)
 File "/usr/share/solfege/solfege/esel.py", line 332, in display_data
   show_topics)
 File "/usr/share/solfege/solfege/esel.py", line 270, in _display_data
   self.adjust_scrolledwin_size()
 File "/usr/share/solfege/solfege/esel.py", line 126, in adjust_scrolledwin_size
   self.set_size_request(w, h if h > self.m_min_height else self.m_min_height)
TypeError: integer argument expected, got float

Answer: Ubuntu 11.10 (oneiric) packaged a buggy devel release of Solfege. You need to upgrade to version 3.20.0 or newer.

The fix is to edit solfege/esel.py and modify line 124, as shown in the patch below:

=== modified file 'solfege/esel.py'
--- solfege/esel.py    2011-05-13 07:51:52 +0000
+++ solfege/esel.py    2011-05-14 17:02:46 +0000
@@ -121,7 +121,7 @@
         # ubuntu 10.04 and +4 on MS Windows XP.
         h = self.g_box.size_request()[1] + 4
         if h > gtk.gdk.screen_height() * 0.8:
-            h = gtk.gdk.screen_height() *0.8
+            h = int(gtk.gdk.screen_height() *0.8)
         self.set_size_request(w, h if h > self.m_min_height else self.m_min_height)
         # Then we check if we have to move the app window higher up on the
         # screen so that the whole window is visible.

Will there be a version of GNU Solfege on the android market?

Probably not. To be available on android, I will have to rewrite the program in another programming language. Solfege is written in Python, and android programs must be written in Java.

For some time I have been thinking about Scripting Layer for Android, but I don't think it will be possible to write a program that can be downloaded from the market as normal program. Users will have to download the scripting layer first, then setup Python on it, then download Solfege, and to start Solfege, they probably need to start android scripting and then select Solfege to run the program.

Problem starting Solfege on Windows XP/Vista/7/whatever

Do you see error messages similar to any of these?

  • The procedure entry point deflateSetHeader could not be located in the dynamic link library zlib1.dll.
  • pythonw.exe - Entry Point Not Found The procedure entry point xmlCtxtGetLast Error could not be located in the dynamic link library libxml2.dl

From time to time people email me about this problem. There are different causes of the problem, but often the real problem is that the program is loading another version of a DLL file than the one included in the program. Some things NOT to do trying to solve this:

  • Try to google the file name of the DLL mentioned and downloading the file from a random place on the net.
  • Installing other versions of Python or Gtk, just to see if it helps. It won't. A working version of Python and Gtk is included in the Solfege installer.

A common cause for this is that Solfege does not install any files into the C:\Windows folder (or below). This is how it can happen:

  • You install a program installed that copies an old version, 1.2.2.0, of zlib1.dll into C:\Windows\System32.
  • You then install Solfege 3.20. It installs zlib1.dll version 1.2.5.0, but it installs it into C:\Program files\GNU Solfege\bin\.
  • You start the program, and Solfege fails because the way things work on Windows, the DLL in C:\Windows\System32 is loaded instead of the file included with Solfege.

The simple way to fix this is to read the error message, figure out which DLL is the problem and copy that DLL from C:\Program files\GNU Solfege\bin\ to C:\Windows\System32. If you do this, make sure you take a backup of the file you overwrite in case it breaks other programs. On Windows XP (and probably the other Windows versions) you can see the version number of the DLL below the file name in the explorer window, or by hoovering the mouse over the file. If this explanation is correct, the file you want to overwrite should be older than the file included with Solfege.

User comments

Posted by Michael on Jan. 9, 2012, 11:57 p.m.

" the file you want to overwrite should be --> oldER <--- than the file included with Solfege."

Posted by Tom Cato on Jan. 10, 2012, 6:12 p.m.

Thanks, Michael!

Posted by Janusz on June 15, 2012, 7:02 a.m.

After downloading GNU Solfege to /Program files directory on XP PC, I cannot hear anything - no sound. Instead I am getting "Windows - No Disk" error message with note: "Exception Processing Message c0000013 Parameters 75b6bf7c 4 75b6bf7c 756bf7c "
Any suggestion?

Posted by Janusz on June 16, 2012, 4:58 a.m.

OK. The mystery of "no sound" has been solved -> volume of SYNTH channel was set to minimum on PC mixer... The ugly "exception" message still appears from time to time, but over all it works :-)

Posted by regis589 on Nov. 11, 2012, 3:58 p.m.

Hi,
it doesn't work for me ?
I replace the old by the new zlib1.dll and have the same error-message as You wrote up...

Posted by Paul on June 26, 2013, 9:42 p.m.

I have the same problem as regis589, it was not resolved by replacing the zlib1.dll in System32 with the zlib.dll in the GNU Solfege bin directory.

Add your own comment