"üDistribution terms
úyQuickstart guide ╛Effectcommands (short)'┌ëEffects 00-0F (long);câEffects 10-Fx (long)VµVMain Screenj<3Sampler ScreenëoⁿKeyboard¥kÉMisc. menuñ√!Speed menu╞¼Prefs menu╓╛#Editingδß%Record options≤ÅSound menuò	JMIDI menus▀ "Loading and Saving0ÑThe LIST editor6ª▒Errors/red pointer9WnUsing scriptsH┼dGeneral info & Tipse)ÇA1200/A4000 stuffh⌐ ╔HistoryërFuture plans                           Distribution terms
                           ~~~~~~~~~~~~~~~~~~
Copyright
~~~~~~~~~
Soundtracker pro II is copyrighted by its author, Marco Nelissen. It may only
be copied and used under the conditions listed below. None of the files in the
Soundtracker pro II distribution may be modified. No code or data may be
extracted from any of the files in the distribution.

The following rules apply to YOU, unless you have a written statement from
the author of Soundtracker Pro II telling you otherwise.
- Soundtracker pro II may not be sold for profit, the ONLY charge you can make
  for copying it is the cost of the media on which you supply the program.
- Soundtracker pro II may not be distributed in a hardware and/or software
  package. This rule also applies when no extra charge is made for adding
  Soundtracker pro II to the package. The only exception to this is that this
  version of pro2 (2.4) may appear on any Aminet CD, and any Fred Fish CD.
- Soundtracker pro II must always be distributed in its complete, unaltered
  form.
- Under the above conditions, Soundtracker pro II V2.4 is freely distributable
  Other versions are NOT TE BE DISTRIBUTED.
Simply stated, the above conditions say that you can make copies for your
friends as long as you don't ask any money for the copy and you copy the entire
original archive. For everything else (including putting it in a PD series, or
on a coverdisk) you need my permission.

Soundtracker pro II version 2.4 is emailware, which means:
1 The copyright remains mine.
2 You don't HAVE to pay for using it, but since I am not rich yet, I won't
  mind if you do.
3 You have to let me know you use it. A simple email message will do.
  If you don't have email, get it, or find some friends who can email...
  (snailmail? Yeah, right! Next thing you know, some guy with an uzi is
   banging on my door because he thinks pro2 wiped his harddisk...) 

My address can be found in the "general info" section.


Disclaimer
~~~~~~~~~~
Soundtracker pro II is provided 'as is' without warranty of any kind, either
expressed or implied. By using Soundtracker pro II you agree to do so at your
own risk.
Quickstart guide
~~~~~~~~~~~~~~~~
- Moving up and down in the filerequester can be done with the right mousebutton
- The Escape,backquote and TAB keys function as STOP,PLAY PATTERN and PLAY SONG
- Push the lower right edge of the screen to go to the sampler screen
  Alternatively, Alt-Amiga will also switch to the sampler screen
- Doubleclicking the waveform-display with the right button equals 'show range'
- To switch a track on or off, click on it
- Disabled tracks do not participate in the SEARCH/REPLACE function

Users unfamiliar with the concept of 'trackers': please read on...

About patterns,tracks and tables...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Imagine a conventional piece of music, written down on paper.
The sheets will contain information about when to play which notes. Any
sufficiently long composition will require several pages, as shown below
with a tune requiring 6 sheets of music:
______   ______   ______   ______   ______   ______
|    |   |    |   |    |   |    |   |    |   |    |
|    |   |    |   |    |   |    |   |    |   |    |
|    |   |    |   |    |   |    |   |    |   |    |
|   1|   |   2|   |   3|   |   4|   |   5|   |   6|
»»»»»»   »»»»»»   »»»»»»   »»»»»»   »»»»»»   »»»»»»
Most compositions contain repeated sequences of notes troughout the tune.
In fact, in the composition depicted above, page 5 could be equal to page 3,
and page 6 equal to page 4. When playing sheet-music, however, it is much
easier to duplicate the page so you can simply skip forward after each page,
as opposed to skipping back and forth between pages.

When working with a computer, which can skip back and forth easily, the above
composition could be written as:
______   ______   ______   ______   ______   ______
|    |   |    |   |    |   |    |   |    |   |    |
|    |   |    |   |    |   |    |   |    |   |    |
|    |   |    |   |    |   |    |   |    |   |    |
|   1|   |   2|   |   3|   |   4|   |   3|   |   4|
»»»»»»   »»»»»»   »»»»»»   »»»»»»   »»»»»»   »»»»»»
This is exactly what you do in pro2 and similar programs. You give each sheet
of music (each pattern) a number, and then you tell pro2 in what order to play
the sheets. The above tune would require 4 patterns, and you would tell pro2
to first play sheets 1-4, and then sheet 3 and 4 again.
This table of 'sheet-numbers' is called the pattern-table, and is displayed
on the upper right of the screen. The patterns/sheets themselves are displayed
at the bottom of the screen, where this text is now displayed.

Now, how do you write the notes down on the pattern?
Let's compare the Amiga with a quartet. When playing music, all members of the
quartet have their own sheets of music.
Since the Amiga is a one-computer-quartet, it needs a set of sheets for each
of its instruments (its computer-voices). For convenience, we combine those
four sets of sheets into one set. We do this by dividing the Amiga's patterns
(the sheets) into four sections called 'tracks'. Each of these tracks
represents a sheet from a member of the quartet. Now your Amiga can play four
instruments at once, without requiring to look at four different pages at once.

You can see (if you switch back to the pattern-display) that the patterns are
divided into four columns. Each column is a track, and represents one
instrument. The tracks are played from top to bottom, but all four tracks are
played simultaneously. This means that the four notes on the first line will be
played all at once, then the four notes on the second line and so on.

Any member of the quartet mentioned above can play multiple instruments,
although usually not at the same time. Just as the musicians in the quartet
can put down their guitar and pick up their violin, so can your Amiga play
multiple instruments. Since there are only four voices however, you can only
play four of them at once. The instruments you can use are called samples,
and have to be loaded from disk. A sample is basically just a recorded sound,
so you can SIMULATE playing more than four instruments at once by recording
a sound that is a mix of, for example, a bassdrum and a high-hat. When playing
this sample, it will sound as if both the bassdrum and the high-hat were hit
together, but it will be only one instrument.

You enter notes in the columns by enabling record, and then using the Amiga-
keyboard as a piano keyboard. The sample/instrument you use is the current
sample, which is displayed on screen at all time.

When using a real instrument, a guitar for instance, you can use all kinds
of effects: you can play it very loud, or very soft. You can bend the strings,
or slide to another note. All this possible in pro2 too.
You will have noticed that a note is displayed as NNN xxyyzz, where NNN is the
note, and xx,yy and zz are hexadecimal numbers. Number xx is the sample that
is used to play the note. yy and zz are used to indicate the effect to use
on the note. yy is the effect number and zz is a parameter to the effect.
(note that some effects use 'yzzz' instead of 'yyzz'). When both are set to
zero, no effect is applied to the sound. All possible effects are listed
in the effectcommands-sections in the online help.

If you understand all the above, you should now be able to create music with
Soundtracker pro II. There are some more advanced things possible, such as
speed-changes, changing pattern-lengths and playing patterns only partially,
but you will surely discover those yourself. Just browse through the helpfile
now and then...
Soundtracker Pro II effect commands (last four digits of hex number after note)

00xy - Arpeggio with note,note+x and note+y. x=y=0 is normal play
01xx - Simple portamento up, speed xx
02xx - Simple portamento down, speed xx
03xx - Slow automatic portamento up, speed xx
04xx - Slow automatic portamento down, speed xx
05xx - Fast automatic portamento up, speed xx
06xx - Fast automatic portamento down, speed xx
07xx - Set the overall volume to xx (00-40)
08xy - Slide the overall volume (automatic) x down, y up
09xx - Finetune period up by xx
0Axx - Finetune period down down by xx
0Bxy - Slide sample volume (automatic) x down, y up
0Cxx - Set sample volume to xx(00-40)
0Dxy - Slide sample volume x down, y up
0Exx - Turn filter on/off. xx=00: filter off, xx=01 filter on
0Fxy - Set speed to x y/4  (0F62 sets speeds to 6 1/2)
10xy - Vibrato. x=speed, y=depth
11xy - Tremolo. x=speed, y=depth
12xx - Patternbreak. continue playing at line xx (decimal) in next pattern
13xx - 'tone' portamento. Slide to note with speed xx
14xx - Position jump. Continue playing at position xx (hexadecimal) in song

16xx - Start loopsequence at loop xx (decimal)
17xx - Play only loop xx (decimal) from loopsequence
18xx - Start sequence at loop xx (decimal), but do not loop the sequence itself
19xx - Play loop xx (decimal) from loopsequence once

1Dxy - Slide sample volume x down, y up (once)

1Fxy - Adjust COUNT to play sample y times in x patterns

20xy - Delayed fade: fade samplevolume to 0 with speed x after y delays
21xx - Notedelay: wait xx delays before starting the note
22xx - Retrigger note: restart the note after each xx delays

49xx - Protracker sampleoffset command. Start sample at offset $xx00.
4E6x - Protracker patternloop command. x=0:set loop, x=n, loop n times
4EEx - Protracker patterndelay command. Delay x notes after playing note
4Fxx - Protracker speed/tempo command. xx<$20: set speed, xx>=$20: set bpm.

Fxxx - Set the COUNT value for the cia timer to xxx. 
                    Soundtracker Pro II effect commands

Most effectcommands available in other trackers are also available in
SoundTracker pro II, although some may have a different number.
Also some commands (the 'toneportamento' command for example), are repeated
automatically by SoundTracker pro II, until they are turned off. This way
you don't have to make long columns with effectnumbers, and it is also easier
to combine effects, since one effect may continue while you start another.
When loading a non-SoundTracker pro II song, the effects in that song will be
converted (if possible) to their SoundTracker Pro II counterparts


                            Command 00 : Arpeggio

Syntax: ABC nn00xy
Result: Simulates a chord by rapidly changing the note to ABC,ABC+x,ABC+y, and
        then back to to ABC. If the integer part of the current DELAY is N,
        then N notes will be played (this means that you will never hear note
        ABC+y if the delay is smaller than 3).
        If note ABC is not specified the note currently playing will be used.
Remark: This command is 100% compatible with other trackers.


               Commands 01 and 02 : Simple portamento up and down

Syntax: ABC nn01xx  or  ABCnn02xx
Result: The pitch of the current sample will be be changed up or down N-1 times,
        where N is the integer part of the current DELAY.
        The amount by which the pitch is changed is xx.
        If note ABC is not specified the note currently playing will be used.
Remark: This command is 100% compatible with other trackers.



           Commands 03 and 04 : Slow automatic portamento up and down

