Short:    A flexible,powerful,simple to use DATA/FILE recognition library :-)
Author:   Alexis Nasr aka The Cyborg
Uploader: thiedb@club-internet.fr
Version:  1.0
Type:     util/libs
Tested:   A1200 (OS3.1,Blizzard A1230 IV/8Mb)
Requires: Amiga OS2.04+,reqtools.library,xpkmaster.library
Date:     August 1996

The package
~~~~~~~~~~~
It contains both the user & developer docs/sources.

User will find interesting tools such as DMcontrol or ** DMlauncher **


the datamaster.library
~~~~~~~~~~~~~~~~~~~~~~

   datamaster.library is a standard Amiga Shared library.

   I had to create this library from scratch,as a 'sub-tool' for the
xpkCYB1.library I was developing:

   I needed a library providing a DATA recognition (NOT a lousy filename-based
 one ;-),and with global types of data (something like "executable","music",
etc..).After looking at the existing recognition tools,none suited my
needs:

   - datatypes.library:
               - Works only with v39 (not a problem though hehe)
               - Heavy,memory-consuming,sometimes bugged...
                 (Ok it provides much more than just recognition that's true!)
               - Does the job on >FILES<.I had to work also in >MEMORY<

   - whatis.library:
                - Hmmm.Well...I don't have the docs,just the prefsfile.It's
                a good library,with an open environment,but:
                        - It doesn't "group" the types
                        - Don't know if it can handle MEMORY (just FILES?)
                        - MATCHBYTE-like functions are powerful but limited
                          (for 'complex' formats).

   -FileID.library:
                - Arhhhh...all formats are built-in the library.(!)
                - It makes some silly/useless recognitions: nobody cares
                  recognizing a device file,or an AmigaBasic source!!! 
                - Works on MEMORY? I really don't think so.


"Ok boy now tell us how YOUR libby beats all the previous ones" :-)

* It provides 2 `filetype' checking modes:

   ->REAL `DATA checking' ("heavy" mode,but very precise).
        Whatis.library does it too,it's true,but datamaster uses external
        `recognizer's using >>REAL CODE<<.This should beat all the
        MATCHBYTE(0x44ff00..) thing I guess....And `recognizer's come out
        with a 100-200 bytes size which is not that much you'll agree!

   ->FILE `PATTERN matching',very classic,used in most the previous
   libraries of this kind before.(accuracy:so,so :-)


* An open architecture,with external `recognizer's,that can be very easily
added,removed,etc... by user. It's also very easy to create new
`recognizer's.As an example of the recognizer's flexibility,there is even a
LINK-Datatypes recognizer,that uses the datatypes.library.It's just in
case you find brand new datatypes you REALLY need,and there is no existing
recognizer (yet ;-),so you can use this 'bridge' to datatypes meanwhile.

* The recognizers are sorted by priority:recognizers that are known to be
slow/rare will have a low priority etc etc... So----->speed gain.

* Some tools or libraries recognized very precise filetypes,making a difference
between a Library & a Device files,or recognizing Amigabasic sources! Hell!
This is totally useless!!The only programs needing such a precision are...
the programs that are specific to these formats ("AmigaBasic" program etc :-)
  In the datamaster.library,the 'philosophy' is to group as much as
possible,filetypes that will lead to the same actions,the same data
treatment...That's why there is ONE PTK&Clones filetype (& not 40
separate ones handling the whole mess!).In fact it's a question of
balance...Another example:for this reason GIF,JPEG,IFF are **separated** &
not grouped in a 'GFXdata' filetype...why? simply because there are tools
like FastJPEG or FastGIF that make a better specific treatment of this filetype.
A question of balance...

* The main recognition functions are directly useable by a simple library call.


* Many support functions for the programmers.These functions are for all
kind of text/string comparisons,& were made to be used in the `recognizer's,
but they may be used as well in your own programs.


* Small & fast library (100% assembler).
(The library itself is 5Kb or so!!...then you add/remove the recognizers
YOU need).


============================= Archive contents =============================

