home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Audio Version 4.94
/
audioversion4.94knowledgemediaresourcelibraryoctober1994.iso
/
msdos
/
players
/
kingmod
/
kingmod.doc
< prev
next >
Wrap
Text File
|
1993-01-28
|
61KB
|
1,376 lines
| / |\ /|
| / | \ / |
|/ | \/ |
|\ | |
| \ | |
| \ | |
KingMod Documentation
_____________________
_________________
____________
_______
____
_
Graphical Module Editor
Copyright (C) 1993 Christopher E. Kingsbury
Copyright and Disclaimer
Both this document and the KingMod application are copyrighted by
Christopher E. Kingsbury. Neither the KingMod program or it's
documentation may be altered in any manner.
KingMod is completely a Public Domain program. This means that
anyone may own this program free of charge. In fact, I encourage
all of you to give of copy of this to your family, friends, and
local computer billboards.
There is no warranty of any kind, and the copyright owner is not
liable for damages of any kind. By using this software, you agree
to all the above terms.
TABLE OF CONTENTS
Chapter 1 Introduction
Chapter 2 Overview
Chapter 3 Hardware Requirements
Chapter 4 Music Theory Overview
Chapter 5 Using the Graphical Interface
Chapter 6 Construction of a Module
Chapter 7 Composing Music
Chapter 8 Menu Functions
Chapter 9 Error Messages
Chapter 10 Getting in Touch With The Author
Chapter 11 Possible Improvements for Next Release
Chapter One
Introduction
Thank you for giving KingMod a test drive. This program is the
first, in hopefully what will be long line of graphical module
editors for the IBM personal computer & compatible family. I
originally started this program about two months ago, not knowing
how large the program would become, or how many endless hours I
would spend programming and debugging. However, I think the final
product, which took about 1 1/2 months appears to be worth all the
work.
If you were to evaluate all of the other module editors available
for the IBM PCs and compatibles you would probably find many
similarities. Nonetheless, you would probably not find one module
editor that supports Extended Memory, editing of modules over 2
Megs in size, playback over many devices, and with the hardware
compatibility that KingMod can offer you.
Chapter Two
Overview
What is a Module? A Module is a music file that was originally
designed for the Amiga. A tracker is a program used to play
modules. Modules consist of digitized sound and sequencing
information used to play music. Within a module, you can play up
to four separate tracks simultaneously, with up to 31 different
instruments (called samples).
KingMod is both a module editor and tracker. It allows you to edit
and create modules within the program, and play them back from
within the editor. Unlike most module editors for the IBM family
and compatibles, this program is graphically based, and for the
most part musically correct.
Although KingMod can read in a standard module file, it will save
extra data pertinent to KingMod within the module. In order to
accomplish this, KingMod requires the use of the 31 sample for it's
own purposes. By using just the 31st sample, KingMod is able to
save a music file in the standard module format, allowing
compatibility with all other editors and players, while retaining
other important data, including: key signature, sample colors, and
the sharps and flats within the song. I feel that loosing one
sample out of 31 is a very good compromise, considering the
benefits that are gained.
I would like to take this time to mention the excellent module
playing routines that I used in KingMod. They were created by Mark
J. Cox. The package that he has produced is called MODOBJ, and is
very easy to integrate into Turbo Pascal programs. You can find
this program as many FTP sites, including ftp.brad.ac.uk in the
/misc/msdos/mp directory.
Chapter Three
Hardware Requirements
- 268 Computer or higher
- VGA Monitor
- Microsoft compatible mouse
- Hard Drive
- At least 1 Meg of hard drive space
The following hardware is recommend but not required, and can
dramatically improve the performance of KingMod:
- 386 Computer or higher
- Sound Card
- Extended Memory
- Expanded Memory
Hard disk memory requirements
Because the playing routines used within this program require
heavy use of the harddrive, some functions within the program
are delayed by the harddrive. However, by using a disk
caching program, such as smartdrive, supplied with most
Microsoft products, the delays can almost be alleviated. To
figure out how much hard disk memory you will need to use
KingMod, use the following formula:
16384 + ModSize + LargestPresentSampleSize = mem required
To see how much free hard disk space you have on your
computer, type the following command at the DOS prompt:
CHKDSK
If you would like to dramatically improve the performance of
KingMod, you can create a RAM drive with either your expanded
or extended memory. KingMod will use the RAM drive as it's
temporary swap disk, which are much faster than the fastest
disk drives available. To create a swap disk, place the
following line into your CONFIG.SYS file
device=ramdrive.sys [bbbb] 128 64 [/E] [/A]
- bbbb states the disk size, use the formula above to
calculate this number.
- /E tells the computer to create the disk in extended
memory. If you use this switch, you cannot use the
/A switch.
- /A tells the computer to create the disk in expanded
memory. If you use this switch, you cannot use the
/E switch.
Extended memory requirements
KingMod has the ability to use extended memory, which will
dramatically improve the performance of Kingmod, as long as
you are using a memory manager. Upon boot up of the program,
Kingmod will automatically detect whether or not your computer
has extended memory. You will need approximately 400
kilobytes or more of free extended memory. To see how much
extended memory your computer has, type the following command
at the DOS prompt:
MEM
Expanded memory requirements
Kingmod has the ability to use expanded memory, as long as you
are using memory manager. However, the performance increase
will not be nearly as great as that achieved through the use
of extended memory. Kingmod will automatically detect whether
or not you computer has expanded memory. You will need
approximately 100 kilobytes or more of free expanded memory.
To see how much expanded memory your computer has, type the
following command at the DOS prompt:
MEM
Chapter Four
Music Theory Overview
Note: If you are already familiar with the basic concepts of music,
then you can skip this chapter.
First of all, I am not a music major and I do not claim that my
music knowledge is anywhere near most musically talented people.
If any of you think that you can write a better/more comprehendible
section, I would be very happy if you were to compose and mail it
to me, for use in the next manual, and I will give you full credit.
Although this section is by noway complete, I feel that this
section is needed for people who have not yet had experience with
music and musical notation or would just like a review.
Notes
Notation is the representation of music on paper, or in this
case, on the computer screen. The first and most basic
element found in music is the note, a symbol representing both
the length and pitch of a sound. The following chart
illustrates all the note lengths and how they compare with
each other.
Whole X-------------------------------
Half X---------------X---------------
Quarter X-------X-------X-------X-------
Eighth X---X---X---X---X---X---X---X---
Sixteenth X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-X-
Thirty-Second XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Although the Thirty-Second note is not the last note length
(there is actually no real note length in music), KingMod's
shortest note value will be the thirty-second note. Within
the program, a thirty-second note will receive one count, a
sixteenth note will receive two counts, and a whole note will
receive 32 counts.
Notes are physically constructed of 3 parts, the head, stem
and hook. The round part of the note is called the head.
Attached to the head is a line called the stem. Finally,
attached to the stem is a curved line called the stem. The
following chart describes the physical construction of each of
the notes.
Whole Has no tail or hook, a non-filled circle
Half Has no hook, it resembles a whole note with a stem
Quarter Has no hook, Resembles a half note, circle is filled
Eighth Resembles a Quarter note, with one hook
Sixteenth Resembles an Eighth note, with two hooks
Thirty-Second Resembles a Sixteenth note, with three hooks
Rests
The symbol which represents silent passages in music are
called rests. The length of a rest is represented in the same
format as that of the note values, however, rest take
different physical shapes. The following chart describes the
physical construction of the rests.
Whole A rectangular box, hanging from top of a staff line
Half A rectangular box, sitting on top of a staff line
Quarter A vertical squiggly line (you have to see it)
Eighth A small circle attached to a slanted line
Sixteenth Two small circles attached to a slanted line
Thirty-Second Three small circles attached to a slanted line
Staff
A staff is a collection of five parallel lines in which notes
and rests are placed. Notes can be placed on both the lines
and the spaces between the lines. The higher up on the staff
the note is, the higher the pitch of the note. Likewise, the
lower the note is on the staff, the lower the pitch of the
note will be. Usually, 2 staffs will be placed together to
allow for the greatest amount of range. The upper staff is
called the treble clef while the lower staff is called the
base clef. Each position within the staff is represented by
a letter "A" .."G". The following chart displays both staffs,
and their character names.
G
-----------F---------------------------------------------------
E
-----------D---------------------------------------------------
C
-----------B---------------------------------------------------
A
-----------G---------------------------------------------------
F
-----------E---------------------------------------------------
D
C
B
-----------A---------------------------------------------------
G
-----------F---------------------------------------------------
E
-----------D---------------------------------------------------
C
-----------B---------------------------------------------------
A
-----------G----------------------------------------------------
F
Although there are only twenty-three different note positions
shown on the staff, It is still possible to display and play
notes that are both lower and higher than the two staffs.
Within Kingmod, notes lower than the bass clef are accompanied
by a number. This number represents how many octaves lower
the note really is. Notes that are higher than the treble
clef are also accompanied by a number. This number represents
how many octaves higher the note actually is.
Sharps and Flats.
Now to make things more complicated, I'll try and explain
sharps and flats. These are halfsteps between 2 consecutive
notes. Sharps and flats are called accidentals in the music
field. A sharp note is a note that is played one halfstep
higher than it's position on the staff. Sharp notes are
regular notes with a pounds sign "#". A flat notes is a note
that is played a halfstep lower than it's position on the
staff. Flat notes are regular notes with a symbol that is
similar to the letter "b". Notes that are neither flat not
sharp are called natural. Only certain notes can be sharp nor
flat. Notes that can be sharp are F, C, G, D, A. Notes that
can be flat are B, E, A, D, G.
When writing music, most composers will usually decide whether
they will be using sharps or flats in there song, and which
notes will be sharp or flat. This is what is known as the key
signature, and usually holds true through the remainder of the
song. However, the composer is not required to stick to this
key signature. When choosing a key signature, you must abide
by two rules. First you cannot have both flats and sharps in
the same key signature. Second, you must choose them in the
following consecutive order.
Sharps: F C G D A
Flats : B E A D G
Thus, if you decide that your song will have three flats, then
the key signature will be F, C, G.
Note: Although I mentioned that you cannot sharp B and E or flat F
and C, technically you can. B sharp is actually C, E sharp is
actually F, F flat is actually E, and C flat is actually B.
Now, through the combination of notes, rests and their lengths,
music can be created. To put this into a little easier
perspective, examine the following X,Y graph.
|
|
|
|X----------------------------------------->
Note |
Pitches |
|
|___________________________________________
Note Length
Putting it all Together
Now that you have the basic idea of musical notation down, I will
attempt to explain how you can put all of this together to create
a song.
Measures
Most music is composed of measures, much like novels are
composed of sentences. Measure provide a means in which to
break down the music into more readable sections. For our
purpose, each measure in KingMod will be capable of holding;
32 Thirty-Second notes, or 16 Sixteenth notes, or 8 Eighth
notes, or 4 quarter notes, or 2 Half notes, or 1 Whole note.
Each measure can have any combination of the prementioned
notes. If the total value of all the notes in a measure
exceeds 32, then you have what is called carrying. This means
that the remainder (total of notes - 32) will be added to the
beginning of the next measure. For example, if a measure has
1 half note and then 1 whole note, a carry of sixteen will be
added to the beginning of the next measure. In KingMod,
carries are represented by blank spaces at the beginning of a
measure.
Chapter Five
Using the Graphical Interface
This purpose of this chapter is to describe and explain all of the
graphical interface tools in this program. The following tools
will be included in the chapter:
- Menu Bar
- Status Window
- Button
- Icon
- Pop Up Menu
- Scroll Bar
- Scroll List
- Text Window
- File/Directory Window
Menu Bar
A menu bar is a hierarchal graphic tool containing both
headings and subheadings. KingMod contains one menu bar at
the top of the screen. It contains the following headings;
File, Edit, Play, Sample, and Music. Associated with each
heading is a list of subheadings. To use the menu bar, just
place the mouse anywhere over the menu bar then press and hold
down the left mouse button. While are holding the left button
down, you can move the mouse back and forth across the menu
bar to view each of the subheading menus. To select one of
the subheadings, first place the mouse over the heading you
want to select and press the mouse button. The subheading bar
will now appear. Move the mouse into this bar while your
still holding the left mouse button down, and you will see a
pink bar hilight the subheading that the mouse is currently
over. If you wish to look under a different heading, just
move the mouse over to the heading and it's corresponding
subheading list will be displayed. If you want to select one
of the subheadings, first make sure that the mouse is over the
subheading and it is hilighted, then, release the left mouse
buttons. If you do not wish to select anything in the menu
bar after you have entered it, just make sure that the mouse
is not over any of the subheading bars, and release the left
mouse buttons.
Status Window
A status window is a window that displays pertinent
information about the program to the user. They are
completely controlled by the program, and require no
interaction whatsoever by the user.
Button
A button is a button (what else can I say) with a short saying
as to what will happen if you press the button. To use a
button, first place the mouse over the button, then press the
left mouse button. You will know that you have pressed the
button, because the button will retract. To finish, release
the left mouse button.
Icon
An icon is a picture/image/representation of an action or
object within KingMod. Within this program, icons are used to
represent the different note and rest values. They are also
used to simplify movement through the music. To use an icon,
just move the mouse over the icon you wish to select, then
press and release the left mouse button.
Pop Up Menu Bar
A pop up menu bar is similar to a menu bar, with the exception
that there are no headings. They resemble a three dimensional
box, protruding outward, with it's selected value in the
center. Follow these instructions in order to use a pop up
menu bar. First, move the mouse over the pop up menu bar you
wish to select. Next, press the left mouse button, and hold
it down. A new window will now appear containing all of the
selectable values within the menu. To select one of the
values, first make sure that you have not released the left
mouse button. Second, move the mouse onto the value you
desire, make sure that it is hilighted. You will know what
value that you have selected, because it will be displayed as
the new selected value in the pop up menu bar. If you have
entered the sub heading menu but do not wish to select any of
the items, move the mouse back to the original selection and
release the left mouse button.
Scroll Bar
A scroll bar is similar to a slide rule. It is composed of a
ruler with a central sliding piece. At each end of the ruler
is an arrow. Associated with scroll bars are numeric values
which correspond with the slides position within the ruler.
To figure out the value of a scroll bar, first you must
determine whether the bar is vertical or horizontal. If the
bar is vertical and the slide is at the top, then the bar
value is zero. If the bar is vertical and the slide is at
the bottom, then it is set to the scroll bars highest value.
If the bar is horizontal and the slide section is all the way
to the right, then it is set to zero. If the bar is
horizontal and the slide is all the way to the left, then it
is set to the scroll bars highest value. There are three ways
to move the slide along the ruler. First you can use the
arrows. Just place the mouse over the arrow pointing in the
direction you want to move, then press and release the left
mouse button. The slide value will then be incremented or
decremented by one. Second, you can grasp ahold of the slide,
and drag it to the position you desire. To accomplish this,
place the mouse over the slide, press and hold the left mouse
button, move the slide to the position you desire, then
release the mouse button. Third, you can increment the scroll
bar value by 2 by placing the mouse either in front of or
behind the slide, but along the ruler, and pressing and
releasing the left mouse button.
Scroll List
A scroll list is basically a list of something, such as a list
of files. Scroll lists are usually used to display multiple
lines of text, or a scroll list can also contain items from
which the user can select from. They are composed of one
scroll bar, and a text list area. The list is composed of
text, where each value is placed on a separate line. Moving
about a list is quite easy. First you can use the scroll bar
to scroll the text list up and down, until you find something
from the list you would like to select. To select the item,
just place the mouse over the item, and press and release the
left mouse button. You will know that you selected it because
the item will be hilighted. Another way to move through the
list is to click the left mouse button in the list area.
While holding down the left button, move the mouse either
above or below the list. You will see the list scroll in the
direction that your mouse is. Once the item you want to
select has scrolled into reach, just move you mouse over the
item while you are still holding down the left mouse button,
and release the button. The item should know be selected.
There is one bug to the scroll list. The first time that you
click in the scroll list nothing happens, but after that,
everything works fine.
Text Window
A text window is an area in which you can write and edit text.
A text window is composed of a rectangular box, in which text
is displayed. To enter text into an empty text window, just
place the mouse over the box, and press and release the left
mouse button. A line called an I-Beam will appear. This I-
Beam is the cursor, it tells you where you are about to enter
or delete characters. Once the I-Beam appears, you can start
entering text just like a word processor. The following keys
are legal; Alphabetic; Numeric; Space; Left & Right arrow;
Delete; Backspace; & Return. Do not worry about running out
of room in the text box, because it the text will scroll. You
will be limited to 256 characters. Once you have finished
entering your text, either press return or move the mouse out
of the box and press and release the left mouse button. To
edit text, you can place the mouse in the box, press the left
mouse button, and edit just as you have entered in the text.
Or, you can place the mouse in the box, then press and hold
the right mouse button. While holding the mouse button down,
you can move the mouse back and forth, and hilight regions of
text. To stop hilighting text, you must release the right
mouse button. Now that the text is hilighted, you can use
either the delete or backspace key to delete all the text that
you have hilighted. Or, if you do not want to delete the
hilighted text, just place the mouse over the text box, and
press and release the left mouse button.
File and Directory Window
The file and directory window is a window containing most of
the formentioned graphical interface tools, in which the user
can select files. The window can be found in many areas of
Kingmod, including reading and saving Module and Samples. The
window contains a scrollable list on the left side, displaying
all the files and directories in the current directory. There
are two text boxes on the right. The top text box contains
the current working directory. The bottom text box is used
for manually typing in the filename. At the bottom right of
the screen are two buttons. One say "Done" and the other says
"Cancel", I think that these functions are self explanatory.
To use the file and directory window, first make sure that you
are in the correct directory. If you are not, then change the
directory in the directory window. Then select the filename
from the scrollable list and press the "Done" button. Another
way to enter in a filename is to directly enter in the name in
the filename text window. You must enter the drive and
directory into the filename window in order for it to work.
If you have entered the file and directory window, and wish to
get out without selecting a file, just press the cancel
button.
Chapter 6
Construction of a Module in the KingMod Format
Basic Composition
- Name
- Samples
- Music
Name
Each module contains a name that can be up to 20 characters
long.
Samples
Modules can hold up to 30 different instruments called
samples. Samples are digitally recorded pieces of music.
These sample can range from recordings of musical instruments,
noises, human voices, or whatever else you can think to
record. Each sample can be up to 65,535 bytes in size.
Associated with each sample are the following:
- Name
- Volume
- Repeat Point
- Repeat Length
Sample Name
The name is where you can store the name of the sample, up to
22 characters in length
Sample Volume
The volume is the default volume of the sample. The value
must be in the range of 0 - 64, with 64 the loudest. This
value is only the default, the volume of every note can be
changed anytime from within the music.
Sample Repeat Point and Repeat Length
The repeat point and repeat length are two variables which
allow you to make the sample play endlessly. The repeat point
represents the starting point of the repeat, in bytes. The
repeat length represent how many bytes should be played after
the repeat point, in bytes. For example: If you had an
sample that is 10,000 bytes in size, you could set the repeat
point at 8,000 and the repeat length at 2,000. When the
sample is played, it will first play through the whole thing
completely. Once it reached the end, it will jump backwards
to the repeat point, and play the number of bytes represented
by the repeat length, then jump back to the repeat point.
This will in a never-ending loop.
Music
Each module can contain a very large music section. Each
module can contain up to 128 measures for each track (a track
is a single line of music. Modules can play up to 4 tracks
simultaneously.). Only one measure will be displayed on a
page at any time. Each song starts at page 1 and ends at page
128. The combination of two pages is called a pattern. A
module can contain up to 64 different patterns.
Each pattern can contain up to 64 different notes, thus
each track can contain up to 4096 different notes. Each note
has an associated sample number and effect field. The sample
number field represents the sample that will be used for this
note. The effect field represents the effect that will be
used when playing the note.
Chapter 7
Composing Music
Composing music within KingMod is quite easy. The editor is simple
enough for the beginner, however is powerful enough for even the
most proficient moduler (a person who composses modules). The
following paragraph gives a brief description of the editor layout.
_____________________________________________________
| Menu Bar | Status Window |
|__________________________________|__________________|
| |
| Track 1 |
| |
| Track 2 |
| |
| Track 3 |
| |
| Track 4 |
|_____________________________________________________|
| Icons | Sample Effects |
|__________________________________|__________________|
Selecting Samples
The first thing you need to do before you can start composing
your music to is select an instrument. Choose "Load Sample"
from the sample menu. The sample window should appear. This
is a list containing all of the samples currently being used
in your song. Hilight item #1, the first item. Now press the
Done button. The File and Directory window should now appear,
and you can select the sample you would like to load. For now
on, that sample will be designated sample #1. You can load up
to 30 samples in the same manner.
Entering Notes
In order to compose music, you must first select a note value.
Press one of the note icons at the bottom. If you cannot tell
which icons are the note icon, they are the white ones. They
are displayed in this order: Whole, Half, Quarter, Eighth,
Sixteenth, and Thirty-Second. Once you have selected the note
length, move the mouse into the track and staff position (note
value, for example "A", "B", "C") in which you would like to
place the note. Then, just press and release the left mouse
button. The note you selected should appear. No matter where
you place the mouse on the staff, the note will move as far to
the left as possible, in accordance with the note before it.
To insert one note after the other, just move the mouse to the
right of the last note in the track you wish to enter. You
will notice by selecting different note values that a Thirty-
Second note only takes one space, while a Eighth note takes up
4 spaces. This allows you to exactly know when each note will
be played.
Inserting Notes
To insert a note, first make sure that you have selected the
right note length from the icons. Then just place the mouse
at the desired staff position and between the two notes you
wish to insert this new note, and press and release the left
mouse button. The note should now be inserted.
Entering Rest
Entering a rest is done just like you enter notes, however,
you do not have to designate any staff position. The rest
will automatically be placed in the center of the top staff of
the track you selected.
Inserting a Rest
Inserting a rest is exactly the same as inserting a note.
Entering Sharp and Flat Notes
To enter a sharp or flat note, first select the desired offset
from the bottom left pop up menu called the offset pop up
menu. From now on, every note that you enter will have the
offset that the offset pop up menu specifies.
Setting the Notes Effect
Every note and rest in a module can have an effect. The
effect field can be used to set volumes, song speed, attack
rates, slides, ect... Each effect and there values will be
described below. To change the effect of notes to be entered,
select the effect that you want from the large pop up menu at
the bottom right of the screen. From now on, all notes that
you enter will have that effect, until you change it. If a
note has an effect, then its index character "A".."P" will be
displayed along side of the note.
The following explains how each of the effect work. For
simplification, the first effect number will be designated as
x, and the second effect number will be designated as y. If
both x and y are together, then it means that x is then tens
value, and y is the ones value.
A - Arepeggiation
This causes the note to flutter between the original note, and
in halfstep increments of x + y.
B - Slide Up
This causes the pitch to slide up at xy speed.
C - Slide Down
This causes the pitch to slide down at xy speed.
D - Slide To Note
This causes the pitch to slide towards the note as xy speed.
E - Vibrato
This causes the note to become vibrato, with x as the speed,
and y is the vibrato depth.
F - Slide to Note + Volume Slide
Slides to a note, while the volume is also sliding. If X is
specified, then x will be the speed that the volume will slide
up. If Y is specified, then y will be the speed that the
volume will slide down.
G - Vibrato + Volume Slide
This causes the note to have a vibrato effect while the volume
is sliding. X is the speed to slide the volume up while y is
the speed to slide the volume down.
H - Tremolo
This causes the volume of the note to tremor. X is the speed
of the tremor, and y is it's depth.
I - Not In Use
J - Set Sample Offset
This effect allows the user to play a sample from a specified
byte in the sample length. To compute the byte to start at,
multiply xy * 256.
K - Volume Slide
This causes the volume to slide up or down. X is the up
speed, and y is the down speed.
L - Position Jump
This effect will make the song immediately jump to the pattern
specified in xy (hexadecimal)
M - Set Volume
This cause the note to be played at the volume xy.
N - Pattern Break
This causes the current pattern to stop, and jumps to the next
pattern in the module.
O - Other Option
P - Set Speed
This effect will set the speed of the whole song using the xy
value. The lower the number, the faster.
Setting the Notes Effect Numbers
Each effect has two numbers used to determine certain
characteristics of that effect when it is played. The two
small pop up menus at the bottom right of the screen are the
effect numbers. The right menu is the ones field, while the
left menu is the tens field. To change the effect numbers of
notes to be entered, select the effect numbers that you want
from the two effect number pop up menus. From now on, all
notes that you enter will have that effect number, until you
change it.
Moving Through the Music
To move through the music, you will use the 4 bottom left
icons. The first icon, "BOF", stands for Beginning of File,
which will bring you to first page in your music composition.
The second icon is a left arrow, which will move you one page
backwards. The third icon is a right arrow, which will move
you one page forwards. The fourth icon, "EOF", stands for End
Of File, and will move you to the last page that you have
composed. When you use the right arrow icon to move to the
next page, the program will automatically search the previous
page and fill in rest where they are required, so you do not
have to do it yourself, likewise with EOF.
Setting the I-Beam
To set the I-beam, just place the mouse button in the position
and track that you wish to place the beam in. Now, press and
release the right mouse button. An I-Beam should know appear
in the position that you have selected. The following chapter
explains how to use the I-beam.
Hilighting Music
To hilight music, place the mouse either to the left or right
of the note or notes in the track that you would like to
hilight, and press and hold the right mouse. Now move the
mouse either left or right until all of the notes that you
would like to hilight are hilighted. To unhilight a note or
notes, just click, press, and release the right mouse button
anywhere on any of the staffs. The following chapter explains
how to use the hilight beam.
Changing the Effect & Effect Numbers of a Note Already Entered.
To change the effect & effect numbers of a note already
entered, just hilight the note, or notes, and change the
effect pop up menus to the desired effect and effect numbers.
All of the hilighted notes will then be set to the new effect
values. Once you unhilight the notes, the pop up menus will
return back to their original state before the last operation
occurred.
Making a Note Already Entered Sharp, Flat, Or Natural
To change the offset of a note that has already been entered,
just hilight the note, or notes, and change the offset pop up
menu to the desired offset. All of the hilighted notes will
then be set to the new offset values. Once you unhilight the
notes, the offset pop up menu will return back to it's
original state before the last operation occurred.
Changing the Sample Number of A Note Already Entered
To change the sample number of a note that has already been
entered, just hilight the note or notes, the do the following.
Select "Set Current" from the Sample menu. Then select the
new sample number from the sample list. All the notes that
you have hilighted will then be set to the new sample that you
have selected.
Chapter 8
Menu Functions
File
Load
This function is used for loading modules into Kingmod. The
function works for normal modules and KingMod format modules.
Any module that is currently in memory will be deleted.
New
This function removes the current module, including the
samples from memory, so you can start a new module.
Save
This function saves the current module that is in memory. It
will only save the module in KingMod format.
File Settings
This function allows the user to configure how the non KingMod
modules will be loaded into the KingMod editor. When
selected, a window will pop up with two pop up menus and two
buttons. The first pop up menu is used to determine whether
notes will be read in as flats or sharps. When set to Sharps,
all notes that are not natural will be read in a Sharps, and
visa vera for flats. The second pop up menu is used to
determine how to optimize the module as it reads it in. If it
is set to 0, then every note will be read in as a thirty-
second note. If it is set to 2, the KingMod will attempt to
combine any thirty-second notes that are next to rest. When
set to 1/32, then KingMod will fully optimize all modules that
are read into the editor. I recommend that you leave this
setting at 1/32. Both of these options have no effect on
modules that are already in the KingMod format.
Environment
This function brings up a window with the following text
windows; Swap Directory; Module Directory; Sample Directory;
Module extension; and Sample Extension. These text boxes
designate where all of the files will be stored, and what
their extensions will be. The Swap Directory is where the
program will place it's temporary swap files (if you make this
directory a RAM Disk, then the performance of KingMod will
increase dramatically). The module directory is where all of
your modules are located. The sample directory is where all
of your samples are located. The Module and Sample extensions
are the DOS extensions that you normally associate with your
modules and samples, for example *.mod & *.sam.
HotKeys
This function brings up a window displaying all the different
hotkeys. Hotkeys are basically shortcuts. You can press a
key to perform a certain function instead of choosing it from
the menu. The hotkeys are
L - Load Module
N - New Module
S - Save Module
V - Cut
C - Copy
P - Paste
X - Clear
A - Brings up the Sample Selection Window
1..9 - Set Current Sample
F1 - Play Current Module
F2 - Play Disk Module
F3 - Play Current Pattern
F4 - Play Track
F5 - Play Hilighted Selection
F6 - Play Sample
About
This function brings up the opening credit window, which
displays the name, authors name, and author of module playing
routines.
Quit
Quit leaves KingMod, and any module that is presently in
memory is erased.
Display Memory
This function is only temporary. I have included it just
incase somebody has problems while using KingMod. It should
always say 107648, but if it doesn't, something is not right.
Edit
Cut
This function copies any notes that are presently hilighted,
and places them into the clipboard. Then, it deletes all the
notes that are hilighted.
Copy
This function copies any notes that are presently hilighted,
and places them into the clipboard.
Paste
This function places any notes that are in the clipboard at
the position that the I Beam is located.
Clear
This function deletes all of the notes that are presently
hilighted.
Transpose
This function brings up a window with two pop up windows, and
two buttons. The first pop up window specifies how many
octaves you want to transpose the hilighted notes. The second
pop up menu specifies how may half-steps you want to transpose
the hilighted notes. If you have entered this function, but
do not want to transpose anything, just hit the cancel button,
otherwise, hit the done button.
Key Signature
This function allows you to set the key signature for the
song. When selected, a window will pop up with 2 pop up menu
bars. The first menu specifies how many sharps the song will
have. The second menu specifies how many flats the song will
have. You cannot have both flats and sharps in the same key
signature. Once you have set they key signature, from then
on the computer will automatically sharpen or flatten all the
notes in the keysignature that you enter that you enter.
Goto Page
This function allows you to specify a page to go to. When
selected, a window will appear with a text box and two
buttons. Enter the page number (must be greater than 0 and
less than 129) then press Done. KingMod will automatically go
to that page, or if the page doesn't exists, it will go to the
end of the file. If you have entered this function but decide
not to use it, just press cancel
Sound
Play Current Mod
This function will play the mod that is currently in the
editor.
Play Disk Module
This function will bring up the File and Directory menu, and
allow you to select a module to play.
Play Pattern
This functions will play the current pattern of the current
module in the editor.
Play Track
This function allows you to play a single track from the
module. When selected, a window will pop up with five
buttons. The buttons say Track 1, Track 2, Track 3, Track 4,
and Cancel. Press the button that corresponds to the track
that you would like to hear, otherwise press cancel to
discontinue the process.
Play HiLighted
This function will play all of the notes that are presently
hilighted.
Playback Settings.
This function allows you to configure the playback settings,
including the sampling speed, output device, and track volume.
When selected, a window will pop up with 3 pop up menus, 4
scroll bars, and 2 buttons.
The first pop up menu is used to control the device
speed. By changing the value, you can modify the sound
quality through the output device. The larger the number, the
greater the sound quality. When you are using a Sound Blaster
card, you do not have to set the device speed to a very high
value (usually between 10,000 and 15,000). When you are using
the PC speaker as the output device, you should set the device
speed as high a possible, without locking up the program (On
my 15 Megahertz 286 I have set the speed to 20,000. On my 50
Megahertz 486, I have set the speed to 25,000). The higher
the device speed, the slower KingMod will run while playing
music.
The second pop up menu is used to set the output device.
It is quite simple. You just set it to the output device that
you have on you computer. If you do not have a sound card,
you can set it to output through your internal PC speaker.
The third pop up menu is used to control the order in
which the module will be played. If it is set to Continuous
play, when KingMod has reached the end of the song, it will
start playing the song from the beginning again. If it is set
to Play Once, then KingMod will stop the module as soon as it
has reached the modules end.
The four scroll bars are used to set the volume of each
track. You can change the volume of any track anytime, even
as a module is playing. However, it will not take effect
until you hit the done button.
Stop Module
This function will stop any module that is currently playing.
If no module is currently playing, nothing will happen.
Sample
Set Current
This function sets the default sample. The default sample is
the sample that any notes entered into the module will be set
to. Also, if any notes are hilighted, their associated sample
will be set to the newly selected default sample. When
selected, a window called the sample selection window will pop
up. Just select the sample that you would like to be the
default and press the done button, otherwise press cancel.
Load Sample
This function allows you to load a sample into the module.
When selected, the sample selection window will appear. You
must first choose a sample number that you want to load the
sample into. If there is already a sample in the field you
choose, that sample will be deleted first. Next, press the
done button. The sample will then be loaded. It's name will
be it's filename, it's volume will be set to 64, and both it's
repeat point and repeat length will be set to zero. If you
entered the load sample function, but did not wish to
continue, just hit the cancel button.
Save Sample
This function allows you to save a sample that is in a module.
When selected, the sample selection window will appear.
First, you must choose the sample that you would like to save.
The press the done button. The file and directory will then
pop up, and you can then enter the filename of the sample you
want to save. If at any time you want to cancel, just hit the
cancel button.
Edit Sample
This function allows you to edit the attributes of a sample.
When selected, the sample selection window will appear. You
must first choose the sample that you wish to edit. Then hit
the done button. A window will appear with the following
information: Sample Name, Sample Length, Sample Volume, Repeat
Point, Repeat Length, Tuning, Fine Tune, and color. The
Tuning and Fine Tune fields are non functional at this point
(I could not get the module player to respond to these
fields). The sample name can be up to 22 characters. The
sample volume must be in a range between 1 and 64. The repeat
point should not be greater than the sample length. The
repeat length + repeat point should not be greater than the
sample length. To choose the color, just place the mouse over
the color you want to select, and the color should appear in
the color bar below.
Remove Sample
This function allows you to remove a sample that is currently
in the module. When selected, the sample selection window
will appear. You should then select the sample you would like
to delete and press the done button. Otherwise, press the
cancel button.
Play Sample
This function allows you to play a sample that is in the
current module. When selected, the sample selection window
will appear. First, you should select the sample that you
would like to play. Next press the done button. You will
hear the note played, and another window will pop up with the
following four buttons: Higher, Lower, Done, and Play. If you
would like to hear the note played again, press the play
button. If you would like to hear the note played higher,
press the higher button. If you want to hear the note played
lower, press the lower button. Each time the note is
incremented or decremented one half step. When you are done,
just press the done button.
Song
Name
This function allows you to change the name of the song. When
selected a window will appear with a text box, and two
buttons. Type in the name, up to 20 characters, and press
done. Otherwise press cancel.
Chapter Nine
Error Messages
This chapter is devoted to error messages. This chapter will
included every error message that might appear on your screen. It
shall explain what might have caused this error message to appear.
And, it shall attempt to explain how to overcome or fix the
problem. This first set of error message will appear from within
the editor in the error message window.
'Not enough free XMS, you must use swap files'
This error message appear when your system has extended
memory, but not enough for KingMod to use. To fix this, you
can either remove any other memory resident programs that
might already be using the extended memory, or you can buy
more memory (it's really cheap now).
'Out of memory'
This error occurs when you run out of standard RAM. Try
removing as many of the memory resident programs as possible,
and also try loading DOS into High Memory.
'Not Enough Room To Insert That Note'
This error message will appear if you have reached the maximum
number of notes allowed in a certain track. The maximum
number of notes in one track is 4096, but that is if every
note is a thirty second note. To figure out how much room you
have left, just go to the end of the file, and see how many
pages are left.
'Out of Memory Reading Module, Mod is Probably Corrupt'
This error message occurs when it is trying to read in a
module. The module that you are reading in is not in the
standard module format. To fix this, you will have to load
the module into another module editor that can save modules
into the standard format, then try to load it back into
KingMod.
'Error Reading Module'
This error occurs when trying to read in a module. Either the
module is corrupt, or it is not in the standard module format.
Follow the same instruction given in the previous error
message for loading non-standard modules.
'Warning!!! Can Only Read In First 64 Patterns'
This error occurs will occur within standard modules that make
calls to more than 64 different patterns. Although this is
legal within the standard module format, KingMod does not
support it. If this error occurs, only the first 64 patterns
will be read in.
'File Not Found'
This error occurs when you have specified a file that KingMod
cannot find. Make sure that you are specifying the correct
drive and path when entering filenames.
'File does not exist'
This error occurs when you have specified a file that KingMod
cannot find. Make sure that you are specifying the correct
drive and path when entering filenames.
'Not a mod'
This error occurs when KingMod is reading in a module that
does not appear to be a module. However, if the module is in
a format not supported by KingMod, just load it into another
module editor that supports that format, save it, then reload
it into KingMod.
'Error Saving Module'
This error occurs when trying to save a module to the disk.
This usually occurs when the disk is full. Make sure that the
disk has enough room to save the file before hand.
'Nothing to Copy!!!'
This error occurs when you select copy from the edit menu, but
have not hilighted anything yet. Make sure that you have
hilighted something before you select this option.
'Nothing in the clipboard to paste'
This error occurs when you select paste from the edit menu,
but you have not placed anything into the clipboard yet. To
place something into the clipboard you must either copy or
cut.
'The cursor has not been set'
This error occurs when you attempt to place something without
placing the I Beam. First place the I Beam where you want to
paste the text, then select paste.
'You have not hilighted anything'
This error occurs when you attempt to cut or copy something,
but you have not hilighting anything yet. Make sure that you
are hilighting something before you attempt to cut or copy.
'New Swap Directory Will Not Take Place Until You Reload KingMod'
This is really not an error, but just a warning message. This
occurs when you change the swap directory. It just means that
you will have to quit then reload before you can use the new
swap directory.
'Missing the Configuration File.Creating new one.'
This error occurs when KingMod cannot find your configuration
file. When this happens, it has to create a new one. To
prevent this from happening, make sure that you do not delete
any files within the KingMod directory with the extension
"cfg".
'You have enter an invalid number'
This error occurs when you have entered a value within a text
box that is not a number. Make sure that you enter numbers
where specified.
'The Number must be greater than 0 and less than 31'
This error occurs when you enter a number that does not fit
within the specified range. Make sure to enter numbers that
reside within the range.
'Number must be greater than 0, and less the number of pages'
This error occurs when you are using the Goto Page command,
and enter a number that is either less than 0 or greater than
the number of pages. Make sure that you enter in a number
that reside within the specified range.
'Already playing'
This error message might appear if you try to play a module
that is already in the process of being played. To play the
module, first select Stop Module from the music menu, the try
to play the module.
'You cannot have both flats and sharps in the key signature'
This error occurs when you have tried to give a song both a
sharp and flat key signature from within the key signature
menu. Make sure that you only set one of the two key
signatures.
'You are at the last sheet'
This error occurs when you hit the right icon, and are already
at the last page in the document. (page 128).
'You are at the first sheet'
This error occurs when you hit the left icon, and are already
at the first page in the document (page 1).
This next section contains error messages that will appear if
KingMod crashes on you, and drops back to DOS. These error
messages will appear in the following format:
"Run-time error nnn at xxxx:yyyy"
The only part of the error message that you need to worry
about is the nnn section.
"Runtime Error 2"
This error message will occur if KingMod cannot locate a file.
If this error message occurs, please contact the author and
explain what happened.
"Runtime Error 3"
This error message will occur if KingMod cannot locate a path.
If this message occurs, please contact the author and explain
what happened.
"Runtime Error 4"
This error message will occur if KingMod has attempted to open
more files that you have set up your system to handle. Make
sure that your config.sys allows up to 15 open files. (You
must have a line in you config.sys that says "files=15". The
number does not have to be 15, it can be greater.)
"Runtime Error 5"
This error will most likely occur if your computer runs out of
hard-disk space. Make sure that you have enough free hard-
disk space. If the error still occurs after making room on
your hard-drive, please contact the author.
"Runtime Error 100" Through "Runtime Error 214"
Please contact the author if any of these error messages
occurs, and explain what happened.
Chapter Ten
Getting In Touch With The Author
KingMod is the first release of what I hope will become a line of
many releases. However, I do not think that this can happen
without input from all of the end-users. I happily welcome
comments, questions, suggestions for improvements, and criticism.
Well not happily for the last one, but everything needs a little.
To contact me you can either send a letter to me in the United
States at the following address:
Christopher E. Kingsbury
9013 Penn Manor Ct.
Springfield VA, 22153
U.S.A.
Or you can mail me via E-Mail, I log onto my Internet address about
once a day, and Prodigy about twice a week.
Internet Address
6167AQ@GMUVAX.GMU.EDU
or
CKINGSBU@MASON1.GMU.EDU
Prodigy
BKDP83A
I read all of my mail, so go ahead and write me. I should
hopefully have the Internet address until the end of August or
beginning of September. If you cannot reach me at the above
address, try the second internet address.
Nevertheless, sending me a letter through the mail is sure to make
it to me.
Chapter Eleven
Possible Improvements for the Next Release
In not to long from now, that is January 19, 1992, I would like to
start working on the next release. Yet, I do not want to start
working on it until I know what most of the bugs are, what should
be improved, what should be removed, and what you would like added.
Below is a small list of what I think will be included in the next
minor release of KingMod:
- Bugs Fixed
- Optimize some of the functions
- Module Player that does not use hard drive
- Better error protection and more complete messages
- Online Help
- Better documentation
- Printing of Modules into sheet music
This next list contains some items and design implementations that
I think could be added to the next major implementation of KingMod
- Implementation under Microsoft Windows!!!
- Making the editor look more like music!!!
- Support for more module formats
- Support for MIDI input/output
- Support for more sound cards
- New module format, that could hold more samples,
patterns, and play more tracks.
- UNIX compatible version, for X Windows.
If have any other suggestions or ideas that you think belong on
this list, I would like to hear from you.