Five Line Skink

Five Line Skink is a desktop application which is used to create music staff notation using the abc standard described at http://abc.sourceforge.net/

Skink is available for the Macintosh, Windows and Linux platforms (early versions were also tested on Solaris), but requires that Java be installed - at least Java 1.4 for Skink version 1.x and Java 5 for Skink version 2.x. If you are running on a Macintosh, Java is installed for you.

Wil Macaulay
wil_dot_macaulay_at_gmail_dot_com
http://celticmusic.ca

Skink version 2.0j0 (public beta) 16 June 2009

This version is still under construction - please send any feedback (positive or negative!) to wil_dot_macaulay_at_gmail_dot_com . If you really like it, feel free to donate through PayPal below.

For Mac OS 10.7:

http://celticmusic.ca/skinkbeta/skinkmacuniversal.zip

For Mac OS 10.4.x to 10.6.x:

http://celticmusic.ca/skinkbeta/Skink2.0AlphaMacOSX.dmg

for Windows with Java 5 or better:

http://celticmusic.ca/skinkbeta/Skink2_0AlphaLinuxWin.zip

for Linux with Sun Java 5 or better:

http://celticmusic.ca/skinkbeta/Skink2_0AlphaLinuxWin.zip

- Linux and Windows version also available as a tar file if you have no file unzipper:

http://celticmusic.ca/skinkbeta/Skink2alpha.tar

This is a prerelease version of Five Line Skink. Major differences between Skink 2.0 and Skink 1.x include:

Some other enhancements include: Note that in this version there are a number of restrictions, some of which are documented here:

Skink version 1.2a3 20 September 2004

Skink is a java application which supports the abc 1.6 standard with some extensions. It can open, edit, save, play and display abc files. My goal was to have a lightweight abc editor that can be used as a portable tunebook on a laptop to display tunes so that I can practice when I travel, as well as a basic abc display program that I can run under Solaris or Windows NT to look at abc files that arrive in my mailbox. As a result, I focused on creating a legible staff display that is small enough to be usable on a laptop with an 800 by 600 screen. Playback is (at least for now) focused on 'proof-hearing'; that is, playing back the bare bones of the tune so I can tell if it sounds right.

Skink is freeware. If you would like to make a donation for it, you can do so through the PayPal button below (use the address above). I may make it open-source, depending on whether I get it to the point of wanting to show the world my mistakes... I still have lots to do before that time, however, so don't ask!

This version of Skink has been developed and tested mostly under Mac OS X 10.3.5. This or previous versions have been run successfully by myself or others under Mac OS X 10.1.5, 10.2.6 and 10.3 with Java 1.3.2, and Java 1.4.2, Windows NT workstation version 4 with Java 1.3.1, and 1.4.1, Windows 2000 with Java 1.4.1, Windows XP with Java 1.4.2, Solaris 2.7 under Java 1.2.2, Solaris 2.8 with Java 1.3.1 and 1.4.0, and Linux under Java 1.3.1. .

I strongly suggest Java 1.3.1 or Java 1.4.2 as the Java platform.   Skink relies on some pieces of Java which are not trivial to install under previous versions.  Mac OS X comes with Java installed, and you can get Java 1.3 for Windows, Solaris and Linux at

http://java.sun.com/j2se/1.3/download.html

The Windows/Unix version of Skink is at
http://celticmusic.ca/skink.tar.gz

Note that the files are stuffed into a gzipped archive. If you are running on Windows and need a utility to unstuff them, the free utility Stuffit is available at

http://www.stuffit.com/win/expander/index.html

The Mac OS X version is at
http://celticmusic.ca/skink.dmg.gz

I _strongly_ recommend at least Mac OS X 10.2.8 for Skink to run properly. Under 10.2.3 or better, you can start Skink by simply doubleclicking on an abc file.

If you are running a previous version of java (1.1.6 or better) you will need the Swing classes to run Skink. Upgrade if you can (Solaris or WinXX) to at least 1.3.1. If you are using 1.2 you will need the Java Media Framework to play tunes.

There is a Macintosh OS 9 version (still version 0.9c, without tune play and with primitive graphics) available at

http://www.geocities.com/w_macaulay/skink.hqx

I am not going to continue to update the Mac OS 9 version, because anybody still on OS 9 should be using BarFly instead.

NOTE: Skink is an application, not an applet - it needs to be because it manipulates files. It will not run under your browser, you need the JRE.


Installation

Basic installation instructions (Mac OS X)

Basic installation instructions (Macintosh OS 9)

- note that Stuffit Expander may unstuff the skink.jar file into individual class files - these can be safely ignored or deleted.

Basic installation instructions (Windows, Linux and Unix):

Under Windows:

under Unix or Linux (java 1.2 or greater, Java 1.3 recommended) cd to the directory,

Getting Started

The abc notation is described at http://www.gre.ac.uk/~c.walshaw/abc/

Steve Mansfield has an excellent tutorial and FAQ at http://www.lesession.co.uk/abc/abc_notation.htm

John Chambers has a large set of abc resources at http://trillian.mit.edu/~jc/music/abc/, including his abc Tune Finder and a FAQ, as well as a primer at  http://trillian.mit.edu/~jc/music/abc/doc/ABCprimer.html

