Table Of Contents

The Ini File

XStick(TM) initially reads the xstickrc file. The filename varies depending on the OS. For unix it is .xstickrc in your home directory. For Windows/MacIntosh it is xstick.ini in the directory XStick was installed in. This file is actually Tcl/Tk source code which is 'sourced' into the program when it runs. (Don't worry, you don't need to be a programmer to set it up.) If the 'rc' file is not found, the program will adopt a default setup. All of these options can be setup and saved within the program, without editing the file, but I'll go through it anyway for the curious. The format of this file is as follows (I've included a sample .xstickrc and xstick.ini in this distribution):

Blank lines and those prefixed with '#' are ignored, the order of the commands are not important, (except for defining a custom tuning, you must define your tuning first then map the system tuning to $CustomTuning) but the syntax is. For readability, long lines can be continued by putting a '\' and then continuing on the next line. I'll outline them in the default order.

The first line defines tunings and are formatted like this:



set CustomTuning { D4 A4 E3 B3 F#/Gb2 C1 G1 D2 A3 E3 }

This is a list of the Stick® strings from 1-10 (or 12) with the open voicing and octave information for each string.

Default tuning, options are:


These are set per information from Vance Gloster's Stickwire Web page. You also need to define the name so it will be properly highlighted on the menu.

set Tname Standard

set Tuning $MelodyHalfBari

Note the '$' in front of the name - this is necessary.

Command to play midi notes on your machine/OS - note the curly braces. If you don't need this use 'set MidiCmd {}'.



set MidiCmd { playmidi -f }

Command to enable/disable sound - use true/false.

set DoMidi true

Default key signature. Needs to follow these note names:

A Bb/A# B C C#/Db D Eb/D# E F F#/Gb G Ab/G#

set Key C

Optional sustain settings, samp (Amplitude) is used with and without sustain.
Enabling "taprelease" will hold the note until you release the mouse button.

set taprelease false
set sustain true
set samp 20000
set slength 16000
set speriod 16


Define the default time signature, by numerator/denominator.

set TSNumer 4
set TSDenom 4

Define the default key signature for the notation staff. This is in words as listed:

set StaffKey "C Major/A Minor"
The next variable sets the default score titles. You have a two line title available, which will appear on the top of all pages of your printed score, as well as at the top of the score canvas.

set STitle1 ""
set STitle2 ""

The next variable toggles the default mode for the staff bars. Long mode draws the bars across bothe the treble and bass clefs, short mode does each clef indepedantly. For short mode use "", for long use "L".

set DualMode ""

The next variable sets the default filename for saving your XStick(TM) files. I've chosen the extension ".stk" to designate the data files. Note the "files" subdirectory and the unix style "/".

set FileName "files/xstick.stk"

The next variable controls whether "tapping" notes on the fretboard will transfer the note to the notation staff. It is not functional in this version. I had high hopes but decided to drop this in favor of releasing the program before the new millenium.

set TapToStaff 0

The next variable sets the color of the highlight of characters on the staff while moving/editing.

set mfill Red

The next variable defines the file used to paint the fretboard. You can use any gif file you'd like and create some very exotic Sticks®. For the best results, the file should be 100x240 pixels, and something that tiles nicely. I've included "teak.gif" and a quick variation I did "mosaic.gif" as a start. If you come up with anything cool, send them to me and I'll setup a repository on the web page and/or include them in the next release. In the last version Tcl/Tk 7.6 had a problem with gifs under Windows, but that has been fixed now, so all platforms can use the fancy fretboard.

set fretboardwood teak.gif

The next variable controls the speed of the "windowshade" effect I use while preparing the score for printing. There is some behind-the-scenes duties I need to do before writing out the postscript file, so I hide the staff behind this "windowshade". The operation of this shade varies widely between platforms and processors, so I made the speed adjustable to the user's preference. Valid values are 5-150, increments of 5, with a larger number speeding the shade up.

set shadespeed 20

This is another machine dependant variable. It controls the speed of the "moving strings" effect of "tapping" the virtual fretboard. Valid values are 0-100, with a large number increasing the delay.

set tapdelay 30

This variable defines the colors for 'cheat' dots on the fretboard. These colors are arbitrary, I used gray for sharps/flats for a piano like effect, and used the rainbow - ROYGBIV for the seven notes - they do need to be names that are recognizable to Tcl/Tk, see the file 'rgb.txt' included in the distribution. Note the use of '\' for the long line.

set ScaleCol { Red SlateGray Orange Yellow SlateGray Green \
SlateGray Blue BlueViolet SlateGray DarkViolet SlateGray }

Pointer to your preferred WWW browser, to connect with the StickWire web page and the on-line Theory On Tap lessons. The following example is from my Win95 setup, note the truncated DOS convention for the Win95 long filename support. Also note, since Tcl/Tk has it's roots in unix, and the character '\' has a special meaning, that you must define the path with '/' rather than '\', as they are defined in unix.

set browser "c:/progra~1/netscape/naviga~1/program/netscape.exe"

A couple of variables that control the display of the online help, a background color and a zoom factor. Colors again need to be valid Tcl/Tk colors, and the zoom is in the range of -3 to 3.

set helpbg LightGray
set helpzoom -1

Lastly, a variable to control whether you would like to be prompted to save your work before exiting the program. This can be an annoyance or a lifesaver, your choice. 1 turns it on, 0 turns it off.

set SaveOnExitFlag 1

That's it for the 'rc' file. It's not completely foolproof, and you could possibly break the program, if you mess it up!
Worst case, just delete the 'rc' file and start over.

<< Previous Next >>