
                            QuadraComposer 2.0

                 Copyright  1993 Technological ArtWork
                      (Bo Lincoln & Calle Englund)


                          U S E R   M A N U A L










DISTRIBUTION:
    You are hereby given permission to distribute the
    QC20.LhA archive (or the same decrunched), as long as it is 
    redistributed in its original unmodified form. You may NOT take any fee 
    for the program itself, only the costs for the media itself.

    Files included in this package:
    * QuadraComposer2.0                      --- The program
    * QCManual2.0.TXT                        --- This file
    * InstallQC2.0                           --- The Installer script
    * InstallQC2.0.cli                       --- A script for AmigaDOS
    * QCReplay.s                             --- An ASM source
    * QCFastReplay.s                         --- An ASM source
    * QC.font sizes 6 & 8                    --- The font
    + icons

SHAREWARE:
    QuadraComposer is SHAREWARE, and if you use it you should pay the
    shareware fee of US$ 20 (or the equal amount is SEK) (The fee
    should be cashable in OUR local banks, so a $20-bill is the most
    practical payment...). Please support us.

COPYRIGHTS:
    QuadraComposer is Copyright  1993 Technological Artwork (Bosse Lincoln
    & Calle Englund).
    QC makes use of reqtools.library for the requesters.
    ReqTools is Copyright  Nico Franois.
    Amiga is a registered trademark of Commodore-Amiga Inc.

THE AUTHORS:
    * Bo Lincoln *

    SnailMail:  Bo Lincoln
                Ryttargatan 70
                S-731 52 KPING
                SWEDEN

    * Calle Englund *
    Email:      c92caren@und.ida.liu.se



                            C O N T E N T S:


1 OPERATION OF QUADRA COMPOSER
     1.0 SPECIAL GADGETS
          1.0.1 UP / DOWN GADGET
          1.0.2 CYCLE GADGET
          1.0.3 LITTLE RED DOTS
     1.1 WINDOWS
          1.1.1 MENU WINDOW
          1.1.2 MAIN NOTE WINDOW
          1.1.3 SAMPLE WINDOW
          1.1.4 SAMPLE EDIT WINDOW
          1.1.5 DISK OPERATION WINDOW
          1.1.6 MIXER WINDOW
          1.1.7 TEXT WINDOW
          1.1.8 NOTE EDIT WINDOW
          1.1.9 SPECTRUM ANALYSER WINDOW
          1.1.10 QUADRASCOPE WINDOW
          1.1.11 PREFERENCES WINDOW
     1.2 KEYBOARD COMMANDS

2 HOW TO MAKE MUSIC WITH QUADRA COMPOSER
     2.0 BASICS
          2.0.1 NOTES
          2.0.2 SAMPLE NUMBER
          2.0.3 PATTERNS & POSITIONS
     2.1 EFFECT COMMANDS
          2.1.1 ARPEGGIO
          2.1.2 PITCH SLIDE, UP
          2.1.3 PITCH SLIDE, DOWN
          2.1.4 TONE PORTAMENTO
          2.1.5 VIBRATO
          2.1.6 VOLUME SLIDE + SUSTAINED TONE PORTAMENTO
          2.1.7 VOLUME SLIDE + SUSTAINED VIBRATO
          2.1.8 TREMOLO
          2.1.9 NOT USED (Why does it have a chapter?)
          2.1.10 SET SAMPLE OFFSET
          2.1.11 VOLUME SLIDE
          2.1.12 POSITION JUMP
          2.1.13 SET VOLUME
          2.1.14 PATTERN BREAK
          2.1.15 EXTENDED (E-) COMMANDS (see 2.1.17)
          2.1.16 SET SPEED / TEMPO
          2.1.17 EXTENDED COMMANDS
               2.1.17.1 SET FILTER
               2.1.17.2 FINE PITCHSLIDE, UP
               2.1.17.2 FINE PITCHSLIDE, DOWN
               2.1.17.2 SET GLISSANDO
               2.1.17.2 SET VIBRATO WAVEFORM
               2.1.17.2 SET FINETUNE VALUE
               2.1.17.2 PATTERN LOOP
               2.1.17.2 SET TREMOLO WAVEFORM
               2.1.17.2 NOT USED
               2.1.17.2 RETRIG NOTE
               2.1.17.2 FINE VOLUMESLIDE, UP
               2.1.17.2 FINE VOLUMESLIDE, DOWN
               2.1.17.2 NOTECUT
               2.1.17.2 NOTE DELAY
               2.1.17.2 NOT USED
               2.1.17.2 PATTERN DELAY
          2.1.18 EFFECTS THAT DIFFER FROM THE NT-FORMAT

APPENDIX A  IFF EMOD FILE FORMAT


1 OPERATION OF QUADRA COMPOSER
==============================
This chapter describes how to use Quadra Composer.
First, some strange words will be explained.

Hexadecimal: All numbers, EXCEPT for percent numbers, are in 
hexadecimal. Hexadecimal?, you ask. Calm down, it will be explained. 
Our normal number system has the base 10; The first place has the 
value 1, the second 10, the third 100, and so on. E.g:

           236
     2*100///
     3*10_//
     6*1__/
     = dec 236

     In hexadecimal, the base is dec 16:

           3A4
     2*256///
     10*16//	<--- Those numbers showed in decimal.
     4*1__/
     = dec 676

