Get Saved Sibelius Version (application)

The above link will download  a zip file containing 2 files, GetSavedSibeliusVersion.exe and GetSavedSibeliusVersion.py

Changes in version 01_05 (02 March 2020)

  • More recent versions are available so that they do not get displayed as unrecognized

Changes in version 01_03 and 01_04

  • Output changed to be comma delimited, and parentheses changed to braces for Excel

Previous versions:

Feel free to download and use these files as you wish. They are available on an “as is” basis and the author disclaims any and all liability to you in relation to them. It is your responsibility to determine whether they are suitable for your needs and use is at your own risk.

The .exe file is a stand-alone executable file for Windows (tested only in Windows 10), and the .py file is the Python-language source file for the application. If you are a Windows user, you can put the .exe file somewhere you can run it (I personally just pin it to the taskbar).

At the moment Windows 10 will block this application  until you tell it to unblock. I believe it is safe to unblock it and if I can figure out how to get it not to be blocked I will do that.

If you are a Mac user ( or a Linux user for that matter) and you have Python 2.7 on your machine, you can use Python to run the application. Philip Rothman was kindly helping me try to get this to run on Macs, and he could not get an executable version to work, but he did send me these instruction for running it from Python:

1. Open Terminal
2. Navigate to the folder containing the file by typing cd and a space and, then dragging the folder into the Terminal window and press Return
3. Type python GetSavedSibeliusVersion.py and press Return

If you happen to be a Python programmer who is familiar with working on a Mac, and could help me get a standalone executable version of this program that would run on OSX, please get in touch with me!

If you get the application to run, you should see something like this, after choosing “Get Folder” and browsing to a folder of scores. The list will tell you which version of Sibelius any scores you look at were last saved in, which tells you the minimum version of Sibelius required to open the score.

Now I get to tell a story…

It is infuriating sometimes when you try to open a Sibelius score when you are not using the most recent Sibelius version, and you get a message like:

“There was an error opening the score F:\_Scores\_Sib 8 scores\AII Clefs
Labelled.sib: This score was created with a newer version of Sibelius 7.5. You
need to update Sibelius 7.5 to open it (a free update may be available from
www.sibelius.com).”

In fact, the file is in one of the Sibelius 8.x formats, and there is no newer version of Sibelius 7.5. But you may not have any idea of which version the score was actually created in.  If you knew the version you would know whether you had a version that would open the score, or you might know some one with a later version you could ask, but the file may be newer than their version as well.

Some time ago several of us (mostly the incredible Robin Walker) did some investigation of the binary file format of Sibelius scores from various versions, and found that you could open such files in an editor that can display such files, and examine bytes 10 – 12 of the file, and figure out which version the score was created in. It might look like this in your hex editor:

You could then look these bytes up in Robin’s list of the byte values and the versions represented:

Bytes decimal 10, 11, 12, 13 of Sibelius score file:
00 08 xx xx – Sibelius 2.x
00 0A xx xx – Sibelius 3.x
00 1B xx xx – Sibelius 4.x
00 2D 00 03 – Sibelius 5.0
00 2D 00 0D – Sibelius 5.1
00 2D 00 10 – Sibelius 5.2.x
00 36 00 01 – Sibelius 6.0.x
00 36 00 17 – Sibelius 6.1
00 36 00 1E – Sibelius 6.2
00 39 00 0C – Sibelius 7.0
00 39 00 0E – Sibelius 7.0.1 – 7.0.2
00 39 00 13 – Sibelius 7.0.3
00 39 00 15 – Sibelius 7.1.0
00 39 00 16 – Sibelius 7.1.2 – 7.1.3
00 3D 00 0E – Sibelius 7.5.x
00 3D 00 10 – Sibelius 8.0.0 – 8.0.1
00 3E 00 00 – Sibelius 8.1.x
00 3E 00 01 – Sibelius 8.2
00 3E 00 02 – Sibelius 8.3
00 3E 00 06 – Sibelius 8.4.x
00 3E 00 07 – Sibelius 8.5.x
00 3F 00 00 – Sibelius 8.6.x, 8.7.0, 8.7.1
00 3F 00 01 – Sibelius 8.7.2 – 2018.7
00 3F 00 02 – Sibelius 2018.11
00 3F 00 04 – Sibelius 2019.1

This is, of course, awkward even if you are comfortable with hexadecimal editors.

I wanted to write a plugin to display this information without needing to open a Sibelius score, but the version information is not accessible to a plugin. My son is a programmer and I was telling him about this one night (this is what programmers do, because nobody else will listen to them), and I decided to find a programming language that could read the bytes of a binary file  and could work on Windows and OSX, and I picked Python, which I had never used.

So I wrote some code, and it was really not all that hard to write the code that did the reading of the scores and figured out the version, but the User Interface was a ton of work, and after all that work (which included some help from the very kind Abraham Lee), it is still the ugliest program I have ever written. But it should do the job.

I hope some people will find it useful.

Bob Zawalich 26 April 2018. Updated 02 April 2020.