Syntax: ABC nn03xx  or  ABCnn04xx
Result: The pitch of the current sample will be be changed up or down 1 time
        each next line in the pattern.
        The amount by which the pitch is changed is xx.
        This command will auto-repeat until the amount is set back to zero, or
        until a new note is played.



           Commands 05 and 06 : Fast automatic portamento up and down

Syntax: ABC nn05xx  or  ABCnn06xx
Result: The pitch of the current sample will be be changed up or down N times
        each next line in the pattern where N is the integer part of the current
        DELAY.
        The amount by which the pitch is changed is xx.
        This command will auto-repeat until the amount is set back to zero, or
        until a new note is played.


                      Command 07 : Set the overall volume

Syntax: ABC nn07xx
Result: The overall volume will be set to xx.
        xx must be in the range 00-$40 (inclusive)
        The overall volume is a value by which all sample-volumes are multi-
        plied, before being divided by $40.
        So 0720 will set the relative volume to $20/$40 = 1/2, which will make
        all samples play at half volume.


                Command 08 : Autoslide the overall volume

Syntax: ABC nn07xy
Result: For each next line in the pattern x will be substracted from the overall
        volume, and y will be added to it. Usually either x or y will be zero.
        This command will auto-repeat until both x and y are set to zero.
        See also command 07 for an explanation of the overall volume.




             Commands 09 and 0A : Finetune pitch up and down

Syntax: ABC nn09xx  or ABC nn0Axx
Result: xx will be subtracted from or added to the current period.
        These commands are non-automatic versions of commands 03 and 04.






                  Command 0B : Autoslide the sample volume

Syntax: ABC nn0Bxy
Result: Each next line in the pattern x will be subtracted from the current
        volume, and y will be added to it.
        This command will auto-repeat until command 0C or 0D is used, or until
        a new note is played.




                    Command 0C : Set the sample volume

Syntax: ABC nn0Cxx
Result: The volume for the current sample will be set to xx.
        xx must be in the range 00-$40 (inclusive).
        If a new note is played afterwards, the default volume (as set in
        the sound-menu) will be used.
Remark: This command is 100% compatible with other trackers.
  


                    Command 0D : Slide the sample volume

Syntax: ABC nn0Dxy
Result: First the sample volume is restored to the default value for sample nn.
        then x will be subtracted from, and y will be added to the sample
        volume N-1 times, where N is the current DELAY.
Remark: If you swap x and y this command is compatible with other trackers
        command A.



                       Command 0E : Turn filter on off

Syntax: ABC nn0Exx
Result: If xx is 01 the audiofilter is turned on, if xx is 00 it is turned off.
        On some Amigas the filter cannot be turned on and off.
Remark: If you swap the values for on and off this command is compatible with
        ProTrackers E0 command.




                         Command 0F : Set speed

Syntax: ABC nn0Fxy
Result: The speed will be set to x y/4.
        y should be 0,1,2 or 3






                    Soundtracker Pro II effect commands

Most effectcommands available in other trackers are also available in
SoundTracker pro II, although some may have a different number.
Also some commands (the 'toneportamento' command for example), are repeated
automatically by SoundTracker pro II, until they are turned off. This way
you don't have to make long columns with effectnumbers, and it is also easier
to combine effects, since one effect may continue while you start another.
When loading a non-SoundTracker pro II song, the effects in that song will be
converted (if possible) to their SoundTracker Pro II counterparts


                          Command 10 : Vibrato (automatic)

Syntax: ABC nn10xy
Result: The pitch of the current note will vibrate with speed x and depth y.
        This command will auto-repeat until speed is set to zero. The maximum
        vibrato depth in Soundtracker pro II is about 4 notes up and down,
        regardless of the note you play. Other trackers use a fixed maximum
        period-fluctuation, so that you cannot vibrate low notes very deeply.
        Note that a depth of zero is allowed, and will result in minimal
        vibration.

                          Command 11 : Tremolo (automatic)

Syntax: ABC nn11xy
Result: The volume of the current note will vibrate with speed x and depth y.
        This command will auto-repeat until depth is set to zero.






                         Command 12 : Patternbreak

Syntax: ABC nn12xx
Result: After the current patternline playing will continue at line xx in the
        next pattern in the sequence.
        xx must be a positive DECIMAL number smaller than the patternlength.
        This command is here for compatibility purposes only. To create shorter
        patterns, simply create shorter patterns.



                          Command 13 : Portamento

Syntax: ABC nn13xx
Result: This command starts an automatic portamento from the current note to
        note ABC. xx is the portamento speed. Portamento will stop when note
        ABC is reached or when the speed is set to 0.





                       Command 14 :  Position jump

Syntax: ABC nn14xx
Result: After the current patternline, playing will continue at line 0 of the
        xxth pattern in the sequence-tabel. xx is the hexadecimal position in
        the pattern-sequence tabel, where playing should continue.





                 Command 16: Start loopsequence at loop xx

Syntax: ABC nn16xx
Result: Sample nn will be played with note ABC. PLaying will start at loop xx
        xx is treated as a decimal number.






                     Command 17: Play only loop xx from sequence

Syntax: ABC nn17xx
Result: Sample nn will be played with note ABC. Only loop xx will be played,
        the other loops will be ignored. xx is treated as a decimal number






                     Command 18: Play sequence only once

Syntax: ABC nn18xx
Result: Sample nn will be played with note ABC. The sequence will be started at
        loop xx. The sequence will not be repeated when it is finished.
        xx is treated as a decimal number





                     Command 19: Play loop once

Syntax: ABC nn19xx
Result: Sample nn will be played with note ABC. Only loop xx will be played,
        and it will be played only once.
        xx is treated as a decimal number





                    Command 1D : Slide the sample volume

Syntax: ABC nn0Dxy
Result: The current sample volume is decreased with x and increased with y.
        Protracker's EA and EB commands are translated to this command.






                     Command 1F: Adjust COUNT to fit sample

Syntax: ABC nn1Fxy
Result: Sample nn will be played with note ABC. The CIA count value will be
        adjusted so that the sample will be repeated y times in x patterns,
        taking into account the current DELAY, and the patternlength, but
        NOT taking into account patternloops and -delays.
        Setting either x or y to 0 is equivalent to settings them to 1.
        Note that a very high count value in combination with a sample being
        played from fastmemory will sound somewhat strange. 

                     Command 20: Delayed fade

Syntax: ABC nn20xy
Result: Sample nn will be played with note ABC. After y passes through the
        playroutine, the volume will be faded to zero with speed x.
        If x=0, the volume will be set to zero immediately, which will make
        this command behave like protracker's notecut command.




                     Command 21: Notedelay

Syntax: ABC nn21xx
Result: Sample nn will be played with note ABC, xx passes through the
        playroutine later than normal.
        This command almost equals the protracker notedelay command: a delay
        of 0 will have no effect at all (protracker still causes a very small
        delay).



                     Command 22: Retrigger note

Syntax: ABC nn22xx
Result: Sample nn will be played with note ABC. After each xx passes through
        the playroutine, it will be restarted.
        This command equals the protracker retrig command.





                  Command 49: Protracker sampleoffset command

Syntax: ABC nn49xx
Result: The sample will be played starting at position xx00 hex. If xx is 0
        then the last sampleoffset will be used. This command is compatible
        with Protracker's command number 9.
        This command will not work with samples that have multiple loops.
        If you want to use larger offsets, or more precise ones, use multiple
        loops in combination with commands 16,17,18 and 19.


                     Command 4E6: Protracker patternloop command

Syntax: ABC nn4E6x
Result: If x = 0 : set loop start
        If x > 0 : jump to loop start x times






                     Command 4EE: Protracker patterndelay

Syntax: ABC nn4EEx
Result: After playing the note,the pattern will be delayed for as lang as it
        would take to play x notes.
        Note that there is a bug in protracker which occurs when patterndelay
        is used on the same line as a patternbreak. Protracker will then
        immediately break to the next pattern/line and delay on the NEW line,
        but it will NOT play what is on that line.
        Soundtracker pro II emulates this bug.

                     Command 4F: Protracker speed command

Syntax: ABC nn4Fxx
Result: If xx < $20 the speed will be set to xx.
        If xx >=$20 the CIA count value will be adjusted to reflect the
        equivalent of xx beats per minute in Protracker.
        Note that a very high count value in combination with a sample being
        played from fastmemory will sound somewhat strange. 



                     Command Fx: Enhanced speed command

Syntax: ABC nnFxxx
Result: The CIA count value will be set to xxx. This command enables you to set
        the playing speed very accurately.
        Note that a very high count value in combination with a sample being
        played from fastmemory will sound somewhat strange. 




                        Main screen gadgets
                        ~~~~~~~~~~~~~~~~~~~

In the upper right corner you can see/adjust the sequence in which patterns are
played. The 'current entry' is the entry in the middle of the list (the one
that is next to the plus and minus gadgets).
If you start playing a song, playing will start at this position in the list.
Use the up- and down-arrow gadgets to move around in the list.
The gadgets marked + and - increment and decrement the current entry. Another
way to adjust the values in the list, is to click on the digits with the left
button to increase them, or with the right button to decrease them.
The gadget with two triangles pointing towards each other deletes the current
entry. The gadget with two triangles pointing away from each other inserts a
duplicate of the current entry before the current entry.
The gadgets S and P are used to switch from pattern- to scriptnumber and vice-
versa. If you enter scriptnumbers make sure that the script actually exists,
since empty scripts cannot be played (unlike empty patterns).
See also: Using scripts

Below the pattern sequence gadgets is a gadget to activate the SOUND
sub-menu. This menu is covered in another section.

A sample can be selected with the mouse in two ways:
1) click on sound + and - until you have reached the sample
2) use the gadget-cluster below the + and - to select the high- and low-nibble
   of the sample. The low nibble is selected with the left mouse button. The
   high nibble is selected with the right mouse button.
You can also select samples from the keyboard. See the KEYBOARD section.   

At the top of the screen are gadgets to activate the PREFS,MISC.,SPEED, EDIT
and MIDI sub-menus. These are covered in another section.

The ⌐ gadget (copyright symbol) deactivates any sub-menu, and brings back the
startup-screen.

By clicking '<floppysymbol> SONG' you bring up a filerequester showing the files
in the song-directory (see also: Loading and Saving).

'<floppysymbol> SAMPLE' brings up a filerequester showing the files in the
sampledirectory (see also: Loading and Saving).

In the middle of the screen you can see a pathname and a filename. To edit these
names, click on them and then use the keyboard to edit. (See also: Keyboard)
To the left of these names is a gadget marked 'SONG' or 'SOUND', depending on
which path- and filename are displayed. You can switch between songname and
samplename by clicking on this gadget.

