		Runabc.txt  

What's New:

October 28 2001
 
There is now a file runhistory.txt that lists
the recent changes to runabc. A matching tool
(interfacing abcmatch) has been added.

November 10 2001

There is a diagnostic check. At any time runabc
is in focus, press <alt>-t. A file runabc.out
will be produced with diagnostic results.



Introduction

Runabc provides the basic functions for viewing, editing and
playing an abc file assuming you have the all the supporting
programs on your system. You can create a midi file and listen
to it, you can produce a postscript file showing the musical
notation and display it and you can edit the abc file.
As runabc.tcl is a Tcl/Tk 8.3 script, it will run on numerous
platforms where it has been installed. Besides Unix and Linux,
Tcl/Tk has been ported to the Macintosh and Windows 95/NT.
Essentially, runabc.tcl is a front end to the programs abc2midi,
abc2ps, ghostview and a suitable midi player.

To make use of this script on your computer, you should have
Tcl/Tk version 8.3 or higher. The script may still work for
Tcl/Tk version 8.0 but I can now longer guarantee this. 
You can get the Tcl/Tk interpreter for various operating
systems from
    (http:://www.scriptics.com/products/8.3.html)

You also need
abc2midi for converting an abc notation file to a midi file.
    (http:://perun.hscs.wmin.ac.uk/~jra/abcMIDI/)
abc2ps or yaps for converting an abc notation file to a PostScript 
file which displays the music in musical notation.
    (http::/www.eecs.umich.edu/~mrozek/abc/abc2ps.html)
yaps (another postscript converter) is also available from
    (http:://perun.hscs.wmin.ac.uk/~jra/abcMIDI/)


In addition you require a Midi player which may come with your
audio card. If computer can play audio signals but you do not 
have midi support, you can install the timidity package which is
available from various sites. See
 http://www.stardate.bc.ca/eawpatches/html/timidity.htm
      or
 http://www.goice.co.jp/member/mo/timidity.

You also require Postscript viewer program, for example 
the freely available ghostscript package. (http://www.cs.wisc.edu/
~ghost/aladdin/index.html).

Runabc.tcl requires the Tcl/Tk interpreter "wish" in order to run.
On windows 98/98/NT, wish is automatically called when you click
on runabc.tcl. For Unix operating systems it may be necessary to
start it with the command "wish runabc.tcl".

While developing and testing runabc.tcl on Windows 95/98, I found it 
necessary to recompile abc2ps and abc2midi using Microsoft Visual
C++ as some executables available on the web seems to hang the Tcl/Tk
interpreter. I have placed good versions in the abcexec.zip file
available from my web page
  ifdo.pugmarks.com/~seymour/runabc/top.html


When you run runabc for the first time, you need to go to the
configuration menu by clicking the cfg button and specify the path
names to the abc2ps, abc2midi, postscript viewer and midiplayer
programs. The default settings are probably not appropriate for
your computer. You may also specify the path to your favorite text 
editor in the configuration page. If you leave it unspecified then
the program will allow you to edit the file using the Tcl/Tk text widget.


Assuming you have the right version of Tcl/Tk on your system, the
script should execute without errors. The main difficulties occur
when the script attempts to call other executables whose path
names are listed in the configuration property sheet. If you are
encountering such difficulties try calling these executables from a
command window to ensure that the problems do not reside with these
particular executables. 

The font, size and style assumed in the program is now configurable.
This improves the legibility of the text when you are running the
program on a high resolution monitor. To do this, go to cfg page,
and enter the parameters of the font. Since the font is only set
at start up time, you must exit the program and restart it to
see any effect. Changing the size of the font also changes the
size of all windows and buttons on the screen.

The edit button allows you to either edit the entire abc file
or the selected tune in the abc file. If you edit a selected
tune, the program will copy this tune into a file called edit.abc
in the same directory as runabc and then edit this file. The file
edit.abc will then be renamed to another file whose name is
based on the title of the first selected tune. This renamed file
will then be placed in a workfolder called workfold, which
is created by runabc. If you wish, you can change this default to 
any other path name by editing the runabc.ini file and changing the
entries associated with the variables abc_default_file and
abc_work_folder. For example on Windows, I
set the variable to "c:\windows\desktop\edit.abc", so that the
file will appear on the desktop. This will also specify, the
initial name of the new abc file, if you create one with the
edit button.  When you exit from the editor, you should save
the file under a different name so that it will not be overwritten
the next time you create a new abc file or edit a selected tune.
You may delete the edit.abc file any time, as it will always
be re-created any time you edit a selected tune or create
a template for a new abc file. The purpose of this intermediate
file is to allow you to use an alternative editor as described
below.

Note: when you a do a save the output file will consist of only
what is in your edit window. To add or replace a tune in a compilation
file, use cut and paste. It is always recommended that you have
many backups when you are doing any editing.

Though the Tcl/Tk text widget provides a nice editor, you can
designate your favorite editor by going to the configuration page,
and entering the path name to the editor. If you leave this entry
blank, runabc will default to the Tcl/Tk text widget.
 


Programmer's Guide

The rest of this note describes some of the internals to the
runabc.tcl and midiprop.tcl scripts in case you need to adapt it
for your own system. It also explains some of the abc format
requirements.  The core components of this program are contained 
in the two procedures called title_index and tune_picked. Nearly,
everything else specifies the user interface. Runabc is designed 
to also handle abc compilation files which are created by merely
concatenating numerous abc files together. The procedure 
title_index scans the entire file and creates an index to all the
tunes in that file. A new tune is identified by finding a X: specification.
Therefore each tune must begin with a reference number
specified by an X: command. Each number should be unique if you
plan to use abc2ps. The procedure extracts the reference number
title and key signature for each tune and places them in the list box.
In order that runabc places the tune in the list, it must contain
an X:, T: and K: specification which will be searched in this order.
A blank line is used to indicate an end of tune. However, as some
abc files separate lines with <CR> others with <LF> and others with
<CR><LF>, runabc.tcl may encounter difficulties with some of these
conventions on some machines. One possible fix is not to use blank
lines for separating tunes (the current default). You may change
this by unchecking the box "ignore blank lines" in the configuration
page. Otherwise It may be necessary to run a program
such as dos2unix or unix2dos to ensure that the file satisfies
the conventions for your machine.


The other procedure called tune_picked provides the glue to the
executable abc2midi. Abc2midi reads a standard abc file with a few
extra special midi codes labeled %%MIDI and converts the abc
file into a midi file. The %%MIDI codes specify tempo, instrument
mapping, volume setttings and other variables. The procedure
tune_picked copies the tune selected by the user into a separate
abc file called midi.tmp and includes these midi control codes.
In addition it changes the reference number X: to 1 since the
name of the output midi file is determined by the reference number.
Runabc then executes abc2midi on the midi.tmp file producing
a file called midi1.mid. The file midi1.mid is then sent to
your midi player program. 

The tune_picked procedure now places these midi commands
immediately after the X: specification. It also add a tempo
command Q: to specify the desired speed. If there are any
other midi commands or tempo commands in the input abc file
they will be either copied or ignored depending upon the options
that you selected in the midi configuration sheet. When the
procedure encounters a meter indication M: then it may add
a separate midi command with your own gchord string if that was
requested. To turn off melody, accompaniment or specified voices
the audio level is set to zero. If you are curious, view the
midi1.tmp file which the input abc file to abc2midi with any
text editor.


Runabc stores all the programs configurations and user settings
in an input/output file called runabc.ini. If the program does
not find this file then it assumes you are running runabc for the
first time and it initializes these variables to default values.
All these settings are stored in this program in a Tcl array called
midi. It was initially called midi because it contained mainly
midi settings but not it contains a lot more. I cannot think
of a better name but it is very convenient to keep everything
together in one array. (The global statements in the procedures
are a lot simpler.) Procedures read_runabc_ini and write_runabc_ini
read and write these settings. Note midi() variables may contain
lists up to a limited size -eg. midi(midiplay_options).

Note: if you have upgraded to runabc version 1.3, you no longer
need the patches.txt file.



I am pasting a copy of the help pages for the convenience of those
who want to make a hard copy  which appear when runabc is running.


		Overview
		--------

You are running runabc.tcl version 1.4 (Sept 1 2000)
This is a graphical user interface to abc2ps, yaps, abc2midi, a 
PostScript file viewer and midi file player. Either yaps 
or abc2ps is required. If you are running 
the program for the first time, you need to specify the path name 
to these executables in the configuration property sheet. 
Click the config button and then the help button for further instructions.
Once you have properly configured the program, use the 'file' 
button to select the input abc file. The abc file may consist of 
compilation of many tunes. The list of tune titles will be displayed 
in the listbox below. Select one or tunes and then click one 
of the buttons described below. To select several tunes, either sweep 
the mouse cursor over the tunes holding the left button down, or else 
click on each tune while holding either the shift or control key down.
quit	Will write the runabc.ini to disk and exit the 
	program.
play	Will run abc2midi on the selected tune and
	play the resulting midi file.
display	Will run abc2ps on the selected tune and
	display the output PostScript file.
edit	Will allow you to edit the selected tune and
	save only this tune in a separate  file.
console	Will display any error messages originating from abc2ps or 
	abc2midi.

The remaining buttons 'toc', 'midi', 'accomp', 'voice', 'postscript' and 
'config' will replace the current sheet with a property sheet that allows 
you to modify how the midi file or postscript file is created. There are 
separate help pages for each button. Click the button once for the page 
to appear. Click the same button again to remove that sheet. 
Clicking a different button will bring up a different property page. 
There are two possible property pages associated with the 'postscript' 
button. The appropriate page will displayed depending on whether abc2ps 
or yaps was selected in the 'config' property page. 
Click the help button for further instructions when 
one of these property pages is in view.

Beside the usual arrow page up/down keys there are two other accelerator 
keys. The p key will play the current selection and the d key will 
display this selection.

Seymour.Shlien@crc.ca, 624 Courtenay Ave,  Ottawa, K2A 3B5, Canada, 
 Sept 1 2000.


	Configuration Property Sheet

Executables

This page is used to specify the file path names to the various
executables called by this program. It is probably most convenient
to put these executables (except for ghostview) in the same folder
as runabc.  When you start up runabc.tcl for the first time, the entry
boxes will be configured for my own computer for Windows 98. This is
probably not the way things are set up on your own computer but it at 
least provides you with an example.

For convenience, clicking one of the left buttons on this property 
sheet will pop up a file browser, which will allow you to find and 
indicate the location of the desired executable. Once you have located 
this file, click on 'open' to save this path name in the entry box. The 
contents of the entry box can also be modified by clicking to the 
position in the box using the regular keys on your keyboard. The left 
and right arrow keys will move the entry cursor. Though Tcl/Tk supports 
long file names it may get confused if the path name includes blanks or 
the backward slash. If the filename or folder where the executable is 
found contains embedded spaces, it may be necessary to substitute the 
DOS filename instead.

If you are going to play your midi files on a midi player you should 
also go to the config/player 1 configuration page. Go to this page 
and click the help button for more instructions.

Player 1 or 2

This configuration page is used to specify the path name 
to the midi player, any required run time options and the protocol for 
passing the midi files to the midi player. All midi players handle single 
files.  Others can accommodate a list of midi files, while some will even 
accept a directory of midi files. The manner of passing the midi file(s) 
to the player is specified by the protocol. You may use any of the three 
protocols even if you are only passing one midi file to the player, provided 
the player supports this method. If you are passing a 
directory then the directory name should be given in the options entry 
box and the 'folder' radio button should be selected. This was done 
since some midi players require the directory name to be preceded by 
a flag. Note that in some operating systems there may be a limit in 
the length of the string containing the list of midi files. 
When you click the play button, runabc creates 
a file called X.tmp containing the selected abc tunes and puts it 
in a tmp subdirectory in the same folder from which runabc.tcl is 
invoked. (If  you wish to use a different subdirectory name instead of 
tmp, you should edit the contents of the midi_direct parameter 
in the runabc.ini file.)  Prior to running abc2midi, any midi files 
beginning with the letter X are removed from the tmp directory. Then 
abc2midi is executed with the file X.tmp and it creates a new set of 
midi files. These midi files are sent to a designated midi player using one 
of three protocols. You are allowed to designate up to two possible midi 
players which have their own option entry box and selected protocol.
The selected midi player is indicated in the midi options page.


Fonts

This feature allows you to specify the 
default font, size and style used by the program. This is a useful 
feature if your monitor is running in a high resolution and you find the 
text difficult to read. Increasing the font size will cause Tcl/Tk to 
automatically readjust the size of all the buttons, entry boxes and 
other widgets.  There are numerous possible fonts available. 
To see a list, run your Tcl/Tk interpreter (usually called 'wish') and 
type 'font families' without the quotes.\n\n If you run into problems and 
all the controls become unreadable or not usable, you can return to the 
default font by clearing the family entry box and clicking the apply 
button. In the worst case, edit the runabc.ini file and delete the 
offending font name associated with the variable font_family. (In 
other words, leave it blank.) Clicking any radio button causes an 
immediate action; however if you change the font names in the entry box, 
it is necessary to click the apply button in order to make the new 
font immediately effective. There is a separate font family assigned 
to the table of contents (toc). The table of contents (toc) will proper 
alignment if you use a fixed spacing font (eg Terminal) rather than a 
variable width spacing.


It should be mentioned that all of these settings and many more are
recorded in the output file runabc.ini. This file is automatically 
updated every time you exit from this program (or script). The runabc.ini 
file is an ascii file which you can edit with a regular text editor such 
as vi, emacs, and notepad on the PC. If problems arise, you can 
delete the runabc.ini file and this program will create a new one with 
the factory settings.


Abc2ps Property Sheet

This property page is used to select the options for the program 
abc2ps which converts the designated tune in the abc file into a 
PostScript file and then displays the resulting file. The first three 
check boxes allow you to indicate whether you want the X: reference 
numbers, numbered bar numbers and historic notes appearing in the 
output score. Abc2ps usually uses the layout of the abc file for 
determining the number of bars in a line; however, if you check the box 
'ignore line ends', then it will fit in as many bars as possible. 

Normally, abc2ps will display all voices included in the abc file. 
It is possible to choose a subset of these voices by ticking the 'select 
voices' check box and indicating in the entry box which voices are 
desired (eg. 1-2, 5). The next time the 'display' button is clicked 
only those voices will be presented. Note: abc2ps will complain of an 
error and refuse to run if the selection box is ticked but there is nothing 
in the entry box.

For best results, it is recommended that you use a layout file like 
letter.fmt which is provided with the distribution. This is a text 
file which can be edited and which allows you to control the font and size
of many of the headings. Alternatively, you can try to control the layout 
using the other options provided by abc2ps which become available when
you untick the check box labeled 'use layout file'. The factory 
settings were chosen for a low resolution screen. See the abc2ps.readme 
file which comes with the abc2ps distribution for more details. I 
recommend that you use the 'fill' 'glue' mode, but there may be cases 
where the other modes may be preferable.

Some of the new abc files, in particular the multivoiced files, may be 
too large for abc2ps in its standard settings. Since abc2ps must store the 
entire score in memory, enough dynamic memory needs to be 
allocated for all the voices and symbols. Abc2ps normally returns a 
message (which you can view when you press the 'console' button) when it 
runs out of space. You can increase the amount of dynamic memory 
allocated using the entry boxes provided.

Yaps Property Sheet

Yaps is still under development so that not all features have been 
implemented. The page sizes, correspond to the choices available in 
gsview (ghostview). For multivoice abc tunes, you can choose between
combining the voices on an array of staves or displaying each voice
separately.



Midi Property Sheet

Most abc files do not have any tempo or midi program indications, so 
it does not matter whether this program ignores or uses these 
indications. This also provides complete freedom to 
change the tempo or instrumentation. However, there are a few abc 
files (in particular the multivoice files generated by midi2abc) 
which preserve these indications. If you wish to ignore these 
indications, check the appropriate boxes in this property page.

The tempo slider allows you to control the tempo in quarter 
notes per minute. The transpose slider allows you to transpose all 
channels up or down by a number of semitones.

If you have specified an alternate midi player in the configuration 
property page, you can select the desired midi player to use here.

Note: for these changes to take effect, the play mode must be aborted and 
the play button must be clicked again.

If guitar chords are included in the abc score, this property page 
allows you to change the level and instrumentation of the chords. 
You can specify both the bass and chordal accompaniment as well as 
the program for the melody channel. By ticking or unticking the 
check boxes, you can turn the accompaniment on or off. Alternatively, 
you can turn off the melody and play only the accompaniment.

Abc2midi choses the chordal accompaniment based on the meter of the 
piece. (See %%MIDI ghcord in the user's guide to writing abc files for 
abc2midi.) There may be some reasons where a different chordal
accompaniment may be preferable. To access the other choices, tick
the my gchord check box and choose the desired pattern from the gchord
menu. The 'f','c' and 'z' indicate bass (fundamental), chords and 
rest respectively. The  number following the letter indicates duration 
in 1/8 notes. Do not forget to untick the 'my gchord' check box when you
move on to another tune with a different meter.

Voice Selection Property Sheet

There are now several multivoice abc files available on the web.
Furthermore, you can generate your own abc files from a midi file using
the program abc2midi. This property page allows you to turn selected 
voices on or off when they are converted into a midi file. You can 
also designate the programs (midi instruments) associated with the 
voice.

Note: some abc files may already have midi indications 
embedded. You may need to tell this program to ignore these indications 
(in the midi property page) in order for these changes to be 
effective.


My Selection Editor

The program edits either the selected tune or the entire abc file. If 
your computer is slow and the abc file is very large, it is recommended 
that you limit your selection to one or a few tunes. The editor highlights 
the different abc components, (field commands like X:, comments and 
body) using different colour schemes. When doing inserts, some of the lines 
may not be coloured correctly.  You can restore the correct colours by 
clicking the retag button. (If for some reason, the choice of colours is 
not ideal for your monitor, you may change them by editing the 
variables edit_body_colour, edit_field_colour etc in the runabc.ini 
file.)  The undo button or the <Cntl z> key will undo any of your changes.
You have unlimited undo's provided there is sufficient memory in your 
computer.

The play button is designed to play a small portion of the file. You can 
either play a single text line positioned at your insert cursor or 
else you play a selected area. To designate a selected area,  hold 
the left mouse button down and sweep an area with your cursor in the 
edit window.  Avoid selecting an area starting with a line feed.  The
tcl/tk script will search backwards for the X: and other field commands
occurring before your highlighted area and also use this information
for creating the midi file.

It is recommended that you use a midi player which either 
automatically closes when the selection completes playing or one which 
stays open and automatically captures other selections when you click 
the play button again. On Microsoft Windows, I use either Winamp or 
the new Windows Media Player. On Unix, I use timidity without any 
user interface. If for some reason the play button does not produce 
audio output but normally works when you do not run the editor, check 
the console window or the X.tmp file to determine what has happened.

If you save over an existing abc file, it is a good idea to ensure 
that you have a backup of this file since I cannot guarantee the software 
is bug free. When you edit selected tunes, the program makes a copy 
of these tunes in a temporary file specified by the variable 
abc_default_file in your runabc.ini file which is usually edit.abc 
unless you have changed it. 


Text Widget standard binding.
<Button-1> Set the insert point, clear the selection, set focus.
<B1-Motion> Sweep out a selection from insert point.
<Shift-Button-1> Adjust the end of the selection closest to the mouse.
<Shift-Left> Move cursor and extend selection.
<Button-2> Paste the selection, or set the scrolling anchor.
<Button-2 motion> Scroll the window.
<Arrow keys> Shift insert point.
<Shift Arrow keys> Shift insert point and extend or clear selection.
<Cntl n> Shift insert point to next line.
<Cntl p> Shift insert point to previous line.
<Cntl f> Shift insert point one character to the right.
<Cntl b> Shift insert point one character to the left.
<Cntl d> Deletes character to right of the cursor.
<Cntl k> Deletes from cursor to end of the line.
<Cntl o> Inserts a new line but does not advance cursor.
<Cntl t> Transposes two characters.
<Cntl z> Undo last insert or delete. Unlimited undo's available.
<Cntl slash> Selects everything in the text widget
<Cntl backslash> Clears the selection.
<Shift arrow keys> Alter the selection.
<Delete> Delete selection if any, otherwise delete character to the right.
<Backspace> Delete selection if any, otherwise delete character to the left.

Many more bindings... see Tcl documentation for text widget. There is
now unlimited undo's thanks to Bryan Oakley.

On Windows 95/98/00 you can use <cntl-c>, <cntl-x> <cntl-v> to copy, cut and 
paste the selections. For other systems use <cntl-y> instead of <cntl-v>. 
On some unix systems use <Cntl _> for undo.


Drum Tool

The drum tool is designed to help you create a drum string that
is used by abc2midi. For a good explanation of the drum string,
you should refer to the file abcguide.txt that is included with 
the abcMIDI.zip distribution.

The top  text line window shows the default drum string d2dz2d. 
To change it, click on the entry box in the line below and enter 
your desired string. You must complete the string with a 
carriage return or click the enter button. 

There are two scrolled listboxes that are used to map the 
individual drum hits (eg d2) to particular drum patches. The left 
box shows the current mapping for each drum hit. 
To change, the mapping select a particular drum 
hit in the left listbox and then click on a desired patch 
shown in the right list box. The mapping should change immediately. 
The beige label immediately above the list box shows the 
last selected patch. Whenever you click the enter button, all the drum 
hits will be changed to that patch. 

The play button will allow you to listen to the particular 
drumstring. It will create and play a midi file with 8 bars of
this drumstring. The paste button will paste the drumstring in 
your file being edited in the abcedit window.  The %%MIDI drum 
command will be pasted at the position of the insert cursor. 
(Don't forget to insert the !drum! command in the body of the 
music.)


Abc2abc Property Sheet

Check the desired options and click the abc2abc button. The 
program will copy the selected files in the Table of Contents page (TOC) 
to the X.tmp file, run abc2abc on this file and save the results 
in a clipboard. To access the output, go to your abc editor and paste 
the contents of the clipboard at the desired position. The <cntl>-v
(Windows) or the <cntl>-y (Linux or Unix) perform the operation while
you are running the tcl abc editor (accessed from 'my selection editor').
The new spacing option, may introduce spaces between the notes in the 
abc file in order for the notes to line up on beats. If you tick the 
transpose box, you need to indicate the number of semitones to shift in 
the adjoining entry box. Positive and negative numbers are accepted by 
abc2abc. Note that if you have forgotten to tick the transpose box, 
this action will not be taken. Similarly for the linebreaks box. 
See the README file in the abcMIDI.zip distribution for any additional 
documentations.

Find tool:

This tool is used for searching for tunes whose title 
contains a specific string (eg. word or sequence of words). The search
is performed on all abc files contained in a specific directory including
all its subdirectories. This tool is useful if you have a large collection
of abc files some of which are compilations of many tunes. Before using
tool you should enter the path to this directory in the top entry box.
This directory will be stored in the runabc.ini file, so you will not
have to type it in each time you run this tool. Next enter a specific
string that you think is in the title. The program does not distinguish
upper and lower case letters. Avoid punctuation marks and other special
symbols as this string is actually interpreted as a regular Tcl expression
using the regexp function. (You can actually specify fairly complex
patterns in the title if you know about the regexp function.) 

After you enter a carriage return or click the search button, the 
program will cd to this directory and locate all abc files using a
recursive glob.  For each file with an abc extension, the title line
of every tune will be scanned for the specified string. Whenever a
match is found, the title and source will be added to the listbox below.
If you feel you have enough matches, you can stop the search by clicking
on the stop button.\n\n\ All the identified titles in the listbox are
mouse sensitive. If you click on one of the titles, the selected file
will be automatically opened, the table of contents of that file will
appear and the listbox will automatically scroll so that the selected
tune will be visible.  Note that some tunes may have more than one 
title. The match is done on all titles, but only the first title 
appears in the table of contents. If it selects a title past the 
one you wanted, it probably indicates that some tunes are missing a T:
field in the abc file. Correct the abc file so you do not miss some tunes.

Matching tool:

This function searches for any tune having music bars with
a specific pattern. The search is performed on either a specific
abc file (which is usually a compilation of many tunes) or on a
folder containing abc files. The file or folder is specified in
the path entry box. The browse button allows you to use the tcl/tk
 file browser to search for the file, but unfortunately it does not
allow you to specify  a folder. (It is necessary to edit the
contents of the path entry box to specify a folder.) If you
specify a folder, the program will search recursively for all abc
files starting from this folder. To specify the music pattern
that you are searching for, you edit the contents of the K: M: L:
and body entry boxes. The contents of the first three boxes are
identical to the corresponding field entries in an abc formated file.
The body should contain 1 or a few complete bars. It is not necessary 
to start a bar with a bar line, but the last bar must end with a
bar line.\n\nClicking the `play' button allows you to hear the bar or
bars that you have specified. The button labeled `transfer' allows
you to fill in the K: M: L: and body fields rapidly, assuming that
the specific bar or bars is already highlighted in a the tcl abc
editor (called my selection editor). Thus you are able to search for
other tunes which include those highlighted bars. When you transfer
these highlighted bars, guitar chords and grace notes are automatically
removed. The searching function ignores this information as well as
decorations, slurs and rolls. Instead of clicking the transfer button
you may also use the <Alt-t> key when the focus is on the abcedit
window. To start the matching process click the button labeled `match'.
Matches will appear in a scrolled text window appearing below and all 
bars that match the criterion will be displayed in red. In addition 
the file where the match occurred will appear above in blue. If you 
click on the blue file name, then the selected tune will be loaded 
into the table of contents window and the specific tune will be 
selected and centered in that window. This allows you to get to 
that tune rapidly, assuming you wish to either display the music 
notation or play the tune. Other parameters such as resolution, and 
other radio and check buttons, control the matching process. They 
allow you to perform an exact or loose match and are explained in 
detail in the documentation included with the abcmatch.zip
distribution.





Seymour Shlien
Seymour.Shlien@crc.ca,
624 Courtenay Ave, 
Ottawa, K2A 3B5, Canada, 
October 28 2001.