But then there must be 16 numbers!? Right, but since we only 
have our normal 10, you use A, B, C, D, E and F as 10, 11, 12, 13, 14 
and 15. If you want to type dec (decimal, base 10) 11 in hex, it will 
be B. Simple. The reason of using this strange (?) system is that it 
takes less space; With just two digits you can write numbers up to hex FF 
(dec 255), not only up to dec 99.

RMB: Short for Right Mouse Button.
LMB: Short for Left Mouse Button.


1.0 SPECIAL GADGET TYPES
========================
These are the special gadgets used in Quadra Composer...

1.0.1 UP/DOWN GADGET
====================
    +--+
    | /|
    |/ |
    +--+

Pressing the LMB over the up/down-wards pointing triangle will
in/de-crease the value in the recessed box beside. If the RMB is
pressed simultaneously, the rate of change will increase.
All values are displayed in hexadecimal, except for the percentage values
(otherwise it would be a bit confusing).

1.0.2 CYCLE GADGET
==================
    +---+
    |/->|
    ||  |
    |\-/|
    +---+

Cycles through multiple choices then clicked on with LMB. Pressing shift
while clicking will make the cycle go backwards.


1.0.3 LITTLE RED DOTS
=====================
If a gadget has a little red dot in its upper right corner, then
there is an option window attached to it. Clicking RMB brings it up.


1.1 WINDOWS
===========
Quadra Composer 2.0 is built up using Intuition windows. Each part of the
program has its own window.


1.1.1 MENU WINDOW
=================
This is the only window that must be open all the time. From this you can
open the other windows. In this window are also the module control gadgets.

     +--+--+
     | 1| 2|
     +--+--+
     | 3| 4|
     +--+--+
     | 5| 6|
     +--+--+
     | 7| 8|
     +--+--+
     | 9|10|
     +--+--+
     +--+--+
     |11|12|
     +--+--+
     |13|14|
     +--+--+
     |15|16|
     +--+--+

  1) Opens the main note window.
  2) Opens the sample window.
  3) Opens the disk operation window.
  4) Opens the mixer window.
  5) Opens the text display window.
  6) Opens the note edit window.
  7) Opens the spectrum analyzer window.
  8) Opens the scope window.
  9) Opens the preferences window.
 10) Displays the About requester.

 11) Plays the module from the current position.
 12) Plays the current pattern.
 13) Starts recording.
 14) Starts recording the current pattern.
 15) Stops the music, turns the sound off and turns edit off.
 16) Turns edit on.

When you press the CLOSE gadget in the upper left corner, the whole program
will be ended.


1.1.2 MAIN NOTE WINDOW
======================
This is the main window of Quadra Composer. It displays the current
pattern, and it contains most gadgets for note editing.

     +------------------------------------------------+
     |          On      On   1    On       On         |
     +-----+------------------------------------+-----+
     |   3 |                                    |  12 |
     |   4 |                                    |  13 |
     |   5 |                                    |  14 |
     |   6 |                                    |  15 |
     |   7 |                                    |  16 |
     |   8 |                 2                  |  17 |
     |   9 |                                    |  18 |
     |  10 |                                    |  19 |
     |     |                                    |  20 |
     |     |                                    |  21 |
     |  11 |                                    |     |
     +-----+------------------------------------+-----+

  1) The window dragbar. It displays four On/Off's, which informs you about
     the voice status.

  2) The pattern display. This is the place where you edit the patterns, by
     using the keyboard. To edit the notes you must be in edit mode (press
     [space]). When you go into edit mode the cursor turns red (unshaded). To
     move around in the pattern, use the arrowkeys (NOT on the numeric
     keyboard). You can mark notes by dragging the mouse.

  3) Pos. (Position) gadget. Use this to cycle trough the positions.

  4) Patt. (Pattern) gadget. This is the pattern attached to the current
     position. You can change this to "mix" the patterns together to a song.
     But, it's better to use the mixer (see mixer window) instead to put your
     song together.

  5) C.patt. (Current Pattern) gadget. This gadget is used for changing the
     current displayed pattern, i.e NOT the pattern attached to a position.

  6) Pattl. (Pattern Length) gadget. Use this gadget to change the length
     of the current pattern. The length may vary from 1 to 256 lines, but the
     value displayed is the number of the last line (number of lines - 1).

  7) Sample gadget. This gadget is actually duplicated, it can also be
     found in the sample edit window. Use this gadget to change the current
     sample number. You can use up to 255 samples (number zero cannot be used).

  8) Tempo gadget. This gadget sets the BPM (beats per minute) rate. The
     tempo may vary from 32 to 255 (hex 20 to FF) BPM. Normally this rate is
     set to 125 (hex 7D).

  9) Timing gadget. Toggles between CIA (CI) and vertical blank (VB)
     timing. Normally you should use the CIA timing, because you can only
     change tempo in this mode. The vertical blank timing is mostly used by 
     demo coders, who don't want to waste the level 6 irq on music. If you
     use the vertical blank timing in the USA the speed go up 20% (because
     of NTSC).

 10) Songl (Song Length) gadget. Decides how many positions will be used.

 11) Cut & Paste gadgets. Use these to cut, copy, paste and clear the
     marked block of the pattern.

 12) E.skip (Edit Skip) gadget. Sets the number of rows to jump down after
     typing a note.

 13) Quant. (Quantisizing) gadget. Quantisizing lets you set if your notes
     will be on every two rows, every three rows, and so on. Very useful if
     you're recording e.g a drumbeat in realtime.

 14) Multi gadget. If you turn this on, the cursor will skip to another
     track after typing a note.

 15-18) Multi 1-4 gadgets. Multi 1 sets where the cursor will skip after
     typing a note in track 1, and so on.

 19) A.echo (Auto Echo) gadget. This sets whether the funny little effect
     called Auto Echo will be on or off. Auto Echo makes a kind of echo after
     each note typed, based on the default volume of the sample. 

 20) Ae.spec (Auto Echo Space) gadget. Sets the space between the echoes.

 21) Ae.cut (Auto Echo Cut) gadget. This is the percentage of volume cut
     off the volume for each echo. When the volume reaches 4 or lower, the
     echo stops.