Some example abc files are found in the Samples subdirectory.

Entering abc

When skink first starts up, you will see three window panes and a menu bar.

Skink screen image

The rightmost pane is the 'tune tree pane', the top left pane is the 'staff pane' and the bottom left pane is the 'abc pane'

abc notation is entered in the abc pane in one of the following ways:

Displaying staff notation

Once the abc notation is in the abc pane, select "Show Tunes" from the Abc menu (note that if you have opened an existing abc file from the menu, this step is unnecessary). In the tune tree pane you will now see a folder icon with the name of the file, with all the tunes in the file below it. Click on a tune to display the notation in the staff pane. Control-click on several tunes to display them all at once, or click on the folder icon to show all tunes (this may be slow if you have a large number of tunes in the file). You can scroll the staff pane to show more tunes, or resize the window or the pane.

You can also use the arrow keys in the tune tree pane to scroll through the file a tune at a time. As you do this, the abc pane will also scroll to show you the abc notation of the tune you are looking at.

If Skink detects an error on a tune, the tune's title will be highlighted in red, with the word '**ERROR**'. Clicking on the title will expand it to reveal an error message. Clicking on the error message will scroll the abc to the offending line and position the cursor on the error.

error

Continuous Display

If you are entering tunes, you can choose "continuous" from the Display menu (previously known as the Tools menu).  Now, as soon as you enter characters the staff will be automatically updated.  Note that sometimes when you type you will enter something that is invalid abc on your way to entering valid abc.  A good example of this is with aligned lyrics.  Once you enter the w on a line by itself, the tune is not valid anymore, but it will be as soon as you enter the next : to get w:.  Skink will turn the tune name red in the tune tree pane to show you there is an error, but will let you continue to correct the 'error'.

Wide Music

Skink's normal display mode is designed to fit one staff and the tune tree onto the screen of a laptop with a 1024-pixel wide display. If you have more screen real estate to work with, choose "Wide Music" from the Display menu.

Zooming

Choosing "Zoom in" from the display menu will enlarge the music on the staff panel. "Zoom out" will shrink the music. Note that zooming will have no effect on the printed size of the music.

Printing

Skink will print the tunes that are selected in the tune tree pane; if you have selected the entire file by clicking on the the folder icon it will print all the tunes. Choose 'print' from the file menu. Note that Skink will scale the screen display to fit on the page, so that if you have chosen "Wide Music" you will actually get more on the page.

Skink doesn't have a way of forcing a page break, but if you want to add blank lines to the end of a tune to persuade Skink to print the next tune on a new page, you can do so by adding W: lines at the end.

Playing

Skink will play the tunes that are selected in the tune tree pane; if you have selected the entire file by clicking on the folder icon it will play all the tunes. Choose 'play tunes' from the abc menu to start playing. Choose Stop playing to stop, or play a different tune.

Displaying/printing/playing multiple tunes

If you want to display, print or play multiple tunes in a particular order, select the first and then use (mac) cmd-click or (windows) ctrl-click to select the next tune. Tunes will be displayed in the order you click, and printed and played in the order they are displayed.

Exporting to MIDI (new with 1.0e2)

Skink supports basic MIDI export - select the tune you want to export and select Export MIDI from the abc menu.  You will be asked to supply a file name, and Skink will write a MIDI type 1 file.  This can be used to import into programs that can read MIDI - you may have to move barlines around and re-add slurs and gracenotes.

Fixing errors

If an error is detected when you choose "Show Tunes" from the Abc menu, Skink will turn the tune title red in the tune tree pane. If you click on that entry, you will be able to see an error message. Clicking on the message will position the insertion point just after the point at which the error was detected. Fix the error and then "Show Tunes" again, or let Skink redisplay continuously.  Note that with 1.0b2, any tunes that contain errors will not prevent Skink from trying to process as many tunes as possible.

Multi-Voice

Some abc packages support multiple voices in abc files; Skink does not as yet.
Wait for it...

Enjoy!

Wil Macaulay, May 2004


Version 1.2a3 Sept 4 2003

New Features and Bugfixes - zoom in and out on the staff pane - parsing improvements, especially in the interaction of gracenotes and slurs. - support for the following extended decorations: H or !fermata! I or !invertedfermata! J or !slide! L or !>! or !emphasis! or !accent! M or !mordent! or !uppermordent! O or !coda! P or !pralltriller! or !lowermordent! Q or !longphrase! R or !mediumphrase! S or !shortphrase! T or !trill! W or !segno! - improved rendering of note tails - improved slur rendering - improved tuplet rendering - improved barline rendering - allow decorations on barlines, repeats and invisible rests - accidentals on gracenotes - decorations on chords - line up leger lines and notes better - fix cancel window closing



Limitations and known problems
- Multi voice (V:) is still not supported
- on the Mac under OS X 10.1 and below, if you drag an abc file onto Skink
when it is not yet running, it will start up but not open the file.
If you drag the file on when Skink is running the file will be opened.
This is a known bug in early versions of OS X, and is fixed by Apple in Jaguar...
- ties within chords don't work properly
- ornaments and gracenotes don't get played