On the left side of the screen, below the the path- and filename switch is a
number in a box, and three gadgets marked +,- and P/S.
The number is the number of the pattern or script that is displayed below, the
+ and - gadgets enable you to adjust this number. You can also click in the box
that contains the number, and then enter the number by hand.
(Instead of clicking on + and - you can also press F5 and F4.)

The P/S gadget toggles the display between pattern and script. See the section
about using scripts for more info, this gadget can also be used to escape
from the list-editor. See also: The LIST editor.

The gadgets to the right of these should look familiar, as they function the
same as on a tape-recorder.  A few hints though:
the '>P' gadget starts playing the current pattern, the '>S' gadget plays the
song. Normally when you click on these gadgets, playing starts at the beginning
of the pattern. To start playing at the current cursor position, click with the
right mouse button.
The '<<' gadget plays backward at high speed, this does not work correctly if
you use patternbreaks or -loops in your song. In scripts, it is not possible
to go back to previous patterns this way.
When you are not playing a song or pattern the << and >> gadgets will let you
scroll up and down in the pattern sequence list.
Clicking the << and >> gadgets with the right mousebutton while playing will
give the song a small nudge backwards or forwards.

The "<>" gadget is used to switch between song A and B.

The number to the right of the "<>" gadget is the currently selected octave.
It is 2 by default, which means that the lowest note on the keyboard (the Z-key
on a QWERTY keyboard) is C-2.
The number at the far right is the current mode of the numeric keypad. See the
'keyboard' section for more details.

Further down, located all the way to the left is the master volume gadget.
Use this if the volume knob on your stereo is broken.
Going to the right we will find either a pattern or a script. For scripts you
should refer to the section 'Using scripts'.
When a pattern is visible you can click on the individual tracks to turn them
on and off. An active pattern will be bright green, while a track that has been
turned off is dark green. Tracks used for polyphonic play are grey.
Clicking on the tracks with the right mousebutton will scroll the pattern up
or down, and you can also position the cursor by clicking on the bar on which
the cursor is located.
                      Sampler screen gadgets
                      ~~~~~~~~~~~~~~~~~~~~~~

On the bottom right half of the screen (push the right edge if necessary)
there are various gadgets related to samples.

You can click in the large sampledisplay to achieve 4 different results:
- Mark a range: click with the left mousebutton and move the mouse while
  holding the left button pressed. The zoomwindow will display the area where
  the pointer is currently positioned.
- Position the zoomwindow without marking a range. Click with the right
  mousebutton.
- Show the currently marked range in the sampledisplay. Doubleclick in the
  sampledisplay with the right mousebutton.
- Show the entire sample. Do not mark a range and doubleclick with the right
  mousebutton. (Tripleclicking with a marked range has the same effect.)

In the small zoomwindow you can move around by clicking with the right mouse-
button slightly off-center. You can draw in it by clicking with the left mouse-
button). The dotted lines that are drawn at minimum, maximum and zero-level
can be toggled on and off by clicking on the gadget with the dotted line in it.

Below the sampledisplay is a variety of gadgets. The group of three gadgets on
the left has the following functions:
RNG: Display the current range. A range must first be set. Equivalent to double
     clicking the right mousebutton in the waveform display.
ALL: Shows the entire sample. Equivalent to triple-clicking (or doubleclicking
     without a range) the right mousebutton in the waveform display.
Magnifying glass: zoom in (left mousebutton) or out (right mousebutton).

The next group of gadgets is related to the RANGE.
RANGE: play the current range. If there is no range, or a range of 0 or 1 bytes,
       the current sample will be played. The sample will be played with the
       frequency set in the SOUND menu. Equivalent to pressing the '1'-key.
< and >:
       adjust the start and end of the range.
|<< and >>|: 
       singleclick: move range start to start of sample / range-end to end of
       sample.
       doubleclick: move both rangestart and -end to start/end of sample.
       (equivalent to clicking at start/end in waveform-display)
RNG DISP:
       create a range equal to the currently visible part of the waveform.
RNG LOOP:
       create a range equal to the current loop.
CUT:   cut range to buffer
COPY:  copy range to buffer
PASTE: paste buffer back into sample at the start of the current range.
       When cutting and pasting, any loops that may be affected are adjusted,
       or deleted if the whole loop was cut.
MIX:   Mix the buffer with the sample, starting at the beginning of the current
       range. The MIX function will NOT halve the volume of the samples before
       mixing. In most cases, this gives a better result (slight 'oversteering'
       is OK). If your samples are already very loud, you should reduce the
       volumes before mixing.
XCHG:  exchange current sample with buffer. You'll lose loop-information.

The next group of gadgets is related to loops.

Soundtracker pro II allows you to use loop-sequences.
Other programs that use sequences will allow for 1-loop sequences, in which
case they will play only that loop.
What pro2 does is:
0 loops: play sample once, then stop.
1 loop:  play part before loop, then repeat loop until sample is stopped
n loops: play loops 1 until n, then start again at loop 1.

The maximum number of loops you can define is 65536. However, since the loop
number is displayed with only 3 digits, I recommend you do not create more than
999 loops.

DEL: Delete the current loop.
DUP: Duplicate the current loop. If there are no loops, loop the whole sample.
APP: Make a new loop which starts at the end of the current loop. If there are
     no loops yet, loop the whole sample.
Loops are indicated by two vertical bars with little squares attached to the
top and bottom of the bars. The squares at the top can be used to 'pick up' the
loop and drag it to another position. Clicking with the left button will
move only the bar you clicked on, clicking with the right button will move
around the entire loop.
The squares at the bottom are for finetuning. Click with the left button to
lock, then click with the right button at the side where you want to move the
loop to. Left button again to release.
When changing a loop, the zoom-window will show the active loop-point.

Next is a list of operations you can apply to the current sample:

CHANGE VOL: Change the volume of the current range or entire sample.
   Start volume is set by the leftmost of the three sliders, end volume is
   set with the second slider. Both go from 0 to 2x current volume.

CHORD: make chords. Making chords is very easy with Soundtracker pro II:
   - select the sample from which you want to make the chord.
   - click the CHORD gadget. You will be asked to press the chord you wish to
     generate.
   - Press this chord on the keyboard (all keys simultaneously, as if playing
     polyphonic). Note that the Amiga's keyboard won't transmit certain key-
     combinations, for example pressing Z-C-B-Q-E-T won't work. You'll have to
     switch to the lower octave and press Q-E-T-I-P-], or use a MIDI keyboard
     to play these notes.
   The chord will now be generated. Soundtracker pro II will search for an
   unused sample and put the new sample there. If all samples are already in
   use, the new sample will be put in the cut/paste buffer.
   Note that the highest note of the chord you pressed is the note at which to
   play the chord. This is done to avoid upsampling while mixing the notes, and
   thus achieving higher quality. You can always upsample the note manually
   afterwards...
   NOTE: The Amiga 1200 keyboard is unable to transmit simultaneous keypresses.

DC ADJUST: Adjust zero offset level for samples that have been sampled with
   badly adjusted samplers. This also works when such samples have been faded
   (by bending the sample straight).
   Note that executing this function on a sample several times (10-20) will
   distort the sample.

EQUALIZE: adjust frequency components of range or sample. The three sliders
   are used to set bass/middle/high frequencies from 0 to 2x current amplitude.

MAX.VOL: amplify the sample so that the highest amplitude is 127 and the lowest
   is -128.

MIXTRACKS: Create a sample that sounds just like the current pattern.
   This function does no scaling of samples before mixing, so you may have
   to adjust the master volume knob before starting this function.

SAMPLE: sample from a sampler connected to the parallel port.
   When you click this gadget, the current sample is deleted, and a monitor
   function is activated. The data coming in from the sampler is shown in
   real-time.
   Another click with the left mousebutton will exit the monitor without
   sampling.
   Clicking with the right mousebutton while in monitor mode will blank the
   screen, and start to record the data from the sampler. Sampling will stop
   when you click the left mousebutton or run out of memory.
   During sampling, the incoming sound will be played on audio channel 0.
   The frequency at which the data will be read is the DESTINATION frequency
   from the sound menu.

SMOOTH: smoothen waveform. Note that this is not a low-pass filter: executing
   this function several times will not degrade your sample, nor will it
   filter out high frequencies. To see exactly what it does, execute it on a
   rectangular wave with a period of more than 20 bytes.

SYMM.CLIP make the amplitude symmetrical around zero-level by clipping the
   amplitudes that are to large.