1.1.3 SAMPLE WINDOW
===================
Well, this is actually the biggest part of Quadra Composer (in bytes), so
we hope that it will be useful. You don't actually have to use Quadra
Composer as a music program, you can use it only as a sample edit program.
The sample editor supports 16 bit editing, but you can still not load and
save 16 bit sounds (sorry :-(). If you own a sample synth, and would like to 
use Quadra Composer to edit the samples, please send us a reference for the
sample and disk format, and we'll try to implement some 16 bit load and
save functions.

     +-------------------------------+
     |                               |
     |                               |
     |              1                |
     |                               |
     |                               |
     |                               |
     +-------------------------------+
     |  2      7       13       18   |
     |  3      8       14       19   |
     |  4      9       15       20   |
     |  5     10       16       21   |
     |        11       17       22   |
     |  6     12                23   |
     +-------------------------------+

  1) The sample display. This is where the current sample, or a part of it,
     is shown. You can mark the sample or a part of it by dragging the mouse.

  2) Period gadget. Sets the standard period, used by the "Play" gadgets,
     and some effects.

  3) Volume gadget. Sets the standard volume of the current sample.

  4) F.tune (Finetune) gadget. Sets the finetune value of the current
     sample.

  5) Loop gadget. Turns the loop of the current sample on / off.

  6) Cut & Paste gadgets. Cuts / copies / pastes / deletes the marked range
     in the sample.

  7) Length gadget. Lengthens / shortens the sample.

  8) Play All gadget. Plays the whole sample.

  9) Play Display gadget. Plays the current display (most often the same
     as the whole sample).

 10) Play Range gadget. Plays the range (if present).

 11) Show All gadget. Shows the whole sample.

 12) Show Range gadget. Zooms in so that only the present range will be
     displayed.

 13) Sample gadget. This gadget can also be found in the main note window.
     It changes the current sample number.

 14) Range All gadget. Sets the range to the whole sample.

 15) Zoom Out gadget. Shows 1/16 more of the sample (if possible).

 16) Copy Sample + Info gadget. Displays the copy sample window. If you
     press copy in that window, the current sample + name + vol etc. will be
     copied to the desired destination.

 17) Clear Sample + Info gadget. Clears the whole sample + name + vol etc.

 18) Backw. (Backwards) gadget. Reverses the sample or the range.

 19) Inverse gadget. Turns the sample up & down.

 20) Tone gadget. Plays a tone. This is used when tuning your sample. 
     In the attached option window you can set the period and the voice of
     the tone.
  
 21) Sample gadget. When pressing this gadget the computer will be frozen,
     a window opened, and the sampler data will be heard in your speakers. In
     the window the data will be displayed, so that you can adjust the input
     volume. If you press RMB, the sample operation will be canceled. Otherwise
     the program will start sampling as you press LMB, and continue until you
     press LMB again, or until the sample is 128 kB (hex 1FFFE bytes) long.
     In the option window you can turn Autostart on / off, set Autostart 
     Sensibility, and turn Oversample on / off. Autostart will cause the
     sampling operation to start immediately when a sound is heard (loud
     enough). Oversample samples faster than the actual sample period, to get
     rid of noise from the sampler.

 22) Edit gadget. Converts the current sample to 16 bit, and opens the
     sample edit window. All disk operation is disabled. If you want to listen
     to the sample the processor will be used to play it (since the Amiga can
     only play 8 bit samples), which will cause the computer to freeze until 
     you either press a mousebutton, or 'til the whole sound is played. 