Original  Packed Ratio    Date     Time    Name
-------- ------- ----- --------- --------  -------------
    1233     593 51.9% 14-Aug-96 22:33:28  DMlib_Release_1.0.info
    1233     593 51.9% 10-Jul-96 15:51:28 +Bin.info
    2904    1596 45.0% 14-Aug-96 19:48:52 +DMcontrol
    3872    2298 40.6% 14-Aug-96 19:48:52 +DMlauncher
    1380     556 59.7% 01-Aug-96 14:21:40 +DMlauncher.prefs
    5272    3176 39.7% 14-Aug-96 19:48:14 +datamaster.library
     188     146 22.3% 14-Aug-96 19:48:24 +ANIM-FLI
     188     143 23.9% 14-Aug-96 19:48:24 +ANIM-IFF
     188     140 25.5% 14-Aug-96 19:48:24 +ANIM-MPEG
     208     157 24.5% 14-Aug-96 19:48:26 +ASCII-AmigaGuide
     320     237 25.9% 14-Aug-96 19:48:26 +ASCII-REXX
     280     218 22.1% 14-Aug-96 19:48:26 +ASCII-Text
     204     162 20.5% 14-Aug-96 19:48:26 +GFX-BMP
     300     238 20.6% 14-Aug-96 19:48:26 +GFX-DXF
     184     136 26.0% 14-Aug-96 19:48:26 +GFX-GIF
     180     144 20.0% 14-Aug-96 19:48:26 +GFX-IFF
     212     161 24.0% 14-Aug-96 19:48:26 +GFX-JPEG
     212     170 19.8% 14-Aug-96 19:48:26 +GFX-PCX
     188     137 27.1% 14-Aug-96 19:48:26 +GFX-TARGA
     220     173 21.3% 14-Aug-96 19:48:28 +GFX-TIFF
     660     477 27.7% 14-Aug-96 19:48:28 +LINK-Datatypes
     436     281 35.5% 14-Aug-96 19:48:28 +MUSIC-Others.patt
     192     154 19.7% 14-Aug-96 19:48:28 +MUSIC-PtkClones.data
     556     344 38.1% 14-Aug-96 19:48:28 +MUSIC-PtkClones.patt
     736     398 45.9% 14-Aug-96 19:48:28 +MUSIC-Synth.patt
     180     140 22.2% 14-Aug-96 19:48:28 +PACKED-DMS
     200     155 22.5% 14-Aug-96 19:48:28 +PACKED-LHA
     172     131 23.8% 14-Aug-96 19:48:28 +PACKED-LZX
     184     140 23.9% 14-Aug-96 19:48:28 +PACKED-ZIP
     176     142 19.3% 14-Aug-96 19:48:28 +SMPL-IFF
     360     262 27.2% 14-Aug-96 19:48:30 +SMPL-Others
       0       0  0.0% 18-Jul-96 12:05:52 +
    1233     594 51.8% 04-Aug-96 18:35:46 +Docs.info
   22128    8359 62.2% 15-Aug-96 00:10:06 +Datamaster.lib.engl.guide
    1869    1355 27.5% 04-Aug-96 18:35:44 +Datamaster.lib.engl.guide.info
   24248    9216 61.9% 15-Aug-96 00:10:14 +Datamaster.lib.fr.guide
    1869    1355 27.5% 04-Aug-96 18:35:44 +Datamaster.lib.fr.guide.info
    1233     595 51.7% 04-Aug-96 18:35:44 +Developer.info
    4221    1848 56.2% 14-Aug-96 19:47:18 +Datamaster.i
    2129     865 59.3% 14-Aug-96 19:47:18 +Datamaster_lib.i
   10711    3470 67.6% 01-Aug-96 14:30:36 +DMcontrol_v1.1_DEV.s
   17299    6444 62.7% 12-Aug-96 23:31:10 +DMlauncher_v1.12_DEV.s
     647     346 46.5% 01-Aug-96 14:31:10 +ANIM-FLI
     638     336 47.3% 01-Aug-96 14:31:10 +ANIM-IFF
     605     329 45.6% 01-Aug-96 14:31:10 +GFX-IFF
     638     338 47.0% 01-Aug-96 14:31:12 +GFX-JPEG
    4219    1808 57.1% 08-Aug-96 17:45:10 +LINK-Datatypes
    1492     535 64.1% 18-Jul-96 12:08:36 +MUSIC-Others.patt
    2798     875 68.7% 10-Jul-96 15:54:16 +MUSIC-Synth.patt
     645     348 46.0% 01-Aug-96 14:31:12 +PACKED-LHA
     603     328 45.6% 01-Aug-96 14:31:12 +SMPL-IFF
    1655     693 58.1% 01-Aug-96 14:31:12 +SMPL-Others
   54031   14026 74.0% 01-Aug-96 15:01:36 +datamaster
   47205   13305 71.8% 01-Aug-96 15:00:40 +datamaster.doc
     479     232 51.5% 01-Aug-96 15:01:36 +datamaster.info
   12545    3717 70.3% 14-Aug-96 19:10:44 +DMcontrol.engl.guide
    1869    1354 27.5% 04-Aug-96 18:35:44 +DMcontrol.engl.guide.info
   13311    3896 70.7% 04-Aug-96 18:31:16 +DMcontrol.fr.guide
    1869    1352 27.6% 04-Aug-96 18:35:46 +DMcontrol.fr.guide.info
    8652    3411 60.5% 14-Aug-96 19:10:58 +DMlauncher.engl.guide
    1869    1355 27.5% 04-Aug-96 18:35:44 +DMlauncher.engl.guide.info
    9089    3631 60.0% 04-Aug-96 18:33:00 +DMlauncher.fr.guide
    1869    1355 27.5% 04-Aug-96 18:35:46 +DMlauncher.fr.guide.info
    2713     424 84.3% 08-Aug-96 17:47:56 +formats.guide
    1869    1353 27.6% 04-Aug-96 18:35:44 +formats.guide.info
    1233     596 51.6% 04-Aug-96 18:35:44 +Formats.info
     395     203 48.6% 08-Aug-96 17:48:02 +ANIM-FLI.guide
     559     298 46.6% 08-Aug-96 17:48:02 +ANIM-IFF.guide
     422     211 50.0% 08-Aug-96 17:48:02 +ANIM-MPEG.guide
     527     275 47.8% 08-Aug-96 17:48:02 +ASCII-AmigaGuide.guide
     625     341 45.4% 08-Aug-96 17:48:02 +ASCII-REXX.guide
    1288     669 48.0% 08-Aug-96 17:48:02 +ASCII-Text.guide
     420     221 47.3% 08-Aug-96 17:48:02 +Executable.guide
     390     203 47.9% 08-Aug-96 17:48:04 +Generic.guide
     423     226 46.5% 08-Aug-96 17:48:04 +GFX-BMP.guide
     495     257 48.0% 08-Aug-96 17:48:04 +GFX-DXF.guide
     399     209 47.6% 08-Aug-96 17:48:04 +GFX-GIF.guide
     390     206 47.1% 08-Aug-96 17:48:04 +GFX-IFF.guide
     550     287 47.8% 08-Aug-96 17:48:04 +GFX-JPEG.guide
     974     539 44.6% 08-Aug-96 17:48:04 +GFX-PCX.guide
     397     201 49.3% 08-Aug-96 17:48:04 +GFX-TARGA.guide
     449     230 48.7% 08-Aug-96 17:48:04 +GFX-TIFF.guide
     451     241 46.5% 08-Aug-96 17:48:04 +Icon.guide
    2258    1107 50.9% 08-Aug-96 17:48:06 +LINK-Datatypes.guide
    1285     423 67.0% 08-Aug-96 17:48:06 +MUSIC-Others.guide
    1609     514 68.0% 08-Aug-96 17:48:06 +MUSIC-PtkClones.guide
    2211     540 75.5% 08-Aug-96 17:48:06 +MUSIC-Synth.guide
     409     212 48.1% 08-Aug-96 17:48:06 +PACKED-DMS.guide
     397     204 48.6% 08-Aug-96 17:48:06 +PACKED-LHA.guide
     397     206 48.1% 08-Aug-96 17:48:06 +PACKED-LZX.guide
     359     183 49.0% 08-Aug-96 17:48:06 +PACKED-XPK.guide
     411     213 48.1% 08-Aug-96 17:48:06 +PACKED-ZIP.guide
     342     171 50.0% 08-Aug-96 17:48:08 +SMPL-IFF.guide
     569     285 49.9% 08-Aug-96 17:48:08 +SMPL-Others.guide
-------- ------- ----- --------- --------
  301702  112717 62.6% 24-Aug-96 13:23:12   94 files
