@Database "MIDI Filer"
$VER: MIDIFilter Docs V1.2 - By Fabio Rotondo.
@node "Main" "MIDIFilter Documentation Index"
MIDI Filter V1.2 - By Fabio Rotondo.
General Infos:
@{" " Link "ATTENZIONE"} Warning!
@{" " Link "INTRODUZIONE"} Introduction.
@{" " Link "COMELEGGERE"} How To Read This Manual.
Documentation:
@{" " Link "MIDI FILTER"} MIDI Filter.
@{" " Link "Main Window"} Main Window.
@{" " Link "Convert"} Convert.
@{" " Link "PC Editor"} PC Editor.
@{" " Link "Names Ed."} Names Ed.
@{" " Link "About"} About.
Tech Infos:
@{" " Link "Convert Info"} Convert Info.
@{" " Link "GSNames.Tbl"} GSNames.Tbl
@{" " Link "Table.Tbl"} Table.Tbl
@{" " Link "Table.Nms"} Table.Nms
@{" " Link "Info"} Infos.
@EndNode
@Node "Info" "Infos About MIDI Filter"
MIDI Filter - Written By Fabio Rotondo.
This program is FreeWare and you can share it without any limit, but you have
to share the original ".Lha" file.
Greetings and Thanx to:
Stefano Clemente: for MIDI documentation.
Jan van der Baard: author of GadToolsBox, which I used to create these
GUIs.
Commando Unlimited: For his original Ideas.
Silfrat: For his great pics.
Kronos The Wiz: For being the best coder I know (second to me ;)
If you wanna contact me, write to:
Fabio Rotondo
C.so Vercelli 9
28100 Novara
Tel.0321 - 459676
e-mail: fsoft@intercom.it
@EndNode
@Node "Attenzione" "WARNING"
WARNING!
--------
Use this program at your own risk. The author could not be intended guilty for
any damage caused by the use of this program on your OS or for data loss.
UPDATE INFOS --- UPDATE INFOS --- UPDATE INFOS --- UPDATE INFOS --- UPDATE INFO
This doc has been "updated" to describe the new functions. It has not been
completely rewritten because the new functions are few. Every time a new
function will be described the sign "UPDATE INFO..." will appear.
UPDATE INFOS --- UPDATE INFOS --- UPDATE INFOS --- UPDATE INFOS --- UPDATE INFO
@EndNode
@Node "Introduzione" "Introduction"
INTRODUCTION:
-------------
MIDI Filter is a Program Change (PC) converter from standard GS/GM format to
your own synth one. Many MIDI instruments, even they are great (such as my
Roland JV-80 keyboard or my Yamaha TG-500 expander) do not respect instrument
disposition of GM/GS standard.
MIDI Filter is born to help everyone who does not have a GS/GM instrument, but
desires anyway to use thousands of MIDI bases which are present in PD.
@EndNode
@Node "COMELEGGERE" "How To Read This Manual"
HOW TO READ THIS MANUAL:
------------------------
This doc is mainly divided into two parts: first one describes the use of MIDI
Filter to the user, the second one is a more techy section for the professional
user who desires to know deeply all convertion operations used by MIDI Filter.
@EndNode
@Node "Midi Filter" "Midi Filter"
MIDI FILTER:
------------
Once loaded, MIDI Filter will pop up a window, @{" Main Window " LINK "Main Window"},
from where you should define main operations.
Keep in mind that, once loaded, MIDI Filter will scan current dir to find these
files:
* @{"GSNames.Tbl" Link "GSNames.Tbl"} - It is an ASCII table will all 128 names of GS/GM MIDI
instruments. This file is given with MIDI Filter and should
not be modified.
* @{"Table.Tbl" Link "Table.Tbl"} - It is a conversion table from GS/GM created with MIDI
Filter. It holds all links between GS/GM PC and your
synth. The table given with MIDI Filter has been edited
to convert files for Roland JV-80.
* @{"Table.Nms" Link "Table.Nms"} - It is a table containing all instruments name
of your sinth. The one given with MIDI Filter conatins all
A and B Banks of a standard Roland JV-80.
Actually, you only NEED the first: @{"GSNames.Tbl" Link "GSNames.Tbl"}.
If you do not have this file, maybe MIDI Filter will not work properely. Even
if this file is mainly for user reference, many operations may be too difficult
if you do not have @{"GSNames.Tbl" Link "GSNames.Tbl"}.
@EndNode
@Node "Main Window" "Main Window"
MAIN WINDOW:
------------
From main window, you can choose one of these operations:
* @{"PC Editor" Link "PC Editor"} - Program Changes Editor.
* @{"Names Ed." Link "Names Ed."} - Instruments Name Editor of your MIDI Synth.
* @{"About" Link "About"} - To read an About Message.
But now we have to examin main window main panel.
It is divided into some parts, bigger one contains some infos reguarding MIDI
base tracks which we are currently converting, track name, PC value and
corresponding GS/GM instrument name. In the next line we can see MIDI format
used by the file, new PC inserted by MIDI Filter and the name of the instrument
used for the convertion.
In the lower part we find gadget @{"Convert" Link "Convert"} to actually convert a file.
@EndNode
@Node "Convert" "Convert"
CONVERT:
--------
Before pressing Convert, we should have loaded into memory a MIDI base. To do
so, simply press "Load" gadget. Once pressed, select by File Request desired
file you wish to convert and press OK.
Now you can press "Convert" and the convertion will begin. Once ended, press
"Save", select destination name by File Requester and the converted MIDI file
will be saved where you wish.
@EndNode
@Node "PC Editor" "Program Change Editor"
PC EDITOR:
----------
This editor is mainly divided into two parts: "Original GS", which contains
original GS instrument names and "New SetUp", which contains names of your MIDI
synthetizer.
Under "Original GS" and "New SetUp" you should see corresponding PC. To set a
PC inside the table, operations to do are really simple: select inside
"Original GS" the instrument you want to convert. Then select inside "New
SetUp" the new instrument which will replace the original one and press the
"OK" gadget between "Original GS" and "New SetUp".
Please, not that, if a convertion table is already present, each time you press
on an instrument inside "Original GS", inside "Name:" you will see the name of
the istrument intended to replace the original one during convertion.
EXAMPLE: "ChrcOrgan" (GS/GM) --> "PipeOrgan1" (Roland JV-80)
* Press "ChrcOrgan" inside "Original GS": "Orig.PC" will be 19.
* Press "PipeOrgan1" inside "New SetUp" : "New.PC" will be 24.
* Press "OK"
NOTE: Always press "OK" each time a new instrument is selected for convertion,
or new settings will not be saved.
With "SAVE" gadget you can save convertion table onto disk.
UPDATE INFOS --- UPDATE INFOS --- UPDATE INFOS --- UPDATE INFOS --- UPDATE INFO
From MIDI Filter V1.1 also "Original GS" and "New SetUp" are gadgets. By
pressing them you can load a new name list to change the actual one.
UPDATE INFOS --- UPDATE INFOS --- UPDATE INFOS --- UPDATE INFOS --- UPDATE INFO
@EndNode
@Node "Names Ed." "Names Editor"
NAMES ED.:
----------
In this section is posible to memorize your synth names (@{"Table.Nms" Link "Table.Nms"} table).
"Instrument #" values change from 0 to 127. They hold all possible 128 GS/GM
instrument range. To memorize a name, you just have to write the name inside
the string gadget (max. 12 chars). With "Prev" and "Next" gadgets you can
insert/modify all names in the list. If you wish to save the list created,
just press "Save" gadget.
@EndNode
@Node "About" "About"
ABOUT:
------
It shows some infos about MIDI Filter. To close the window you just have to
press the "Thanx!" gadget.
@EndNode
@Node "Convert Info" "Convert Infos"
CONVERT INFO:
-------------
MIDI Filter works with all MIDI file in memory to speed-up searching
operations. Parsing is done following standard MIDI file format description
and it should completely compatible with future format versions.
Once selected the file, MIDI Filter will alloc dynamically a memory area to
store the file, then it reads the file in RAW mode and store it inside the
allocated memory area. From here, with optimized search/replace routines, the
file is converted.
Concectually, convertion criteria is very simple: to each GS/GM instrument
*SHOULD* exist one inside your MIDI synth. Unique correspondance between
GS/GM-->Your Synth is created by the Convertion Table @{"Table.Tbl" Link "Table.Tbl"}.
@EndNode
@Node "GSNames.Tbl" "GSNames.Tbl Table"
GSNAMES.TBL:
------------
It is a very simple ASCII file of 128 lines containing ordered GS/GM
instruments names. File is fully editable, but names MUST be max 12 chars.
@EndNode
@Node "Table.Tbl" "Table.Tbl Table"
TABLE.TBL:
----------
It is an ASCII file created by @{"PC Editor" Link "PC Editor"}.
It holds all new PC values. You should also modify by hand values inside this
file, but you _*SHOULD*_ know perfectly what you are doing. We suggest the use
of "PC Editor".
@EndNode
@Node "Table.Nms" "Table.Nms Table"
TABLE.NMS:
----------
It is an ASCII file created by @{"Names Ed." Link "Names Ed."}.
It holds all instruments name of your Synth. Names MUST be max 12 chars. You
can edit it with a text editor.
@EndNode