1.1.4 SAMPLE EDIT WINDOW
========================
This is the window which contains all the fun parts of sample editing,
the effects...

     +-----+-----+
     |  1  |  9  |
     |  2  | 10  |
     |  3  |     |
     |  4  | 11  |
     |  5  | 12  |
     |  6  | 13  |
     |  7  | 14  |
     |  8  | 15  |
     +-----+-----+

  1) Tune gadget. Use this function to tune samples so that they fit
     together. First, turn on the 'Tunetone'. Second, find the matching
     period and finetune (by listening), and set the values in the Period 
     and F.Tune gadgets. Third, if you want, you can set the desired Tune To
     period in the Tuning Options window. Fourth, press the 'Tune' button.
 
  2) Volume gadget. Used to change the volume of the sample. 
     In the window which appears, you can find the following gadgets:
     The Startvolume is the start value, and it will slide over to Endvolume. 
     Maximum is a function which scans the sample to find out how much the 
     volume can be raised without cutoff. Norm sets the sliders to 100%. 
     Out sets the Startvolume to 100%, and the Endvolume to 0%, to create a 
     fade out. Guess what In is...
     If range is present, the volumechange will only affect it.

  3) Mix gadget. This function will mix the current sample with the copy buffer 
     (it doesn't matter if the copy buffer is 16 or 8 bit). The Startmix 
     decides how much the mixed sample will be affected by the sample
     and how much it will be affected by the copy buffer. E.g: If Startmix
     is set to 75%, the current sample will have 75% of the volume, and the 
     copy buffer 25%. Just like the Startvolume the Startmix will slide over 
     to the Endmix.
     If present, it will only affect the range.

  4) Oct. Up (Octave Up) gadget. Doubles the sample frequency.

  5) Oct. Down (Octave Down) gadget. Halves the sample frequency.

  6) Echo gadget. Creates an echo in the sample. Echo rate decides how fast 
     the echo will return. Decay rate decides how fast the echo will vanish. 
     If you turn on Re-Echo, each echo will return more than once. Echo 
     and Reverb are presets, just like In and Out in the volume window.
     If present, the range will be used as echo.
     If you set the sample cursor while the echo window is open, the Echo
     Rate will be adjusted so that the first echo will be on the sample cursor
     position.

  7) Flange gadget. This function creates a "swirl" effect in the sample.
     In the flange window you can set the depth and the frequency of the 
     flange.

  8) OK gadget. Converts the 16 bit edit buffer to 8 bit, and replaces the
     old 8 bit sample. Then it closes the edit windows.

  9) Chord gadget. This is a kind of Tune and Mix macro, which creates a 
     chord. You can mix up to four notes to a chord. Major, Minor, Major
     Sept., Sus2, Sus4 and Minor Sept. are presets, which builds a chord based 
     on the first note.

 10) Synth gadget. This is a rather BIG function, which makes sounds by
     adding sinewaves (additive synthesizer). In the window which appears you can
     find the following gadgets:

     a) Cut Off Envelope. Lets you draw a freehand filter curve.
     b) Volume Envelope. Lets you draw a freehand volume curve.
     c) Pitch Envelope. Lets you draw a freehand pitch curve. Every pixel
        is a half-tone, and the red lines represent "C".

     In all of the windows above, you can find something called LFO (Low
     Frequency Oscillation). These adjust the envelopes by pulling 'em up and
     down.  

     d) Resonance gadget. Lets you draw a freehand resonance curve. What
        you actually do is to change the volumes of the different frequencies.     

     e) Phase gadget. Lets you draw a freehand phase distortion curve. The
        curve is a kind of translation table for angles. E.g if it is a normal
        corner to corner straight line, 10 will be 10 when the sound is made.
        If you draw the line from the left-bottom corner to the middle of the 
        right edge, 10 will actually be 5.

     The length of the sample will be decided by the Length gadget. The
     length must be at least 256 (hex 100) bytes.

 11) Delta 1 Filter gadget. This is a relatively "soft" filter. Use it for 
     "cutting the edge" of those "sharp" samples. Doesn't affect noise.
     If present, only the range will be affected.

 12) Delta 2 Filter gadget. Displays a window with a Cut Frequency slider.
     If you try to filter a low frequency, the sample will sound a bit
     strange, because the filter also cuts all the multiples of the cut
     frequency.
     The Range gadget will set the the Cut Frequency so that a wave with
     the same length as the range will be cut.
     If the range is set while filtering, only the range will be affected.

 13) Boost 1 "Filter" gadget. Can make relatively "sharp" sound even worse...

 14) Boost 2 "Filter" gadget. This filter can actually "anti filter" samples,
     i.e make the sound clearer. If you use it more, it makes the samples 
     really "sharp".

 15) Cancel gadget. Forgets the 16 bit sample, and goes back to the old 8
     bit sample.


1.1.5 DISK OPERATION WINDOW
===========================
This is the menu which contains all the disk operation functions (load, save).

     +------+
     |   1  |
     |   2  |
     |      |
     |   3  |
     |   4  |
     |   5  |
     |      |
     |   6  |
     |   7  |
     |      |
     |   8  |
     |   9  |
     |      |
     |  10  |
     |  11  |
     |  12  |
     |  13  |
     |  14  |
     +------+
	
  1) Load Module gadget. Displays a file requester, in which you should
     pick the desired module. If you load a new module, the old one will be
     lost. Quadra Composer 2.0 supports IFF EMOD and Noisetracker modules.

  2) Save Module gadget. Displays a requester asking which module format
     you want to use. Default, and the best, choise is "IFF EMOD", which is an
     extension of the other choice, "Noisetracker".

  3) Load Pattern From Module gadget. Lets you pick an IFF EMOD. The
     patterns of the module will be displayed in a window. To load a pattern on
     top of the current pattern (the length will be adjusted), just double
     click on it.
     In the option window, you can turn Load Samples on / off. Load Sample mean
     that all the samples in the loaded pattern will be added to the module,
     unless you don't already have a sample with the same name. This option
     goes for Load Track From Module too.
     A little tip: You can build up "clip" modules with e.g drumtracks, which
     you later can include in your music.

  4) Load Track From Module gadget. See above.

  5) Load Sample From Module gadget. See above.

  6) Load Sample gadget. Loads a sample, IFF 8SVX or raw.

  7) Save Sample gadget. Lets you pick a file format, IFF 8SVX or raw, in
     which the sample will be saved.

  8) Load Settings gadget. Loads your previously saved settings from the file
     "s:QuadraComposer.prefs".

  9) Save Settings gadget. Saves your settings.

 10) Use Sample List gadget. Displays the sample list window. A sample list is
     just a list in which names and paths of samples are. This is very useful
     if you have loaded all your sample disks to the list. You can then easily
     find THAT sample you're looking for. Another advantage is that you don't
     have to wait for the computer to read the directory every time.
     To load a sample from the list, just double click on it. If the disk
     is not in your drives, the computer will ask for it as usual.
 
 11) Load Sample List gadget. Loads your previously saved sample list file
     (s:QuadraComposer.samplelist). The sample list file is actually an ASCII
     text, which you can edit from any text editor.
 
 12) Temporary Sample List gadget. Asks for a directory, which will be read
     and used as a temporary sample list. This is used if you want to load 
     more than one sample from a disk which is not in your sample list.

 13) Add Sample To List gadget. Displays a multiselect file requester, from
     which you can choose one, or by pressing shift, more, samples to the
     current sample list.

 14) Save Sample List gadget. Saves the current sample list to the file
     s:QuadraComposer.samplelist.

