Hello trid users,
Some days ago i run Pirisoft ccleaner. Under item for file extension under
registry cleaner i can scan for errors. There it complains about suffix CFP.
So i looked for such files on my system. Such samples like test-iso.cfp
Win95DE950.cfp WIN-XP_SP3.cfp were created by myself via CD-burning tool
cdrtfe. This itself is a windows front end for the cdrtools (cdrecord,
mkisofs, readcd, cdda2wav) and other well-known tools.
So i run trid utility on such CFP examples. All are described in principal
correct as "Generic INI configuration" by ini.trid.xml but with wrong suffix
INI (See appended output/trid-v-old.txt).
For comparison reason i also run file command (newest version 5.44) on such
samples. Here these are described as "Generic INItialization configuration"
with sub classification [FileExplorer] (See appended output/file-5.44.txt)
and with mime type application/x-wine-extension-ini (See appended
output/file-i-5.44.txt) and wrong extension ini/inf (see appended
output/file-ext-5.44.txt).
For comparison reason i also run the file format identification utility
DROID ( See
https://sourceforge.net/projects/droid/). This does not
describe such CFP samples.
Unfortunately i found no page about the used text file format and especially
from cdrtfe. So i use cdrtfe home page on sourceforge as reference. This is
expressed by line like:
<RefURL>
https://cdrtfe.sourceforge.io/</RefURL>
Apparently the CFP examples are just used simple text files in INI format.
So i can use the generic mime type text/plain. But instead i use a more
specific user defined one. So this is now expressed by line like:
<Mime>text/x-cfp</Mime>
So i run tridscan on such CFP samples to generate cfp-cdrtfe.trid.xml.
Apparently CFP samples always contains the same sections., So i look for
specific key word inside square brackets like [FileExplorer]. These are
expressed inside global strings section by lines like:
<String>GENERAL</String>
<String>FILEEXPLORER</String>
<String>CDRDAO</String>
<String>DATA-CD</String>
<String>AUDIO-CD</String>
<String>CDRW</String>
<String>CDINFO</String>
<String>READCD</String>
<String>VIDEOCD</String>
<String>DVDVIDEO</String>
In the sections exist some variable assignment for setting like speed, drive
and so on by specific keyword variables. These are expressed inside global
string sections by line like:
<String>TABSHEETDRIVE1</String>
<String>TABSHEETSPEED1</String>
<String>TABSHEETSMTYPE1</String>
<String>TABSHEETDRIVE2</String>
<String>TABSHEETSPEED2</String>
..
<String>TABSHEETDRIVE9</String>
<String>TABSHEETSPEED9</String>
<String>TABSHEETSMTYPE9</String>
...
<String>ISOPATH</String>
<String>TEMPFOLDER</String>
<String>EJECT</String>
<String>BURNFREE</String>
<String>OVERBURN</String>
<String>FIFOSIZE</String>
<String>FORCESPEED</String>
<String>PARANOIA</String>
<String>MKISOFSUSECUSTOPTS</String>
<String>JOLIETLONG</String>
<String>ROCKRIDGE</String>
<String>ISO31CHARS</String>
<String>BOOTIMAGE</String>
<String>BOOTNOEMUL</String>
<String>VOLID</String>
<String>HIDETRANSTBL</String>
<String>HIDERRMOVED</String>
<String>PUBLISHER</String>
<String>PREPARER</String>
<String>CDTEXTTP</String>
<String>USECDDB</String>
<String>CDDBSERVER</String>
<String>CDDBPORT</String>
Apparently first section is [General] with Choice option on second line. So
this expressed inside front block section by XML construct like:
<Bytes>5B47656E6572616C5D0D0A43686F6963653D</Bytes>
<ASCII> [ G e n e r a l ] . . C h o i c e =</ASCII>
<Pos>0</Pos>
This is followed by some TabSheet setting with values 0 or -1 . So this
expressed inside front block section by XML construct like:
<Bytes>0D0A54616253686565744472697665313D300D0A54616253686565745370656564313D2D310D0A546162
<ASCII> . . T a b S h e e t D r i v e 1 = 0 . . T a b S h e e t S p e e d 1 = - 1 . . T a b
<Pos>19</Pos>
But i do not know if this is always be true. Maybe this becomes shorter if
other users refine the definition by more examples.
At higher offsets inside front block i get short XML constructs like:
<Pattern>
<Bytes>65</Bytes>
<ASCII> e</ASCII>
<Pos>119</Pos>
</Pattern>
...
<Pattern>
<Bytes>44</Bytes>
<ASCII> D</ASCII>
<Pos>588</Pos>
</Pattern>
I assume that these are triggered by lucky circumstances ( too few samples).
So i delete these constructs.
With the new trid definition now my CFP examples are described (see appended
output/trid-v-new.txt). TrID definitions. some samples and output are stored
in archive cfp_.zip. I hope that my definition can be used in future version
of triddefs .
With best wishes
Jörg Jenderek