home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Spezial
/
SPEZIAL2_97.zip
/
SPEZIAL2_97.iso
/
ANWEND
/
MULTIMED
/
MIDIDB12
/
mididb.doc
< prev
next >
Wrap
Text File
|
1997-09-13
|
29KB
|
711 lines
MIDI DB 1.0 User Guide
(C)1997 Cornel Huth
---------------------------------------------------------------------
Overview
---------------------------------------------------------------------
MIDI DB is a MIDI player and database for MPU-401 devices. Features
include the ability to modify patches used on a per-track basis, and
support for up to four devices which may be used simultaneously. In
short, the Ultimate MIDI Player for OS/2.
This User Guide steps you through installation and basic use, covering
the following:
I. Basic Setup
A. Stage 1
B. State 2
II. Basic Use
A. Introduction to MIDI DB Panels
B. Add, Update and Play from the Database Panel
C. Play from the Main Panel
III. Advanced Use
A. Modify Track Playback
B. Assign MIDI Port to Device
C. Switches
D. Error codes
IV. Tips and Q & A, including how to order
To make use of this guide, load it into any standard text editor and
search on words, error codes, etc., as needed. It's best to read it
all the way through at least once before using MIDI DB, and before
requesting support. See the README file for new information.
---------------------------------------------------------------------
Basic Setup
---------------------------------------------------------------------
Stage 1:
1. Unzip the package to any empty directory
2. Copy PARADISE.SYS to your boot drive's root directory
3. Edit config.sys by adding the following line:
DEVICE=PARADISE.SYS
4. Move mididb.exe to a directory in PATH
5. Create a program object for mididb.exe (optional)
6. Create a directory for your MIDI DB files
7. If you are using Warp 3 and your clock01.sys driver is smaller
than 3800 bytes, or if the paradise driver does not install, do
the following:
A. Rename your current clock01.sys to clock01.org
B. Copy clock01.sys included with MIDI DB to your boot's root
This should not be necessary on Warp 4 GA since it ships with
the same clock01.sys as provided with MIDI DB. Note: your current
clock01.sys may be in a directory other than root. If you have
any trouble installing, contact support for dealing with specific
problems.
7. Reboot
If you do not do all steps in stage 1 you most likely will get error 110
when you attempt to run MIDI DB.
Stage 2:
1. Start mididb.exe
2. Enter the path to the directory you created above for both index
and data files: include the drive and full pathname, for example:
e:/mdb/
3. For each MPU-401 device you have, enter its name and base port,
for example:
DB50XG 330
The base port address is hex, and must be above 100 for it to be
used.
4. Press Done.
5. The main MIDI DB panel appears, with a message box asking if you
want to create the database files since they were not found.
Select Yes.
6 Another message box pops up asking if want to reset all MPU devices
to UART mode -- select Yes unless you have a reason not to.
7. At this point MIDI DB is ready to use once you read the
following documentation.
---------------------------------------------------------------------
Basic Use
---------------------------------------------------------------------
Introduction to MIDI DB Panels
------------------------------
The Main Panel ("MIDI DB" titlebar text) is typically used to
control play of songs stored in the database.
The Database Panel (MIDI DB Database) is used to add to and update the
database. You may also play from here.
The Selection Panel (MIDI DB Selection) is used to create filters on
which the Main Panel uses to select which songs in the database are
to be played.
The Main and Database panels also have dialog windows which are used
to perform specific tasks:
The Configuration Panel lets you locate the MIDI DB data files and
configure MIDI DB to your MIDI playback devices.
The About Panel tells you the version of MIDI DB running.
From the Database Panel you have Song Lyrics and Notes dialogs, which
let you paste in lyrics or notes, and additional dialogs for the
advanced user which are used to:
- modify which instruments are to be used (Track Mapper)
- select to which device output is sent (Port->Dev Mapper)
- view system exclusive messages (SysEx View)
You may also export to disk any SMF in the database.
Add, Update and Play From the Database Panel
--------------------------------------------
1. Press DATABASE in the To Window box of the Main Panel: this
brings up the MIDI DB Database window.
2. Press CLEAR in the Song Detail box.
3. Enter a song title for an SMF you want to add in the TITLE entry
field, for example:
Test Song
4. Press ADD THIS in the Song Detail box.
5. Press the ADD NEW button in the SMF Control box to bring up a
standard File Open dialog.
6. Select any valid SMF, for example testsong.mid (included), to
have it parsed and stored into the database -- the original SMF
is no longer needed and may be archived away; all further song
play is done from the compressed image of the SMF stored in the
database.
7. Press PLAY to audition the SMF -- during play you may update the
Song Detail info by returning to TITLE and other song fields to
enter more information about the song (press UPDATE to make the
change).
NOTE: See Q & A #1, in the Q & A section at the end, for the
reason the song ends when it does.
8. If the SMF is not what you want, press DELETE SMF in the Database
Control box -- go to step 5, above, to select another SMF for this
song entry.
9. If the SMF is wanted you may proceed and add more songs/SMFs in
a similar manner (go to step 2).
NOTE: If you find an SMF unsuitable but have already made a Song
entry for it, simply overwrite the current Song Detail info with a
new song, press UPDATE, and go to step 5.
10. Any field that is displayed in green is a field that may be edited/
updated with valid data, as shown below:
Title/Artist/Album: each up to 62 characters (case insensitive)
Year: 1776 and later
Category/Xtra: each up to 12 characters
Prefer: number of your preferred SMF (none,1-6)
And in the SMF Detail box (each SMF has its own grade, play mode):
Grade: A to Z
Play Mode: GM, GS, or XG (or none)
11. Any field named in red (Title, Artist, Album, Year, Category, Xtra,
and Grade) may be used as an orderBy key -- for example:
title
title+year
year+title
grade+year+title+... (any combination is allowed)
are each a valid "Order By" key expression. To enter: press the
NEW ORDER button in the Database Control box, enter the Order By
key expression, then press the TAB key (a reindex takes place
immediately after you press TAB if you entered a valid Order By
expression, and does nothing except delete the current index if
invalid).
For now, enter
title
(press NEW ORDER, enter title, then press TAB key)
From here on, the order used will be by song title, whenever key
access is used by MIDI DB.
Before moving on, add a few more songs and SMFs to the database
(go to step 2). Up to 6 SMFs may be added per song (try it). Of
course it's expected that the SMFs are simply different versions
of the -same- song, not different songs.
To use no index (and to delete any existing one), clear out the
OrderBy entry field (remove all characters and spaces) and press
TAB.
Play From the Main Panel
------------------------
1. Go to the Selection Panel by pushing the SELECTION button on the
main panel. At the Selection Panel, push the KEY button in the
Current Order box. Press SET.
2. Press PLAY. Any song matching the selection criteria in the
Selection Panel is played. Since no selection criteria has been
specified yet, all songs in the database are played, one after
the other, in the current order (title), automatically.
NOTE: If no song has yet been played and you press PLAY and
error 10505 pops up: Press STOP, then NEXT, then PLAY. This
typically won't happen.
3. To stop play press STOP.
4. When not playing you may use NEXT to locate to the next song
(go to step 2, above) or control-NEXT to locate to the previous
song.
NOTE: You must use the -left- Control key, or either SHIFT key.
5. To play in reverse order use control-PLAY.
6. In some cases it may be necessary to reset the UARTs even after
MIDI DB has started (some other software may have changed the
device since started), so press the RESET MPU button if MIDI DB
appears to not work. Normally the Paradise driver detects and
corrects this automatically.
7. In some cases it may be necessary to reset the clock source after
play has started. This is especially needed if you start up a
DOS or Windows program, some of which will alter the clock used
by MIDI DB. Press the RESET TIMER button to restore proper tempo.
You can tell you need to push Reset Timer when the tempo slows
down dramatically.
NOTE: Some DOS and Windows programs will not start up unless they
can access the clock. If this happens you will need to STOP
MIDI DB playback (just press STOP); once the DOS/Windows program
has finished loading you can restart play.
Note: The "clock source" is not a clock per se, but the device
(called a timer) that MIDI DB uses to play notes in perfect time.
8. Check REPEAT if you want to continually play the current selection.
9. Play selection is based on the criteria you specify in the
Selection panel, and only if the filters are active (Filter check
boxes checked) -- see the Tips section, below, for more. By
default no filters are active, hence all songs will play.
Be sure to check the OrderBy mode in the Selection Panel. The
index is used only if it is in Key or Flagged modes.
---------------------------------------------------------------------
Advanced Use
---------------------------------------------------------------------
Modify Track Playback
---------------------
1. Select a Song by using the Song controls in the Database Control
box. To find a particular song in key order (Order By must have
a valid expression in it), press CLEAR, then enter the first couple
of letters of the song's title you want to find into the Title
field and press FIND; the nearest match is shown and made ready.
NOTE: The song currently playing from the Main Panel is not affected
by the actions you do in the Database Panel.
2. Press TRACK MAPPER.
3. You can alter the following fields, for any or all tracks:
MIDI port: 1 to 16, 0 to disable track (see Port->Dev Mapper)
Track Name: use any text, up to 16 characters
MSB/LSB/Pgm: change as needed (MSB/LSB=0 to 127, Pgm=1 to 128)
Velocity Pct: 100% is unity, 50% is half, 200% is twice as much
Volume Pct: 100% is unity, 50% is half, 200% is twice as much
A changed field is shown in green. To return to the original value
press the left Control key while clicking on the field (color
returns to yellow). Track name, however, keeps whatever you have
changed it to (the original value is not kept).
MSB/LSB must be 0 for GM. LSB must be 0 for GS. MSB must be 0
for XG (in most cases). Consult your MIDI device's specifications
for selecting banks (GS or XG hardware only). Bank LSB/MSB start
at 0 and go to 127.
In order to use GS banks (variations) the PLAY MODE in the Database SMF
Detail box must be GS; in order to use XG banks PLAY MODE must be XG.
Pgm is the program (often called patch) which stands for a particular
instrument to play. The first Pgm is numbered 1 and the last is 128.
See PGM.ZIP for a list of standard GM, GS, and XG programs. GM
programs are always at bank MSB=LSB=0. Drums will often not have a
program, but will use 0. 0 is the standard drum kit, as is 1.
Velocity and Volume may be adjust from 1 to 200%. MIDI DB
internally limits these values to 127. Refer to the average and
maximum values to determine a good setting for Pct.
NOTE that 100% is unity, or -no change-.
4. Press Done to accept the changes made, or Cancel to forget them.
The changes take affect the next play.
Assign Port to Device
---------------------
1. Select any song (see Modify Track Playback, step 1).
2. Press PORT > DEV MAPPER.
3. For each unique port number in the TRACK MAPPER a port number
device is available to be modified. Typically most SMFs only use
one port, port 1, but some do make use of more. You can also make
use of more very easily (see Modifiy Track Playback), and so can
direct certain tracks to different hardware devices easily, too.
If you have only one device (as set in the Configuration Panel)
then there is nothing to be done here; press Cancel.
4. To redirect a port (MIDI port, not to be confused with base port)
spin the button until the device name you want to send that port's
data to is shown. By default the first device is used for all.
5. Press Done to accept the changes, or Cancel otherwise.
The changes take affect the next play.
Switches
--------
The following switches may be used on the command line. None are
typically needed.
-config Start up configuration dialog
-noreset Do not prompt for "Reset All MPU UARTs?"
-nobeep Disable beeps
-min Start up minimized
-nosp Do not save new window positions
-nolp Do not load old window positions
-w:n n=MPU device timeout value (def=10000, max=65535)
-mad:n n=maximum autoplay wait-for-stop delay (def=50, 1=93ms)
-dupd:n n=main panel display update period (def=124, 100 to 500ms)
-dclr:n n=main panel display text color (def=5, -2 to 15)
-dpri:n n=priority of main panel display (def=2, 1 to 4)
-dfast disables main panel song name update during searches
-ini:a a=pathname to ini file, form D:/PATH/ININAME (no extension)
(default is drv:/directory/mididb.ini of mididb.exe)
-chk:n database report (records=songs in DBF, memo=SMFs in DBT)
n=1 check header
=2 check header and records
=3 check header and records (index order)
=4 check header and records and memo
=5 check header and records and memo (index order)
chk: output goes to file mididb.chk, in the same path
of mididb.exe
The database report is run at program start, before anything
else is available. It may take a while to complete if the
database is large. n=4+ also tallies total SMF bytes.
Song data is, from left to right:
Record number, Highest Grade, Preferred SMF, Last SMF Played,
Lyric/Note Flags (Y/O indicate present), Song Title, Artist,
Album, Year, Category, and Xtra
SMF data is, from left to right:
SMF Slot, Memo Number, Flagged flag, Grade, Internal Mode,
SWAG mode, Play mode, Format (0,1), Tracks, PPQN, Run time,
Size, Times Played, Last Play Date, Date Loaded, Port Map.
Data for headings "T" and "S" are not used (always ".").
Error Codes
-----------
The following error codes are used by the Paradise driver (9000 to
9099) and MIDI DB (9100+). OS/2 error codes (2 to 999) and Database
error codes (8192 to 8999) can be found in the Bullet manual, at the
MIDI DB home site at http://www.40th.com., or BBS.
EPS_DEVICE_STILL_BUSY 9001 EPS_BUFFER_ACTIVE 9018
EPS_ALREADY_INITED 9002 EPS_BUFFER_NOT_ACTIVE 9019
EPS_NOT_INITED 9003 EPS_ALREADY_REG_CLOCK 9020
EPS_INVALID_DEVID 9004 EPS_NULL_HANDLER_PTR 9021
EPS_INVALID_PORTID 9005 EPS_8254_IN_USE 9022
EPS_BUSY_DEVID 9006 EPS_8254_NOT_OWNER 9023
EPS_MPU_TIMED_OUT_DRR 9007 EPS_IRQ_IN_USE 9024
EPS_MPU_TIMED_OUT_RESET 9008 EPS_IRQ_NOT_AVAIL 9025
EPS_MPU_TIMED_OUT_RESET2 9009 EPS_IRQ_NOT_OWNER 9026
EPS_FULL_PORTID_MAPPER 9010 EPS_KEYBOARD_ACTIVE 9027
WPS_NULL_DEVID 9011 EPS_DSP_TIMED_OUT_DW 9050
WPS_NULL_PORTID 9012 EPS_DSP_TIMED_OUT_DR 9051
EPS_BAD_DATASIZE 9013 EPS_DSP_RESET_FAILED 9052
EPS_NO_CLOCK 9014 EPS_MIXER_BAD_PORT 9053
EPS_NULL_IREGXPTR 9015 EPS_INVALID_IRQ 9055
EPS_NULL_OREGXPTR 9016 EPS_INVALID_DMA 9056
EPS_CTXHOOK_FAILED 9017 EPS_UNKNOWN_MIXER 9057
EPS_PACK_CORRUPT_DATA 9101 EPS_SMF_INVALID 9121
EPS_PACK_READ_OVERRUN 9102 EPS_SMF_EOF 9122
EPS_PACK_WRITE_OVERRUN 9103 EPS_SMF_SYSEX_BAD 9123
EPS_PACK_STACK_OVERFLOW 9104 EPS_SMF_RS_BAD 9124
EPS_PACK_STACK_UNDERFLOW 9105 EPS_SMF_BOGUS 9125
EPS_PACK_UNEXPECTED_SIZE 9106
WPS_MP_WAS_PLAYING 9151 EPS_XGDSP_BAD_PORT 9253
IX3_NO_KEYEXPR 10501 SMF_FILTERED_OUT 10504
IX3_BAD_KEYEXPR 10502 SMF_NO_CURRENT_DATA 10505
SMF_DOES_NOT_EXIST 10503 SMF_ALREADY_PLAYING 10506
It's unlikely that you'll see many of these, but if you do see one it
is useful when you are reporting problems.
Error 110 probably means that you have not installed paradise.sys
correctly.
Error 10505 may occur if you press PLAY in the Main Panel but have not
yet loaded anything. Press NEXT first.
Error EPS_8254_IN_USE 9022 is a clock01.sys return code (original rc
from clock01.sys is 99) meaning that some other program is using the
clock/timer device that MIDI DB wants to use. Find and close the
offending app (probably a DOS or Windows app, or RTMIDI/timer0.sys).
There's only one 8254 device available and only one can use it any
one time. MIDI DB attempts to use it only when play starts, and then
releases it as soon as play stops.
If you have a database index error (8501 to 8599) you may want to push
the NEW ORDER button in the Database Panel and force a reindex by
editing the Order-By expression and pressing the TAB.
There is currently a maximum database size of 580MB, or about 15,000
songs (song data is stored compressed in the database). This may be
expanded in the future to 2GB if there's a need. (It's a software
change, with no other changes being needed.) You may have any number
of databases, each up to 580MB (easily selected between using the
-ini: switch).
---------------------------------------------------------------------
Tips and Q & A
---------------------------------------------------------------------
----
Tips
----
Make periodic backups of the mididb.dbf and mididb.dbt files. Run
using the -chk: switch (see Switches, above) to validate the database
before saving/archiving the backup. To backup: exit MIDI DB and
use the xcopy command to copy them to an archive location, or use
pkzip and zip them up for storage elsewhere.
When adding to the database you may find it easiest to move all *.mid
files to a common directory, and to add SMFs from there. This is not
recommened for FAT formatted drives with more than 400 files, in which
case separate directories should be used (FAT is slow in large
directories).
When entering song information for entries which are currently unknown
you may want to put in your best guess. For example, if you don't know
the album name you may prefer to put in the artist name rather than
leaving it blank. For the year enter an approximate year. This makes
it more usable when that field is used as part of the OrderBy key or
when using the field as a selection filter.
If a Song has no current lyrics (no number in the lyrics box) MIDI DB
will add lyrics of an SMF that is a valid soft-karaoke format file.
To remove a Note or Lyric, delete all text in the MLE and press Done.
If you have more than one SMF for a song enter the preferred one in
the Database panel's Prefer field, otherwise the first is played (if
no selection filters are used).
You can flag a SMF which marks that SMF for later selection matching
in the Selection Panel when Order is set to Flagged. Check the "Clear
Flag" button to have MIDI DB clear the flag after play. You can also
manually UN-flag an SMF by pressing the small Flag button in the lower-
left of the Database Panel.
After changing the selection filters press SET for them to take effect.
Also, check either or both Song Filter and SMF Filter buttons if you
want their respective filters to be used. This applies after pressing
CLEAR, too.
A wildcard can be used in text fields in the Selection Panel. For
example, using
fr*
in the Title field would match all songs that start with fr. You
can also use *xYz* to match text within a field, not just at the start.
The Current Index is modified in the Database Panel only but is used
by the Main Panel during play if the Selection Panel is set to either
Key or Flagged. Random plays songs in random order and Sequence plays
songs in the order they were added to the database. Key or flagged
order requires an index, so be sure one is in use (use New Order
button in Database Panel).
Leave a Selection Filter field blank to not consider it in the
selection process.
Dates are entered as YYYYMMDD (19970716 for 16-July-1997).
If ever you start MIDI DB but don't see it on screen, you may want to
close it (from the task list), and restart using the -nolp switch.
If MIDI DB seems to be hopelessly confused about the meaning of its
existence, delete its .ini file and restart, which also generates
a reindex (as always, when you start MIDI DB).
If you have a selection filter active and no more matches (or any)
occur, the song position pointer is at the last song (or first if
you pressed Ctrl-NEXT/PLAY). If you now press PLAY (after the
No Match status is displayed) that last (or first) song is played
regardless of whether it matches the selection criteria or not.
You may press NEXT to restart the selection processes.
The internal play mode (GM, GS, XG, etc.) of the SMF is not used if
the Play Mode field in the SMF Detail box is not blank. Instead,
whatever is in the Play Mode field is used.
The MIDI Master Volume Sysex is removed and is not sent to the device.
All SMF changes are stored with the SMF in the database, and are used
again, the next time the SMF is played, until you change them again.
This applies to all modifications made to the SMF (Port, MSB/LSB, Pgm,
Velocity/Volume change, Port->Dev, and Play Mode (GM, GS, XG)).
If a database error occurs during Selection, go to the Database panel
(if not already) and select the song that generated the error. Press
Song NEXT/PREV a couple of times, returning to the song after that.
Then press UPDATE. This should correct the error automatically.
The configuration data is used only at startup. To correctly apply
the changes made you must exit and restart MIDI DB.
-----
Q & A
-----
1. Why doesn't any song play longer than its first minute?
A. This is an evaluation version, and must be registered for full-
length song play. You can register today and have MIDI DB
playing full-length in less than 24 hours (restrictions may apply).
See _order.frm or _order.bmt for how to order.
2. Why doesn't MIDI DB work with my GUS or Soundblaster SB16/AWE32/64?
A. MIDI DB uses its own MPU-401 device driver which does not support
those two cards. Supported devices include just about all other
"wavetable MIDI" device that are MPU-401 compatible devices (not
just MPU-401 interfaces). MIDI DB does not use MMPM/2, and works
even without MMPM/2 installed. You can add a daughterboard to your
Soundblaster to get MPU-401 compatibility.
3. Why does the 8x9x Net box in the Database Panel show a number other
than 0?
A. This value is the net number of note ons and note offs for the track
with the largest deviation from 0. If this is anything but 0 the
SMF is flawed, and could result in "hanging" notes sounding.
4. What's the Mode box in the Database Panel?
A. Int mode is the detected play mode internal to the SMF (GM/GS/XG,
or none). SWAG is the likely mode for the SMF. Play mode is the
mode you specified, or by default the internal mode (or if no
internal mode, then the SWAG mode). Many GS files have been
corrupted with a GM reset, and so Int mode will show GM while SWAG
will show GS. You should change these to Play mode of GS. You can
also check the TRACK MAPPER and Sysex View for more information to
better determine what play mode should be used.
5. Can I play a file from the command line?
A. MIDI DB only plays files stored in its database. Data is stored in
compressed form, in one single database. For a command line version,
tMidi (last version 2.99) can be used. You can find this at most
OS/2 sites.
6. Is there a Win32 version planned?
A. If you would like a MIDI player than works in Windows, you may find
MidiBase to meet your requirements: http://home.pi.net/~dnote/software/,
for now. If not, wait a while...
7. What kind of support is available to those just evaluating MIDI DB?
A. Basic installation -- enough to get the driver(s) installed, but no
technical support is available except to those that have registered.
8. How long is a registration good for?
A. Support is available for the product for 1 year from the date of
purchase. After 1 year, free support for the product expires, but
you may, of course, continue to use the version you have. Free
in-version (1.x) updates are available from the web or BBS free of
charge.
Each registration is valid for use on one computer only. If you
have more than one computer on which you have put MIDI DB, you need
to buy a separate copy for each.
9. Why doesn't any song play longer than its first minute?
A. See #1, above.
---------------------------------------------------------------------
License Agreement
---------------------------------------------------------------------
Before using this software you must agree to the following:
1. You are required to have one MIDI DB license per computer that
has MIDI DB installed.
2. MIDI DB is owned by the author, Cornel Huth, and is protected by
United States copyright laws and international treaty provisions.
You are not permitted to make copies of this software except for
archival purposes.
3. You may not rent or lease MIDI DB. You may not transfer this
license without the written permission of the author. If this
software is an update or upgrade, you may not sell or give away
previous versions.
4. You may not reverse engineer, decompile, or disassemble this
software if the intent or result is to alter the software.
5. There are no expressed or implied warranties with this software.
6. All liabilities in the use of this software rest with the user.
7. U.S. Government Restricted Rights. This software is provided
with restricted rights. Use, duplication, or disclosure by the
Government is subject to restrictions as set forth in
subparagraph (c)(1)(ii) of the Rights in Technical Data and
Computer Software clause at 52.227-7013. The software is
owned by Cornel Huth/6402 Ingram Rd/San Antonio Texas
78238/USA. This agreement is governed by the laws of the
Great State of Texas, the United States of America, and all other
countries of Earth.
Any questions concerning this License Agreement should be directed
to Product Support.
Failure to comply with any part of this License Agreement may result
in license revocation.
<end>