1.1.6 MIXER WINDOW
==================
This window is used to mix your patterns together to a song.

     +-----------------------+-----+
     |                       |     |
     |                       |     |
     |                       |     |
     |                       |     |
     |           1           |  2  |
     |                       |     |
     |                       |     |
     |                       |     |
     +-----------------------+-----+
     | 3 4                   |     |
     +-----------------------+-----+

  1) Pattern list display. Here are the 256 patterns plus numbers
     listed. If you click on a pattern, it will be marked, and if you drag it,
     you can insert the patternnumber in the position list.

  2) Position list display. Here are the <songlength> positions listed. Just
     like the pattern list, you can mark positions, and move them around by
     dragging with the mouse.

  3) Paste gadget. Inserts the marked pattern number in the position list,
     at the marked position.

  4) Clear gadget. Deletes the marked position.


1.1.7 TEXT WINDOW
=================
This is just a tiny text window.

     +-------------------+
     |         1         |
     |         2         |
     |         3         |
     |         4         |
     |         5         |
     +-------------------+

  1) Song name gadget.
  2) Copyright / composer name gadget.
  3) Current sample name gadget.
  4) Current pattern name gadget.
  5) Status line.

1.1.8 NOTE EDIT WINDOW
======================
Here are some note and track editing functions.

     +-------------------+
     |    1         3    |
     |    2         4    |
     |                   |
     +-------------------+
     |                   |
     |         5         |
     |                   |
     |                   |
     +-------------------+

  1) Expand Track gadget. This function doubles the space between notes in
     the current track, starting from the current line.

  2) Swap Tracks gadget. Swaps the active track with another.

  3) Clear Track gadget. Clears the current track from the current line.

  4) Exg (Exchange) Sample In Track gadget. Replaces the current sample
     number in the track with a new one.

  5) Transposing gadgets. These gadgets lets you transpose notes up or
     down. Active sample means that only notes with the active sample number
     will be affected.


1.1.9 SPECTRUM ANALYZER WINDOW
==============================
This is a little window showing a spectrum analysis of the sounds being
played. It works remarkably well, although it doesn't use FFT. If you size
the window to maximum size, the spectrum analyser will change, and get
bigger (and slower).
When the analyser is small, each line represents 1/4 of an octave.
Otherwise the each line represents 1 note.


1.1.10 QUADRASCOPE WINDOW
=========================
This is also a way of showing the samples being played. If the window is
small, four "scopes" are being displayed, one for each voice. Otherwise
only one, including all voices is displayed.


1.1.11 PREFERENCES WINDOW
=========================

     +------------------------+
     |   1            3       |
     |   2            4       |
     |                        |
     |   5                    |
     |                        |
     | 6    7    8            |
     +------------------------+

  1) Screen Mode gadget. Lets you pick a screen mode, minimum 640x256
     pixels.

  2) Palette gadget. Lets you adjust the palette.

  3) Big Scope Accuracy slider. Sets how many pixels should be displayed
     per voice in the big scope.

  4) Big Spectrum Accuracy. Sets how many frequencies the analyser should
     try to find.

  5) Hex - Dec gadgets. This is a translator from hexadecimal to decimal
     and decimal to hexadecimal. Just type the number in the gadget and press
     <enter>.

  6) Fake Chipmem gadget. If this is on, Quadra Composer will try to use
     the internal fast memory expansion on A500's as chipmem. This will not
     work if you don't have ECS.

  7) RMB Activate gadget. If this is on, you'll be able to activate windows
     with the right mouse button.

  8) Fast Graphics gadget. Fast graphics means that the window graphics is 
     drawn by internal _fast_ functions in Quadra Composer. If it's off
     graphics.library will be used. Note: If you have a graphics card, like
     Merlin, Picasso, Retina etc. you _must_ turn this function off!