->SIGNED: assume the sample consists of unsigned bytes, and convert it to
           signed (2's complement) bytes.
->2'S COMP: assume the sample consists of signed bytes in 1's complement
            format, and convert it to 2's complement format.
Both these conversion are reversible simply by performing them again.
Entering notes
~~~~~~~~~~~~~~
Part of the Amiga's keyboard represents a 2 3/4-octave keyboard. With F1 and F2
you can set the lowest note from C-1 to C-4, to cover the total range of five
octaves. The lowest octave number is displayed on screen in the box located
next to the 'autoreverse' gadget.
When you enter notes with capslock enabled, notes are entered with samplenumber
zero, used to prevent resetting the volume. When you enter an effectnumber you
can move horizontally by using shift or capslock.

Polyphonic play
~~~~~~~~~~~~~~~
With Soundtracker pro II you can also play polyphonic (which would be called
'multikeyboard' in Protracker). This is done by advancing the cursor to a free
track when starting a note. You tell pro2 which tracks to use by pressing
Amiga-1 to Amiga-4. The track(s) will now switch from green to grey, which
indicates it is used in polyphonic play. When no tracks are enabled for
polyphonic play, notes are entered on the current track, and the cursor
stays there. When one or more tracks are enabled for polyphonic play, notes
will be entered on those tracks only. Soundtracker pro II handles multiple
keypresses much smarter than other trackers. It will not simply advance the
cursor one track for each press, and put it one track back for each release.
It works like this: for each keypress an unused track is searched (either not
used at all, or playing with volume 0). If this fails, pro2 will try to find a
track for which the volume is going down. Only if this fails too pro2 will use
the next track. Pro2 remembers which notes are playing on what tracks, and will
therefore be able to fadeout the notes for which the keys are released (click
record with the right mousebutton to call up the record option menu, where you
can enable this feature).


Misc keys
~~~~~~~~~
Besides 'just' playing sounds, the keyboard can be used for various other
functions:

esc                     stop playing.
`~ (backquote/tilde)    play pattern
tab                     play song
1                       play current sample
space                   toggle record on/off
amiga+alt               toggle pattern/waveform-display
f4                      go to previous pattern
f5                      go to next pattern
f6-f10                  go to beginning,1/4,1/2,3/4,end of pattern
crsr-keys               move one position up/down/left/right
shift-crsr-left/right   move to previous/next track
shift-crsr-up/down      14 lines up/down in pattern
alt-crsr-up/down        master volume up/down
amiga-1/2/3/4           enable/disable track for polyphonic play
del                     erase note under cursor+cursor down. (record must be on)
backspace               delete note before cursor+cursor up
alt-backspace           delete line before cursor+cursor up
return                  insert blank note at cursor position+cursor down
alt-return              insert blank line at cursor position+cursor down
shift-f3/f4/f5          cut/copy/paste track
amiga-f3/f4/f5          cut/copy/paste pattern
ctrl-b or Amiga-b       mark start of block
ctrl-c or Amiga-c       copy block to buffer
ctrl-x or Amiga-x       cut block to buffer
ctrl-v                  paste effectcommands only
          Amiga-v       paste notes and effectcommands
shift-ctrl-v            overlay effectcommands
shift-amiga-v           overlay notes and effectcommands

There are three modes for the numeric keypad, which are displayed in a little
square on the right-middle of the screen.
You can switch mode by pressing 1,2 or 3 on the numeric keypad, while keeping
the enter-key on the numeric keypad pressed simultaneously, or by clicking on
the mode-indicator. A600 users will have to live without....

In mode 1 the following keys are defined:
8 (arrow up)            - rotate track up
2 (arrow down)          - rotate track down
7 (home)                - go to pattern 0
9 (page up)             - go to next pattern
3 (page down)           - go to previous pattern
0                       - sample number down
.                       - sample number up

In mode 2 you can select a sample by pressing a key on the numeric keypad.
The keys are predefined with samples 1-17 (1-11 hex), but may be changed by
selecting a different sample, and pressing ALT and the key you wish to bind the
sample to.

In mode 3 you can use the numeric pad as a drumpad. The samplenumbers for the
keys are the same as for mode 2. The notes are all predefined as D#3.
To change the definition of a key press ALT plus the key (the pointer will turn
purple) and then press the key corresponding to the note you wish to play.
The samplenumber will be copied too.

In both mode 2 and 3 you can increase/decrease the current samplenumber by
pressing enter-. and enter-0

When you enter a path- or filename, SoundTracker pro II will use the system
default keymap.
You can use the cursor keys to move around in the name, use backspace or DEL to
delete characters, and Amiga-X to clear the name.
Pressing the right mousebutton clears the name, and deactivates the gadget.
WARNING: if you do this with the samplename, the sample is deleted.
                    The MISCELLANEOUS (MISC.) menu
                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The two numbers after CHIPMEM: are the amount of chip-memory that is available.
The first number is the total amount, the second is the size of the largest
continous block. The numbers after FASTMEM: show the same for your fast-memory.
When there is little memory free, these numbers will flash.
For both Chip and Fast, pro2 displays only the amounts of PUBLIC memory
available, since pro2 will only use public memory.
NOTE: Soundtracker pro 2 actually uses fastmemory for samples, unlike other
trackers that will display how much fastmemory you have, and then don't use it.

The FLUSH gadget will make Soundtracker pro II deallocate all allocated
patterns that are empty. Soundtracker pro II dynamically allocates patterns
when needed, but doesn't automatically free them when they become empty.
If you suddenly run out of memory, you might give this gadget a try.
Be aware that ALL empty patterns (except the current pattern) are removed.
If you used one of those patterns in your song, it will be re-allocated when
it is played, with the default length AT THAT TIME. This may or may not be the
length it originally had. The bottom line is: don't use empty patterns in your
song, use a script with a PAUSE command instead.

The CLEAR SONG gadget will clear the pattern-sequence, delete all patterns,
scripts and samples,set the songlength to 1 and the position to 0.
Basically, it clears the song...

The CLEAR PTRNS will erase all patterns, but it will keep the samples.

Clicking the PLAYING TIME gadget will calculate how long the current song will
play before it loops (using PAL timing). If you use an external clock, the
result is incorrect. (The calculation itself will typically take about 1/65th
of the total playing time on a 68000 equiped Amiga -> 6 seconds to find out
that a song will play 6 minutes and 30 seconds.)
                     About playing speeds and the SPEED menu
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Soundtracker pro II uses a CIA timer to generate interrupts that will activate
the playroutine. You cannot use the vertical blank anymore, like you can with
Protracker. You can of course play at the vertical blank speed, by selecting
the appropriate value for the CIA timer.
This is exactly what Soundtracker pro II does. By default it will play at
normal PAL vertical blank speed. (Protracker does not do this: it plays at
exactly 50 Hz, which is slightly faster than vertical blank speed)

Another difference with Protracker is that Soundtracker pro II will NOT compen-
sate for the difference in clock speeds that exists between a native NTSC and
a native PAL machine. The difference between these two machines is that an NTSC
machine is about 0.9% faster. Protracker compensates for this by using a timer-
value that is higher, so that the playing speed is the same on both NTSC and PAL
machines. What Protracker does NOT do however, is compensate for this difference
when setting the period for samples. The audio clocks of NTSC and PAL machines
also have this 0.9% difference. This results (with protracker) in a song that
is played at the right speed, but the notes are not at the right pitch.
If I were to adjust the period for each note, the 'distance' between the notes
would be different on PAL and NTSC machines due to rounding. This would result
in chords sounding OK on one machine, but out of tune on another.
Because 0.9% is hardly noticeable, it's 2.7 seconds on a 5-minute tune, I have
decided not to compensate for the difference in clock speeds. If you want to,
you can compensate for this by using the pitch-corrector implemented in V1.25.

Having said this, let's take a look at the SPEED menu:

In the SPEED menu you can select at which speed soundtracker should play, and
make various selections for its communication with other machines.

"CLOCK IN" determines which clock Soundtracker should use for its timing: the
CIA-timer or a clock connected to the parallel port (see below for details).
(Actually 'CIA' will use a CIA-timer clocked by the 02 system clock and
'PARALLEL' and 'SLOW PAR'  will use that same timer clocked by pulses on the
CNT pin (par. port))

"CLOCK OUT" determines if Soundtracker should send clock-signals to the parallel
port.

When SLOW PAR is activated, each pulse received will activate the playroutine.
Normally this is every four pulses. Currently samples may sound strange when
using this setting. It is recommended to use the normal mode instead.

"MODE" determines whether Soundtracker should act as a master or a slave unit.
When set to MASTER, Soundtracker will not listen to signals from external units
telling it what to play (but it will use their clock, if this was selected).
When set to SLAVE, Soundtracker will only play a song or pattern if an external
unit tells it to do so.

The "PITCH" slider allows you to adjust the playing speed and pitch of pro2
by about 12% up or down. It's sort of like a master-finetune, but also changes
the playing speed.

"CIA/PAR COUNT" is the start value for the CIA-timer. (the CIA timer may be
clocked by a signal on the parallel port)
The timer will count down from this value. When an underflow occurs (past zero)
an interrupt will be generated.
For CIA-timing set this value to 0DE0 for PAL or 0BAF for NTSC to get the normal
vertical blank speed.
When you set this value too low, interrupts will occur too fast to be handled
before the next interrupt occurs. Soundtracker will detect this, and raise the
count-value. A message will appear on the screen when this happens.
Since version 1.19, the minimum value is $400 when playing from the internal
clock, and 0 when playing from an external clock. This is to prevent lockups
when setting the count too low an a slow Amiga.
When you set this value too high, samples may start to sound strange.
If you use up to note B-3, the maximum value to use is $2A00, if you use up
to B-4, the maximum value is $1500, and for the full 5 octave range, you should
not set it higher than $A80. These values are approximations. It would take too
long to explain everything here, but basically, if you have a very powerfull
CPU, you can increase those values a bit, and for slow CPU's you may need to
decrease even further. The theoretical upper limit (for an infinitely fast CPU)
is $B09/$1612/$2C24 for notes B-5/B-4/B-3. With the normal setting of $DE0 you
can use notes upto F#5, higher notes will not be played correctly (although you
may sometimes not notice that). Always keep a safety margin here, so your
modules can also play on slow CPU's.

If you use one Amiga to control another, set this value to zero for the slave
unit. For normal use, you can click with the left button on the large button to
get PAL-speed, and with the right button to get NTSC-speed.

"DELAY" is what you set with the 0F-command. It is the number of passes through
the playroutine it takes to advance one line in the pattern.
You can set this from 1 to F in steps of 1/4th.
When using a SLOW clock, the delay can only be effectively set in steps of one.
Speeds from 10-1F cannot be chosen directly (they are useless anyway). They can
however be selected using the 4F effect command, which is equal to Protracker's
F-command.

Not all combinations of "CLOCK IN","CLOCK OUT" and "MODE" are valid. You can
use only these combinations:

Master/Slave    CIA     PAR_IN    SER_IN    PAR_OUT    SER_OUT

   Master        *        -         -          -          - 
   Master        *        -         -          -          * 
   Master        *        -         -          *          - 
   Master        *        -         -          *          * 
   Master        -        *         -          -          - 
   Master        -        *         -          -          * 
   Master        -        -         *          -          - 
   Master        -        -         *          *          - 
   Slave         -        *         -          -          - 
   Slave         -        *         -          -          * 
   Slave         -        -         *          -          - 
   Slave         -        -         *          *          - 
where * means enabled, and - means disabled.

To connect two Amiga's with their parallel ports, make a cable like this:
(connections are the same for A500/A1000/A2000)

AMIGA 1                                                  AMIGA 2

GND  22 o----------------------------------------------o 22 GND

SEL  13 o----------------------------------------------o 13 PLAY PATTERN

POUT 12 o----------------------------------------------o 12 CLOCK

BUSY 11 o----------------------------------------------o 11 PLAY SONG


Note that these connections are also present in a ParNet-cable (which is
equal to a Liana cable), so if you have one lying around collecting dust, use
it!  The external clocking won't work if pro2 cannot allocate the parallel port
(which is the case if you are already running ParNet, for example).

********************************************************************************
* I will take NO responsibility for any damage caused by the use of this cable *
********************************************************************************

If you want to connect more than two Amiga's by splitting the cable, you might
want to put in some driver-IC's

To use this cable, connect the two Amiga's with it (turn them off first), and
start Soundtracker. Now enable PAR for CLOCK OUT on Amiga 1, and set the other
(Amiga 2) to PAR for CLOCK IN. For Amiga 2 you must also set the CIA/PAR COUNT
to 0000.
To synchro-start songs on both Amiga's set Amiga 1 to MASTER, and Amiga 2 to
SLAVE.
If you now start a song or pattern on Amiga 1 it will also start on Amiga 2.
(et voilß: 8 channel stereo without the octalyzer-syndrom)
Note that due to a lack of Amiga's, it's been a long time since I tested this
function. It works (I'm pretty sure about that), but the two Amiga's might not
start at exactly the same time.

To edit a song/pattern on Amiga 2 it may be handy to temporarily set it back
to MASTER.

You could also use this feature of Soundtracker pro II to remotely control your
Amiga. Simply wire the pins to one or more switches, set the mode to SLAVE,
and you can start a song or pattern by throwing a switch.
(well, not really: you'll have to supply a clock signal as well)
                         The PREFS menu
                         ~~~~~~~~~~~~~~

In the PREFS menu you can specify your preferences for some of SoundTrackers'
behaviour. The preferences are split into three parts, the misc., disk and
display preferences:

MISC PREFS
~~~~~~~~~~

WORKBENCH
Used to open or close the Workbench. When you disable this, pro2 will try to
close the workbench screen, when you enable it, pro2 reopens it.
Note that the flag may not reflect the actual state of the workbench screen.

FOLLOW SONG
When enabled, patterns scroll along with the tune when a song is playing.
Otherwise, patterns will only run along with the tune when you play a pattern.

AUTOPLAY SONG
automatically start playing song or module will after it has been loaded.

AUTOPLAY SAMPLE
play sample after it has been loaded.


DISK PREFS
~~~~~~~~~~

DEFAULTDRIVE
The device that will be used when there is no devicename specified in song- or
samplepath. So if your samplepath is "samples/drums", and the defaultdrive is
"df0:", soundtracker will look in the directory "df0:samples/drums".
If there is a devicename (":") in the song- or samplepath, the defaultdrive
will be ignored.

FASTDIR THRESHOLD
determines the time in seconds (approximately) that you deem acceptable for
directory-scanning. If filling the filerequester takes more time than this,
pro2 will write a fastdir file to disk, so that it won't take so long in the
future. Setting a THRESHOLD of 00 will disable fastdirs.
For writeprotected media (cdroms for example), pro2 will write the fastdir
files to PRO2:
NOTE: - Since version 1.8, pro2 will notice when a fastdir-file is not up to
        date anymore, in which case it will create a new one. If, for some
        reason, you want to force pro2 to create a new fastdir-file, either
        delete the old file, or click on 'LOAD/SAVE...' with the right mouse
        button.
      - Once a fastdir-file is present and threshold is nonzero, the only
        way to get rid of the fastdir file is by deleting it manually.

FILE MULTISELECT
Determines the behaviour of the filerequester.
When set to 'always', the filerequester will behave as it has always done
until version 1.12, toggling each file you click. When set to 'shift' you
will need to hold down a shift key if you want to select multiple files.

POSITION KEYS
When set to 'always', every time you press a key when the filerequester is
active, pro2 will put the filerequester near a file starting with the character
you typed. This means you cannot use the keys for playing when the filerequester
is active. When set to 'shift', pro2 will only do this if you also press shift,
so you can use normal keypresses for playing.

SIGN GUESSING
When set to SILENT or WARN, pro2 will try to determine the data-representation
of the sample after loading.
This will allow you to read most raw PC samples, or PC sampletypes which are
not yet supported by pro2.
Should pro2 make a mistake when guessing, you can convert the sample back
by doing the conversion again manually (it's in the sample-operations list).


DISPLAY PREFS
~~~~~~~~~~~~~

VU-METERS
gadget is mainly of interest to 68000 users, who might want to turn the
VU-meters off. They use about 15% CPU extra on a 68000 system.

AUTOSCROLL
When autoscrolling is enabled, the SoundTracker pro2 II screen will
automatically scroll all the way, in the direction that you specify by pushing
at the edge of the screen.
When autoscrolling is disabled, you will have to 'push' the screen in the
desired direction yourself, which enables you to stop halfway.
On PAL machines you cannot scroll vertically.

SAMPLEDETAIL
The sampledetail simply determines the number of samples that is taken from the
sample for each 1-pixel column in the sampledisplay.
Mainly of interest to 68000 users, who will want to set this to LOW (gives
protracker-like display), because that's faster.

The display prefs also allow you to set some (but not all) of the colors
that pro2 uses. To change a color, select it from the scrolling-list, and
then use the three sliders to set the RGB components of the color.


The songpath for song A is also part of the prefs. On startup it will be used
for both song A and B.

The preferences file (stconfig) will be saved in PRO2:
                          Editing patterns and samples
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To edit patterns, the following keys can be used:

del                     erase note under cursor+cursor down. (record must be on)
backspace               delete note before cursor+cursor up
alt-backspace           delete line before cursor+cursor up
return                  insert blank note at cursor position+cursor down
alt-return              insert blank line at cursor position+cursor down
shift-f3/f4/f5          cut/copy/paste track
amiga-f3/f4/f5          cut/copy/paste pattern
ctrl-b or Amiga-b       mark start of block
ctrl-c or Amiga-c       copy block to buffer
ctrl-x or Amiga-x       cut block to buffer
ctrl-v                  paste only commands from block
Amiga-v                 paste entire block

When cutting/pasting blocks, the notes in the pattern will be pulled up or
pushed down, but the pattern length will not be changed. To append a block
to a pattern, you will have to resize the pattern first.
The note under the cursor is cut/copied too.
To insert commands or notes without pushing down the notes below, hold down
the shift key as well as the ctrl or Amiga key.

NOTE: there are seperate buffers for track, pattern and block.

In mode 1 the following edit keys are available on the numeric keypad:
8 (arrow up)            - rotate track up
2 (arrow down)          - rotate track down

The EDIT menu
~~~~~~~~~~~~~
The SEARCH and REPLACE gadgets are used to search and optionally replace notes
in the patterns.
You first need to enter a search string, otherwise the search will match every
note. The wildcard character "?" can be used to indicate a "don't care" for
certain parts of the note. For example the search string D?3 ??????, will match
with both D-3 010000 and D#3 010C20. To search for a note, first enter the
search string, and then click on SEARCH. If any note in the song matches the
expression, the cursor will be placed on that note, otherwise the message
NOT FOUND will appear. Tracks that have been disabled will not participate in
the search.

The replace function works similar. When replacing you can also use wildcards.
Any "?" in the replace-string will be left unchanged if this will result in a
valid note. If this would create a non-existing note (for example E#3), the
character may be changed anyway.
The replace function can also be used to transpose notes. In that case the first
character of the note should be + or -, to indicate transpose up or down. The
second character should be a number, indicating the amount to transpose, and
the third character should be N or O, to indicate Note or Octave transpose.
Example: the replace string +3N ?????? will transpose all notes 3 notes up,
-1O ??0C?? will transpose all notes that use the volume command one octave down.

When you start the replace function you will either get the message NOT FOUND
if no note matches the search strings, or the question:
          REPLACE THIS NOTE?
(Y)ES (N)O (A)LL (P)ATTERN (L)AST (Q)UIT
Typing Y will replace the current note and continue the search
       N will skip the current note and continue the search
       A will replace the current note and all matching notes that follow
         (this process can be stopped by clicking the right mousebutton)
       P will replace the rest of the pattern and stop the search
       L will replace the current note and stop the search
       Q will stop the search without replacing the current note
Note that disabled tracks do not participate in the search, and are therefore
not replaced.

The gadgets preceded by CUT, CPY, PST and ADD are used to cut/copy/paste/add
tracks and patterns. The ADD function mixes the notes in the buffer with the
track or pattern, by copying only at those places where the track/pattern is
empty.

PATLEN is the size (in lines) of the patterns. With the + and - gadgets
you can set this to any value from 1 to 9999 inclusive.
CURRENT will apply the patternlength to the current pattern.
ALL will set all patterns to the specified length.
CUT HERE will cut the pattern after the cursor position. In combination
with a search for ??? ??12?? this can be used to shorten patterns in which
the patternbreak is used.
If you want to use shorter patterns, it is recommended that you adjust the
patternlength, instead of using the patternbreak effectcommand, whenever
possible.


Editing samples
~~~~~~~~~~~~~~~

Clicking cut or copy in the samplerscreen will cut or copy the marked range
from the sample. If no range is selected, the whole sample is cut/copied.

Pasting happens at the start of the current range (in this case, a range of
zero is allowed). If no range is selected, the buffer will be appended at
the end of the sample.

When you click MIX, the buffer will be mixed into the current sample, starting
at the start of the current range, or at the start of the sample if no range
is selected. Note that the waveforms are simply added, without any adjustment
of volume. This may cause some overshoot. If the resulting sample is clipped
too much -a little clipping is usually OK- you must reduce the volumes of
sample and buffer before mixing.

XCHG will swap the buffer with the current sample, losing volume and loop
information in the process.

Most sampleoperations in the list operate on the selected range. If no range
is specified, the whole sample is used.
Record Options
~~~~~~~~~~~~~~
By clicking the record gadget with the right mousebutton or by pressing
Amiga-space, you reach the record-options menu. Here you can select pro2's
behaviour when recording notes.

The QUANT and OFFSET settings are used when entering notes in the patterns.
To calculate where the notes will entered, first round the current linenumber
to a multiple of QUANT, then add the OFFSET value. This is the position at
which the note will be entered. After entering the note, the cursor will advance
to the next multiple of QUANT.
Note that even if QUANT is set to one, pro2 will always put the note at the
nearest line. so that if you play a note slightly to early, it is still entered
at the right line. This feature is disabled when you record with DELAY.

When you record with DELAY, the notedelay effectcommand (21) is recorded along
with the note. This has almost the same result as recording with speed 1: the
recording-resolution is increased.
Unlike increasing the speed, however, using command 21 doesn't give you more
notes per time-unit.

When you record VELOCITY (which works with touch-sensitive MIDI keyboards only),
the volumecommand (0C) is recorded along with the note. The parameter of the
command depends on how hard you hit the key on the MIDI keyboard.
When you record with both DELAY and VELOCITY, command 21 is used.

When you record KEY UP, a volumeslide-down-speed-8 (0B80) is recorded when
you release a key.
Recording both DELAY and KEY UP will use a delayed fade with the same speed.

Note that recording with either delay or velocity will overwrite any default
command.

When you are recording with KEY UP, and you are playing polyphonic, pro2 will
try to be smart about keyreleases, and move the cursor to the track where the
note of which the key is released is being played.
                              Sound menu
                              ~~~~~~~~~~

The sound menu contains various gadgets related to samples. The reason that it
is called 'sound menu' and not 'sample menu' is that I plan to implement syn-
thetic sounds someday, and thus the word 'sound' seemed more appropiate.

Starting at the top you'll find several gadgets to resample audiodata to
another frequency. The largest of those is marked RESAMPLE and starts the
resample operation. You should however first set source and destination
frequency. The source frequency is the upper note/finetune/samplerate
combinatiom, while the destination is the lower set of gadgets.
This source frequency represents the current frequency, that is the frequency
at which the sample is played exactly right.
The destination frequency is the frequency at which the sample is going to be
played exactly right. Confusing? Not really. Imagine you have sampled a piece
of music, and to play it back at the right speed you have to play it at note
D#3, or 19704 Hertz. Now you would like to reduce the length of the sample a
bit, because your module won't fit on a disk otherwise. You may decide that the
sample would probably still sound alright if played at 13964 Hertz, or note A-2.
To resample, you enter D#3 as source and A-2 as destination and click resample.
This will convert the audiodata so that played at A-2, it will play at the same
speed as the old sample at D#3. If there are any loops in the sample, they will
be adjusted to the new samplelength.
Source and destination frequency are displayed as a note followed by a finetune
value and a number representing the samplerate resulting from the note and
finetune.
When REAL FREQUENCY is active, the samplerate is adjusted so that it shows the
actual rate at which the Amiga will output the bytes (on a PAL machine), and
pro2 will also approximate the default period of any sample you load with the
nearest note and finetune. When it is off, no such approximation is done.
Instead, the note will be displayed as ▒NOTE with zero finetune, followed by
the frequency as found in the file. You can then approximate the note and
finetune yourself, or resample it to some frequency.
Note that a certain period can be achieved in two ways: finetuning up from the
note just below, or finetuning down from the note that follows. When loading a
sample, pro2 will choose the one that requires the smallest finetune.

The EARLY UPSAMPLING flag determines if notes A#3,B-3,A#4 and B-4 should be
resampled in real time. For some samples (mostly strings) this will eliminate
the distortion that usually occurs when playing these high notes.
Some samples should not be upsampled (and therefore also not played at notes
higher than B-3). These are mostly high-hats and other samples with lots of
high-frequency components. Note that the CIA/PAR COUNT in the SPEED menu needs
to be set to a value sufficiently low. See the SPEED MENU section for details.

The CHIP-flag indicates that the samples is currently located in chip-memory.
Clicking on this gadget will move the sample to either chip- or fast memory
(memory permitting).
There are in fact only two reasons why a sample should be in CHIP memory:
1-Playing samples located in fastmemory requires Soundtracker pro II to copy
  the sampledata to chipmemory, small pieces at a time. This, and having the
  pattern updated on the screen, uses the CPU quite intensively, and will
  result in a very sluggish response on a machine equipped with a mere 68000
  processor. By transferring some samples to chipmemory you can unburden the
  CPU which will give better system response.
2-When playing the two highest notes, Soundtracker pro II uses a period value
  that is lower than the minimum value supported by the system (all trackers do
  this). Samples will sound a bit distorted when played a these frequencies,
  because the audio hardware can't keep up.
  On some older Amiga's the hardware seems to 'skip' part of the sample now and
  then (it did with the old 8271 Agnus I had, but it doesn't on my new 8273A).
  When a sample is located in chipmemory, it will skip into the sample itself,
  which is not so bad. When a sample is located in fastmemory it will skip into
  the audiobuffer for the next voice, which will effectively play short ticks
  of another sample now and then. This can be avoided by putting the sample
  in chipmemory, or by enabling early upsampling, which will also eliminate
  the distortion mentioned above.

Below the other gadgets is a gadget with which you set the default volume for
a sample. You have 64 volume levels, which makes $40 in hexadecimal notation
(hmmm I ought to switch to decimal representation someday...).

The DEF.COM gadgets sets the default effectcommand for a sample. Currently
this number will simply be entered in the pattern when you add notes. The plan
is to make this a real default command: a command that is executed even if you
don't enter the number in the pattern.
                              MIDI
                              ~~~~

Soundtracker pro II has limited MIDI capablities, it is certainly not a full
blown MIDI sequencer, although recording with delay (see "record options") can
give very good results.
At the moment only MIDI in is supported, so you can use an external keyboard
instead of your Amiga's keyboard to play notes.

To use MIDI you first have to turn it on, this is done in the main MIDI menu.
In this menu you will find the MIDI enable switch, and a grid representing
how incoming MIDI data is spread over the 4 tracks.
The 16 available MIDI channels are displayed from left to right, and the
4 tracks (plus the special Cursor track) are displayed from top to bottom.
The default setting is: MIDI channel 1 goes to whatever track the cursor is
located on, channels 2-4 go to track 1, 5-8 to track 2, 9-12 to track 3
and 13-16 to track 4.
To the right of the grid is a group of gadgets used to enable RECORD for each
of the tracks. When OFF, MIDI notes sent to that track are not recorded, even
if you are recording.

In the other MIDI menus (reached by clicking on MIDI again, or by using the
cyclegagdet in the MIDI menu), you can specify how the notes sent to those
tracks should be treated. The 8 octave keyboard you see there depicts the
external MIDI unit (which may be smaller).
Incoming notes can be split into two SEGments. These segments are indicated
on the keyboard by little dots on the first and last keys of the segment.
You can change the segments by adjusting start and end with the + and -
gadgets, or by clicking on the dots on the keyboard and dragging them to
another place. Note that segments cannot overlap.
You also have to define what the lowest note (on the Amiga side) of the
segment is. This is the note displayed under KEY 1.
Finally, you have to define which sample is to be used for notes in the
segments. Segment 1 of the 'Cursor'-track is always played with the currently
selected sample.

All these settings are saved with the song.

MIDI functionality has been tested and proven to work with various MIDI
equipment. If you have any trouble using it with your equipment, please
send me a copy of the 'midi implementation chart' of your device.
This chart can normally be found in one of the manuals and contains
information about how your device translates commands into MIDI data.
                     Loading,saving and filerequesters
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

To load or save a song, module or sample, you should first select the
appropriate gadget from the main menu: a disk-symbol followed by some
arrows and the word SONG or SAMPLE.
A filerequester should now appear, which shows the files and directories
in the directory specified as either the song- or sample-dir.

You can also get a custom-list of songs/modules or samples by clicking on
the LIST gadget in the filerequester. Unlike other trackers that have a list
which is either disk-oriented (protracker), or directory-oriented (MED),
pro2 divides the list-items into categories. That way you can have a category
DRUMS, of which the members can be spread over many disks or directories.
Also, items can belong to several categories, so you can order your modules
both by author and style. Lists are read into memory at startup, so they
cost some extra memory. If pro2 cannot find its own samplelist, it will try
to read a protracker presetlist. A category PT is created into which the entire
presetlist is copied. Note that pro2-lists are only meant to locate mods and
samples, settings such as loops and volume are not stored, that's what the IFF
fileformat is for...
Selecting from a list is similar to selecting from a standard directory.
The list EDITOR is described in another section.

Moving up and down in the filelist list can be done by:
a - Positioning the mousepointer in the filelist near top or bottom, and
    pressing the right mouse button.
b - Typing a character. This will move the list to the first file starting with
    that character. Depending on the POSITION KEYS setting in the PREFS menu,
    you may also need to press the shift-key.
c - Positioning the dragbar on the right at a suitable position.
d - Using the cursorkeys. Note that this doesn't work when the HELP is active.

Scrolling up in the filelist will display all the devices and assigns that
AmigaDOS knows about. Trivial names like C: S: LIBS: SER: PAR: CON: etc. will
not appear in this list.
Note that you cannot reach the device/assign-list by moving the scrollbar.
At the bottom of the list you can see how many kilobytes are free on the volume
for which the directory is shown, and how big the current song is (both as a
song and as a module).

You can go to another directory by:
a - Clicking on its name in the filelist (if it is there, that is).
b - Typing its name in the gadget marked DIR: and pressing return

You can mark multiple files for loading. How you do this depends on the setting
of the multiselect preference in the PREFS menu. When set to 'always', every
time you click a file, its status will be toggled, but other files will not
be affected. When set to 'shift', you will need to hold the shift key to mark
multiple files. If you don't, then everytime you select a file all other files
will be deselected.


Loading songs and modules
~~~~~~~~~~~~~~~~~~~~~~~~~
To load a song or module simply double-click on its name, or click it once,
and then click on the LOAD gadget below the filelist. When you mark multiple
files for loading, a simple jukebox mode will be activated. All files will be
loaded and played one after another. You can choose to play the songs in
alfabetical (NRML) or random (SHFL) order, and pro2 will load the next song
while playing. This means that there will be two songs in memory most of the
time, so you need a lot of memory. When playing in jukeboxmode, you can skip to
the next song by clicking on the fast forward button. Clicking stop will exit
the jukebox.

SoundTracker Pro II will recognize the following song-formats:

 - Ultimate Soundtracker
 - ProTracker
 - NoiseTracker
 - StarTrekker
 - MED (MMD0 and MMD1)
 - SoundTracker pro
 - SoundTracker pro II

It will also load all of these, except for MED and StarTrekker 8-voice songs.
Also, MED and StarTrekker synthsounds and StarTrekker macros cannot be used.
Any effectcommands supported by SoundTracker pro II will be converted.
There may be problems when playing MED songs using speedsettings that would
result in very low COUNT values.
SoundTracker pro II has an intelligent loader, so it will never ask you if
you want to load a song as a 15 or 31-sample song.

Songs that have been compressed with some other trackers' built in cruncher
cannot be loaded unless you decrunch them first with that tracker. However,
songs and modules that have been compressed with PowerPacker CAN be loaded if
the powerpacker library is available. Note that loading powerpacked songs or
modules will fragment memory, and requires at least twice the uncrunched file's
size of free RAM during loading.

When a song has more than 128 patterns loading will abort with the message
"too many patterns in song". This should only occur for MED songs.
SoundTracker pro II will try to load as much samples as it can, but if you
don't have enough memory, you might not be able to load all samples.
When you load a SONG, pro2 will attempt to load the samples after reading and
converting the songdata. If it was able to load all samples, nothing more will
happen, but if one or more samples couldn't be loaded, you will be asked to
insert a sampledisk.
You can then either CANCEL the loading process, which will leave you with a
song of which not all samples have been loaded, you can click OK, which will
continue loading, or you can click on the pathname that is displayed, to change
the defaultdrive-setting.
(see also: Prefs -> Defaultdrive).


Saving songs and modules
~~~~~~~~~~~~~~~~~~~~~~~~
To save a song enter its name in the FILE gadget, or (single)click its name in
the filelist, and then click on the SAVE gadget.
With the cycle-gadget next to the SAVE gadget you can specify if a song or a
module should be saved.

Soundtracker pro II will write songs and modules in only one format:
the SoundTracker pro II format. This format is not compatible with the other
formats mentioned above, for reasons of superiority.
SoundTracker pro II will not only save the songdata,the sample-settings the
pattern-sequence and scripts, but also the speed-settings, the MIDI-settings,
the status of the filter and the current drumpad definitions.


Loading samples
~~~~~~~~~~~~~~~
Soundtracker pro2 recognizes IFF 8SVX and RIFF WAVE (Windows 3.1) format sound
files. Other files are loaded as raw data. After loading a sample, pro2 can
try to autodetect unsigned sampledata (most PC samples), and convert them to
signed data (required by Amiga).

IFF 8SVX samples may be either mono or stereo, compressed or uncompressed,
one-shot, looped or sequenced. The loop(s), volume and default period will be
recognized and set. All octaves will be loaded for multipe octave samples. 

WAVE format files have to be in MicroSoft PCM format, and can be either 8 
or 16 bit, mono or stereo. Only format- and waveform-data will be interpreted,
silence, cue and fact chunks are ignored. Also, only the first datablock is
loaded.

When loading stereo samples, you must choose whether you want to load the left
or the right channel.

You can load several samples at once by selecting the samples that you want to
load, and then either clicking the LOAD gadget or doubleclicking on a sample.
Note that the sample you doubleclicked will also be loaded, even if the second
click should have deselected the sample (In fact doubleclicking will always
select a sample, regardless of whether it was already selected or not).

With the cycle-gadget next to the LOAD gadget you can specify if the sample
should be loaded to chip- or fast-memory. Normally you'll want to load samples
to fast-memory. (see also: SOUND menu)

SoundTracker pro II will *NOT* clear the first 2 or 4 bytes of the sample, like
other trackers do. SoundTracker pro II uses a more sophisticated system, that
doesn't need this kind of sample-mutilation.

Saving samples
~~~~~~~~~~~~~~
With the cycle gadget next to the SAVE gadget you specify if the sample should
be saved as raw data or as an IFF file. When saving raw data, you lose
information about the loop(s),volume and default period.
Note that both the SAVE and the cycle-gadget are inactive when you have selected
more than one file.
The list-editor
~~~~~~~~~~~~~~~
When you select LIST in the filerequester, and then select EDIT, the list-
editor will open at the bottom of the screen.
On the left the different categories are displayed. On the right the entries
in the currently marked category are displayed.

You can add, delete or rename categories by clicking on the appropiately named
gadgets below the category-list, and you can change the order in which they
appear by shifting the marked category up and down with the arrow gadgets.

Entries in a category can be cut or copied to a buffer, and the contents of
that buffer can be inserted into the current category. You can also insert
files from the filerequester by marking them in the filerequester and clicking
'add from filerequester'. The order in which the entries appear can be changed
by shifting the marked entries up and down with the arrow gadgets.
The current list can be saved to disk by clicking on save.
The song/module list is saved as 'stpro.cds', and the samplelist is saved as
'stpro.sds'. Note that although these files are ascii files, it is not
recommended that you edit them with a texteditor. If you really want to, go
ahead, but make sure that you precede each filename with a TAB, and each
category by #<space>.

IMPORTANT NOTE:
When making lists of items located on floppy disks, make sure to use the
volume name of the floppy (e.g. ST-05 if you follow the old naming scheme),
and NOT the device name (DFx).
When running on Kick 2.0 or higher, pro2 will translate devicenames to
volumenames for you, but for Kick 1.3 or earlier you must make sure to not
use the devicename, or pro2 might think that all items are located on a
giant floppy in DFx:
                     When the pointer turns red....

A red pointer indicates some kind of error. Possible errors are:

- You tried to move a sample to chip- or fast-memory, but there was not enough
  of that type of memory.
- You tried an operation on an empty sample, or with a range of size zero.
- You tried to set an illegal combination for clock in/out and the master/slave
  mode in the speed menu. See the speedmenu helptext for the combinations that
  you can use.
- There was an error when reading/writing a file. Usually you will get a more
  elaborate message from either pro2 or AmigaDOS, but I might have forgotten to
  add this at some obscure parts of the loader routines.
                                  Using Scripts
                                  ~~~~~~~~~~~~~

Scripts can be used to determine in which order the patterns are played, just
like the patterntable that is displayed in the upper left corner of the screen.
Scripts, however, offer a greater flexibility and some additional commands that
allow you to do things not possible with the conventional method.

To create a script you must click on the P/S button located next to the pattern
number. By default all scripts are created empty and are given the status
'UNCOMPILED'.

To quickly create a script you can click on the button marked 'COPY PATSEQ'.
This will copy the pattern sequence-table into the script. A script created like
this is immediately ready for use by entering its number in the sequence-table.
This is done by clicking on the S button located somewhere in the upper right
corner and setting the script number (script numbers are preceed by an S).

You can also enter or edit a script manually by clicking in the text-field and
typing in the text. A script created like this must be compiled before it can
be used. This is of course done by clicking on the COMPILE button.
The editor is VERY limited at this time. When editing the script, you can
insert and delete lines by pressing shift-return and shift-delete. You can
cut and paste lines with Amiga-k and Amiga-l. That's it!

The 'compiler' is not very strict: arguments may be seperated by spaces or
commas, and it ignores arguments that it doesn't expect. You can for example
compile REPEAT 10,2. The second argument will simply be ignored.
The script language is byte-oriented, which is why arguments can only have
values from 0-255, or 0-25.5 in case of a float.

A script instruction consists of a command and parameters. A parameter can be
- a float       : a number with zero or one decimal.
- an integer    : a simple number such as 3
- a pattern     : a pattern number such as 2.
- a script      : a script number such as S4 (the 'S' is mandatory)
- a range       : a range of scripts or patterns such as 1-6 or S4-S10
- a list        : a mix of patterns,scripts and ranges
Note that if you can use a list as a parameter to an instruction, you can also
use a single pattern,script or range.

The following commands can be used in a script:

FADEIN f                     fade from current to maximum volume in f seconds
FADEOUT f                    fade from current volume to 0 in f seconds
                             f is a float (from 0 to 25.5)

PLAY <list>                  play the patterns and/or scripts in <list>

<list>                       equivalent to PLAY <list>

PLAYLINE <pattern>,<range>   play the lines in <range> of pattern <pattern>

PAUSE n                      pause for n lines, same as playing an empty pattern
                             that is n lines long.

RANDOM n,<list>              do n random picks from the list, 1<=n<=255

REPEAT n                     do the following commands n times, 2<=n<=255
ENDREP                       terminates a REPEAT loop

SUBST x,y                    use sample y whenever sample x is encountered
SUBRES                       reset the substitution table

STOP                         stop playing


You can use a maximum of 97 scripts. Each script can be up to 65535 lines long.

NOTE: - A script must contain at least one of the play commands PLAY,PLAYLINE or
        RANDOM.
      - Empty repeat loops are not allowed.
      - When displaying a script that has already been compiled all commands
        in a REPEAT loop are indented. As the text buffer cannot scroll
        horizontally, long lines may be truncated, after which they can no
        longer be compiled. For this reason do not use deeply nested REPEAT
        loops and very long lines.
      - uncompilable, non-empty scripts are saved as text with the song/module.
        You can use this to transmit your message to the world. 
                          General Information & Tips
                          ~~~~~~~~~~~~~~~~~~~~~~~~~~
Notes about sound quality
~~~~~~~~~~~~~~~~~~~~~~~~~
Soundtracker pro II is able to play samples from fastmemory without any loss
of quality and minimum CPU overhead. This is why samples are loaded to fast-
memory by default.
When resampling in real time, there is some loss in quality, especially in
the highest octave. For the highest 2 octaves, you should make sure that any
loops you use are a multiple of 4 (4th octave) or 8 (5th octave) bytes long.
This ensures that loop-transitions don't get mangled too much during upsampling.
If you don't need the lowest octave anyway, you will achieve better results if
you resample the sample and play it at normal speeds, as the resampling routine
uses a distortion-reducing algorithm.

Soundtracker pro II and other programs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMMODITIES - commodities can use a fair amount of CPU time, and shutting
  them down would be a good idea on a 68000 system. (getting an accelerator
  would be an even better idea ;)
KCOMMODITY - KCommodity patches into various system functions, and generaly
  increases stack usage of those functions. If you are using KCommodity or
  other programs that patch into the system, and are having problems with
  pro2, try increasing the stacksize for pro2.
SUPERDARK - Pro2 tries to keep its own mousepointer and intuition's
  mousepointers at the same place (more or less) by generating fake input-
  events. The standard 2.0 screenblanker sees those and treats them as mouse-
  moves so that it doesn't blank as long as you keep doing things in pro2.
  SuperDark does not appear to see those events, and will blank the screen
  regardless of whether or not you are doing something in pro2.
MUNGWALL - Running MungWall and pro2 together doesn't hurt, but may cause some
  loss of memory. Pro2 sometimes does partial FreeMem()s, and if you run
  MungWall together with Soundtracker pro II, MungWall will block those
  FreeMem() calls, which will slowly eat away all your memory.
  Note that MungWall may report damaged memory when pro2 does partial
  FreeMem()s. These reports are false.
ENFORCER - Sure, why not?
  (BTW: Enforcer and MungWall are two very handy debugging tools)

Soundtracker pro II specific behaviour
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
REQUESTERS - As long as the pro2-screen is up front, all system requesters will
  appear on pro2's screen. This was done to prevent re-opening of the workbench-
  screen when you insert bad disks and get an 'error validating disk' error.
  (When the pro2-screen is not visible, only requesters caused by pro2 will
  appear on pro2's screen, causing pro2's screen to be brought to the front.)
  To do this, pro2 patches some system functions. This can cause problems with
  programs that also patch these functions, but don't check whether the patch
  has changed when they exit. KCommodity 2.5 is such a program.
  If you quit pro2 and pro2 notices that another program has patched the same
  functions pro2 had already patched, pro2 will wait in the background until
  it is safe to exit. Depending on the other program, this could be until the
  next reboot.
PATTERNS - Empty patterns are not saved. When pro2's playroutine needs to play
  a pattern that doesn't exist yet, it allocates a pattern of standard length
  (not necessarily 64 lines long). This means that if you need an empty pattern
  of a certain length in your song, you should NEVER actually use an empty
  pattern. You should use the PAUSE scriptcommand instead. This has the same
  effect, and also saves memory/diskspace.
SAMPLES - Empty samples are also not saved. If you like using the samplenames
  for your message to the world, you're out of luck: you'll have to use a
  script instead. Start your message with ## in the first line, and it will
  auto-popup in future versions of Soundtracker pro II !
COMPRESSION - If you want to compress Soundtracker pro II, please use a GOOD
  packer. I recommend Turbo Imploder 4. It is freeware, and plays some really
  cool music.
LENGTH - Try not to get carried away by the 'unlimited' samplelength. There are
  still people out there who have only 1 MB (or less) of memory. Keep your
  modules disk-sized. Remember: anyone can sample, but composing is an art.
CHECKSUMMING
  Soundtracker pro II determines if a song has changed by calculating a check-
  sum of the song. This means that if you change something in the song, and
  then change it back later, pro2 will see an unchanged song. This also means
  that if pro2 tells that the song has changed it really HAS changed.

Known bugs
~~~~~~~~~~
- Default samplerate is treated as a word, and therefore limited to 65535 bytes
  per second. With the 'new' real-time upsampling, the effective rate has been
  extended to 120 kiloHertz, but you cannot select this rate yet.
- If the pro2 screen is forced to hires by the system, pro2 does not know how
  to synchronize it's pointer and Intuition's pointer, which may make it hard
  to click on appearing requesters. Use the keyboard to cancel/retry the
  requester instead, or use a screen-promoter that will allow you to NOT
  promote the pro2 screen (NTSC users may want to promote to PAL, though).
- Samples larger than 17 megabytes will not be displayed correctly. This bug
  will probably not be fixed.
- In the filerequester, filesizes will wrap around to 0 after 16 megabytes.
- A changed script will not mark a song as changed.
- Changed loops in a sequence don't mark a song as changed.
- Edits to the sampledata itself don't mark a song as changed.
- The song and module size in the filerequester do not show the actual size:
  scripts and multiple loops are not accounted for.

Well, I don't know about any other bugs, but if YOU do please let me know.
My address is at the end of this section.

Please
- Think carefully whether or not the 'bug' is actually a bug. As an example,
  when you move a sample to a different memory location while it is playing,
  pro2 will continue playing from the old memory location until you restart the
  sample. I consider this to be a feature.
- describe the bug thoroughly, and specify your system configuration (drives,
  memory, processor, kickstart and workbench version, chipset). Most important
  of all, tell me what version of pro2 you used, please name both the on-screen
  string, and the embedded version string (type 'version pro2' in the shell),
  as I tend to forget to update them now and then...
- Check to see if the bug only occurs when running other programs at the same
  time. If so, give the names of these programs (version!)

Suggestions for new features or changes to existing features are also welcome.
For suggestions about the user-interface, please include a sketch on paper
or an electronic image in any widespread format (IFF preferred).


Other
~~~~~

  Soundtracker pro II would not have been possible without several courageous
  people risking life, limb and harddisk while testing it. Naming all of them
  would take up too much space, and I might even forget someone, so I'll keep
  it simple: THANKS!

For comments or bug reports, send electronic mail to:

             marcone@xs4all.nl

                       A1200/A4000 considerations
                       ~~~~~~~~~~~~~~~~~~~~~~~~~~

There seems to be a problem with switching from the pro2 screen to an enhanced
mode screen (Dbl or VGA) when floppy disk activity is taking place.
I have found it is possible to get the custom chips into a state where any
diskactivity will crash the system. (For the 'techies': having a Dbl or VGA
screen with an illegal diw/ddfstart/stop will trash your screen, combined with
diskaccess it will crash your system.)
As of V1.15, pro2 should be able to handle this without crashing.

The A1200 has a keyboard that differs from those found in older Amigas.
This keyboard seems unable to handle some multiple simultaneous keypresses,
which means that playing chords is not possible, unless all the keys of the
chord are located on a different row of the keyboard. MIDI chords will work,
ofcourse.
Soundtracker pro II History
~~~~~~~~~~~~~~~~~~~~~~~~~~~
V2.4 (7/96)
      - MED loader now correctly interprets sample-finetune for sample 2 and up
      - Fixed bug causing pro2 to always write a fastdir-file after saving
        a song or sample. Updating of long fastdirs has also been fixed.
      - included fileformat-description in distribution

V2.3 (5/96)
      - Finally: configurable colors! Note that not all colors can be changed.
      - Fixed MED loader so it recognises portamento command 3.
      - Fixed bug in player loop-handling.

Version 2.2 appeared on the CU-Amiga magazine may issue coverdisk, and was
described as 'one of the best trackers to have appeared for ages'.

V2.2 (2/96)
      - On Kickstart 1.2 and 1.3 systems, pro2 would crash on exit if the
        PRO2: assign was not present. Fixed.
      - Right-click on pitchcontroller will increase/decrease pitch with 1
      - added a 'nudge' function to ease synchronisation with other sound
        sources. Click << or >> with the right mousebutton.
      - Improved MED compatibility (BPM timing and sampleoffset)
      - multi-loop commands slightly changed: by specifying a loop command
        without a note, the new loop will be played when the current loop is
        finished.
      - fixed bug in the record options menu, causing quantize and offset
        selection to trash the screen
      - fixed F6-F10 positioning keys
      - fix bug in sampleloader for non-8SVX iff samples

V2.1 (12/95)
      - Fixed bug causing the filerequester to lockup or crash on some Amigas
        (thanks to Ott. M. Aaloe of The FARM and Mark de Bruijn for testing)
      - Fixed crash when trying to move an entry in an empty list-category
      - Did some rewriting/correcting of the online help
      - Increased maximum patternlength to 9999 lines
      - pitch-range has been doubled (now 12% up and down)

V2.0 (11/95)
      - Bumped version to 2.0 and released. Functionally equivalent to V1.25.

V1.25 (10/95)
      - Added a pitchcontroller to the speed-menu
      - For Kick 2.0 or higher, pro2 will translate devicenames to
        volumenames, so that the song- and samplelists can function
        correctly.
      - Fixed bug preventing pro2 from writing a filelist.
      - Improved MED compatibility

V1.24 (09/95)
      - When importing songs or modules, pro2 will try to make sense of
        unusual periods/notes. (Would previously show up as ???)
      - Pro2 now uses an assign (PRO2:) to find its files. This assign is
        optional for Kick 2.0 or higher, where it defaults to the startup
        directory.
      - Pro2 can now store fastdir-files for write-protected media in PRO2:
        (to allow for fastdir files of cdroms, for example)
      - Fixed bug in display of module- and samplelists in filerequester
      - Fixed some bugs in the med loader
      - Fixed startup for NTSC Amiga's

V1.23 (06/95)
      - Added limited support for MED modules
        (MMD0 and MMD1 only, 4 tracks, no synth, 128 patterns max)
      - Changed the way fastdirs are used, see PREFS chapter
        BEWARE! Writing long fastdirs to disk does not work!!
      - Fixed MIDI menus and 'next disk' requester (trashed in V1.22)
      - Oops, V1.22 would sign-check non-existant samples. Fixed.
      - Fixed address error in sound-menu. (occurred only on 68000)

V1.22 (05/95)
      - Changed screen layout
      - Fixed bug in stringgadget-scrolling
      - Added guessing-algorithm to detect and correct unsigned samples

V1.21 (??/??)

V1.20 (11/94)
      - Fixed write protect and total size calculation errors from 1.19
      - equalize now works for samples larger than 2031585 bytes
      - pro2 can now handle directories of arbitrary size
      - fixed some bugs in the RIFF WAVE (.WAV files) loader

V1.19 (11/94)
      - Completed changes in sampler-screen layout
      - Added 'mixtracks' function, to create samples from tracks
      - Added progress-indicator to most sample-operations
      - Implemented STOP effect as $4F00
      - Implemented patternloop effect as $4E6x
      - Implemented patterndelay effect as $4EEx
      - CIA count value now has minimum value of $400 to prevent lockups
      - fixed rendering bug in sampler-monitor
      - recording delayed key-up now correctly works from Amiga-keyboard
      - fixed quantize rounding errors
      - quantize and 'record delay' are now mutually exclusive

V1.18 (10/94)
      - Changed layout of samplerscreen

V1.17 (9/94)
      - Removed early history
      - Fixed bug in 1.16a patch
      - 'clear patterns' function now asks 'are you sure' if song has changed
      - samplevolume is now always unchanged when loading a song (pro2 used to
        set zero volumes to max volume)
      - added 'autoplay sample' to prefs menu
      - loops can be moved around by clicking on the loop-bars with the right
        mousebutton
      - Serial I/O is no longer broken when pro2 exits

V1.16a (8/94)
      - Small patch for AGA

V1.16 (8/94)
      - All pathnames can now be up to 256 characters long
      - number of samples has been increased to 127
      - added helpsection for list-editor
      - added 'clear patterns' gadget in misc menu
      - stringgadget-bugs of V1.15 fixed

V1.15 (8/94)
      - A VGA/Multiscan screen should now no longer be able to crash pro2
      - Fixed the flanging effect sometimes occuring when playing a sample
        on two voices.
      - Default-format for saving songs is now MOD, instead of song
      - implemented rest of list-editor.

V1.14 (6/94)
      - Changed message "...decrease count" to "...increase count"
      - Added song- and module-list feature. Not fully functional yet...

V1.13 (5/94)
      - Added command-paste and the possibility to paste a block without
        pushing the notes below the insert point.
      - Fixed bug in pattern block-copy
      - Renamed 'setup' to 'prefs', which better reflects what it really is.
        Split the new prefs menu in two parts, misc and disk preferences, and
        added two new options to the disk part of the preferences.
      - Fixed bug that would play garbage when using real-time upsampling on
        very small loops
      - Fixed bug that prevented redefining the drumpad

V1.12 (5/94)
      - Fixed protracker-loader to correctly handle 2 byte loops
      - Fixed autoplay: no playing when load failed
      - Fixed bug in pathname-concatenation
      - Fixed bug in search/replace

V1.11 (4/94)
      Exists in two versions. One version behaves exactly as 1.10, the second
      allows you to use the keyboard for playing notes when the filerequester
      is active. To make things even worse, it says february 1994 on the
      screen, and the embedded version string says version 1.9.

V1.10 (2/94)
      - Polyphonic play is now much smarter than it already was.

V1.9  (2/94)
      - new features:
        - finally! a block cut/paste function for patterns.
      - bugfixes:
        - Fixed re-introduced bug: missing workbench no longer locks up pro2.
        - Pattern buffer is now freed on exit.
      - removed automatic PAL mode. To open in PAL on NTSC machines with one of
        the fatter Agni, you have to switch to PAL mode yourself.

V1.8  (1/94)
      - NEW!!!
        - Added real-time upsampling again. Very early beta versions already
          had it, but now it's here to stay: 5 octaves total, achieved by
          upsampling the sampledata in real-time.
        - Added transpose possibility to search&replace
        - Added PAUSE script command.
      - bugfixes:
        - AUTOPLAY setting in setup is respected again (was considered to be
          always on in V1.7).
        - Fixed pattern-advance bug occuring for short patterns with quantize.
        - Fixed some bugs related to loops; when cutting/pasting/resampling etc.
          very short (0-1 bytes) loops will be deleted.
        - Disabling/enabling the VU meters now works from help-screen too.
      - Default midi keyboard-splitting changed to a 5 and a 2 octave section.
      - filelist can be scrolled horizontally, to view Long Filenames.
      - MIDI now also recognises $80 as key up (some devices use this instead
        of key down with volume 0).
      - pro2 now checks if a directory has changed, and will create a new
        fastdir file if necessary.

pre-V1.8: ancient history...
                              Future plans
                              ~~~~~~~~~~~~
If I find the time, Soundtracker pro II might someday
- run on a normal intuition screen
- do 8-or-more voices
- have XPK support
- use synthetic sounds,
- have extensive support for multi-machine modules,
- be able to interface with user-written functions,
- have advanced sound-compression capabilities,
- be able to use add-on soundcards (any sponsors out there?)

Note that future versions may very well be 68020+, kick 3.0 and AGA only.
