      ·
      :    ¦    .     _________                 ________       _____________
_____    |         ·   __   / :   ___________/   _   \      \   __  _   /
|     \    ____:    :     \_/ -A : \______    \    |    \_ _:  \_/     \_/
|      \   ¦    |    ¦      \_  ··D_  /   /   _/    |     /  ___/       \_
|    :     :    |    _______/  `N· _/    \    \_________/   |   \________/
¦    _____    ¦    |           :  \__________/      \      ¦    \_
:    :    \__________                                 \___________/
.    ·                         
     .            
.    ·                          
     .                       »»»» PRESENTS ««««
                                 OCTAMED V5
                                 ==========

                                                TYPED BY SHARD


Part One.

Written  by  Ed Wiles.  Based on earlier documentation by Teijo Kinnunen and
Larry McIntire (thanks guys!!).

Proof-reading  and  minor  alterations by David Wiles, Teijo Kinnunen, Bryan
Williamson and Ray Burt-Frost (the latter of RBF Software) - thank you!


Contents  (revised for OctaMED V5.01b)
--------------------------------------

Welcome to the OctaMED help system. The following topics are available:

Introduction            
Those upgrading from V4.
The user interface     
Installation           
Menus                  
Windows                
Main screen            
Player commands        
Keyboard shortcuts      


"Commodore-Amiga & ppguide Copyright notice"
Amiga Workbench 2.1 is a registered trade mark of Commodore-Amiga inc.

(c) Copyright 1985 - 1992 Commodore-Amiga, inc. All Rights Reserved.

"Amiga/Workbench/Kickstart are registered trademarks.  Commodore-Amiga,inc."
The  Files  on  the  disk are from WB 2.1 "tm" and are distributed with this
OctaMED  program  under  licence from Commodore themselves.  They may not be
copied and sold without obtaining a licence from CBM

The  special  decrunch  prog  that  is being used on this disk to enable the
AmigaGuide  files  to be read from the crunched format is called ppguide and
is used with kind permission of it's author Bill Sorensen.

Why on earth didn't C= release the AmigaGuide with PP compatability??


OctaMED Menus
-------------

The OctaMED menu bar contains the following menus:

Project
Display  
Song     
Block    
Track   
Instr  
Edit 
MIDI 
Settings 

The Project Menu
----------------

New
This  item  displays  the New Project window, with which you may discard the
current project and begin a new one.

Open
Displays  a  file requester to load a new song into memory.  The The current
song  will  be  discarded.    A confirmation requester, offering to save the
current  song  first,  will  appear  if the current project has been changed
since last saving.

When  loading  songs  without  instruments,  a  requester  will appear if an
instrument  can't be located on disk, offering to continue loading the other
instruments  or  to stop loading the song altogether.  If you continue until
the  song  is  loaded, OctaMED will load the instruments it can find and put
the  names of the instruments it can't find in their proper numbered places.
You  must then locate and load appropriate instruments into these positions;
otherwise, the notes played by those instruments will be silent.

Note  that  although  you  can  load  normal Tracker modules, you can't load
packed  Tracker  modules.   Tracker player commands will be converted to the
OctaMED equivalent.

If  a song isn't identified as any format listed in the Save Options window,
a  requester will appear wondering if you wish to try to load the file as an
old  Soundtracker  song.    If it IS an old Soundtracker song it should load
correctly, but if not OctaMED may crash!  You have been warned ;-D

Upon successful loading, the song's annotation text (if any) is displayed on
the title bar: see Song menu -> Set Annotation.

Save
Brings  up  the  Save  Options  window,  with which you can save the current
project on to disk.

Save Timer
Opens  the  Save  Timer  window,  which  provides  an  option similar to the
"automatic save" function in many wordprocessors.

Delete Files
Displays a file requester allowing you to delete one or more files from disk
(after  confirmation).  TAKE CARE: THE FILES WILL BE PERMANENTLY ERASED FROM
THE DISK!

Print
Brings  up the Print Options window, where you may print the current song in
various ways.

Last Message
Displays  the  last  message  (error  or  information)  that appeared on the
screen's title bar.

About
Displays information about OctaMED.

Quit OctaMED
Quits the program.  Will display a confirmation requester if the project has
been changed since last saving.


The Display Menu
----------------

Tracker Editor
Displays the Tracker editor.

Notation Editor
Displays the notation editor.

Synth Editor
Opens the Synthetic Sound Editor.  [ Keyboard shortcut: Left Alt-Y ]

Sample Editor
Opens the Sample Editor.   [ Keyboard shortcut: Left Alt-E ]

Sample List Editor
Opens the Sample List Editor.

MIDI Message Editor
Opens the MIDI Message Editor window.

Input Map Editor 
Opens the Input Map Editor window.

Notation Control
Opens the Notation Control window.  Useful if, while working in the notation
editor, you have closed this window to relieve "cluttering".


The Song Menu
-------------

Select
Opens  the  Song Selector window, with which you may select the current song
(of a multi-module).

          [ Keyboard shortcut: Left Alt-G ]

Add New
Creates a new song, and appends it as the last song.

          [ Keyboard shortcut: Shift-Ctrl-NM) ]

Delete Last
Deletes the last song of a multi-module.  Has no effect if there is only one
song in memory.

          [ Keyboard shortcut: Shift-Ctrl-NM( ]

Playing Sequence
Opens the Playing Sequence window.

          [ Keyboard shortcut: Left Alt-Q ]

Section List
Opens the Section List window.

          [ Keyboard shortcut: Left Alt-C ]

Set Options
Opens  the  Song Options window.  This window contains several song-specific
options.

Set Volumes
Opens  the  Track  Volumes  window,  which is used to set the volumes of the
tracks relative to the volumes of the notes in the song.

Set Annotation
Opens  a  window  containing a single text box.  In this box you may type in
any  text  up to 70 characters long.  This text will be saved with the song,
then  displayed  on  the  title  bar  when  the  song is reloaded.  Suitable
annotation  text  is, for example, a copyright message, the composer's name,
or special instructions.


The Block Menu
--------------

New/Insert
Inserts a new block at the current block position.  OctaMED will correct the
entries  in the playing sequence, so the song isn't changed.  The length and
width of the newly-created block will be taken from the current block.

     [ Keyboard shortcut: Ctrl-I ]

New/Append
Adds  a  new block after the last block.  The length and width will be taken
from the current block.

     [ Keyboard shortcut: Ctrl-N ]

New/Insert Def
As  Insert,  but  uses  the  built-in default length/width (64 lines, 4 or 8
tracks - 8 tracks if the channel mode is 5 - 8-channel: see Song Options.

     [ Keyboard shortcut: Shift-Ctrl-I ]

New/Append Def
As Append, but uses the built-in defaults described above.

     [ Keyboard shortcut: Shift-Ctrl-N ]

Delete
Deletes  the  block  selected  by  the sub-menu (Current or Last).  WARNING:
There  is  no  confirmation  requester!    OctaMED  corrects the appropriate
playing sequence entries.

Set Properties
Opens  the  Block  Properties  window,  which  contains  some block-specific
settings.

Block List
Opens  the Block List window.  This window allows easy management of blocks.

      [ Keyboard shortcut: Left Alt-B ]

Highlight
Opens  the  Highlight Options window, where you may highlight the lines in a
block in a particular order.

Cut
Copies the current block to the copy buffer, and clears the block.

      [ Keyboard shortcut: Shift-Alt-X ]

Copy
Places a copy of the current block in the copy buffer.

      [ Keyboard shortcut: Shift-Alt-C ]

Paste
Overwrites the block with the copy buffer's contents.

      [ Keyboard shortcut: Shift-Alt-V ]

Swap w/Buff
Swaps  the  contents  of  the  current  block  with the contents of the copy
buffer.

Insert Line
Inserts  a  new  line at the cursor position, increasing the block length by
one line.

Delete Line
Deletes  the  line  at the cursor position, reducing the block length by one
line.

Expand/Shrink
Opens the Expand/Shrink Block window.

Split At Cursor
Splits the current block into two blocks; the current line becomes the first
line of the next block.

    [ Keyboard shortcut: Shift-Ctrl-J ]

Join With Next
Joins the current block with the following one.

    [ Keyboard shortcut: Ctrl-J ]

The Track Menu
--------------

Cut
Copies  the  current  track  to the copy buffer, and clears the track.  (The
"current track" is the track that the cursor is on).

Copy
Places a copy of the current track in the copy buffer.

Paste
Overwrites the track with the copy buffer's contents.

Swap w/Buff
Swaps  the  contents  of  the  current  track  with the contents of the copy
buffer.

Insert Empty
Inserts  an  empty  track.  Tracks on the right of the current track will be
shifted  right.    The  number  of tracks doesn't increase, so the rightmost
track will be discarded.

The  sub-menu  allows you to apply the operation to either the current block
only or the entire song.

   [ Keyboard shortcut: Curr. Block = Alt-Shift-Backspace ]

Delete
Deletes  a  track.  Tracks on the right of the current track will be shifted
left.   The sub-menu allows you to apply the operation to either the current
block only or the entire song.

    [ Keyboard shortcut: Curr. Block = Alt-Backspace ]


The Instr Menu
--------------

Set Parameters
Opens  the  Instrument  Parameters  window, which allows you to edit various
instrument parameters.

     [ Keyboard shortcut: Left Alt-I ]

Type
Opens the Instrument Type window.

     [ Keyboard shortcut: Left Alt-T ]

Load Instrument(s)
Opens  a  file  requester to load instruments into memory.  OctaMED can load
any  type of instrument listed in Instrument Type.  The instrument is loaded
into  the  sample  slot  displayed  in  the  upper screen.  If an instrument
already exists in that slot, the new one will replace it.

If the instrument is a sample or synthetic sound, the title bar displays its
size  in  bytes.   In the case of synthetic sounds, it will also display the
number of waveforms the sound uses.

If  more  than  one instrument is selected, they are loaded into consecutive
sample slots in alphabetical order.

Save Instrument
Opens a file requester to save the current instrument instrument on to disk.
The sub-menu gives you the choice of saving as an IFF 8SVX file or as a pure
binary  file  (Raw).    The  difference  is that IFF files also contain loop
information  (making  them  slightly  larger than Raw files): see Instrument
Parameters.  Also, some other music programs can only load IFF files.

When  saving  synthetic  or hybrid sounds, you may choose either IFF 8SVX or
Raw (since they are saved as neither!).  For ExtSamples, save as IFF 8SVX.

    [ Keyboard shortcuts: IFF = Ctrl-S, Raw = Shift-Ctrl-S ]

Flush Current
Removes the current instrument from memory, frees the memory used by it, and
clears all its parameters.

    [ Keyboard shortcut: Ctrl-G ]

Flush All Unused
Removes  all instruments unused by the current project (after a confirmation
requester).  If there are no unused instruments, no requester appears.

    [ Keyboard shortcut: Shift-Ctrl-G ]

Automatic Flush
When  selected,  a  requester  to  flush  unused  instruments will appear on
pressing the Clear Current button in the New Project window.

The  following  two  items  affect  instrument  names  when loading songs or
instruments.

Add Path
Adds  the  full path of the instrument when loaded.  (The "path" is the disk
and  directory  name,  for  example: "Samples1:Bass/").  This is useful when
saving  songs  without  instruments  which  include  instruments not in your
sample list.  When the song is reloaded, the instruments will be loaded from
the given disks.

Remove Path
Usually  songs  made  with  Trackers have instrument names which include the
full  path.   This option removes the paths of the instruments, so that they
can be loaded using the sample list instead of directly from the appropriate
disk.

Both  Add and Remove Path may be active at once.  In this case, the original
path  is  removed,  the  instrument is loaded using the sample list, and the
path name from the sample list is added.

Note  that  the  maximum  length  of an instrument name is 40 characters, so
characters at the end of the name may be lost if the path is very long.


The Edit Menu
-------------

Apart from Transpose, all items in this menu act on the current range, which
is selected by dragging the mouse in the Tracker editor.

(The button used to drag is defined in the Mouse Options window.

Cut Range
Copies the range to the copy buffer, and clears the track.

    [ Keyboard shortcut: Ctrl-X ]

Copy Range
Places a copy of the range in the copy buffer.

    [ Keyboard shortcut: Ctrl-C ]

Paste Range
Inserts the contents of the copy buffer at the cursor position.

    [ Keyboard shortcut: Ctrl-V ]

Paste To Selected Tracks
As  Paste  Range,  but  inserts  consecutive  tracks  in  the copy buffer to
consecutive selected tracks in the block.

For  example,  imagine  the  copy buffer contains 3 tracks, the cursor is on
track  2,  and tracks 2, 5 and 8 are selected.  Choosing Paste to Sel Tracks
pastes  the  copy buffer to tracks 2, 5 and 8 (instead of 2, 3 and 4 as with
normal Paste).

Tracks  in  the  block are selected by setting the cycle gadget on the upper
screen to "Select".

   [ Keyboard shortcut: Shift-Ctrl-V ]

Erase Range
Clears the notes in the range.

   [ Keyboard shortcut: Ctrl-Z ]

Discard Copy Buffer
Flushes the copy buffer and frees the memory it occupied.

Transpose
Opens  the Transpose window, which allows transposing and changing of notes,
and changing of instrument numbers.

Range Current Track
Ranges the whole of the track the cursor is on.

    [ Keyboard shortcut: Ctrl-B ]

Range Current Block
Ranges the whole of the current block.

    [ Keyboard shortcut: Shift-Ctrl-B ]

Spread Notes
Opens  the  Spread  Notes window, which allows spreading of the notes in the
range across consecutive tracks to the right of the range.

Pitch Slide
Creates  a  pitch slide, starting from the cursor position and ending at the
next note encountered in the current track.

The  sub-menus  select which sliding command to use (see Commands 0 - 9, but
the better result is usually achieved using Type 1.  (The difference is that
type  2  replays the note after sliding to it, whereas type 1 doesn't replay
the note).

    [ Keyboard shortcuts: Type 1 = Ctrl-T, 2 = Shift-Ctrl-T ]

Volume Slide 
Creates  a  volume  slide, with the cursor position between the starting and
ending volume commands (that is, the "0C" commands: see Commands A - F.

    [ Keyboard shortcut: Ctrl-O ]

Generic Slide
Creates  a  slide  using  any  type  of player command.  Position the cursor
somewhere  between  the  starting  and ending commands before selecting this
function.

NOTE:  If you want to create a volume slide, this command will do it just as
well  as  the Volume Slide function above.  However, in Decimal Volumes mode
the  slide will be created in hexadecimal, which is bound to cause problems.
So for volume slides, use Volume Slide!   :^)

One  use of Generic Slide is to repeat a single player command several times
throughout a track.  Just make the starting and ending commands identical.

     [ Keyboard shortcut: Shift-Ctrl-O ]

Note Echo
Opens the Note Echo window, which can produce echoes automatically using the
0C command.


The MIDI Menu
-------------

OctaMED  can  output  notes  and  some player commands (see MIDI Commands to
external  MIDI  devices, by way of a MIDI interface which you should connect
to  your Amiga's serial port.  This menu contains the required functions and
settings for MIDI operation.

You  also  need  to  set  the  MIDI  channel  and preset number of each MIDI
instrument,  using  the  Instrument  Parameters  window.   (This window also
contains the "Suppress NoteOff" gadget used with some MIDI instruments).

You  may  use  MIDI  instruments  on  any  track, and you may also mix Amiga
samples and MIDI instruments on the first four tracks.

Note: 
Please  refer  to your MIDI device's manual if you come across terms in this
topic that you aren't sure of.

MIDI Active
Activates  MIDI  when selected.  If the serial port is being used by another
program,  however, you must quit the other program before you can use MIDI. 
When  this  option  is on, an "M" appears in the display box to the right of
Cont Block in the upper screen.

Input Active
When  selected,  allows  the  entering of notes into the song using the MIDI
device.    Edit  mode  and  MIDI  Active  must be on.  An "I" appears in the
display box mentioned above when this function is active.

You  can  also  use  your MIDI device to both enter samples and perform many
editing functions using the input map editor.

Input Channel
Opens  up  the  Input  Channel window, with which you may set the MIDI input
channel.

Ext Sync and Send Sync
Synchronization  (or  "sync" for short) involves OctaMED sending information
which allows MIDI devices to keep in time with OctaMED.

When  "Send  Sync"  is  activated,  this  information is sent when you click
either Play Song or STOP (not Cont Song, Play Block or Cont Block).

When  "Ext  Sync"  is activated, OctaMED can be synced "externally", meaning
that  an external MIDI device sends the sync information instead of OctaMED.
As  well  as  (of course) "MIDI Active", "Input Active" must be selected for
Ext Sync to work.

Send Active Sensing
After  "MIDI  Active"  has been selected, OctaMED periodically sends "active
sensing" ($FE) messages when this is turned on.  These messages tell OctaMED
whether all required MIDI leads are properly connected.

Send Out Input
When  activated,  OctaMED  replays input MIDI notes.  Useful for owners of a
separate sound module and keyboard.

Read Key-Up's
When  switched  on,  OctaMED  records  key-up events (as 0FFF commands - see
Commands A - F.

Read Volume
If  you have a touch-sensitive keyboard, the volume will be entered as a set
volume  player  command  (0C) when notes are input (see Commands A - F.

Reset Pitch/Presets
Resets  pitchbenders,  modulation  wheels  and  presets   on   all channels.
(OctaMED sends "preset change" messages for all MIDI channels).

     [ Keyboard shortcut: Ctrl-Space ]

Send MIDI Reset
Sends a "MIDI Reset" message ($FF).

Send Local Control
Sends  a  "Local  Control  On  /  Off"  message.    When  using   a keyboard
synthesizer, the local control (when on) routes the keyboard directly to the
internal  synthesizer.   In a multi-timbral setup, switch local control off;
otherwise, it's usually best to keep on.

Note Killing
Selects the method for turning off all notes (by clicking "STOP" or pressing
the space bar).

"$Bx  7B  00"  sends "All Notes Off" messages for each MIDI channel, whereas
"Note Off Msgs" sends standard "Note Off" messages for each track.

The  former  is recommended if your MIDI device supports it, because it cuts
all notes, not just those OctaMED triggers.

(Also see the MIDI Message Editor


The Settings Menu
-----------------

Mouse Options
Displays  the  Mouse Options window, which allows you to change the function
of each mouse button when editing.

Keyboard Options
Displays  the  Keyboard  Options  window,  which contains several parameters
concerning using the keyboard when editing.

Programmable Keys
Opens the Programmable Keys window, where you may edit the programmable keys
(Shift-0-9).

Display Max Tracks
Selects  the  maximum  number  of  tracks that can be displayed on-screen at
once.    The value that you select depends mostly on your eyesight!  To find
the  appropriate  value for you, set the "Tracks" slider in Block Properties
to  17  or  above, and pick 4, 8 and 16 from Display Max Tracks in turn.  If
you  connect  your  Amiga to a television and you can still clearly read the
block contents in 16 mode, your eyesight is truly remarkable!

(You  may notice that in 16 mode, 17 tracks are in fact displayed at once...
don't ask me why ;-)

Palette
Opens the Palette Window, with which you can alter the screen's colors.

Equalizers
 Selects  which  "equalizers" to display.  (They aren't actually equalizers,
but  this  is  their  popular name).  They're useful as a quick check to see
which  track  is  playing, or to monitor rhythm.  "Bar" toggles the colorful
sprites,  "Oscilloscope"  toggles  the  signal displays at the bottom of the
screen.

The  equalizers  are  disabled  during  disk activity and if any windows are
open.

Under  a  68000  processor, the Oscilloscopes in particular take up a lot of
processor  time  (multi-tasking becomes poorer, disk activity noisier etc.),
so  if you have a 68000 you may wish to disable them permanently.  Under all
processors, they are disabled during disk activity.

Workbench
Attempts to open / close the Workbench.  Useful if you are low on memory, as
closing the Workbench frees about 40K of chip memory.

H -> B
Selects  how OctaMED will display the name of the note between A# and C.  In
some  countries  it's  H,  in  others  it's B.  When set, B's are displayed.
Default is on (B's are displayed).

Play After Loading
When  set,  OctaMED  automatically starts playing a song after it is loaded.
Useful, for example, when listening to other people's songs.

Auto-Freeze Screen
When  on, this automatically "freezes" the screen when the OctaMED screen is
not  the  frontmost.   This frees more processor time for multitasking.  The
screen  can  also  be  frozen  using  the Freeze Display gadget in the lower
screen.

Load Settings
Opens  a  file  requester  to load a new settings file.  The default name is
"S:OctaMEDPro.config".

Save Settings
Saves  the  current  settings under the name "S:OctaMEDPro.config".  OctaMED
will attempt to load a file of this name on startup.

Save Settings As
Opens a file requester to save the settings under a non-default name.

For a list of the settings saved with the config file, see the Settings File


OctaMED Windows
---------------

These are the windows included in OctaMED.

Synthetic Sound Editor:           Block menu  :
Synthetic Sound Volume            Block Properties
Synthetic Sound Stretch           Block List 
                                  Expand/Shrink Block
Sample Editor                     Highlight Options

Change Volume                     Instr menu  :
Change Pitch 
Mix                               Instrument Parameters
Filter/Boost                      Instrument Type
Echo
Noise                             Edit menu  :
Chord Creation 
Pixel Density                     Transpose
                                  Spread Notes
Input Map Editor                  Note Echo

Functions                         MIDI menu  :

Project menu  :                              Input Channel

New Project                       Settings menu  :
Save Options
Save Timer                        Mouse Options
Print Options                     Keyboard Options 

Programmable Keys

Display menu  :                   Palette

Sample List Editor                Main screen  :
MIDI Message Editor
Notation Control                  Instrument Load

Song menu  :

Song Selector   
Playing Sequence
Section List  
Song Options   
Track Volumes   

The New Project Window   [ Keyboard shortcut: Amiga-N ]

With  this  window you can discard the current project and begin a new one. 
It is activated via the Project menu.

If  the  current  project  has been modified since last saving, the window's
title  bar  will  display "WARNING: Current project modified!".  This is the
only warning you are given: no confirmation requesters are displayed.

It contains three gadgets:

Clear All
Discards all samples and songs.

Clear Current
Clears  the current song only.  If Instr Menu/Automatic Flush is selected, a
requester to flush unused instruments will also appear.

Cancel
Closes the window, canceling the operation.


The Save Options Window   [ Keyboard shortcut: Amiga-S ]

This window allows you to save the current project on to disk.  It is opened
using the Project menu.

The  text  box at the top of the window is for typing in the filename of the
project.    If  the  box  is  empty  on opening the window, a file requester
appears  to  select an appropriate filename.  The file requester can also be
opened by clicking the small GetFile gadget to the left of the text box.

The  cycle gadget under the File Format gadget applies to multi-modules, and
selects  whether  to  save  all  the  songs  in the multi-module or only the
currently selected song.  By default, all songs are saved.

File Format
This  radio  button  selects  which file format to use when saving.  Options
are:

MMD2 (OctaMED V5)
This format is new to V5, and supports multiple playing sequences (sections)
and  1  -  64  tracks.   If the song requires either of these features, this
gadget is selected when the Save Options window is opened.

MMD1 (OctaMED V3-V5) 
This  is the V3-V5 format, so is (of course) compatible with these versions.
If  MMD2 format is not required, this gadget is selected on opening the Save
Options window.

Modules  requiring  MMD2  format  can  be saved almost perfectly under MMD1.
Song sections are the only thing not saved: instead, they are converted into
one  long  playing  sequence,  by  ordering  the sections in the arrangement
defined by the section list.

MMD0 (MED & OctaMED) 
The  pre-OctaMED  V3 format, introduced in MED V2.10.  Files saved with this
format lack the following:

* 2-digit commands (the first digit is always zero)
* Notes above D-6 (replaced by a -|- symbol)
* Block names
* Line highlighting

MMD0  modules  are  always  saved  with  instruments,  and song sections are
converted as described above.

Note  that  even  options  new to V5 (Loop On check box, ExtSamples, default
pitch,  extended  MIDI  preset, 1 - 64 tracks) are properly saved under MMD1
and  MMD0.  (Although 1 - 64 tracks are correctly saved under MMD1, however,
pre-V5  versions of OctaMED will probably crash if such modules are loaded).


Tracker Module
Sound/Noise/Protracker  format,  used  to  export modules to other "tracker"
programs.    However, since OctaMED supports many functions that trackers do
not, some information may be lost, and some of this information appears in a
requester before saving.

Full  details  of the lost information can be found in Tracker Modules.

The  further  down  the  File  Format  button you go, the simpler the format
becomes,  and  therefore  the smaller the file produced.  So for example, if
you  don't  require  notes  above  D-6, block names, line highlighting, song
sections  or  two-digit  commands  to  be  saved, you should choose the MMD0
format, since it produces a smaller file than MMD1 or MMD2.

Save Secondary Data
Toggles whether to save "extra" information with the song: instrument names,
line  highlighting, block names, and the song name.  Otherwise, only what is
essential to play the song is saved (meaning that the saved file is slightly
smaller).

Create Icon
When  selected,  a  Workbench  icon  file is saved with the song: a cassette
image  (designed  by Izrael Similä of Iz Productions, thanks!).  The default
tool is written as "OctaMEDPlayer".

Save Notation Data
When checked, saves some additional information used in the notation editor:

* The Shown, Ghost and Select track gadgets' status
* The time and key signature
* Both the settings in the Instr. Notation window

Save Instruments
Chooses  whether the song should be saved together with its instruments.  If
not,  only  the  instrument  names are saved; when the song is reloaded, the
instruments are loaded from your sample disks.  This is done either by using
the  full  path  name  of each instrument (see (see Instr Menu/Add Path), or
more commonly by way of the sample list.

When this gadget is on, instruments unused in the song won't be saved.

By default, all these check boxes except Save Notation Data are switched on.


To  those upgrading from V4: MMD1 and MMD0 are equivalent to MOD1 and MOD0. 
MOD1  (+instr)  can  be  selected  by  choosing  MMD1   and   switching Save
Instruments on, and MOD1 (no inst) by switching Save Instruments off.

Compression
This  cycle gadget selects the compression (if any) to use before saving the
module.

No Compression
Does not compress the module (default).

PowerPacker Compression
Uses  the  popular  powerpacker.library  by   Nico   François   to compress.
(Currently the parameters are always Good efficiency, Medium buffer).

SFCD Compression
The  Stephan  Fuhrmann  Compact  Density  algorithm  is used for compression
(requires lh.library, not included with OctaMED).

Calculate Size
Calculates  the  size  in  bytes  of  the  project if it was saved using the
current status of File Format, Save Secondary Data, Save Notation Data, Save
Instruments and the multi-module cycle gadget.

Save
Saves the song using the above parameters.


**  OctaMED can emulate the "automatic save" function of many wordprocessors
using the Save Timer window


The Save Timer Window 

This window, activated using the Project menu, emulates the "automatic save"
function  of  many  wordprocessors.    You  can  automatically open the Save
Options window periodically.

The  window  contains  a  single  integer gadget, whose value is the time in
minutes  between subsequent openings of the Save Options window.  A value of
0 turns this function off, and is the default.


The Print Options Window   [ Keyboard shortcut: Amiga-P ]

This  window, opened using the Project menu, allows printing of the song and
various song information.  You can print the song as text (the format of the
Tracker editor or as graphics (as in the notation editor.

The gadgets are as follows:

Output File
Consists  of  a  text  box and a GetFile gadget to the left of the text box.
With  these you may redirect output to a file instead of a printer.  You can
only redirect the header and text output, not graphics.

Start Block
These numerical boxes set the starting and ending block of the printout; you
may type in any valid block numbers.

All Blocks
Sets the boxes to the first and last block of the song.

Current Block
Sets the boxes to the current block number.

Print Header
Selects  whether  to  print the header before the song contents.  The header
consists  of  a list of instruments and their parameters, the default tempo,
play transpose, track volumes and the playing sequence(s).  It is printed as
ordinary text.

Form Feed
Sends a form feed after printing each block.

The  remaining  cycle gadget selects whether to print as graphics (default),
text,  or  not  to  print the blocks at all (i.e.  only the header, if Print
Header is checked).

Any  Preferences-compatible  printer  should  work in graphics mode, and the
printout's  appearance can be changed using the "Printer" preference program
which can be found in the Prefs drawer.  In text mode, highlighted lines are
printed in bold text.

"Print" prints using the specified options, and "Exit" closes the window.


The Synthetic Sound Editor   [ Keyboard shortcut: Left Alt-Y ]

Synthetic  sounds  (or  "synthsounds") are made from simple waveforms, which
can  be  joined  together and have their volume and pitch altered by using a
simple  "programming  language".    This  window  contains  the functions to
construct these sounds, and is opened either by using the Display menu or by
clicking the "Edit SynthS" gadget on the upper screen.

The  main advantage of synthsounds is that they take up far less memory than
their sampled counterparts, so often it's worth trying to create a synthetic
version  of  a  sampled  instrument  before  devoting yourself to one or the
other.    However,  this  doesn't  mean  synthsounds  are a poor substitute,
especially if you enjoy the sounds produced by analogue synthesizers and the
good old Commodore 64!

Synthsounds are also particularly useful when composing in certain styles of
music,  Acid  House  and  Rave  being notable examples.  They also have a 5-
octave range, compared to the 3-octave range of ordinary samples.

To  use this window's functions, the current instrument must be a synthsound
(selected  either  by  using the Instrument Type window, or by choosing "New
Synthsound" from the synth editor's Project menu).

When  Edit  is  on  (upper  screen),  the  keyboard  is  used to program the
synthsound  (see  the Synthetic Sound Programming Language, but when off you
may play the current sound using the keyboard, like ordinary samples.

Waveform editing
----------------

There  are  two  waveform  displays:  the  left  one is the "master waveform
display"  (which  is the actual current instrument) and the right one is for
intermediate  editing  (it  also  serves  as  a copy buffer).  Either of the
waveforms  can be activated by clicking on them, and the current waveform is
recessed (it seems to "go into" the screen).  Initially the right display is
active.

There  are  gadgets  between  the  displays,  most  of  which  are  used for
transferring waveforms between displays:

Copy
Copies one waveform to the other (in the arrow direction).

Exchange
Exchanges both waveforms.

Mix
Mixes the left waveform to the right waveform.

Add
Like Mix, but it doesn't produce any average between the waveforms.

UNDO
"Undoes" (reverses the effects of) the last editing operation.

Range All
Selects the entire current waveform as the range for editing operations.


Freehand drawing
----------------

One  way  to  create waveforms is to draw them from scratch, by dragging the
left mouse button along a waveform display.

There  are  four drawing modes, selectable by toggling the "Draw Mode" cycle
gadgets.

Pixel
Draws in pixels (default).

Line
Used for drawing straight lines.

Mix
Mixes the drawn lines / pixels with the existing data.

Direct
Draws without mixing (default).

(The upper cycle gadget also selects Range, with which you can select a part
of the waveform: see below).

The Preset and Project menus
----------------------------

Instead  of  drawing  freehand  (which can be inaccurate), some often-needed
basic  waveforms  are available from the Presets menu.  Selecting a waveform
inserts it into the active waveform display.

Also in this menu is "Clear Wave", which clears the active display.

The following items are included in the Project menu:

New Synthsound
Clears  the  whole  synthsound  (take  care...).    Also  forces the current
instrument to be a synthsound.

Exit Synth Editor
Closes the window.

Waveform length
---------------

Each  synthetic waveform can be 2 - 128 bytes long (although the number must
be  even).    The shorter the waveform, the higher the pitch (the pitch also
depends  on the waveform itself).  Usually, to make the pitches harmonically
compatible with other instruments, you should use length 2, 4, 8, 16, 32, 64
or 128.  The length can be changed by using the "Length" slider.

Multiple waveforms
------------------

Up  to  64  waveforms can be defined for one synthsound.  The gadgets to the
right  of "Waveform:" are: the current waveform integer gadget (you can type
in  the  number of the waveform), the current waveform number in hex and the
last  waveform number in decimal, and arrow gadgets that increase / decrease
the  current waveform number [ keyboard shortcuts: Alt - <left> / <right> ].
Shift-clicking these arrow gadgets selects the first / last waveform.

Relevant gadgets are as follows:

New Waveform
Adds a new waveform after the last waveform.

New Here
Inserts a new waveform at the current waveform position.

Delete Last
Deletes the last waveform.

Delete Current
Deletes the current waveform.

Range operations
----------------

Some  basic  operations  exist  that apply to the current range.  A range is
marked by cycling the upper Draw Mode cycle gadget to "Range", then dragging
the  left  mouse  button over a waveform display.  The whole waveform can be
selected  by  clicking  "Range  All".    The  "Range" / "End" gadgets at the
lower-right of the window can be used to make small corrections to the range
area.

A  range of one byte in length is displayed as a single vertical white line.
This  is  the cursor; some editing operations need it.  It may be set either
by  clicking  the  left  mouse  button  on  a waveform display (with "Range"
cycled),  or  by  using  the  "Cursor" gadgets: from left to right, they are
"cursor to start", "cursor to middle of waveform", and "cursor to end".

The range gadgets are as follows:

Cut
(works  only on left waveform display) Moves the range contents to the right
display, and clears the range.

Copy
(only left display) Copies the range to the right display.

Paste
Copies right display to the cursor position on the left display.

Clear
Clears the range.

Double
"Doubles" the range, making the pitch one octave higher.

Reverse
Reverses the range.

<< / >>
Shifts the ranged data to the left or right.

The Waveform menu
-----------------

Change Volume
Opens the Synthsound Volume window.

Stretch
Opens the Synthsound Stretch window.

Start / Do

Transformation
Allows  you  to  change  one waveform to another smoothly, by generating the
intervening waveforms.

For  example,  allocate  9 new waveforms by clicking "New Waveform" 9 times.
Move  to  waveform  0  and  select  a  pulse  waveform,  and  select  "Start
Transformation".  Now move to waveform 9 and select a sine waveform.  Select
"Do  Transformation" to carry out the operation, and if you view waveforms 1
- 8 you'll notice the smooth transition between the pulse and sine wave.

(Programming language documented in Synthetic Sound Programming Language


The Synthsound Volume Window   [ Keyboard shortcut: Amiga-V ]

This  allows  you  to increase / decrease the volume of a selected range, in
the  synthetic  sound editor.  It is brought up by selecting "Change Volume"
from the editor's Waveform menu.

The  integer  gadget contains the percentage of volume change required.  For
example,  50  would  halve  the  volume,  and  200 would double the volume. 
Pressing RETURN while the gadget is active executes the function.

The OK gadget carries out the operation, the Cancel gadget aborts it.


The Synthsound Stretch Window   [ Keyboard shortcut: Amiga-S ]

This allows you to stretch a point on the waveform towards another point, in
the  synthetic  sound  editor.   It is activated using the editor's Waveform
menu.

For  example: select a sine wave.  Then position the cursor at the middle of
the waveform.  Now open this window and type the amount of movement into the
integer gadget (e.g.  32).

Typing  in  a  negative  number  stretches  the point to the left.  Pressing
RETURN while the gadget is active executes the function.

The OK gadget carries out the operation, the Cancel gadget aborts it.


The Synthetic Sound Programming Language

Note:  Please  read this section carefully before experimenting, because you
can  lock  your  machine  up with improper use of the synthsound programming
language (as with any other language).

The programming language is used for controling the volume, pitch, and order
of waveforms in a synthsound.  It consists of simple keywords, of which most
have  an argument.  For a description of these keywords, see Synthetic Sound
Language Keywords.

The  programming  is  done using two lists of commands/numbers.  These lists
are  displayed  in  a  small  window below the right waveform display in the
synthetic  sound  editor.  The two leftmost columns display the line numbers
in decimal and hex.  The middle column contains the volume control sequence,
while the rightmost is the waveform/pitch control sequence.

       volume ctrl seq
          |
line      |    waveform ctrl seq
  |       |    |
  00 00   40   00
  01 01  END  END

These sequences ("seqs" from now on) are both a maximum of 127 entries long.
Each seq is always automatically terminated with the "END" instruction.  You
can scroll the seqs with the cursor up/down keys, and use the F6-F10 keys as
in the Tracker editor.

The  cursor  can  be  moved  horizontally using the cursor left/right keys. 
There  are  six possible horizontal cursor locations (3 for each seq).  When
entering  commands,  the  cursor  should  be on the leftmost position of the
appropriate  seq.    Values  are  entered by positioning the cursor over the
number  to  be  changed and typing in a new value.  Commands and numbers are
entered  via  the  keyboard,  and  Edit  must be on before either seq can be
changed.

You  may  insert entries to the seqs with the Return key (or by clicking the
"Insert"  gadget),  and delete using the Del key (or by clicking "Delete"). 
JMP commands are renumbered when entries are inserted or deleted.

 With the release of V5, editing has been tidied up somewhat.  The cursor no
longer  moves  down beyond END; and inserting any command except HLT and RES
(which don't take parameters) also inserts a new 00 value.

The  "Transition"  gadget  creates  transitions.  For example, consider this
waveform sequence: line 00 00 01 0F 02 END

If you position the cursor at line 01, making sure that Edit is on, clicking
"Transition"  creates all the numbers between 00 and 0F (01, 02, 03, 04 ... 
0E).  This saves a lot of typing!

       * ALL NUMBERS IN THE SEQUENCE LISTS ARE HEXADECIMAL *

First, let's examine some example sequences.

This is a volume sequence:

        00  40 <= set initial volume to 64 (hex $40)
        01 CHD <= command, that means "Set volume change down speed"
        02  03 <= argument (speed = 3)
        03 END

Here's another:

        00  00 <= initial volume = 0
        01 CHU <= Command: Set volume change up
        02  07 <= speed = 7
        03 WAI <= Command: Wait
        04  10 <= wait 10 pulses
        05 CHU <= Set volume change up
        06  00 <= speed = 0 -> stop changing volume
        07 WAI <= Wait
        08  70 <= 70 pulses
        09 CHD <= Cmd: Set volume change down
        0A  01 <= speed = 1 (slow)
        0B END

A third:

        00  40 <= vol = $40
        01  30 <= vol = $30 (without a command, the values are volume
        02  20 <= vol = $20  changes)
        03 END

And finally, a fourth:

        00  40    <= vol = $40
        01 CHD <+ <= change down speed..
        02  01  | <= ..= 1
        03 WAI  | <= Wait..
        04  20  | <= ..20
        05 CHU  | <= change up
        06  01  | <= ..1
        07 WAI  | <= Wait..
        08  20  | <= ..20 again
        09 JMP  | <= Jump (= goto)
        0A  01 -+ <= to line number 01
        0B END

Now  for  some waveform/pitch sequences.  The waveform/pitch sequence is the
"master sequence" while the volume sequence is a kind of "slave sequence".

First: (the simplest case)
        00  00 <= set waveform #00
        01 END

A bit more complex:
        00 VBS <= set vibrato speed
        01  40 <= speed = $40
        02 VBD <= set vibrato depth
        03  02 <= depth = 2
        04  00 <= waveform #00
        05 END

And very complex:
        00 ARP <= start arpeggio sequence
        01  00 \
        02  03  arpeggio values 0, 3, 7 (minor chord)
        03  07 /
        04 ARE <= end arpeggio sequence
        05 VBD <= vibrato depth
        06  06 <= 6
        07 VBS <= vibrato speed
        08  40 <= $40
        09  00 <= set waveform #0
        0A  01 <= set waveforms 01 - 0A (one timing pulse/waveform)
        0B  02    | |
        0C  03   \   /
        0D  04    \_/
        0E  05
        0F  06
        10  07
        11  08
        12  09
        13  0A and back to #01...
        14  08
        15  07
        16  06
        17  05
        18  04
        19  03
        1A  02
        1B  01
        1C JMP <= jump
        1D  09 <= to position 09 (restart waveform changing)
        1E END


About timing
------------

After  executing  most  commands,  in both control seqs, OctaMED immediately
executes  the  next  command.  However, with some commands OctaMED waits for
the  next timing pulse before executing the next command.  Without these few
commands,  OctaMED  would spend all its time executing the control seqs (and
hang  up).  You should therefore ensure that all loops contain one, and they
are  WAI (Wait), vol chg (a plain number in the volume seq) and set waveform
(a plain number in the pitch/waveform seq).

For example, the following loops would hang up your computer:

        00 JMP          00  CHU <-+ command CHU doesn't wait
        01  00          01   02   |
        ...             02  JMP   |
                        03   00 --+

While the following would not:

        00  20          00  WAI
        01 JMP          01   02
        02  00          02  JMP
                        03   00

Execution speed
---------------

The  synthsound  handling  routine  is  by  default called once every timing
pulse,  so  for  every  note  played  handling  is  done the number of times
specified by the secondary tempo.  However, you can make OctaMED execute the
synth control seq entries less frequently than that if you wish.  The number
of  timing  pulses  between  the  execution  of  each  entry is known as the
"execution speed".

The execution speed of each seq can be set independently, by using the arrow
gadgets  to  the  left  of  the  control  seq.    Wave  and   Volume set the
waveform/pitch  and  volume  sequences  respectively, and can have values of
1-15  (F hex).  The execution speed can also be changed during execution, by
using the SPD command.

Synthsound-handling player commands
-----------------------------------

With  synthsounds,  command E in songs triggers a jump in the waveform/pitch
sequence.  (See Commands A - F

For  example,  if  you  wanted  to  decrease  the pitch of the sound after a
certain point, your waveform/pitch sequence could look like this:

        00  VBS
        01   40
        02  VBD
        03   06
        04   00 ;play waveform 00
        05  HLT
        06  CHD ;pitch changing entry point
        07   02
        08  END

Now you could compose a track like this:

        C-2 3000  ;this is the previous synthsound
        --- 0000
        --- 0000
        --- 0E06  ;cause a jump to position 06 (pitch starts to slide down)
        --- 0000
        ...

Using  the JVS command, you can make command E affect the volume sequence as
well.

Hold  and Decay (see Instrument Parameters Window work well with synthsounds
too.    The  decay  value  with synthsounds, however, triggers a jump in the
volume control sequence.  At the point when decay normally starts, execution
will  jump  to  the  entry in the vol ctrl seq specified by the decay value.
This  means that you can handle the decay in any way you like.  You can also
make it affect the waveform/pitch seq using the JWS command.

Example volume control sequence:

        00  40  ;volume
        01 HLT  ;end
        02 CHD  ;decay handling (entry point) -> cause decay
        03  03
        04 END

The decay value for this synthsound should be 2.  The decay values are saved
and loaded with synthetic sounds.

Hybrid Sounds
-------------

Hybrid  sounds  are  much  like synthsounds, except that instead of waveform
pieces  a  normal  sample  is used.  All commands of the synthsound handling
programming  language  can  be  used  with  hybrid  sounds,  except the "set
waveform"  command:  since  there's only a single waveform, it neither works
nor is necessary.

Also,  volume-changing  commands (A, C, D, 5, 6, 1A, and 1B) don't work with
hybrid  sounds.    (See Player Commands You can, however, add more synthetic
waveforms for use with the EN1, EN2 or VWF synth commands.

And finally...
-------------

Don't  worry  if  you  don't  understand  synthsounds  at first glance!  The
language  used  in  this  topic  has been necessarily technical, but read it
through again...  :)

Anyway,  you  don't  need  to learn any this information to use synthsounds,
only to design them.


The Synthetic Sound Language Keywords

VOLUME CONTROL SEQUENCE COMMANDS
================================

1.      Set volume
        Command: ---
        Keyboard: --- (key needed to enter the command)

This  is  the default command (no command identifier).  It sets the absolute
volume  of  the  synthsound.   It should be 00 - 40.  Note that the relative
track  volumes are not used in synthsounds (mostly for performance reasons).


        Example:
        00  30  <= volume = $30
        01  10  <= volume = $10
        ...

2.      End sequence
        Command: END
        Keyboard: ---

This  command  terminates  the  volume  control  seq.  It's always there and
automatically inserted.  You can't insert commands past this one.

3.      Set volume change down speed
        Command: CHD
        Keyboard: D

This  command  sets  the  speed at which the volume is decreased each timing
pulse.    The  volume  starts changing automatically after this command.  To
stop automatic volume sliding, issue this command with speed 00.

        Example:
        00  CHD
        01   05  <= speed = 5
        ...
        10  CHD
        11   00  <= speed = 0 -> stop sliding

4.      Set volume change up speed
        Command: CHU
        Keyboard: U

This command is like CHD, except it sets the volume change up.

5.      Wait
        Command: WAI
        Keyboard: W

This command waits for a specified amount of timing pulses (pause).

        Example:
        03  WAI
        04   10  <= wait for 16 ($10) pulses to occur

6.      Jump
        Command: JMP
        Keyboard: J

Causes an immediate jump to another volume seq position.

        Example:
        05  JMP
        06   0A  <= jump forward to line 0A

7.      Jump waveform sequence
        Command: JWS
        Keyboard: Shift-J

This  command causes a jump in the waveform sequence.  This can be used, for
example,  to  trigger  a  pitch change at the end of the vol ctrl seq.  Note
that this DOESN'T cause a jump TO the waveform seq.

        Example:
        04  JWS
        05   0F  <= jump to line 0F in the waveform control sequence


8.      Halt
        Command: HLT
        Keyboard: H

This  has  the  same  effect  as command END (halt execution), but it can be
inserted in the middle of the sequence.

        Example:
        03  HLT
        04   04  <= other code (can be accessed with JMP instruction, for
        ...         example)

9.      Set speed
        Command: SPD
        Keyboard: S

Sets the execution speed.

        Example:
        0A  SPD
        0B   01  <= speed = 1 (fastest)
        ...

10.     One-shot envelope
        Command: EN1
        Keyboard: E

This  command  allows  you to draw the shape of the envelope with the mouse.
When the end of the envelope is reached, nothing occurs.

        02   40
        03  EN1
        04   05

Hence  waveform 05 is used as an envelope.  Note that the envelope execution
starts  on  the  next  interrupt,  so the volume is initialized to $40.  The
envelope waveform must always be 128 bytes long!!

11.     Looping envelope
        Command: EN2
        Keyboard: Shift-E

This  works like command EN1, except that when the end is reached, execution
will start again from the beginning.


WAVEFORM/PITCH CONTROL SEQUENCE COMMANDS
----------------------------------------

1.      Set waveform
        Command: ---
        Keyboard: ---

This  command  is  used  to indicate the waveform number (starting from 00).
After  this  instruction,  the  execution  stops until the next timing pulse
occurs.    Don't use waveform numbers that are higher than the actual number
of the last waveform.

        Example:
        00  00  <= waveform 00
        01  01  <= waveform 01
        ...

2.      End sequence
        Command: END
        Keyboard: ---

This  command  terminates  the  volume  control  seq.  It's always there and
automatically inserted.  You can't insert commands past this one.

3.      Set pitch change down speed
        Command: CHD
        Keyboard: D

This command sets the sliding speed for sliding the pitch down.  The sliding
automatically  starts after this command and stops, when the speed is set to
zero.

        Example:
        00 CHD
        01  03  <= set speed to 3
        ...

4.      Set pitch change up speed
        Command: CHU
        Keyboard: U

Like the previous command, but slides the pitch up.

5.      Wait
        Command: WAI
        Keyboard: W

This command waits for a specified amount of timing pulses (pause).

        Example:
        03  WAI
        04   02  <= wait for 2 pulses to occur

6.      Jump
        Command: JMP
        Keyboard: J

Causes an immediate jump to another waveform/pitch seq position.

        Example:
        05  JMP
        06   0A  <= jump forward to line 0A

7.      Jump volume sequence
        Command: JVS
        Keyboard: Shift-J

This  command  causes  a jump to happen in the volume sequence.  Can be used
e.g.  for triggering volume changes after some waveform event.

        Example:
        09  JVS
        0A   00  <= start volume sequence from the beginning

8.      Halt
        Command: HLT
        Keyboard: H

This  has  the  same  effect  as command END (halt execution), but it can be
inserted in the middle of the control sequence.

        Example:
        03  HLT
        04   04  <= some other code (can be accessed with JMP instruction,
        ...         for example)

9.      Set speed
        Command: SPD
        Keyboard: S

Sets the execution speed.

        Example:
        0A  SPD
        0B   01  <= speed = 1 (fastest)
        ...

10.     Begin arpeggio definition
        Command: ARP
        Keyboard: A

This  command  starts  the arpeggio sequence.  The subsequent values are the
arpeggio  offsets  from  the base note.  The arpeggio sequence is terminated
with  the ARE command.  The arpeggio starts automatically after the sequence
is defined.

        Example:
        03  ARP  <= start arpeggio
        04   00  <= offset values
        05   04
        06   07
        07   0A
        08  ARE  <= end arpeggio definition

11.     End arpeggio definition
        Command: ARE
        Keyboard: E

Ends an arpeggio definition. See above.

12.     Set vibrato depth
        Command: VBD
        Keyboard: V

This command is used to set the vibrato depth (00 - 7F).

        Example:
        02  VBD
        03   04  <= set depth to 4

13.     Set vibrato speed
        Command: VBS
        Keyboard: Shift-V

This command sets the vibrato speed (00 - 7F).  Both speed and depth must be
non-zero for vibrato to occur.

        Example:
        02  VBD
        03   04  <= depth = 4
        04  VBS
        05   30  <= speed = 30

14.     Reset pitch
        Command: RES
        Keyboard: R

This command resets the pitch of the note to its initial pitch.

15.     Set vibrato waveform
        Command: VWF
        Keyboard: Shift-W

Sets the vibrato waveform.  The argument is the number of the waveform.  The
waveform  should  always  be 32 bytes long!!  Note that it's actually played
reversed (use the Reverse gadget to reverse it).  By default, a sine wave is
used.

        Example:
        00  VBD
        01   06
        02  VBS
        03   40
        04  VWF
        05   04  <= use waveform number 04 as vibrato waveform



The Sample Editor   [ Keyboard shortcut: Left Alt-E ]

This window allows you to edit and digitize samples.  It is activated either
by  using the Display menu or by clicking "Edit Sample" on the upper screen.

Displayed  in  the  window  is  either the current sample's waveform, or the
words "No sample loaded" if the current instrument slot is empty.

The  scroll  bar  below  the  waveform  shows  the  size and position of the
displayed  portion  of  the  sample  relative  to the whole sample.  It also
allows  you  to  scroll  around  the sample (after zooming in, see later) by
dragging it.  Scrolling can also be done using the cursor left / right keys.

Many  operations  act on a specific range, which is set by dragging the left
mouse  button  along  the  waveform.    After  selecting  the range, you may
re-adjust  the  start  or  end  positions  by holding down a Shift key while
dragging the left mouse button.

The gadgets above the waveform are as follows:

Display
This  display  box contains the number of bytes currently being displayed in
the waveform.  It changes when zooming in or out (see later).

Buffsize
The  size  of  the  current  sample (waveform buffer).  Typing in a new size
brings  up  a  requester,  asking  whether to clear the sample or retain the
sample already in memory.

One  use of retaining the sample is adding extra "workspace" to the end of a
sample,  which  is  useful  in  some editing operations (e.g.  echoing).  By
choosing  "Clear"  you  may create a new sample, and this is often the first
step when digitizing (see later).

There  need  not  be  a  sample in memory in order to enter a new size.  The
maximum buffer size is 131072.

Range Start/End
These  gadgets  show  the  actual byte positions of the start and end of the
range, and can be changed by entering a new value into them.

The following gadgets lie below the waveform:

Play Display
Plays the current display at the current pitch (see "Pitch" below).

Zoom In / Out
Magnifies  / reduces the sample so you can see more / less detail.  Repeated
clicking  takes  you  deeper  into  / further away from the sample.  This is
essential for accurate editing.

Show All
Restores the whole waveform to view after zooming.

Range Display
Ranges the whole display.

Sample</>Buffer
Copies  the  copy  buffer  to the sample, and the sample to the copy buffer.
Can  be  used to implement a simple "undo".  Before trying out a function, a
snapshot  of the sample can be made with "Sample<".  If you're not satisfied
with the outcome of the function, the sample can be restored with ">Buffer".

Monitor
Opens  a  window  that  displays the real-time input waveform from a sampler
(connected  to  the  parallel port).  The purpose of Monitor is to make sure
the  sound  is  at  a  volume  level  that  will not cause distortion in the
digitizing process (see below).

The  rest  of  the  program  is  disabled  during monitoring, i.e.  no other
functions can be selected.  Closing the window stops monitoring.

Digitize
Starts  digitizing  (also  called  "sampling").    The  screen   blanks, and
multitasking  is  disabled.  The sampling stops when the buffer is full, but
it can be interrupted with the right mouse button.

Clicking Digitize when Buffsize is zero sets Buffsize to 131072 bytes (or if
not enough memory, to the largest size possible).

Pitch
The  numerical  box  displays the current sampling / playing period, and the
raised  box  shows  the equivalent note to the period value.  The default is
428  (note C-2), but this can be changed by either entering a value into the
gadget,  or holding the left mouse button on the note box and entering a new
note using the keyboard.

Freehand
When on, you may edit the waveform with the mouse.  The maximum display size
is  628  bytes,  but you may zoom closer if you wish.  In Freehand mode, the
Pixel display mode is automatically selected.

Loop
A  sample  having  a  loop  means  that  a  note you play with the sample is
sustained  until  it is stopped.  This is due to a particular section of the
sample  being continually repeated (or "looped"), and the boundaries of this
section are defined by the two "loop pointers".

These  pointers  appear  as  dotted  lines  over  the waveform, and as small
triangles  in  the  rectangle immediately below the waveform.  They mark the
start and end of the looped section.

The  "Loop"  check  box  is  a  duplicate  of  the  "Loop  On" gadget in the
Instrument Parameters window.  Selecting this gadget activates the loop.

Loop Point
The loop pointers can be moved in three different ways:

* Typing  in  the  Repeat  and/or RepLen value in the Instrument Parameters
  window

* Dragging the small triangles across the waveform

* Using the Loop Point gadgets

The < and > gadgets move a loop pointer two bytes to the left or right.

<0  and  0>  move a loop pointer to the left or right until a zero is found.
For  a  decent-sounding  loop, it ideally needs to start and end at the same
value,  which  can often be zero (i.e.  no amplitude).  So these gadgets are
useful in finding good loop points.

The cycle gadget selects whether the < > <0 0> gadgets act on the loop start
(default) or loop end pointer.

Bear in mind that zooming in allows far more accurate loop positioning.

The following gadgets act on the currently selected range (see above):

Show
Magnifies the range to fill the whole display.

Play
Plays the range at the current pitch.

Cut
Deletes the range and moves it to the copy buffer.

Erase
Deletes  the  range  (but  doesn't  move it to the copy buffer).  NOTE TO V4
UPGRADERS: this is like V4's DEL button.

Clear
Clears the range.

Copy
Copies the range to the copy buffer.

Paste
Inserts  the  copy  buffer's contents at the start of the range.  The sample
size will increase by the number of bytes inserted.

Reverse
Reverses  the  range left to right.  Useful for interpreting hidden messages
in a few rock songs ;)

The menus attached to this window are as follows:

Project
-------

Flush Sample
Removes the current instrument from memory.

Load Sample
Opens a file requester to load a sample.

Save Sample As
Opens a file requester to save an IFF sample.  Note that the loop values are
also saved with IFF samples.

Exit Sample
Closes the sample editor window.  Editor

Edit
----

With this menu you may edit the sample.

The  Cut,  Copy,  Paste,  Erase,  Clear  and  Reverse  items have equivalent
functions to the respective Range gadgets.

Invert
Inverts the range (turns it upside-down).  This can be useful when trying to
find  a  smooth  loop  or a smooth join between two waveforms (freehand mode
also helps this).

Chop
Deletes  the  non-ranged  parts of the sample.  Only the part defined by the
range is left.

Remove Unused Space
Deletes  empty space (i.e.  of zero volume) on either side of the waveform. 
This both saves memory and keeps the timing in songs precise.

Copy to Synth Editor
Transfers the current range to the synthetic sound editor, thus allowing you
to  create  a  less  memory-consuming instrument.  The synth editor can only
handle  waveforms of 128 bytes maximum, so if the range is longer than that,
only  the  first  128  bytes  marked are copied.  The range is copied to the
right-hand  waveform  display.   If you want the new synthetic instrument to
replace  the  sample  in  memory,  you  need  to make the current instrument
synthetic.

Play Buffer Contents
Plays the contents of the copy buffer at the current pitch.

Discard Copy Buffer
Discards and frees the memory occupied by the copy buffer.

Effects
-------

This menu adds special effects to the sample.

Change Volume   
Brings up the Change Volume window.

Change Pitch
Brings up the Change Pitch window.

Mix
Brings up the Mix window.

Filter/Boost
Brings up the Filter/Boost window.

Echo
Brings up the Echo window.

Create Noise
Brings up the Noise window.

Create Chord
Brings up the Chord Creation window.

Note  that  all effects aside from Change Pitch, Mix and Create Chord affect
the  current  RANGE.    So  if  you wish these effects to apply to the whole
sample, use the Range Display gadget.

Also,  shift-clicking any of the action buttons (i.e.  those which perform a
function) in these windows executes the function then closes the window.

Settings
--------
Display
"Line"  selects the normal line display mode, but when "Pixel" is turned on,
the  sample  is  displayed  as  pixels  instead  of  lines.  "Pixel Density"
activates  the Pixel Density window with which you can choose the density of
the pixels in "Pixel" mode.

Sampler Voice Monitor
When  selected,  you  can hear the sound you are sampling during digitizing.
Turning  this  off  may  marginally enhance the digitizing quality on slower
machines (those using a 68000 processor).  @ENDNODE


The Change Volume Window   [ Keyboard shortcut: Amiga-O ]

This  window  allows  you  to change the volume of the current range, and is
opened using the sample editor's Effects menu.

The  sliders  select  the  starting  and  ending volume change, and both are
percentages of the original waveform.  For example, setting the start volume
to  150  %  and  the  end volume to 75 % fades downwards from one-and-a-half
times  the  original  volume to three-quarters of the original volume.  Each
slider can select a value of 0 - 500 %.

Clicking CHANGE VOLUME changes the volume using the current slider values.

There  are  also  some commonly-used presets below the CHANGE VOLUME gadget.
"Fade  In"  changes from 0 % to 100 %, "Fade Out" from 100 % to 0 %, "Halve"
50 % - 50 %, and "Double" 200 % - 200 %.  Clicking any of these gadgets sets
the sliders to the values they represent, then changes the volume.

Fade  In  /  Out  are  useful  partly  in  eliminating  the "click" that you
sometimes  hear  at the very start and end of a sample.  To do this, range a
small piece of waveform at the start or end of the sample, and click Fade In
for the start or Fade Out for the end.

Normally,  if  the  volume is increased too much, the normal waveform limits
are exceeded and distortion (or "clipping") will occur.  If the "Don't Clip"
gadget is switched on, however, the waveform limits will not be exceeded.

The "Exit" gadget closes the window.


The Change Pitch Window   [ Keyboard shortcut: Amiga-P ]

This  window  lets  you  change  the pitch of (or "retune") the sample.  The
sample's  size  will  also  change:  it  will  decrease if the pitch is made
higher,  and  increase  if  the  pitch is lowered.  (The window is opened by
using the sample editor's Effects menu).

For example, if you'd like to retune the current sample to play the note G-2
when you press the C-2 key:

1.    Set  the  source  note  to C-2 by holding the left mouse button on the
"Source" note box and pressing the C-2 key;

2. Set the destination note to G-2 in the same way;

3.   Click "Change Pitch".  The sample is retuned, and its size in this case
will decrease by roughly two-thirds.

Other gadgets are:

Octave Up/Down
Retunes  the  sample  one  octave up / down, halving / doubling the sample's
size.    The  "Period"  gadgets  are  changed  to  the  values the operation
represents.

Cancel Finetune
Retunes  the  sample so that the Finetune value in the Instrument Parameters
window no longer applies.  So if the finetune value was -4, the sample would
be  retuned 4 steps down and the instrument's finetune would be set to zero.

Anti-Alias
When  on,  does  some anti-aliasing when retuning.  This means that noise is
reduced, and is the default.

Exit
Closes the window.


The Mix Window   [ Keyboard shortcut: Amiga-M ]

This  window  contains  the  gadgets required to combine two samples, and is
activated using the Effects menu in the sample editor.  The sample placed in
the copy buffer (using the >Buffer gadget in the sample editor will be mixed
with the current sample.

The  two  sliders  control the volumes of the two waveforms to be mixed.  To
understand  them  fully, you need to bear in mind that mixing is achieved by
ADDING the two samples together.  So if the samples were both mixed at 100 %
volume, the resulting mixed sample would be 200 % (double) in volume.

For this reason, the default for each sample is 50 %, giving a 100 % (normal
volume) mixed sample.  Each slider's value may be 0 - 100 %.

(For  those  that  are interested, this is why samples should be "halved" in
5-8-channel  mode:  the  samples  are  added  at half their normal volume to
produce a full volume sample).

The  volume  of  the  sample in the copy buffer is altered using the "Dest. 
Level"  slider,  and  that  of  the  current sample using the "Source Level"
slider.

The sample in the copy buffer is mixed at the point marked by a range in the
current sample.  If the range is more than one byte in length, only the area
selected  by  the  range  is  affected;  otherwise,  the whole of the sample
starting at Range Start is affected.

The "Mix" gadget mixes the sample, and "Exit" closes the window.


The Filter/Boost Window   [ Keyboard shortcut: Amiga-F ]

This window includes a function to filter the current range, reducing noise,
and  to boost the current range, making it sound brighter and more audible. 
The window is brought up using the sample editor's Effects menu.

Filtering is done by calculating the average of each individual value in the
sample  and  the  values on either side of it.  Boosting employs an opposite
process.

There are two sliders, both of which can have a value of 1 - 128:

Averaging
The  strength  of  the filter/boost (technical note: the proportions of each
individual  value  compared to the values on either side of it).  The higher
the value, the greater the strength.  The default is 16.

Distance
The  distance  between the averaged values.  In practical terms, this slider
affects  the  sound  in an odd way!  (It's best to experiment with different
values).  For a normal filter/boost, set this to 1 (the default).

The Filter gadget filters, Boost gadget boosts, and Exit closes the window.


The Echo Window   [ Keyboard shortcut: Amiga-K ]

With  this window, interesting echo effects can be produced.  It is revealed
using  the  sample  editor's  Effects  menu.   The echo function affects the
current range.

Before  echoing,  you usually need to add some extra space to the end of the
sample,  by  typing  a  new  value into Buffsize (in the sample editor) then
choosing  "Retain" in the requester.  You need to range both the waveform to
be echoed and the blank space that the echo is to affect.

There are three integer gadgets:

Echo Rate
The  distance,  in  bytes,  between  two echoes.  A very low rate can make a
speech sample sound like a robot :-D

Volume Decrease
Specifies the rate of volume decrease in the echo.  The lower the value, the
lower the rate, but a value of zero spreads the volume evenly throughout the
range.

Number of Echoes
The total number of echoes produced, usually quite low (1 - 10).

The best way to learn this feature is through experimentation.

The "Do Echo" gadget executes the function, and "Exit" closes the window.


The Noise Window   [ Keyboard shortcut: Amiga-N ]

This window is opened using the sample editor's Effects menu.

The  fairly  unique  feature  in  the  window allows you to add noise to the
current  range.    It  may seem useless at first glance, but with it you can
easily create effects such as wind and sea sounds, and it can be a source of
more  complex  instruments  when  used together with other effects.  So it's
possible to create good-sounding instruments even without using a sampler!

The  slider sets the noise strength (1 - 128), which is really the volume of
the produced noise.  The "Noise" gadget creates noise, and "Exit" closes the
window.


The Chord Creation Window     [ Keyboard shortcut: Amiga-H ]

With this window you can create chords of two to four notes from the current
sample.  The window is brought up using the sample editor's Effects menu.

The  window consists of four pitch gadgets, whose contents can be changed by
holding down the left mouse button and pressing a note on the keyboard.  You
may also clear the note by pressing Return or Del.

The  basenote  is  the  note  to which the chord notes relate.  In practical
terms  you  can  think  of it as the "bass note".  The other gadgets are the
other notes in the chord, of which some may be blank if desired.

Note  that  you  are  not  restricted  to the normal three-octave range of a
sample: you may use pitches over the full 10.5-octave range.  Also note that
higher  notes  are  shorter  in length than lower notes, so the notes in the
chord will not end simultaneously.

"Create Chord" creates the chord and stores it in the current sample.

"Exit" closes the window.


The Pixel Density Window     [ Keyboard shortcut: Amiga-D ]

The  slider in this window sets the density of the pixels (1 - 50) used when
drawing  the  waveform  in  "Pixel"  mode  (see the Sample Editor}, Settings
menu).

The  slider  value  is  in  reality  the number of pixels displayed in every
horizontal pixel position.

The "Exit" gadget closes the window.


The Sample List Editor   [ Keyboard shortcut: Amiga-L ]

As  you  work  with  computer  music  you  will  acquire  large   numbers of
instruments,  spread  over  many  different disks and directories.  For easy
loading,  the  samples  need  to  be  organized.    This window provides the
necessary  functions for organizing and storing a list of all your samples. 
(It is opened using the Display menu.

The  list  could  be  created  using any text editor (as it had to be in the
early  days  of  MED),  but it's now much easier to make one with the Sample
List Editor.

Basically,  a  list  is  created  by  clicking  "Add  Dir..." and choosing a
directory containing samples from the file requester.  The directory and its
filenames  are then added to the list, and this can be repeated for all your
sample  directories  /  disks.    You  may  view  a directory's filenames by
clicking the required directory name in the "Directories" list.

The list is saved using "Save List...", and the filename is "MED_paths".  On
startup,  OctaMED  looks for the MED_paths file in the current directory and
in  the S: directory (and loads it if it's found).  The default save path is
S:.


The gadgets in this window are as follows:

Add
Adds  the  current  instrument to the filenames list (it will be inserted in
alphabetical  order).    Note  that  the  sample's  loop,  tuning, MIDI, and
relative volume values will also be stored, as well as its default pitch.

Remove
Removes  the  instrument  selected  in  the  sample  list  (i.e.  click on a
filename and press "Remove").

Save Ins
Saves  the current instrument to the currently selected directory (stores it
on disk as well as in the list).

Del Ins
Like  "Remove",  but  also deletes the instrument from disk.  These last two
options  remove  the  need  to  use  a  file  requester  to  save  or delete
instruments in the sample list.

Add Dir
Opens  a  file  requester  to add a directory to the list.  A requester will
also  appear,  inquiring  whether  you  wish  to add the directory after the
currently selected directory or to the end of the list.

Remove Dir
Removes the current directory from the list.

Save List
Opens  a  file  requester  to  save  the list to disk.  Note that on startup
OctaMED  looks  for  the  MED_paths file in the current directory and the S:
directory,  so  be sure to either save it in the S: directory or in the same
directory  as  the  OctaMED  program.    It is usually best to choose the S:
directory,  as  then  it  doesn't  matter what the current directory is when
starting OctaMED.

Load Inst
Loads  the  selected sample list instrument to the current sample slot.  (An
easier method of loading instruments in the sample list is found in the Load
Instrument Window.

Save All Insts
Saves  all  instruments  in  the song to the current directory.  This can be
handy  for  extracting  (or  "ripping")  all the samples from other people's
songs, for use in your own songs.

The  Name text gadget displays the name of the selected instrument.  You may
rename the instrument by typing a new name into this gadget.

The  remaining integer gadgets are the current loop / tuning / MIDI / volume
values  of  the  selected  instrument,  and  the Pitch gadget is the current
default  pitch  of the selected instrument (if any).  They can be changed by
entering  a  new  value,  or  by  holding the left mouse button on the Pitch
gadget and pressing a new note on the keyboard.  Note that the MIDI and loop
(Repeat  /  RepLen)  gadgets can't both be used at the same time: changing a
MIDI gadget value sets the loop gadgets to zero, and vice-versa.

(For a description of loop / tuning / MIDI / relative volume values, and the
default instrument pitch, see the Instrument Parameters Window.

Since  MIDI instruments are not actually instruments but a few settings, you
may wish to create a "dummy" directory for MIDI instruments.

The Exit gadget closes the window.


The menu contains the following items:
--------------------------------------

Load List
Opens  a  file requester to load a sample list.  The new list is appended to
the list already in memory.

Stats
Displays statistics about the sample list:

* The currently selected directory number
* The total number of directories in the list
* The number of samples in the current directory
* The total number of samples in the list


The MIDI Message Editor   [ Keyboard shortcut: Amiga-G ]

This window offers the tools required to capture, send, and store MIDI data,
and  to edit MIDI messages in hexadecimal.  (Opening this window is achieved
using the Display menu.

The message editor is especially suitable for, but not limited to, capturing
System  Exclusive (SysEx) messages.  These are very versatile messages which
can  (for  example)  be  used  to  set and alter the parameters of sounds on
machines  supporting  this  facility.    You  can   edit   sounds using your
synthesizer,  then  transfer  either  the original sound or the edited sound
into  your Amiga® and save it.  Later on, OctaMED can send the sound back to
the synthesizer for playing.

The  gadgets  to  the  right  of "Msg" are: current message number, previous
message, next message, and total number of messages in the buffer.

Other gadgets include:

New Msg
Adds  a new message to the end of the list.  Use this gadget to create a new
message after booting OctaMED.

New Here
Inserts  a  new message at the current point in the list.  Usually "New Msg"
is preferred to this gadget.

Del Msg
Deletes the current message.

Clear Msg
Clears the current message (sets all bytes to zero).

Msg Size
Newly  created  messages  are eight bytes long, but to capture (for example)
SysEx  messages,  a  much  larger buffer is required.  So use this gadget to
change  the message size.  The arrow gadgets decrease / increase the size by
one.  The maximum size is 1048560 bytes.

Name
Allows  you  to  name  the message: it's usually hard to recognize a message
just by looking at it!  :)

Save Msg
Opens a file requester to save the current message.  Note that MIDI messages
are  automatically  saved  with  modules  (except  Tracker modules, see Save
Options,  but  you may wish to save them as separate files you can load into
other songs.

Load Msg
Opens a file requester for loading a message.  A requester appears wondering
whether  the  new  message  should  replace  the current one or create a new
message for itself.

Capture Msg
To  capture  data from your MIDI device, set up an empty message as large as
or  larger  than  the  incoming  data, click this gadget, then start sending
data.  Clicking it again stops capturing (although with SysEx messages there
is an easier way to stop capturing, see "Auto-Terminate Capture" below).

MIDI  Active  and  Input  Active in the MIDI menu are automatically selected
when Capture Msg is pressed.

Send Msg
Sends  out  the current MIDI message.  Player command 10 also does this (see
MIDI Commands).

Auto-Terminate Capture
Causes  OctaMED to stop capturing when an End SysEx byte ($F7) is received. 
OctaMED  will  also  remove  all  unused bytes at the end of the buffer: you
shouldn't  leave  any unused (zero) bytes after the actual MIDI data.  These
zeros  are  MIDI  data  too, which will be sent, and this is likely to cause
problems.  So this gadget is usually kept switched on.

If  this  gadget  is  off,  however, OctaMED will capture all incoming bytes
until either the "Capture Msg" gadget is re-clicked or the end of the buffer
is reached.

The  display box to the right of Auto-Terminate Capture shows "Recording..."
when a MIDI message is being captured.

Exit
Closes the window.

You  may  also edit the hex data.  Make sure Edit is on (upper screen), then
simply  use  the  cursor  keys  to move around the data and the numeric keys
(0-9,  A-F)  to  modify the hex data.  Use the Del key to delete a byte, and
Shift-Del to insert a new one.


(See also MIDI Commands, the MIDI Menu, and the Input Map Editor)


The Input Map Editor   [ Keyboard shortcut: Amiga-A ]

With  this  window you may remap all the input keys on your keyboard.  It is
opened using the Display menu.

Each key can be assigned to:

--  enter any note/command you wish (similar to Programmable Keys)

--  perform an action (such as moving the cursor up or down)

This  also  works  with  a  standard Amiga® keyboard: a MIDI keyboard is not
required.

The  two  columns  of  numbers  in the list are the entry numbers in hex and
decimal.

The other gadgets included in this window are:

Map Active
When  this  is selected, the current input map will be used in preference to
the default OctaMED keyboard map.

Create New Map
By  default  there  is no input map, so this must be clicked to create a new
one.

Now, for each note an entry like this is displayed: "C-1xxxxxx", which means
that the C-1 key will just enter C-1 with the current instrument number, and
leave the command numbers untouched.

You  may  edit  an entry in the same way as in the Programmable Keys window.
Select  an entry by clicking on it, hold down the mouse button, point at the
number you wish to change and press a key on the keyboard to change it.

Delete This Map
After a confirmation requester, removes the current map.

Select Function
Displays the Functions window, with which you may select an editing function
for the currently selected key.

Reset Selected
Changes the selected key back to its original function.

Load Map
Displays  a file requester, allowing you to load a new input map from disk. 
A requester will appear if the current input map has been changed since last
saving.

Save Map
Opens  a  file  requester,  offering to save the current input map to disk. 


The Functions Window

This  window displays a list of editing functions for use with the input map
editor.  It is opened by clicking "Select Function" in the editor.

Clicking  one of the functions in the window changes the selected key in the
input map editor to that function.

All functions should be self-explanatory.


The Song Selector Window     [ Keyboard shortcut: Left Alt-G ]

This  window  allows  you  to add and delete songs in a multi-module, and to
choose  the current song.  (A "multi-module" is a project that contains more
than  one song, with all songs sharing the same set of instruments).  It may
be brought up by choosing Song menu/Select, or by clicking "Sg" on the upper
screen.

The  window  displays  a  list of all songs in the module, and a song may be
selected  by  clicking  on  it.   The song's name appears in the display box
immediately below the list.

The gadgets in this window are as follows:

Add New
Adds a new song to the end of the list.

Add Here
Adds a new song at the currently selected position.

Delete
Deletes the selected song.

Select
Makes the selected song the current song, and closes the window.

Exit
Closes the window.

(Song selection gadgets are also contained on the upper screen)


The Playing Sequence Window   [ Keyboard shortcut: Left Alt-Q ]

The  playing sequence consists of a list of block numbers and names arranged
in the order they should be played in the song.  With the release of OctaMED
V5.0, more than one playing sequence may be defined (called "sections"), and
the  section list contains the order in which to play these multiple playing
sequences.   When the last section has been played, the song will by default
start  again  from  the  beginning  (although it's also possible to stop the
playing).

This window contains the functions required to create playing sequences, and
is  activated  by either clicking "Sq" on the upper screen or using the Song
menu.    A  sequence  may  use  the  same block number more than once, and a
maximum  of  999  entries  in  each  playing sequence is allowed.  ("Playing
sequence" will be referred to as "playseq" from now on).  The maximum number
of separate playseqs allowed is 65535 (should be enough!).

The current playseq position ("playpos") is highlighted in white, and may be
set  by  clicking  on  a  block  name.   Selecting playpos while the song is
playing immediately plays from the beginning of the entry selected.


The following gadgets for editing playseqs are included in this window:

Top
Sets playpos to the top of the display.

     [ Keyboard shortcut: Ctrl-NM7  ("NM" = numeric keypad, apologies
                                 (Home)    to Amiga® 600 owners!) ]

Bottom
Sets playpos to the bottom of the display.

     [ Keyboard shortcut: Ctrl-NM1 (End) ]

Insert
Duplicates the entry highlighted by playpos.

     [ Keyboard shortcut: Ctrl-NM0 (Ins) ]

Ins Curr
Inserts a new entry, the current block, at playpos.

     [ Keyboard shortcut: Ctrl-NM5 ]

Note  that  to append a playseq entry to the end of the list, you must click
just below the final playseq entry before using one of the insert gadgets.

Delete
Deletes the current entry.

     [ Keyboard shortcut: Ctrl-NM. ]

Clear
After a confirmation requester, clears the current playseq.

[  Other  keyboard  shortcuts:  Ctrl-NM8 scrolls up, Ctrl-NM2 scrolls down. 
Note  that with the Caps Lock on, the playing sequence can be edited without
holding down the Ctrl key.  ]

Follow
Using  the  scroll bar, it is possible to scroll around the list independent
of  playpos.    When  "Follow" is selected, the position of the list will be
automatically updated during play.

The  integer  gadget  to  the  left of "Follow" contains the block number of
playpos,  which  can be altered either by typing in a new number or by using
the arrow gadgets.  You can't increase the block number beyond the number of
the  last  block  in  the song.  [ Keyboard shortcuts for the arrow gadgets:
Ctrl-NM4 decreases block number, Ctrl-NM6 increases ]

The  arrow  gadgets  act slightly differently when playpos is below the last
playseq  entry.    Pressing  the  left  arrow gadget deletes the last entry;
pressing the right one appends block 000 to the end of the sequence.

The  display  box  to the right of the integer gadget contains the number of
playpos and the total number of entries in the current section.

Multiple playseqs (sections) can be created using the following buttons:

Name
Displays the name of the current section, which you can edit.

New Sec
Adds a new section after the last section.

New Sec Here
Inserts a new section at the current position.

Delete Sec
Deletes the current section.

Below these buttons is an integer gadget showing the current section number.
It  may  be  changed  by  either  typing  in a new number or using the arrow
gadgets.    The  display box to the right of the integer gadget contains the
total number of sections.

The Exit gadget closes the window.

(Note  that the song can be stopped at any time by using player command FFE:
see Commands A - F).

(See also the Section List and the Block List)


The Section List Window     [ Keyboard shortcut: Left Alt-C ]

This window, opened either by using the Song menu or by clicking "Sc" on the
upper  screen,  contains  the  order  in which to play song sections.  These
sections are created in the Playing Sequence window.

The  current section position ("secpos") is highlighted in white, and may be
set by clicking on a section name.  Shift-clicking on a section name selects
the  section  clicked  in  the  Playing Sequence window.  A maximum of 65535
entries  are  allowed  (note,  however, that only the lower three digits are
displayed).

The  integer  gadget  contains  the  section  number of secpos, which can be
altered either by typing in a new number or by using the arrow gadgets.  You
can't  increase  the section number beyond the number of the last section in
the song.

The  display boxes to the right of the integer gadget contains the number of
secpos  and the total number of entries in the current section list, and the
total number of sections in the song.

Other gadgets are as follows:

Insert
Inserts a new entry 001 at secpos.

Append
Appends a new entry 001 to the end of the section list.

Delete
Deletes the current entry.

Exit
Closes the window.


The Song Options Window   [ Keyboard shortcut: Amiga-H ]

This  window  contains  various  song  parameters.  In a multi-module, these
parameters  can  be  different  for each song.  (It is opened using the Song
menu.

The gadgets are listed below:

Name
This  text  gadget  contains  the name of the current song, displayed on the
title bar.  You may type in a new name.

Channel Mode
The  Amiga®  has  four  sound channels, but by mixing two notes together and
playing  them through one channel, up to eight notes can be played at once. 
This  radio  button  is used to select the number of channels OctaMED should
use.  (See 5-8 Channel Mode for more info).

Note:  for  MIDI use, "4 Channels/MIDI" should be selected (this is also the
default).

The  cycle gadget chooses whether the data bytes of volume (C) commands (see
Commands  A  -  F)  should  be  in  hexadecimal or decimal.  If you aren't a
programmer  (and  even  if  you are), it may be easier to think in decimal. 
"Decimal Volumes" is the default, but we recommend using hexadecimal volumes
wherever  possible.    They're  slightly  faster (not noticeably, but faster
anyway ;^).  The state of this gadget is saved as part of a song.

You  can  easily  convert  all volume commands from decimal to hex and vice-
versa  with  the "Convert" gadget.  Clicking this gadget prompts you for the
type of conversion desired.

Audio Filter Active
Turns  the  low-pass  audio  filter on/off.  When on, the Amiga®'s power LED
will  be bright.  However it is best to keep the filter off, since the sound
quality is usually better.

High Quality Mode
When  on,  this  significantly  increases  the  audio quality in 5-8 channel
modes.    Unfortunately,  it will also double the processor load, so a 68020
processor  or  higher  is  required  to  use  this  gadget  in   seven   and
eight-channel modes.

Under  OctaMED  Pro  V3  and  V4,  High Quality Mode slowed down the tempo a
fraction.  In V5 the tempo is now unaffected.  So when loading songs created
with V3 or V4 that use this mode, you'll need to slightly decrease the tempo
for the song to play at the intended speed.

No Slide On 1st Pulse
Normally  effects  are  done  on  every  timing pulse, but with this on, the
effects  are  not  done  on  the  first  timing  pulse.  This is the way the
Trackers  perform  effects, and this switch is for compatibility only: it is
automatically switched on when a Tracker module is loaded.  (For information
on timing pulses, see Upper Screen.

Play Transpose
This  slider  transposes  the  whole song by the value selected.  It doesn't
change  the  notes, it just affects playing.  The minimum and maximum is -12
and  12  respectively (i.e.  ± 1 octave).  Other transposition functions may
be found in the Transpose window.

Exit
Closes the window.


The Relative Track Volumes Window   [ Keyboard shortcut: Amiga-R ]

This  window contains sliders to adjust the volume of each track relative to
the master volume.  It is opened using the Song menu.

Each volume can be 1 - 64.  The master volume sets the overall volume of the
song.    If  both  the master volume and the volume of a track were 64, that
track  is played at full volume.  If, however, the master volume and a track
volume  were 32, the volume of that track would be a quarter of full volume.

 The  two  large arrow gadgets at the bottom left of the window are like the
track  arrow  gadgets  on  the  upper  screen  -  clicking   them   show the
previous/next  sixteen  tracks,  and shift-clicking them show the first/last
sixteen  tracks  in  the song.  (They only really apply to blocks containing
over sixteen tracks).

The Exit gadget closes the window.

Note: the status of these sliders are saved with songs.


The Block Properties Window   [ Keyboard shortcut: Amiga-B ]

This  window  allows you to edit the properties of the current block.  It is
activated  either  by  using  the  Block  menu  or by holding down Shift and
clicking the B gadget on the upper screen.

The gadgets are:

Name
Contains  the  name  of  the  block, which can be changed by typing in a new
name.  (The name is also displayed on the upper screen and in the Block List
window).  A maximum of 41 characters is allowed.

Tracks
Selects the number of tracks in the block.  The minimum is 1 and the maximum
64.   (The number of tracks that can be displayed on- screen at any one time
is set by Settings Menu/Display Max Tracks).

Note  that  track 8 onwards can only be used with MIDI devices (see the MIDI
Menu),  and tracks 4-7 only with the Channel Mode gadget in the Song Options
window set appropriately (except for MIDI use).

Also  note  that  when  you decrease the number of tracks, the higher tracks
will be lost (with no "Are you sure?" requester).

Length
The  number of lines in the block.  Can be changed by either typing in a new
number or using the arrow gadgets.  < and > decrease and increase the length
by  1,  <<  and  >>  by  10.    The preferred way is to type in a new number
directly, since less "memory fragmentation" occurs.

The maximum length of a block is 3200 lines.

Exit
Closes the window.


The Block List Window     [ Keyboard shortcut: Left Alt-B ]

New  to  V5.0, the block list is an "at-a-glance" list of the current song's
blocks  and their names.  It is brought up by either using the Block menu or
clicking the small "B" gadget on the upper screen.

The  current  block,  highlighted  in  white,  may be changed by clicking on
another block.  Keyboard shortcuts for changing the current block are:

        Shift - <up> / <down>      Previous / next block
        Left Alt - <up> / <down>   First block / last block

The text gadget displays the current block's name, which can also be changed
by typing in a new name.  Up to 41 characters are allowed in each name.

The window contains the following gadgets:

Insert New
Inserts a new block at the current block position.

Append New 
Inserts  a  new  block  after  the  last  block.  These gadgets are like the
New/Insert and New/Append items in the Block menu.

Ins to Seq
Inserts  the current block's number at the current playing sequence position
(see Playing Sequence Window).

App to Seq 
Appends  the  current  block's  number  to the playing sequence (see Playing
Sequence Window).

Delete
Deletes  the  current  block.    Equivalent to the Delete items in the Block
menu.

Exit
Closes the window.


The Highlight Options Window

In  this  window you can highlight the current block's lines in a particular
order.    This  can  help you position notes in widely-spaced blocks or mark
measures or beats.  It is opened using the Block menu.

The  top  row  of  small  square  gadgets highlight the block lines with the
respective spacing.  For example, the 4 gadget highlights every fourth line.
You'll  probably  use  this particular gadget (4) the most often, since in a
normal  default  block  of 64 lines, the gadget highlights every beat in the
block (i.e.  every four sixteenth notes).

The other gadgets are as follows:

Clear
Clears all the highlighted lines in the block.

Offset
Sets  the  first line to be highlighted.  For example, an offset of 2 begins
highlighting on line 002.

Spacing
Allows  a  custom highlight spacing to be entered.  For example, entering 12
highlights every twelfth line.

Exit
Closes the window.

You'll  notice  that  the  1,  2,  3, 4, 6 and 8 gadgets are all underlined,
meaning  (of  course)  that they have a Left Alt shortcut.  These shortcuts,
however,  only  work  with the numeric keypad keys (not the keys on the main
keyboard).

Note  that when editing, the Tab key highlights the current line.  Also note
that highlighting an already highlighted line removes the highlighting.

Line highlighting is saved with songs.


The Expand/Shrink Window

This  window,  activated  by  choosing Block Menu/Expand/Shrink, is used for
expanding or shrinking the current block.

The  "Expand"  gadget  creates  empty  lines between each note, and "Shrink"
removes  lines.    The  "Factor"  gadget contains the amount of expansion or
shrink.

For  example,  if Factor was 3, pressing Expand would insert two empty lines
between  each  note  (thus  trebling  the block length), and pressing Shrink
would remove every second and third line (thus thirding the block length).

"Factor"  may  be 1 - 99, but the expanded block length must not exceed 3200
lines, and the shrink factor must be divisible by the number of lines in the
block.    If  either  of  these  rules  are  infringed, a message appears to
communicate this and no change to the block occurs.

Expansion  is  useful,  for example, if you would like to include some quick
rhythms  in  a  block  but  realize  that the block plays too slowly for the
rhythms.    (However,  fast  rhythms may also be created using commands FF1,
FF2, FF3, and 1Fxx - see Player Commands, so try these before expanding).

The  only  real  use  of  shrinking  is  to reverse the effect of a previous
expansion.


The Instrument Parameters Window  [ Keyboard shortcut: Left Alt-I ]

With  this important window you may alter the characteristics of the current
instrument.    It  is  opened by either using the Instr menu or clicking the
"Inst Params" gadget on the upper screen.

The gadgets are as follows:

Name
Contains the name of the instrument, which may be renamed by typing in a new
name.  (However, it is advisable not to rename instruments when saving songs
without  instruments,  since  the  renamed instruments will probably fail to
load).  The maximum name length is 40 characters.

The  display  box  to the right of Name contains the current sample number. 
(By the way, "instrument" and "sample" essentially mean the same thing).

Flush
Removes  the  current  instrument from memory and clears all its parameters.
(Equivalent to Instr Menu/Flush Current).


The instrument selection gadgets
--------------------------------

The slider and arrow gadgets are used to select the current instrument:

1st
Selects the first instrument (01).

Last
Selects the last instrument (1V).

L.U.
Selects the last instrument in memory (stands for "Last Used").

Keyboard shortcuts for selecting the instrument include:

       Shift - <left> / <right>     Previous / Next instrument
       Alt   - <left> / <right>     16 samples forward/backwards

Instruments  may also be selected using the numeric keypad (see the Keyboard
Options window).

The loop gadgets
----------------

The "Repeat", "RepLen" and "Loop On" gadgets are the loop gadgets.  A sample
loop  means  that the notes you play with the sample will be sustained until
they  are  stopped.    This  is due to a particular part of the sample being
continually repeated (or "looped").

The Repeat value is the beginning of the loop in bytes from the start of the
sample,  and  the RepLen value is the length of the loop.  Selecting Loop On
activates the loop, and loops the whole sample if Repeat and RepLen are both
zero.    Loops  are  set in steps of 2 bytes, i.e.  only even numbers may be
used (typing in odd numbers rounds them down).  RepLen must be at least 4.

The  loop  may  also  be  set  by using the loop pointers and gadgets in the
sample  editor.    When   you   load   IFF   instruments,   these values are
automatically loaded.

The tuning gadgets
------------------

Under  the loop gadgets is a cycle gadget and a slider, used for setting the
tuning  of  an  instrument.    The slider sets either the "Transpose" or the
"Finetune"  value,  depending on the state of the cycle gadget (Transpose is
default).

"Transpose"  raises  or  lowers  the  pitch  of  the  current  instrument in
halfsteps  (semitones).   For example, if the transpose value was 3 and note
C-2  was  to be played with the current instrument, it would be transposed 3
halfsteps  higher  (D#-2).   A negative value transposes lower.  The maximum
and  minimum  transpose values are 127 and -128 (although higher values only
affect MIDI instruments).

The  finetune  value allows you to tune instruments in small steps, which is
useful for incorrectly sampled instruments.  The value can be -8 to 7.

The two numbers separated by a "/" are the transpose and finetune values.

Hold and decay
--------------

These gadgets allow you to set the exact duration and the speed of fading of
a  note.    "Hold"  is the duration in timing pulses (see Upper Screen for a
description  of  timing pulses, you'll need it to understand this section!),
and "Decay" is the speed of fade when the hold duration has completed.

In  these examples, the secondary tempo is assumed to be the default 6.  One
line in the examples is one timing pulse.

    1. No Hold Set                        2. Hold Set To 2
    ¯¯¯¯¯¯¯¯¯¯¯¯¯¯                        ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
    0  Play note (e.g. C-2 10000)         0  Play note (e.g. C-2 10000)
    1                                     1
    2                                     2  STOP note
    3                                     3  (silence)
    4                                     4
    5                                     5
    6  Play new note (e.g. D-3 10000)     6  Play new note (e.g. D-3 10000)

In example 2, the note is stopped on the second timing pulse.

BUT:  if  the  note is followed by a "keep holding symbol" in the track, the
note  is not stopped on the second timing pulse but carries on playing.  For
example:

000 C-2 10000                /  Line No.  Pulse No.  Action
001 -|- 10000               /     003         0      Continue note...
002 -|- 10000              /      003         1      Continue note...
003 -|- 10000 ==> ZOOMED =>       003         2      STOP note
004 --- 00000              \      003         3      (silence)
005 D-3 10000               \     003         4

So  on  the  last "keep holding symbol" encountered, the usual hold value is
used.  This symbol is inserted by either clearing the note and entering only
the instrument number, or more easily by pressing Return or the A key.

If  the decay is zero, the note is turned off immediately after holding.  If
it  is a non-zero value, however, the note will fade after holding.  A value
of  1  produces  the  slowest  decay.  Decay only works if Hold is non-zero.
Both Hold and Decay can have a value of 0 to 127.

Note  that  Decay  doesn't  work  with MIDI instruments, and is handled very
differently with synthsounds or hybrids (see Synthsound Program Language).

Hold  and  Decay  is  quite  a  useful  feature,  and  although it may sound
complicated,  it isn't really :-), so we recommend that you learn to use it!


Default volume and  pitch
-------------------------

The  "Volume"  gadget sets the default volume of the current instrument.  It
ranges from 0 (silent) to 64 (full volume).

"Default  Pitch"  allows  you  to  set  a  default  pitch  for   the current
instrument.    When  you  press  the  F key the instrument is played at that
pitch.  This can be very useful for untuned instruments like percussion.

The  pitch  box  contains  the default pitch of the instrument (or --- if no
pitch  is  set).  To change this, hold down the left mouse button on the box
and  press a note on the keyboard.  You may also clear the pitch by pressing
Return or Del.

End Of Part One.