1.2 KEYBOARD COMMANDS
=====================
Many of these commands can also be found in the menus, using Amiga standard
(amiga + key).
The main keyboard is used for entering notes.
(Am. layout)
     2 3   6 7 8   9
    Q W R T Y U I O P       Higher octave
    \___/
        \_________ The same notes
                  \___
                  /   \
     S D   G H J   L ;
    Z X C V B N M , . /     Lower octave

The default lower octave is 2.

MISC KEYBOARD COMMANDS.
=======================
RIGHT SHIFT     Record song.
RIGHT ALT       Play song.
RIGHT AMIGA     Play pattern.
<               Turn off all samples. (Not available on some Am.
                                       keyboards.)
SPACE           Toggle editing on/off.
RETURN          Insert blank row in track.
A-RETURN        Insert blank row in pattern (all tracks).
C-RETURN        Insert blank row in track (effect cmd only).
BACKSPACE       Delete previous row and move rest of the track upwards.
A-BACKSP.                          -"-                   pattern  -"-
C-BACKSP.       As BACKSPACE but only effect command.
DELETE          Delete note/effect of the current track, row.
S-DELETE        Delete note+effect        -"-
TAB             Move cursor to next track (right).
S-TAB                 -"-      prev  -"-   left
F1              Set lower octave to "1"
F2              Set lower octave to "2"
F3              Cut block to buffer.
S-F3            Cut entire track (notes only).
A-F3            Cut entire pattern (notes only).
F4              As F3, but Copy instead.
F5              Paste buffer.
S-F5            Paste from top of track (notes only).
A-F5            Paste from "top left corner" of track (notes only).
F6-F10          Move to "bookmark", default are 00/10/20/30/40
S-(F6-F10)      Set "bookmark".
A-(F6-F10)      Play pattern from "bookmark".
C-(F6-F10)      Record        -"-
S-(1-9)         Store current effectcommand in effectbuffer 1-9.
A-(1-9)         Paste effectbuffer 1-9 into current cursorpos.
C-(1-9)         Set editskip to 1-9. Ie the number of rows the editor
                jumps after a note is struck.
A-(Z,X,C,V)     Toggle voice 1-4 on/off
A-MINUS (Main keyboard, Am. layout)
                Copy previous effect command and decrease its
                argument.
A-PLUS (Main keyboard, Am. layout)
                Copy prev. fx cmd and increase its arg.
A-\             Copy prev. fx cmd.

C-A             Toggle current voice on/off.
C-C             Copy block.
C-D             Clear block.
C-E             Expand track.
C-F             Toggle filter on/off.
C-G             Toggle AutoEcho on/off.
C-I             Paste buffer.
C-K             Clear to end of track.
C-M             Toggle MultiMode on/off
C-P             Paste buffer.
C-Q             Turn all voices on.
C-R             Restore "bookmarks".
C-T             Swap tracks.
C-V             Paste buffer.
C-X             Cut block.

ARROW KEY OPERATION
===================
UP              Move cursor up.
DOWN            Move cursor down
LEFT            Move cursor left.
RIGHT           Move cursor right.
S-UP            Move cursor up 8 rows.
S-DOWN          Move cursor down 8 rows.
S-LEFT          Decrease position.
S-RIGHT         Increase position.
C-LEFT          Decrease sample number.
C-RIGHT         Increase sample number.
A-LEFT          Decrease current pattern number.
A-RIGHT         Increase current pattern number.

