home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2000 February
/
PCWorld_2000-02_cd.bin
/
Software
/
Servis
/
FFE
/
MOD.SWG
/
0037_MED.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1997-03-02
|
64KB
|
1,394 lines
***************************************************************************
** **
** MED - music editor, ⌐ 1989 - 1991 Teijo Kinnunen **
** **
** Instructions for MED V3.2 **
** **
***************************************************************************
Welcome to use the MED music editor!!! MED is an all-purpose music editor
that can be used to compose music for demos, games etc., and works as a
stand-alone program as well.
First few words about editing. If you've used any Tracker, you probably
know these things. MED can display "standard" notes, but often you'll use
the "Tracker-style" editing, in which the music is represented by note names
and numbers. For example:
01 C-2 1000 --- 0000 E-5 K210 --- 0F20
02 D-2 1000 E#1 4000 --- 0000 --- 0000
03 --- 0000 --- 0000 --- 0000 --- 0000
In this form, the music is quite fast and handy to edit when you get used to
it, but it's quite useless when printed (nobody could play it).
The song consists of blocks, every block contains 1 - 256 lines. There can
be up to 100 blocks and they can be played in any order and any number of
times. In addition, there can be up to 99 songs in memory at once (sharing
the set of up to 63 instruments).
The user interface of MED is divided in ten "panels", each one containing
different gadgets. Only one of these panels is visible on the screen. You
can select the displayed panel with ten gadgets which are always visible.
There are lots of keyboard shortcuts. After you've learned the use of the
program, you probably want to learn these shortcuts because they make the
program much more powerful to use. There are also some things which are
available only by using the keyboard, so you should read the list of
keyboard shortcuts at the end of this manual.
There are also four different big displays. Normally the notes are
displayed in this area. Optionally you can choose the synthsound editor,
sample editor or the sample list to be displayed on this area.
Entering the notes
==================
Notes are entered with Amiga's keyboard (entering with MIDI-keyboard is also
possible). The keys are ordered in piano style:
2 3 5 6 7 9 0 ┤ \
Q W E R T Y U I O P ┼ ]
S D G H J L ╓
Z X C V B N M , . /
This way you can enter about 2,5 octaves of the 5,2 octaves available. Keys
F1 - F4 can be used to switch the octaves. The lower row of keys (Z - /) is
the lower octave, Q - U is the higher octave and keys I - \ are part of even
higher octave.
If you have an instrument loaded, you can hear the sound when you press the
keys. If you want to enter notes onto the block, you must turn on editing
(Esc). DEL-key is used to enter the pause (---). The cursor can be moved
with the cursor keys.
Blocks and the playing sequence
===============================
When you compose a song, you do it block-by-block. Fill a block with notes,
create new block, fill it with notes...
In order to get the blocks played in correct order, you must also create the
playing sequence list. It is just a list of block numbers, which are then
played in that order, from beginning to end. This way you can use the same
block many times in your song. When the last block from the list has been
played, the song will start again from the beginning (it's also possible to
stop the playing). The maximum length of the playing sequence is 256
numbers.
Status bar
==========
Between the panel and the block display is the status bar, which displays
some "strategic" information which is always good to be visible.
Song/# of songs
|
Song selection gadgets |
/ \ |
+-------+-----+--+-+--+----+--------+--+------------------------+-+-+-----+
|001/003|00/02|12|E|SP|CHRD|::::::::|01|AnalogString |<|>|01/02|
+-------+-----+--+-+--+----+--------+--+------------------------+-+-+-----+
| | | | | | | | |
Playseq-ptr | | | | | Tracks Instr # Instrument name
| | | | Chord mode on/off
Block # | | Insert empty space between notes
| |
Keyboard octaves Editing on
Playseq-ptr: The first number is the current playing sequence number
(starting from 1) and the second is the number of playing
sequence numbers in the song. The 1st number is meaningful
when you're playing the song or editing the playseq list.
Block #: The first number is the number of the current block (starting
from 0) and the 2nd is the number of the last block. It does
not tell how many blocks there are, but if you add 1 to it,
it does. In the example there are 3 blocks, and the first
is currently displayed.
Keyboard octaves:
This number tells you which octaves are currently in use
when you play the Amiga keyboard. The first number is the
octave number of the lower row of keys and the 2nd is the
higher. It can be changed with F1 - F4.
Editing on: This is a quite important option. When the editing is off,
you can't insert notes or numbers to the song. To turn it
on/off press Esc or click the "E" with mouse. When the "E"
is highlighted, editing is on.
SP: This switch activates the extra space between the notes you
enter. It is useful when you're entering slow pieces of music.
You don't have to hit DEL so often.
CHRD: This turns the chord entering mode on/off.
Tracks: It's possible to switch tracks on/off during editing. The 16
points represent the 16 possible tracks. When the point is
red (default) the track is turned on. When it's white, then
this track is turned off.
Instr #: The number of the current instrument. The maximum number of
instruments is 63. The instruments are numbered 01 - 1V
(01 - 09, 0A - 0V, 10 - 19, 1A - 1V).
Instrument name:
The name of the current instrument.
Song handling gadgets are discussed below.
You can change the instrument number, current block and current playseq ptr
by clicking on the number you want to change with the mouse. Left button
increases, right button decreases. This is the fastest way to advance
playseq ptr for example by 100: click the 100's number with LMB.
Instruments
===========
As noted above, there can be up to 63 instruments in one song. There are
currently four types of instruments: samples, synthsounds, hybrid sounds
and MIDI instruments.
Samples: These are the instruments which are played through four Amiga
audio channels. They can be played only within tracks 0 - 3.
MED can load raw samples and IFF 8SVX 1, 3 and 5-octave samples.
It means that you can load practically any sample to MED and
use it in your songs. Note that raw samples and 1-octave 8SVX
samples can use only octaves 1 - 3. Octaves 4 and 5 play from
octave 3.
Synthsounds:
These are a special instruments, that allow you to construct
a sound from simple pieces of waveforms, and controlling things
like waveform #, volume, pitch, arpeggio and vibrato using a
simple "programming language". Synthsounds sound usually quite
simple (C-64 style), but they don't take much memory, either.
Hybrid sounds:
This is a normal sample, but it can be controlled using the
same "programming language" as synthsounds.
MIDI instruments:
These are not actually instruments. They are just few settings
which cause the notes played with that instrument to be sent
through MIDI-interface. They don't take memory like the samples.
When you want some instrument to be a MIDI-instrument, you must
set the MIDI channel which is used when playing notes/effects.
You can also set the preset value for the instrument. Then
the instrument is automatically played using that preset number
of your MIDI-device (synthesizer, keyboard...). You can also
set the preset number to 0. Then the preset which is already
set in that channel is used.
Sample loading
==============
Because many people have hundreds/thousands of samples, spread over many
different disks/directories, the samples have to be organized some way. MED
handles the organization using a file "MED_paths" (path file). It contains
the name of the directory, names of the samples in that directory, name of
another directory...and so on. This way MED knows what samples each of your
sample disks/directories contain and can load samples from correct disks.
The path file is loaded when starting up MED and it must be located in the
current directory or S:-directory. This file can be produced with text
editor, but it is easier to do it with MED. Detailed instructions later in
this manual.
Note
====
The note and the numbers:
command
|
D # 3 5 1 0 F
| | \ |
note | \|
instrument # data byte (more information about command)
"note" is the note to be played (or "---" for no note)
"instrument #" is the number of the instrument (01 - 1V). The leading
zero is displayed as a space. The number can also be 0.
It means that the note is played with same instrument
number and with same volume as previous note in that
track.
"command" is the number of command/effect to play. If there are no
effect or commands, command nibble and data byte are zero.
"data byte" gives more information about command/effect to the player.
Effects/commands are documented later...
The numbers can be changed simply with positioning the cursor over the
number to be changed and typing the new number. If you have to change the
5th number (between the note and the other numbers: C-212000), which means
that sample 10 - 1V is used, position the cursor over the first number
that's always visible (the second '2' in above example), hold Shift and
enter the 1st number. For example, to change instr. number to 1E, press
Shift-E. Because Shift-0 - 9 have other use, press Amiga-Shift-0 - 9 to
change the instr. number to 10 - 19. This is not very handy, but because
there won't probably be a lot of songs which have over 31 instruments, it
doesn't matter very much.
Prompts
=======
MED often (especially during file operations) wants to ask you something.
For this purpose MED displays a line of text on the title bar e.g.
Remap instruments (Y/N)?
You always answer to these questions with keyboard, in this case you would
press 'Y' for a positive, and 'N' for a negative answer. If you want to
cancel the operation (loading, saving...), you can usually press 'Esc' to do
that.
Multiple songs
==============
MED can have more than one song in memory at a time. However, all songs
share the same set of instruments. This allows you to, for example, compose
different songs for each level of a game, without having to load or keep the
same instrument in memory more than once.
On the status bar there are two gadgets which control this feature (see the
description of the status bar above).
If you click the right gadget (assuming you've just booted MED), MED will
request "Add new song (Y/N)?". If you answer 'Y', a new song will be
created. You can now move from song 1 to song 2 with these gadgets. If you
want to delete the last song, press the left gadget while holding the Shift
key. Again, MED will request you before proceeding.
Note: If you want to add a new song without the prompt, you can hold Shift
while clicking the right song selection gadget.
MED can automatically remap instruments while loading. This feature saves
you from a lot of work. For example, you have one song in memory, and you
add another (by clicking the right song selection gadget). If you now load
a second song from disk, MED will ask: "Remap instrument (Y/N)?". If you
reply 'N', all previous instruments will be lost and the instruments of the
new song will be loaded. But if you reply 'Y', some magic will happen.
First, the instruments of the new song will be loaded to empty slots,
instruments already in memory will be preserved. Second, the instrument
numbers of the loaded song will be remapped so that they point to new places
of the instruments.
Sometimes, when there are unused instruments in memory, MED will ask if you
want to flush them. This can happen when you Clear the song, or load a new
song (replacing another).
You can also save all the songs as a single multi-module. You have to
select "Module" in the save format requester, and answer 'N' at "Save only
current song" prompt. If you select 'Y', only the current song is saved
(unused instruments won't be saved).
To get rid of all the songs/instruments, click "Clear all" on Misc panel.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
***************************************************************************
* *
* +-------------------------------------------------------------------+ *
* | Summary of the features | *
* +-------------------------------------------------------------------+ *
* *
***************************************************************************
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+=========================================================+
| Files
+=========================================================+
This panel contains the tools you need when handling files. You can save
and load with many different formats and also delete them.
First of all, there's a file requester. There should be no difficulties
with using it. It is simple, but it works. Directory names are printed in
white and files in black. There are three gadgets that allow you to choose
what is displayed in the requester. If the Currdir is selected, files in
the current directory are displayed. Devices lists all devices e.g. DF0:,
DF1:, DH0: etc.. Assign lists all assigned directories (e.g. C:, S:,
FONTS:). You can also load a directory by typing its name on the Dir-gadget
(and pressing Return).
The File-gadget contains the filename. If you know already the filename,
you can ignore the file requester and type the filename (with correct path
from the startup directory).
------- Load
Song: This is the gadget used to load songs. Loads songs
with following formats:
MED V1.12 - V3.20,
OctaMED V1.00 - V2.00 (only 4 channels can be played)
MMD0 (MED modules), SoundFX/old SoundTrackers.
The samples are automatically loaded after the song.
WARNING: Don't try to load anything as a song!!!
If MED can't identify the file, it is loaded as an old
SoundTracker file. If it is an old SoundTracker file, it
should load well, but if it isn't, you may meet the GURU!!!!
MED can't load packed SoundTracker/NoiseTracker files. To
import songs, save them as modules, then load into MED with
"ST MOD". MED also recognizes Noise/Protracker modules
and prompts if you want to load it as a such (usually you should
answer 'Y').
Instr: Loads the sample. The title bar will display the length of
the sample if it loaded ok. This will load synthsounds and
hybridsounds as well.
ST MOD: With this gadget you can load 31-instrument Sound/Noise/Pro-
tracker modules. There are some differences between MED's and
Tracker's commands, they're converted automatically.
------- Save
Song: When you choose this one, a requester appears and asks you to
select the save format. The save formats are described a couple
of lines later. There's also "Icon" gadget. When it is selected,
MED will create an icon file when saving Song or Sng+samples.
If you don't need the icon, turn it off to save some disk
space.
Instr: Saves the current sample/synthsound/hybrid sound. If you want
to save samples in IFF-format, set the switch in sample editor.
Delete: Deletes the file. MED requests if you really want to delete
it.
======= Save formats
There are several different file formats available:
Song This is the normal song, which you will probably use most often.
The song is saved using a highly-compressing file format. The
samples are not saved. They are loaded from your instrument disk(s)
using the path list (or absolute paths if instrument names are e.g.
ST-01:Ringpiano).
Sng+samples
Saves the song like the previous one, but also attaches the
samples to the end of the file. The result is one big file which
contains everything needed. This format makes usually a bit
shorter files than Module, but I recommend that you now save
your songs as a module, at least if they'll be distributed.
Module (MMD0)
This is the most flexible file format, which allows you to save
all song information, like Sng+samples, but this format is most
likely understood by external programs, because Sng+samples is
quite tricky to load and use. Also, multiple songs can be saved in
one module. In general, files saved in this format are longer than
Sng+samples files.
When you save a module, you'll be asked "Save instrument names etc".
If you answer 'Y', all data is saved. Otherwise only the data
required for playing the song is saved. The copyright/annotation
text is always saved.
ST-Module
If you want to export music to Sound/Noise/Protracker,
you can use this gadget to save the song as a module.
NOTE: Because there are many things in MED that are not supported
by Trackers, some information may be lost:
- samples 10 - 1V won't work
- only 4 tracks saved, no MIDI support
- blocks longer than 64 lines will be truncated to 64 lines
- no color or pointer jump information
- no relative volume settings, no play/instrument transpose
- no hold/decay
- no support for synthsound/hybrid sounds
NOTE 2: The resulted file will be a 31-instrument module. If you
try to use it with programs supporting only old modules,
it'll most likely fail.
+=========================================================+
| Play
+=========================================================+
This is a very important panel. Here you can control the playing, set the
playback speed (tempo), handle the playseq list...
Beginning from the left, there is a tall box which contains numbers "00" if
there's no song in memory. This is a window to the playseq list. As
mentioned above, the playseq list is the list of blocks to be played. This
window show 5 numbers of the list at a time. There are gadgets on the
right side of the box which scroll the list up/down/beginning/end.
The keyboard equivalent is to hold down the Ctrl-key and then press number 8
from numeric keypad to scroll up, 2 to scroll down, 7 (home) to the
beginning, 1 (end) to the end.
On the right side of the scroll gadgets are the following gadgets:
+ - Ins Del Ins (with small arrow pointing down)
+ increases the current playseq number (Ctrl - keypad 6)
- decreases the playseq number (Ctrl - keypad 4)
Ins inserts a new sequence number (zero) under the cursor
(Ctrl - keypad 0 (Ins))
Del deletes the current sequence number (Ctrl - keypad . (Del))
Ins (w/arrow) inserts a new sequence number, the new number
will be the number of current block (Ctrl - keypad 5)
------- Controlling the playing
Play song starts playing the song from the beginning.
Continue song starts playing from the current playseq entry and cursor pos.
Play block plays the current block (starts from the beginning).
"D" (next to Play Block) starts playing block when you enter a note (editing
must be on).
Continue block starts playing the current block from the cursor position.
Stop playing stops playing the song. You can also use it to kill the
notes played from the Amiga/MIDI keyboard.
The shortcuts of these commands:
»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
Stop playing press just Space
Play song press Space with Alt+Shift held down
Continue song press Space with Shift down
Continue block press Space with Alt held down
Play block no shortcut, sorry.
------- Tempo (playing speed)
To understand this completely, you need to know some technical aspects. MED
uses the CIAB timers for timing. They give "timing pulses" that trigger the
MED's player interrupt. On each timing pulse effects are handled (e.g.
commands 1,2,3,4,5,D, hold/decay, synthsounds), but new note is usually not
played on each pulse. The time between timing pulses can be changed
(primary tempo). The new note is usually played on every 6th pulse, but
this can be changed too (secondary tempo), for example, if new note was
played on every 3th pulse, the playing speed would be twice as fast. This
doesn't affect the speed of effects.
Graphically:
pulse \ PLAY NOTE
the time between pulses can be changed (primary tempo)
pulse / DO EFFECTS \
\
pulse DO EFFECTS \ The number of pulses between
/ notes can be changed (4 in this example).
pulse DO EFFECTS / This is the secondary tempo.
/
pulse PLAY NOTE
...
The left proportional gadget controls the primary tempo. It can be 1 - 240.
The bigger the number, the faster the speed. Note that tempos 1 - 10 are
Tracker-compatible (but obsolete, because secondary tempo can be used now).
The right one controls the secondary tempo (default = 6). It can be 1 - 20
(note: hexadecimal!!). The lower, the faster. This allows quite rough
setting of playing speed (it's the way NoiseTracker etc. set their tempos).
In MIDI use (especially for syncing), you should leave this to 6 and use the
primary tempo instead.
LP-Filter with this gadget you can turn on/off the audio filter
built into your Amiga. When this gadget is selected
and the power-LED is bright, the filter is on. If
the LED is dim, the filter is off. You probably want
to keep it off.
The state of this switch will be saved with songs.
NOTE: With Amiga 1000's, it's not possible
to turn off the filter without modifications to the
computer. Please keep the filter off.
E1, E2, E3 If you've played something with MED, you have found the
three "equalizers" (in fact, they are not equalizers, but
I'll use this word, because many others do so too...)
E1 turns off/on the red bars at the bottom of the screen
(PAL machines only). E2 turns off/on the four colorful
sprites. E3 turns off/on the signal "oscilloscope" displays.
These all are turned off to save processor time when
you click the right mouse button to show the title bar,
but if you want to disable something, it probably is E3.
The signal display eats lots of the processor time (on
standard 68000). Because of that, the display is turned
off during disk access to speed loading/saving. You may
want to keep E3 disabled all the time.
STS Normally effects are done on every timing pulse (see above).
When this switch is on, the effects are NOT done on the
first pulse (when the note is played). This is the way the
Trackers do that, and this switch is for compatibility only.
V: Hex/Dec This is another compability switch. While the data bytes
of the commands are usually hex numbers, it's possible to
use the volume-command with hex or decimal argument.
When Hex is selected, the acceptable volumes are 00 - 40.
When Dec is selected, the volume can be 00 - 64.
If you are not a programmer (and even if you are), it may
be easier to think the numbers in decimal. It is the
default.
The state of this switch will be saved with songs.
You can easily convert all volume commands from decimal to
hex and vice versa. If Dec is selected and you click Hex
while holding the Shift key down, automatic conversion is
done (works on the same way to the opposite direction too).
I recommend using Hex volumes whenever possible. It is
slightly faster (not noticeably, but faster anyway).
Channels 4 5 6 7 8
These are the channel configuration selection gadgets of
OctaMED. On MED, they just don't work.
------- Panic stop
It's possible to make a song, which takes all of the processor time. It
will therefore be impossible to stop it. This shouldn't happen accidentally,
but if you fill a block with notes and command FF3 and set tempo to 240,
you'll get the idea. To stop playing in this case, hold both mouse buttons
down about 5 - 6 seconds.
+=========================================================+
| Instr
+=========================================================+
Here you can load samples and alter some characteristics of them. First I
should note out some important actions which are available on the keyboard:
Shift-Cursor Left/Right = select previous/next sample
Shift-Alt-Cursor L/R = 16 samples forward/backwards
Amiga-I = activate sample name gadget
Shift-Amiga-I = clear and activate sample name gadget
Amiga-R = activate repeat gadget
Amiga-J = jump on/off
At the top left corner of this panel is the sample number (01 - 1V) followed
by the sample name gadget followed by the length of current sample in bytes
("-" if no sample loaded).
To load a sample, you can write the name of it in the string gadget, then
click "^ Load Sample ^" (or just press Return).
Above the Load Sample gadget are gadgets that select first, previous, next
or last sample. L.U. (Last Used) selects the last sample that is in
memory.
On the left side of them are two gadgets ("Jump", "Flush"). "Jump" causes
jumping when this instrument is played. "Flush" removes this instrument. It
frees the memory used by it (handy when you're very low on memory) and
clears all the values. Jumpings will be saved with songs.
"Transpose" is one of the new features of V2.10. It works like "Play
transpose" but only for this instrument. So, if "Transpose" is -2, for
example, then this instrument is played two halfsteps lower.
Repeat means that when you play a note with some instrument, the note will
play forever, until you play a new note. A picture tells more than 1000
words:
the beginning repeat start offset the end
v v v
Sample: | This part is played only once | This part is looped forever | |
\__________repeat_______________/ \________repeat length______/
"Repeat" is the length of the part which is played only once (in bytes).
"Repeat length" is the length of the part which is played forever (also
in bytes).
When you load IFF-instruments, these values are automatically loaded. They
can be also set in path file, so that when you load a sample, you will also
get the repeat values. Gadget REP/BEG is the repeat start offset, REP/LEN
is the length. If the repeat length is lower than 4, no repeat will occur.
The big proportional gadget controls the default volume of the current
instrument: 64 = maximum, 0 = silent. It's displayed in both hex and
decimal.
------- Hld/Dec (Hold/Decay)
(again a thing, that is difficult to explain...)
With Hold, you can set the exact duration of the note (in timing pulses).
The note is then turned off (if decay is 0) or decay is started. In this
example, I assume that the secondary tempo is 6 (one line is one timing
pulse)
1. no hold
0 PLAY+fx C-2 1000 <= play note
1 fx
2 fx
3 fx
4 fx
5 fx
0 PLAY+fx D-3 1000 <= stop previous and play new
1 fx
...
2. with hold set to '2'
0 PLAY+fx C-2 1000 <= play note
1 fx
2 STOP+fx <= stop it
3 fx
4 fx (silence here)
5 fx
0 PLAY+fx D-3 1000 <= play new note
In example 1, (without hold) you can set the note duration only roughly
(accuracy of 6 timing pulses). In example 2, the note duration is only two
timing pulses (because hold = 2).
So, this allows a powerful definition of note length, but it can't be
used with long notes, because the note stops immediately?? Wrong!!
Look at this:
000 C-2 1000 / line# pulse# action
001 -|- 1000 / 003 0 continue note...
002 -|- 1000 / 003 1 continue note...
003 -|- 1000 => ZOOMED => 003 2 STOP NOTE
004 --- 0000 \ 003 3 (silence)
005 D-3 1000 \ 003 4 (silence)
...
So, the keep holding -symbol (-|-) allows you to make the note longer. The
keep holding -symbol can be entered by clearing the note and setting the
instrument number only, or easier: by pressing Return.
If the decay is 0, the note is turned off immediately after the stopping
point. You can set the decay to happen as well (1 = slowest). Decay
doesn't work with MIDI-instruments.
If you're using synthsounds or hybrid sounds, see Synthsounds.doc, because
the decay is handled quite differently with them.
The hold/decay is a quite useful feature, so I recommend you learn to use
it!! (Thanks to ZAP for suggesting me this feature!!)
+=========================================================+
| Block
+=========================================================+
This panel contains most of the block handling things and the copy
operations.
Trk: Cut Copy Paste Swap
These gadgets are used to cut/copy/paste tracks. Swap swaps
the contents of the copy buffer and current track.
The keyboard shortcuts for Cut/Copy/Paste are:
Amiga-X, Amiga-C, Amiga-V
Blk: Cut Copy Paste Swap
These work just like the previous, they just affect the entire
block. The keyboard shortcuts are also just like the previous
except hold down the Shift key too (Amiga-Shift-X...).
Del buff
When you don't need the contents of the buffer any more, you
can click this gadget to free the memory allocated for the buffer.
It's useful when you're very low on memory. The buffer is freed
automatically when you exit, so you may not need this gadget
at all.
Then there are the block commands.
Trks: 4 8 12 16
You can select how many tracks you want this block to have.
Note that tracks 4 - F can be used only with MIDI devices.
Note also that when you decrease the number of tracks, the
higher tracks will be lost (no Are you sure? requesters).
Lines: 64 < > ½ ╗
These gadgets are used for selecting the number of lines in
this block. ½ ╗ gadgets increase/decrease the number by 10,
< > gadget by 1. The preferred way is to write the number
directly into the string gadget (less memory fragmentation).
1 2 3 4 8 16 C
It may be helpful for easier positioning of notes to be able to
"mark" lines some way (especially if the block is long). You
can make some lines appear with reversed colors, if you want.
1 highlight every line, 2 highlights every other line, 3 high-
lights every third line and so on. C clears all highlighting from
this block. You can also mark individual lines with TAB-key.
The highlighting can be removed by highlighting the line(s) again.
The highlightings are saved with songs.
New block
This gadget creates a new block after the last block. The new
block will have the same number of tracks and lines as the
current block.
DEF This is the same as 'New block' except that the block length
is always set to 64 and the number of tracks to four (eight,
if you're in 5 - 8 channel mode).
New here
Creates a new block here, shifts all following blocks forward.
The playseq numbers are corrected so that the song won't change.
DEF Uses default length/number of tracks, see DEF definition above.
Del last
Deletes the last block (no warning messages, be careful).
Del this
Deletes the current block. Playseq numbers corrected.
Split Splits the current block so that the current line will be the
first line of the next block.
Join Joins this block and the following block together.
Ins.L. Inserts an empty line under the cursor. The block length is
increased by one and the notes are shifted one step forward.
Del.L. Deletes the current line. Block length is decreased and the lines
are shifted backwards.
Ins.Trk Inserts a new track. The subsequent tracks are shifted one step to
right, and the rightmost track is lost.
Del.Trk Deletes current track, and the subsequent tracks are shifted to
left one step.
Expand When you have created a nice-sounding block, but you would like
to include e.g. some fast rhythm patterns, but you notice that
the block plays too slowly for the patterns. "Expand" changes
the size of the block and creates empty lines between notes.
Now you can increase the tempo and insert the rhythm patterns.
NOTE: The maximum length of the expanded block may not be greater
than 256 lines. In that case, you'll get a warning, and expansion
is not done. Also, if you want to make fast rhythm patterns, see
first instructions for commands FF1, FF2, FF3. They may be an
easier way.
Shrink When you have expanded the block, you can return it to the
original state by pressing shrink. This function exists for
symmetry. It has not much real use.
The number gadget between these two gadgets is the amount of expanding.
E.g. 2 doubles the length (inserts one empty line between each note).
3 would triple the length, and so on.
+=========================================================+
| Edit
+=========================================================+
Edit-panel contains functions that help editing.
On: These are the switches that allow you to switch temporarily
any track off and back on. The 16 lights in the status bar
show you which tracks are on, when you're not using the
Edit panel. ST sets all tracks on, CL sets all tracks off.
Edit and SPC at the right corner are the bigger equivalents of
"E" and "SP" in the status bar. "Edit" turns editing
on/off and SPC turns on/off extra spacing between notes.
You can type the space value in the string gadget next
to the SPC-gadget (1 - 16). When you enter notes during
playing (in real time) with SPC on, the notes will be
quantized e.g. if SPC = 2, the notes will be placed only
on even-numbered lines.
Keyboard: Edit on/off = Esc, SPC = ~ (below ESC)
1+2, 2+3, 3+4, 4+5 on the left corner select the keyboard octaves which
are used. This can be done also with F1 - F4 keys.
------- Programmable keys
It's possible to assign 10 different notes/commands to number 0 - 9. Then
you can insert the note/command with Shift- 0 - 9. You can also assign
commands to Left and Right Alt. When you then enter notes, holding down the
Alt, command is inserted to the note. The programmable keys are especially
useful when entering drum-rhythms etc. The definitions can be saved so that
they're automatically loaded when you start MED next time.
It's also possible to pick up a range of notes (they can't be edited after
picking).
"Edit"-panel contains gadgets, which you can use to edit the notes/cmds.
Only one note/cmd of the 12 is displayed at a time.
0-9 Shows the current 'Shift-number key' definition, the number is
shown above the arrow gadgets, which can be used to change it.
L.Alt Shows the definition of Left Alt
R.Alt Shows the definition of Right Alt
The current definition of each key is displayed on the Edit-panel. If some
number is marked as "x", it's "transparent", the existing number will not
be changed when the note is entered to the block (with Shift 0 - 9).
You can change the definition by picking a note, but you can change it in
another way as well. Click the number to be changed, and enter a new
number from keyboard while still holding the mouse button, and pointing the
number to be changed. If you want to change several numbers, you don't
have to release the button. Just position the mouse over the number you
want to change.
For example, if you wanted to clear all commands from this track (but leave
the notes) you could make a following definition:
xxx xx000
Because the note is "xxx" and instrument number is "xx", they won't be
changed, and only the command is cleared. Then you can just hold down the
Shift and the number key and let the key-repeat do the job.
R.Alt and L.Alt are a bit different: the note number is always "xxx" and
the instrument number by default is "xx".
Pick note
copies the note currently under the cursor to this key. You can
also pick, for example #7 by pressing Shift-Ctrl-7.
Pick range
picks the current range as a definition of this key
Pick buf
picks the copy buffer as a definition of this key
Clr clears the definition of this key.
SPACE=DEL
Some people may prefer using the space bar instead of DEL when
entering blank notes. This switch makes it possible.
Keypad: Track on/off / Sel.instr
This allows you to set the keypad operating mode. When it's set
to "Track on/off", the keypad can be used to turn tracks 0 - F
on/off. When "Sel.instr" is selected, you can select quickly the
first 16 instruments. The layout is as follows:
[ = 0 ] = 1 / = 2 * = 3
7 = 4 8 = 5 9 = 6 - = 7
4 = 8 5 = 9 6 = 10 + = 11
1 = 12 2 = 13 3 = 14 . = 15
Advance
Here are some quite useful editing options, that control the
automatic advancing of the cursor after entering something.
(down arrow) When this is selected, the cursor automatically
moves to the next line when a note is entered.
Shortcut: Ctrl-A
(up arrow) Moves the cursor to the previous line, when note
entered. This is probably not very useful (but
interesting...)
> When entering effect numbers, the cursor is moved
to right (but not to next line).
< When entering numbers, the cursor moves to left.
(again, not too useful...)
>> When entering notes, the cursor is moved to the next
track.
<< When entering notes, cursor is moved to the previous
track.
+=========================================================+
| Misc
+=========================================================+
Some miscellaneous and not very important things and a VERY important thing
(quitting).
On the left there are gadgets for changing the screen colors. No need to
explain?? All right, I won't. But just remember that the colors are saved
when you save your song (they can give some "feel and expression"). You can
also set the default colors of MED by clicking Save prefs.
Jumping: Off 8th Smp
When you don't want to see the "funny" mouse pointer, select Off.
When you want him to jump every 8th note, select 8th.
When you want him to jump when some sample is played, select
Smp. The instruments which cause him to jump are selected from
"Instr"-panel (gadget name: Jump).
The name of the pointer is Topi (according to my cousin).
Clear All, Clear song only, Quit
These are very dangerous functions, in fact they're so dangerous
that you must click 'Confirm' after you've selected one of them:
"Clear All" does just as it says. Clears the song, removes all
instruments from memory. In two words: clears everything.
Note: This clears ALL songs.
"Clear song only" is not as destructive. While it destroys the
song, it leaves the instruments (if you want to create a new
song without reloading the instruments).
Note: This clears only the current song.
"Quit" is the most destructive. It does everything "Clear
All" does, but even worse, it quits MED!!!!!!
This function was made for program testing and it probably
doesn't have any real use ;-)
Paths: Add/Rem
These affect the sample names when loading songs/samples.
Add Adds the complete path of the sample when you
load e.g. if you load sample "PopSnare2" from
"ST-01:", the sample name will be "ST-01:PopSnare2".
Rem Usually songs made with Trackers have sample names
like "ST-02:AhhVox". If you want that the samples are
loaded using the path list instead of absolute names
(if your samples are in hard disk, for example) you
can remove "ST-xx:" from sample names and reload them,
but when you "Rem paths" is selected, any paths before
the sample names are removed quickly and easily during
loading.
Both of these can be active at the same time. In that case the
original path is removed, instrument is loaded using the path list,
and the path name from the path list will be added.
Note that the maximum length of a instrument name is 39 chars,
so if the path name is very long, something may be lost.
H->B:
This selects the name of the note between A# and C.
In some countries, it's H. In some other countries it's B.
WB: Open/Close
These gadgets allow you to easily close/reopen the Workbench
screen to give you extra memory space.
Save prefs
This will save the default settings of MED to S:med.config.
When you start MED next time, these settings will be loaded.
The following things will be saved:
Current screen colors as default colors
H->B
State of E1, E2 and E3 switches
Screen depth (Dep2)
NO16
Space = Del
Keypad mode
Automatic advance settings
Current programmable key definitions
Jump: Off
PTKey
Dep2 This changes the screen depth from 8-colors to 4 colors. This
frees some chip memory, but most important: it releases lots of
DMA-time. In plain English: MED will run faster (but looks
less pretty).
NO16 This gadget disables the 12/16 track display on OctaMED. On MED,
it does nothing.
PTKEY This switch changes the keyboard operation so, that the most common
Protracker keyboard options will be recognized. This is helpful for
those who have got used to Protracker keyboard layout. The following
PT shortcuts are recognized:
Right shift Turns editing on, starts playing the block (= record)
Right alt Continue song
Right Amiga Play block
L-Alt+curs.L/R Previous/next block
Shift+curs.L/R Increase/decrease playseq position
Space Stops playing/toggles editing.
TAB Next track
Shift-TAB Previous track
Shift-F3 - F5 Cut/Copy/Paste track
Alt-F3 - F5 Cut/Copy/Paste block
If there are any other Protracker options you'd like MED to recognize,
please let me (Teijo) know.
+=========================================================+
| Vol
+=========================================================+
This panel allows you to set the proportional volume of each track. In
addition you can also set the master volume. The proportional value can be
1 - 64. If both the master volume and the volume of a track are 64, that
track is played on full volume. If the master volume was 32 and a track
volume was 32, the volume of that track would be 1/4 of the full volume.
There are two sets of ½ < 64 > ╗ gadgets. The one on the right is the
master volume. The left one changes the volume of the selected track. You
can select the track, by clicking a number above the gadgets. The currently
selected number is highlighted.
This is quite easy, so no problems should appear. The track volumes and
the master volume are saved with songs.
+=========================================================+
| MIDI
+=========================================================+
MED can output notes and some commands to external MIDI-devices (keyboards,
synthesizers...). The MIDI-panel contains the MIDI-stuff which is needed
for that.
When you decide that some instrument should be a MIDI-instrument, you select
the MIDI channel for it. "MIDI ch"-gadgets are used for that. If you
select e.g. MIDI channel 2, the notes of the current instrument are sent in
MIDI channel 2 (simple, isn't it?). Remember to set the default volume
(Sample panel).
Also, you need to activate MIDI (click "MIDI active"). If the serial port
is used by some other program, you can't use MIDI. Then you must terminate
the other program and try again.
After you have activated MIDI, MED starts sending "active sensing" messages
($FE). Active sensing can be turned off with the "Act.sensing"-gadget.
By default MED uses the default preset of that channel (which you have set
on your MIDI device). If you want to use other presets, you can select them
using the "MIDI pres #"-gadgets, in that case the program change message is
transmitted when a note is played. Preset number 0 means that the default
preset is used (the preset is never changed for this instrument). If you
want to send a preset change command, but don't want to play a note yet, use
the command C00 with any note. In that case, the preset will be changed,
but no note will be transmitted.
You can have instruments with differents preset numbers, but which will use
the same MIDI channel. In that case, MED will automatically send the
program change message whenever the instrument with different preset number
is used.
You can use MIDI-instruments on all 16 tracks (if there are 16 tracks on the
current block). You can also freely mix samples and MIDI-instruments on the
same track (tracks 0 - 3 only).
One helpful keyboard command is Ctrl-Space. This command resets pitch-
benders and modulation wheels on all channels. Also, if you have changed
presets on your MIDI-device, MED can't detect this and thinks that the
preset is not changed. Ctrl-Space causes MED to resend program change
commands for all channels, when playing. There's a gadget: "Reset pb+pres"
that does the same thing.
The "MIDI reset"-gadget sends a MIDI reset command ($FF).
If you turn "Send sync" on, MED will send MIDI sync information, and allow
other devices to synchronize with MED. When "Ext sync" is on, MED can be
synced externally. You must also have input active when this is turned on.
The synchronization works only when you play song, when you're playing a
single block, the syncing is disabled.
L.Ctrl on/off gadgets allow you to easily send Local control on/off
messages.
Suppr.N.Off suppresses Note Off messages of the current instrument. Some
devices may have some instruments (e.g. one-shot drum sounds) which
actually ignore the Note Off messages. When Suppr.N.Off is selected, Note
Offs are not sent for the current instrument. This reduces some unnecessary
MIDI output (slightly faster).
There are commands which control the pitchbender, modulation wheel etc.
Detailed documetation later (again??).
------- Entering notes with MIDI
You can use your keyboard, synthesizer or whatever, to insert notes (you
don't need to use your Amiga's keyboard to entering). You must activate the
"Input"-gadget. If editing is on and your MIDI-device is sending notes,
they will be entered. You can also enter Amiga-samples with MIDI. Next to
the Input-gadget, there's a integer gadget, that contains the number of the
input MIDI channel. If it's 0, then MED will accept input from all MIDI
channels.
"Read volume" gadget may be sometimes quite useful. If you have a velocity-
sensitive keyboard, the volume will be entered in the command-part when you
enter notes and this gadget is selected. "Read key-up" is not as useful.
When it's active, MED records key-up events. It can be used in real-time
recording (and mostly for long notes).
You may have noticed that you can't directly use all the octaves which are
available on the MIDI device. "Instrument transpose" helps this. You can
have two instruments with identical settings except for different instrument
transpose. With instrument transpose you can reach nearly the full range of
notes.
NOTE: When you have a MIDI-instrument, its name doesn't really have any use.
However it's good practice to type in the names of the presets. This
way you can easily see the presets, and, if you give the song to
somebody else who may have different MIDI-equipment, he/she can
easily change the preset numbers to use the correct presets on his/her
MIDI-device.
+=========================================================+
| Trans
+=========================================================+
Starting from the bottom, there's a long string gadget that can hold an
annotation text for the song. When you save the song, the text in this
gadget will be saved, and it will be displayed when loading the song.
The other functions of this panel has something to do with transposing
notes.
When you're doing some transposing, you should first decide which areas the
transposing should affect. At the top of the panel there are gadgets to
select this:
Affect/song the functions of this panel will affect the whole song
Affect/block the functions will affect the current block
Affect/track current track will be affected
Affect/sel.trks selected tracks in this block will be affected
Affect/range the range selected with mouse will be affected
Instr/all all instruments affected
Instr/curr only the current instrument affected
First there are some simple transposing operations:
1/2 ^ (<-arrow up) transposes the affection area up one half-step
1/2 v (<-arrow down) transposes down one half-step
oct ^ transposes one octave up
oct v transposes one octave down
------- Note (ex)change
Suppose you want to change all D-3's of instr 2 in your song to C-1. First
you set Affect/song (affect the whole song). The you go to instrument #2
and select Instr/curr (to affect only this instrument).
Now you click the box at the right of the text "Note", hold down the mouse
button, and enter note D-3 from keyboard (D-3 will be displayed). This is
the source note name. Then you click the box at the right of the source
note box, hold the mouse button again, and enter C-1. Now you have set the
destination note.
Finally you just click the "->" gadget at the right of the dest. note box.
If you had wanted to exchange the notes (D-3 => C-1 AND C-1 => D-3), you
would have clicked the "<->" gadget instead.
------- Instrument deletion/changing
The left instrument number is the source number and the right one is
the destination number. To set them, select the instrument (e.g. Shift-
cursor left/right) and click on the number.
Del Deletes the notes with source instrument number.
-> Changes the source instrument number to dest. instrument number
<-> Exchanges the source and instrument numbers
------- Play transpose
This gadgets allows you transpose the whole song quickly. It doesn't change
the notes, it only affects playing.
+=========================================================+
| Range
+=========================================================+
This panel contains many of the range-editing options. The range is a
rectangular area of notes in a block. It is selected by dragging using the
right mouse button and (then moving the mouse). It only works on vertical
note display.
The numbers at the right bottom corner show you the starting/ending tracks
and starting/ending lines of the block.
At the left side of the panel, there are gadgets "Select track" and "Select
block". These allow you to select a single track or block quickly. To the
right of them, there are gadgets for range operations. The simplest is
"Clear". It clears all notes in the range. Above it is "Cut". It also
clears the notes, but copies them to the copy buffer for later pasting.
"Copy" doesn't clear the notes, just copies them to the copy buffer. You
can paste the contents of the copy buffer with "Paste". The copy buffer
will then be copied starting at the cursor. If the copy buffer contains
e.g. 3 tracks, and you don't want to copy them to consecutive tracks, but
e.g. tracks 2, 7, and 9, You would select tracks 2, 7, and 9 with
track-selection gadgets (at the top), and then click "Paste select". The
notes will be pasted only to selected tracks. The "Cancel" gadget can be
used to forget the range (e.g. if you've accidentaly hit the RMB). You can
achieve the same effect with moving to another block.
Spread 2/3/4 allow you to spread notes on one track to consecutive tracks.
For example, get an empty block, fill track 0 with notes, select track 0
(with "Select track" for example), and try these gadgets.
S1, S2 These gadgets can perform the quite tedious task of
creating slides. Here's how it works (example):
You want to make a slide from C-2 to G-2:
000 C-2 1000
001 --- 0000
002 --- 0000
003 --- 0000
004 --- 0000
005 G-2 1000
006 --- 0000
Move the cursor to the line where you want the
slide to begin (in this example, line 002). Then click
S1 or S2. Result:
If you click S1 If you click S2
000 C-2 1000 000 C-2 1000
001 --- 0000 001 --- 0000
002 G-2 1306 002 --- 0108
003 --- 0306 003 --- 0108
004 --- 0306 004 --- 0108
005 --- 0306 005 G-2 1000
006 --- 0000 006 --- 0000
The better result is usually achieved using S1. S1 and S2
use the different sliding commands (that's the difference).
With S2, the second note is also replayed. The commands
itself are documented later.
Keyboard: S1 = Amiga-T, S2 = Shift-Amiga-T
VOL Creates a volume slide. With this option, it's possible
to create easily fades etc. Example:
009 --- 0C50 <-start volume \ 009 --- 0C50
010 --- 0000 =================\ 010 --- 0C47
011 --- 0000 | Click "VOL" \ 011 --- 0C44
012 --- 0000 | / 012 --- 0C40
013 --- 0000 =================/ 013 --- 0C37
014 --- 0C34 <-end volume / 014 --- 0C34
The cursor must be positioned somewhere between the C-
commands (on lines 10 - 13 in this example).
Select: 0, 1, 2, ... E, F
These gadgets are used to select tracks (not range). Some track-
based operations may need this (e.g. Paste select), or you can set
the transpose operations to affect the selected tracks.
ST selects all tracks, while CL deselects them.
Chord
This gadget can be used if you want to enter chords. First you
should select the tracks, which the chord entering affects (with
above gadgets). The chord always starts from the current track and
then continues to the next selected track etc...
After you've selected this gadget and turned editing on, you can
try entering a major C-chord (select all tracks now, because this is
just an example!!).
Press Q (C), hold it down. Then press E (E) holding both keys still
down. Finally T (G). Now you can release the keys, and the cursor
moves back to the starting track and advances line.
Chord editing works well with MIDI too.
============================================================================
============================================================================
Big displays
MED has some panels, that are displayed in the large area (where the notes
usually are). The rightmost strip of panel-selection gadgets are used to
select one of the five possible big displays. The displays (gagdets) are:
Vertical note display
(Notation editor, in OctaMED V2 only!)
Synthetic sound editor
Sample editor
Sample list
*===========================================================================
* Synthetic sound editor
*===========================================================================
See the doc file "Synthsounds.doc"...
*===========================================================================
* Sample editor
*===========================================================================
See the doc file "Sample_editor.doc"...
*===========================================================================
* Sample list
*===========================================================================
------- What is it??
Sample list is a list of all your samples and sample disks/directories. You
can easily scan through your sample lists and load a sample by clicking its
name. When you've constructed the sample list, it is saved and always
loaded when you run MED. You don't have to load directories of your sample
disks more than once. Sample list (MED_paths) contains the directory
declarations, so MED can automatically load your samples from correct disks,
minimizing disk swappings, when you load songs.
------- How to create a Sample list??
Using the filerequester, load the directory of your sample
disk/dir. Then go to the "SList"-panel. Now click Dir/ADD.
You should see the filenames of the directory to appear.
You can now examine the list, and if there are files which
are not samples, destroy them from the list with Instr/DEL.
Repeat this procedure for each sampledisk/dir you have.
You can select the displayed directory with the right display,
which displays the directory names.
When you have made the list, you probably want to save it.
Save/S: does the job. If you click CD, the path file will be
saved to the current directory (be sure that it is the same where
you started MED). If you click "S:", the file will be saved
to the S:-directory. I prefer placing the file in S:, because
then it doesn't matter which is the current directory when
starting MED. The file is called "MED_paths".
If you later want to add entries to the directory, you can
delete the whole directory from the list with Dir/DEL. Then you
must click the name of the directory to remove.
Then you can reload the directory. You can also add entries
one at a time. If you click Instr/ADD, the name of the
current sample is added to the list. Also the repeat/rep.length
values are then added to the list (form: Asia::480/5362).
Note that the previous entry with same name is not deleted,
so you must delete it by hand (using Instr/DEL), if you want to
add rep./rep.len values to the list.
If the current instrument is a MIDI-instrument when you add
the name, the name will be a form E.Piano::M6/4 . The 1st
number is the channel, the 2nd is the preset. When you later
load instrument of that name, the MIDI-channel/preset will be
set. Note that the instrument with this name doesn't really
have to exist in that directory, it's like a "dummy" entry.
You may want to create a "dummy" directory for these dummy
MIDI entries (empty dir).
At the top is the box displaying the directory name and number.
The right display only displays the last 16 chars of the dir
name, because it's the most meaningful. For example
some of my instruments are located in directory:
work:samples/ST-01/
If the box showed the first 16 chars, it would be
"work:samples/ST-" (which isn't as helpful).
The instrument loading is simple. Just click the instrument name
on the left display, and it's loaded.
------- Loading MED_paths
You can load a new MED_paths file, using the file requester.
If you select a file called MED_paths, you'll be immediately
requested if you want to load it. If you press 'R', the list
in the memory will be lost and the new one will be loaded. If
'A' is pressed, the current path list is preserved and the new
one will be appended to it.
Finally, I reveal the keyboard shortcuts...
Alt-numeric keypad-8 = scroll the list up (very useful)
Alt-numeric keypad-2 = scroll the list down (very too)
Alt-keypad-9 (PgUp) = scroll the list up fast
Alt-keypad-3 (PgDn) = scroll the list down fast
Alt-keypad-7 (Home) = to the beginning of the list
Alt-keypad-1 (End) = to the end of the list
+-------------------------------------------------------------------+
|+-----------------------------------------------------------------+|
|| MED V3.2 player commands/effects ||
|+-----------------------------------------------------------------+|
+-------------------------------------------------------------------+
This section gives information about commands/effects. They are events
which affect the playing and they are handled by the MED player routine.
C - 2 1 2 3 4
| \ |
command number \|
data byte
You insert the commands usually by hand (turn editing on, move cursor on the
command numbers and type the numbers). It may be a bit easier if you turn
off automatic-advance with Ctrl-A.
Here are the descriptions of each of the currently recognized commands:
+---------------------------------------------------+
| Command 0: ARPEGGIO MIDI: controller value |
+---------------------------------------------------+
This command changes the pitch of the note quickly (6 times during 1 note).
It can be used to create "chords" or special effects. If you've listened
to music made with the C-64, you MUST have heard arpeggios. The pitch is
changed between 3 different pitches during one note:
the 1st pitch is the pitch of the original note
the 2nd pitch is the pitch of the original note + the 1st number
of databyte halfsteps up
the 3rd pitch is the pitch of the original note + the 2nd number
of databyte halfsteps up
Note: 3rd pitch | 2nd pitch | 1st pitch | 3rd pitch | 2nd pitch | 1st pitch
changed 6 times during note
It may be a bit difficult to understand, so here's an example:
You want to make an arpeggio which sounds like C-major chord.
The lowest pitch is C (C-2 in this example).
The second is E-2 (4 halfsteps higher than C-2).
The third is G-2 (7 halfsteps higher than C-2).
4 halfsteps from C-2 -+ 7 halfsteps from C-2
|/
That produces: C-2 1047
--- 0047
--- 0047 and so on...
Data byte for a minor chord would be 3