Skip to content

Commit e15c985

Browse files
committed
Installer upgraded to Python 3
- Python 2 no longer supported
1 parent 0b4e534 commit e15c985

13 files changed

+294
-501
lines changed

CHANGES

+6-1
Original file line numberDiff line numberDiff line change
@@ -567,4 +567,9 @@ different panes. Tie/untie option added for notes. Broken rhythm
567567
C:mozart M:3/4
568568
- Added exclusive mode: only one file is allowed
569569
Exlusive mode is enabled via command line option -exclusive
570-
- ABC assist: Support for %%MIDI gchord
570+
- ABC assist: Support for %%MIDI gchord
571+
572+
1.3.8.2
573+
- Windows installer upgraded from Python 2 to Python 3
574+
- Python 2 is not supported anymore
575+
- Uninstaller now shows EasyABC logo in 'Change or remove a program'

README.md

+46-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,47 @@
1+
![EasyABC logo](img\abclogo.png "EasyABC")
2+
13
# EasyABC
2-
EasyABC
4+
5+
An open source ABC editor for Windows, OSX and Linux. It is published under the GNU Public License.
6+
7+
## Features
8+
9+
- Good ABC standard coverage thanks to internal use of abcm2ps and abc2midi
10+
- Syntax highlighting
11+
- Zoom support
12+
- Import MusicXML, MIDI and Noteworthy Composer files (the midi to abc translator is custom made in order to produce legible abc code with more sensible - beams than the typical midi2abc output).
13+
- Export to MIDI, SVG, PDF (single tune or whole tune book).
14+
- Select notes by clicking on them and add music symbols by using drop-down menus in the toolbar.
15+
- Play the active tune as midi (using SoundFont)
16+
- See which notes are currently playing
17+
- Contextual guidance (ABC Assist)
18+
- Record songs from midi directly in the program (no OSX support at the moment).
19+
- Just press Rec, play on your midi keyboard and then press Stop.
20+
- The musical score is automatically updated as you type in ABC code.
21+
- Support for unicode (utf-8) and other encodings.
22+
- Transpose and halve/double note length functionality (using abc2abc)
23+
- An abcm2ps format file can easily be specified in the settings.
24+
- ABC fields in the file header are applied to every single tune in a tune book.
25+
- Automatic alignment of bars on different lines
26+
- Available in Italian, French, Danish, Swedish, Dutch and English
27+
- Functions to generate incipits, sort tunes and renumber X: fields.
28+
- Musical search function - search for note sequences irrespectively of key, etc.
29+
30+
## Credits - software components used by EasyABC
31+
32+
- abcm2ps for converting ABC code to note images (developed/maintained by Jean-François Moine)
33+
- abc2midi for converting ABC code to midi (by James Allwright, maintained by Seymour Shlien)
34+
- xml2abc for converting from MusicXML to ABC (by Willem Vree)
35+
- abc2xml for converting from ABC to ABC (by Willem Vree)
36+
- nwc2xml for converting from Noteworthy Composer format to ABC via XML (by James Lee)
37+
- wxPython cross-platform user-interface framework
38+
- scintilla for the text editor used for ABC code
39+
- python midi package for the initial parsing of midi files to be imported
40+
- pygame (which wraps portmidi) for real-time midi input
41+
- FluidSynth for playing using SoundFonts
42+
- Many thanks to the translators: Valerio Pelliccioni (italian), Bendix Rødgaard (danish), Frédéric Aupépin (french). Universal binaries of abcm2ps and abc2midi for OSX are available thanks to Chuck Boody.
43+
44+
## Links
45+
46+
- [abcnotation.com](https://abcnotation.com)
47+
- [abcplus.sourceforge.net](https://abcplus.sourceforge.net)

abc_assist_panel.py

+2-10
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,10 @@
66
import webbrowser
77

88
try:
9-
from urllib.parse import urlparse, urlencode, urlunparse, parse_qsl, quote # py3
10-
from urllib.request import urlopen, Request, urlretrieve
11-
from urllib.error import HTTPError, URLError
9+
from urllib.parse import parse_qsl # py3
1210
except ImportError:
13-
from urlparse import urlparse, urlunparse, parse_qsl # py2
14-
from urllib import urlencode, urlretrieve, quote
15-
from urllib2 import urlopen, Request, HTTPError, URLError
11+
from urlparse import parse_qsl # py2
1612

17-
try:
18-
from html import escape # py3
19-
except ImportError:
20-
from cgi import escape # py2
2113

2214
class AbcAssistControl(object):
2315
def __init__(self, parent, element):

build.bat

+2-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
python setup.py build && "C:\Program Files (x86)\Inno Setup 6\iscc.exe" setupEasy137.iss
1+
python setup.py build
2+
"C:\Program Files (x86)\Inno Setup 6\iscc.exe" setupEasyABC.iss

creating_an_executable.txt

+14-26
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,32 @@
1-
This note describes how to create a Windows PC executable of easy_abc.
1+
This note describes how to create a Windows PC executable of easy_abc.py
22

3-
You can find a tutorial on the site http://www.py2exe.org/index.cgi/Tutorial
4-
which is somewhat accurate.
3+
EasyABC comes with setup.py to create easy_abc.exe and setupEasyABC.iss to create an installer.
4+
You first need to be able to run easy_abc.py using Python.
5+
See using_EasyABC_in_Windows.txt for that.
56

6-
easy_abc comes with setup.py which is used to create easy_abc.exe.
7+
Then you will also need to install on your computer the program Inno Setup 6 and the python package cx_Freeze:
8+
Inno Setup can be downloaded here: https://jrsoftware.org/
79

8-
You will also need to install on your computer, py2exe, cx_Freeze-*.win32.py2.7,
9-
and mechanize. They are all found on http://sourceforge.net. Ensure that these
10-
scripts go into the folder linked to PYTHONPATH.
10+
And cx_Freeze can be installed using:
11+
python -m pip install --upgrade cx_Freeze
1112

1213
Copy all the executables, abc2abc.exe, abc2midi.exe, abcm2ps.exe,
1314
nwc2xml.exe, and zlibwapi.dll into the bin folder. You can find nwc2xml.exe
1415
and zlibwapi.dll in the older easy_abc install.
1516

16-
Copy the folder Microsoft.VC90.CRT into your easyabc_source_code... folder.
17+
Make sure the environment variables PYTHON and PYTHONPATH are set correctly.
1718

18-
Open a command window, CD to the folder easyabc_source_code... and set the
19+
Open a command window, go to the folder easyabc_source_code... and set the
1920
PYTHON and PYTHONPATH using the autoexec.bat file. You should now be
20-
ready.
21+
ready to run:
2122

22-
python setup.py install
23+
build.bat
2324

2425
You should see lots of messages and an executable with other files
25-
should be put into the folder build/exe.win32-27/ which you will find
26-
in the easy_source_code... folder.
26+
should be put into the folder build/exe.win32-38/
2727

2828
I found that executable runs fine on Windows 7 64-bit but,
2929
I did not get it to run on my Windows XP laptop.
3030

31-
The package also comes with setup.iss which is a script for running
32-
the Inno Setup Compiler which is freely available. The setup.iss
33-
file should no longer be used since it assumes a build/exe.win32-26/
34-
created by Python2.6 rather than Python2.7. Instead you should
35-
use setupEasy07.iss which I created recently. You will also
36-
require Inno Setup installed on your PC. See the header of text
37-
file setupEasy07.iss.
3831

39-
I also created an install script for the "nullsoft scriptable install
40-
system 2.46" (NSIS) before discovering Inno Setup. I have left the
41-
script here easyabc.nsi but I now prefer Inno Setup which appears
42-
to be the standard.
43-
44-
Seymour Shlien
32+
Seymour Shlien & Jan Wybren de Jong

easy_abc.exe.manifest

-31
This file was deleted.

0 commit comments

Comments
 (0)