NUMERIC KEYPAD (Not available on A600. ;-(
==========================================

+-+-+-+-+
|1|2|3|4|
+-+-+-+-+
|5|6|7|8|
+-+-+-+-+
|9|A|B|C|
+-+-+-+-+
|D|E|F|0|
+-+-+-+ |
|   | | |
+---+-+-+
 ^   ^
 |   \_ Increase sample number by HEX 10.
 \_____ Decrease         -"-



2 HOW TO MAKE MUSIC USING QUADRA COMPOSER
=========================================
This is a chapter which describes how to make music. Those of you who
have used NoiseTracker, or a clone, can skip this chapter, since Quadra
Composer works the same way.

2.0 BASICS
==========
Quadra Composer works with four voices (limited by the Amiga), which
are represented by the four tracks you can see in the main note window.
These four tracks of a certain length form a pattern. Up to 256 patterns
can form a song, and finally, a song plus all samples form a module.

2.0.1 NOTES
===========
The first space in every line of a track is reserved for the note.

     C#101000
     \_/
       \__ The note.

The note range is from C-1 (lowest) to B 3 (highest). Each time the track
finds a note when playing, it will play the sample connected to it, using
the note frequency. But, it's not like a synthesizier, since the sample will
not stop when you release the key. In keeps playing until the entire sample
is played, or until you play another sample in the sample voice. If you
want to cut a sample before it's completely played, you'll have to use the
volume effect command (see chapter 2.1).

2.0.2 SAMPLE NUMBER
===================
To each note there must be a sample number, so that Quadra Composer will
know what sound to play.

     C#101000
        \/
         \__ The sample number.

The sample number will automatically be written when typing a note.

Using this little knowledge you can make your first modules. If you want to
make the more advanced, check out the next chapter.

2.0.3 PATTERNS & POSITIONS
==========================
When you've made some patterns, you can mix 'em together to a song, either
by using the Pos. and Patt. gadgets, or by using the mixer.

2.1 EFFECT COMMANDS
===================
The effect command is the last three (3) digits of each line of a
track.

| C 101xyz |
  ^^^^^^^^
  \_/\/\_/____ Effect command
    \ \_______ Sample number
     \________ Note.

2.1.1 Command 0yz: ARPEGGIO
=========================
Arpeggio is a rapid pitch change. The pitch changes between the
played note and the notes Y resp. Z halftones higher.


2.1.2 Command 1yz: PITCH SLIDE, UP
================================
Slides the pitch up YZ halftones. The resulting pitch cannot be
higher than the highest possible pitch (B 3).


2.1.3 Command 2yz: PITCH SLIDE, DOWN
==================================
Slides the pitch down YZ halftones. The resulting pitch cannot be
lower than the lowest possible pitch (C 1).


2.1.4 Command 3yz: TONE PORTAMENTO
================================
Slides the pitch up/down to played the note at YZ halftones per
frame. The effect must be reactivated on each row. If YZ=00 then the
last YZ will be used.

| C 101000 |
| C 201302 |
|    00300 |
|    00300 |
| ...      |

When the desired pitch is reached, the effect will not do anything.


2.1.5 Command 4yz: VIBRATO
========================
Makes a vibrato effect on the sample played. The command must be
reactivated on each row. Y is the speed of the vibrato and Z is the
depth. If an argument is "0" then the previous value used will be
used.

| C 101445 |        +-------------------------------------+
|    00406 |     <--| Makes the vibrato deeper and deeper |
|    00407 |        +-------------------------------------+
|    00408 |
|    00409 |


2.1.6 Command 5yz: VOLUME SLIDE + SUSTAINED TONE PORTAMENTO
=========================================================
Adds a volume slide to a tone portamento. The portamento must be
initialized with the [3yz] effect before this effect can be used. The
Y argument represents the volume increase rate and Z the decrease.

| C 101000 |        +--------------------------------------+
| C 201305 |     <--| Continues the portamento and slides  |
|    00501 |        | the volume down                      |
|    00501 |        +--------------------------------------+
|...       |


2.1.7 Command 6yz: VOLUME SLIDE + SUSTAINED VIBRATO
=================================================
Similar to command [5yz], see above. The vibrato should be
initialized before using this command.


2.1.8 Command 7yz: TREMOLO
========================
Creates a volume vibrato. The speed is set with the argument Y and
the depth with Z. If an argument is "0" then the last value for that
argument is used.

2.1.9 Command 8yz: NOT USED
=========================

2.1.10 Command 9yz: SET SAMPLE OFFSET
===================================
Used only when a note is played, to skip a bit into the sample. The
argument YZ is multiplied with hex 200 and that many bytes of the
sample are skipped.

| C 101923 |     <--| Skips hex 23 * 200 = 4600 bytes |

NOTE: This differs from the NT-format, where the offset was hex
YZ*100.

2.1.11 Command Ayz: VOLUME SLIDE
==============================
Slides the volume up at the speed set by Y or down at the speed set
by Z. The effect must be reactivated on each row.

| C 207A20 |        +-----------------------+
|    00A20 |     <--| Slides the volume up. |
| ...      |        +-----------------------+

2.1.12 Command Byz: POSITION JUMP
===============================
Skips the rest of the current pattern (It's a good idea to pull the
length down to save some bytes of memory...) and jumps to position
hex YZ.

NOTE: This differs from the NT-format, where the argument to this
effect was given as a decimal number.


2.1.13 Command Cyz: SET VOLUME
============================
Set the volume for a channel. The argument YZ sets the new volume.
The volume must be between hex 0 and 40.

2.1.14 Command Dyz: PATTERN BREAK
===============================
Skips the rest of the current pattern (see command Byz) and the first
YZ rows of the next pattern (YZ should not exceed the length of the
next pattern).

2.1.15 Command Eyz: EXTENDED (E-)COMMANDS
=======================================
The e-commands are explained below.

2.1.16 Command Fyz: SET SPEED/TEMPO
=================================
Sets the speed of a pattern (and the ones that follow...) if the
argument YZ is less than or equal to hex 1F or the tempo if YZ is
higher than hex 1F.

The speed is normally the number of picture frames or vertical blanks
(1/50 second PAL or 1/60 second NTSC) to wait between each row of a
pattern. The default speed is 06, ie 0.12 seconds (PAL) or 125 beats
per minute.

If the tempo is set QuadraComposer will switch from VBL timing (125
bpm, PAL) to CIA timing. The default tempo is hex 7D (125 bpm,
again). The tempo rating assumes a default speed setting.

TECHNOTE: If the tempo is set to anything else than 7D, then the
level 6 CIA interrupt must be used. If the tempo is set high then the
replay takes more time each frame (the replay interrupt also will get
out of phase with the screen refresh, so worst case time consumption
can get high (or at least unpredictable) even when using lower tempo,
check the replay routine...).


2.1.17 EXTENDED COMMANDS
======================

2.1.17.1 Command E0z: SET FILTER
==============================
Used to switch the internal audio filter on or off. If Z is "0" the
filter is switched on and if Z is "1" the filter is switched off.

NOTE: Some old amiga's don't have this feature.

2.1.17.2 Command E1z: FINE PITCHSLIDE, UP
=======================================
Slide the pitch up a little bit, Z is simply added to the pitch.

2.1.17.3 Command E2z: FINE PITCHSLIDE, DOWN
=========================================
As above, but down.

2.1.17.4 Command E3z: SET GLISSANDO
=================================
Turn glissando on (Z = "1") or off (Z = "0"). Glissando is used with
portamento. If it is turned on, then the portamento will be done
halftone by halftone, like "walking" up or down the piano.

TECHNOTE: This effect can use up a lot of time, check the replay
routine...

2.1.17.5 Command E4z: SET VIBRATO WAVEFORM
========================================
Simply selects the waveform used for vibrato effects. Z=0     Use
sinewave (default) Z=1     Use ramp down Z=2     Use squarewave

2.1.17.6 Command E5z: SET FINETUNE VALUE
======================================
Sets the finetune value for a channel. The finetune can vary from -8
to 7 (using 2's complement, ie 0 to 7 are represented by the numbers
0 to 7, and -8 to -1 are represented by the numbers 8 to F).

| C 101E5E |     <--| Set the finetune value to -2 |

2.1.17.7 Command E6z: PATTERN LOOP
================================
Used for creating loops in patterns. First the first row of the loop
must be defined, by using Z = 0, and then at the end of the loop, the
number of "jump backs" are defined with Z > 0. Nested loops (inside
each other) are not possible.

| C 303E60 |     <--| Beginning of the loop |
| ...      |
|    00E64 |     <--| The loop will be replayed 4 times, then |
                    | continue                                |

2.1.17.8 Command E7z: SET TREMOLO WAVEFORM
========================================
Like command E4z, but sets waveform for tremolo instead.

2.1.17.9 Command E8z: NOT USED
============================

2.1.17.10 Command E9z: RETRIG NOTE
================================
Plays the note every Z VBL's (see effect Fyz). Useful is you want to
play the pattern slowly, but want say, a hihat playing rapidly.

2.1.17.11 Command EAz: FINE VOLUMESLIDE, UP
=========================================
Simply adds the argument to the current volume of the channel.

2.1.17.12 Command EBz: FINE VOLUMESLIDE, DOWN
===========================================
Simply subtracts the argument from the current volume.

2.1.17.13 Command ECz: NOTECUT
============================
Cuts the note after Z VBL's (see effect E9z), ie sets the volume to
00.

2.1.17.14 Command EDz: NOTE DELAY
===============================
Waits Z VBL's, before playing the note.

2.1.17.15 Command EEz: NOT USED
=============================

2.1.17.16 Command EFz: PATTERN DELAY
==================================
Delays the pattern Z VBL's. Useful for creating a short pause in the
music.


2.1.18 EFFECTS THAT DIFFER FROM THE NT-FORMAT
===========================================
Some effects differ slightly from the nt-format. These are effect
9yz, and effect Byz. These differences are autimagically converted
when a module is loaded/saved in NT-format.


APPENDIX A  IFF EMOD FILE FORMAT
================================
The standard EMOD fileformat is using the standard IFF (not 
SMUS!) format. It was necessary to create a new fileformat, to be able 
to include all the new features (compared to the NT-fileformat), like:

     * 255x128 kb samples.

     * 256x256 rows named patterns.

     * 255 positions.

     * Better internal format for pattern data - 4 bits left per note 
	  for future expansion.


The patterndata is put in the file row by row, 4 bytes for each 
note, and 16 bytes for each row:

SampleNr NoteNr   Empty Effect 
                        cmd.
-------- -------- ----  -------------
00000000 00000000 0000  0000-00000000        <--- Bits
-------- -------- ---------- --------  
Byte 0   Byte 1   Byte 2     Byte 3    

The notenumber is a number from 0 to 35 which corresponds to a 
note (C 1 to B 3). To get the period you'll have to use a list. The following 
are  the IFF chunks of the EMOD fileformat. If you want to add something 
new to the module like a long comment or a text, please make a new 
chunk. A properly made program should just ignore the unknown chunks.


Type      Size Description
~~~~~~~~~~~~~~~~~~~~~~~~~~
char	     4    "FORM"
long	     4    Size of file from offset 8

*********** Infochunk ************

char      4    "EMOD"				;Extended Module
char      4    "EMIC"				;Extended Module Info Chunk
long      4    Size of chunk
word      2    Version of IFF EMIC-chunk
char      20   Name of song
char      20   Composer
byte      1    Tempo
byte      1    Number of samples
  byte    1    Sample nr
  byte    1    Volume
  word    2    Samplelength in words
  char    20   Name of sample
  byte    1    Controlbyte bit 0=loop on/off
  byte    1    First 4 bits finetune 
  word    2    Repeat in words		;Length to loop repeatpoint
  word    2    Replen in words		;Length of loop
  long    4    Offset to the sample from the very beginning of the 
               file

byte      1    Pad
byte      1    Nr of patterns
  byte    1    Pattern nr
  byte    1    Length of pattern in rows - 1
  char    20   Name of pattern
  long    4    Offset to the pattern from the beginning of the file

byte      1    Pad
byte      1    Nr of positions
  byte    1    Patternnumber

byte      0 or 1 Extra byte to wordalign if necessary.


******** Pattern data chunk **********

char      4	"PATT"                   ;Patterndata
long      4	Size of chunk
byte	16   row 1
byte 16   row 2
byte 16   row 3...


******** Sample data chunk *********

char	4    "8SMP"              ;8 - bit SaMPle
long	4    Size of chunk
byte	?    Sampledata



