History ...
What's New ...
v.3.6 for Win9x/NT/Me/W2K Freeware (18 October 2002)
Contents

0. | Disclaimer
1. | What is "Gallery Maker"?
2. | Installation and startup guide
3. | Description of HTML-pages and their structure
| 3.01 | The description "Table"-page and structure of a template
3.02 | The description "Image Shell"-page and structure of a template
3.03 | The description "Main Index"-page and structure of a template
3.04 | The description "Local Index"-page and structure of a template
4. | The description of GM-project
| 4.01 | Section [ General ]
4.02 | Section [ SrcImage ]
4.03 | Section [ ThumbImage ]
4.04 | Section [ ShellImage ]
4.05 | Section [ TablePage ]
4.06 | Section [ TableNavigation ]
4.07 | Section [ ShellPage ]
4.08 | Section [ ShellNavigation ]
4.09 | Section [ MainIndexPage ]
4.10 | Section [ LocalIndexPage ]
4.11 | Section [ Auto ]
4.12 | Section [ User ]
4.13 | Section [ Messages ]
4.14 | Section [ Settings ]
5. | The description of all possible variables
| 5.01 | Group "TCF + SCF + MICF + LICF + TNI + SNI + MIPI + LIPI + UDV + JC"
5.02 | Group "TCF + SCF + LICF + CSV + JC"
5.03 | Group "TCF + SCF"
5.04 | Group "CCF + SCF + CSV + JC"
5.05 | Group "CCF + SCF + CSV"
5.06 | Group "TCF + LICF"
5.07 | Group "TCF"
5.08 | Group "TCF + TNI"
5.09 | Group "TNI"
5.10 | Group "SCF + LICF"
5.11 | Group "SCF"
5.12 | Group "SCF + SNI"
5.13 | Group "TCF + SCF + LICF"
5.14 | Group "TCF + SCF"
5.15 | Group "TCF + SCF + LICF + MIRC + TNI + SNI + MIPI + LIPI"
5.16 | Group "MICF"
5.17 | Group "TCF + SCF + LICF + TNI + SNI + MIPI + LIPI + UDV"
6. | Special expressions
7. | Registration and licensing
8. | Acknowledgments
9. | "GM" Gallery hall
10. | Awards
11. | Download and how to contact me

0. Disclaimer |

Author of this program assumes no liability in any losses and damages that might occur as a result of downloading and/or using of this software. Even though this software has been thoroughly tested, there is a chance that something might go wrong. Author would appreciate a detailed report of such incidents (if any), and reminds you that a simple backup can save your work from dangers of computer crash or software mailfunction. Please save often.

1. What is "Gallery Maker"? |

The purpose of this software - creation virtual picture galleries, museums, catalogs, presentation and foto- or image-albums on the HTML basis or thumbnails generation (with differents F/X).
While surfing web you can find many galleries which not always have a good design. Of course, creating a picture gallery is a hard and time-consuming work, so try out my program and find put that it delivers you professional tools at a minimum expense.
The program is intended for the advanced users, which know HTML, since logic of the program is based on HTML-templates from which all HTML-pages are created, and "variables" - instead of which the program automatically inserts concrete values.

Main features:

- Supported source formats: JPEG, GIF, BMP, TGA, TIFF, PIC, PNG and more ...
- Special Image processor for creations the excellent Thumb- and Shell-images
- Generation the next HTML-pages: Table, Image Shell, Main Index and Local Index on templates basis
- Types of addressing: "Absolute" (HDD / WEB) and "Relative" (HDD / WEB)
- Types of navigation: "Button" and "Text"
- The internal generator for the "Main" and "Local" CSV-files
- Advanced filters for Include / Exclude files in the gallery: "by Name", "by Date", "by Size" and "by Attributes".
- Support of all possible methods of sorting images in gallery.
- Convenient system for formation the names of output files
- Unique technology ThumbFrame
- Automatic insert and recode comments for images from external files into Table and Image Shell pages
- Individual local projects and HTML-templates for any subdirectory
- "User-defined" variables
- Mechanism of "special expressions" for universality increasing
- The English / Russian / German / Dutch / Spanish interface
- Detailed log
- ... and much more ...

System requirements:
P-133, RAM 5-10 Mb, HDD 5 Mb, Win9x/NT4/Me/2k

2. Installation and startup guide |

Installation and deinstallation.
Extract all files from archive into the some directory, for example:
C:\Program Files\GM\
Note: The archive contains some files with long names. Make sure that you correctly expand these files!
Installation complete ;)
For program deinstallation simply delete directory in which it is installed. Program does not save some keys in system registry.
Quick start.
Go to the directory where Gallery Maker is installed and execute the next command:
Demo.bat <ENTER>
This command startup the process of creation demo-gallery in GM Path\Target\ directory.
After terminating a process you can load Main Index-page - index.html (which will be located in you Gallery Maker directory) in your favorite web browser for viewing a result of work.
Step-by-step start.
Run program gm.exe. Select menu item File\Open and load the test GM-project gm.gmp. Select the mode of program work (Mode) and its priority (Priority). Two modes are possible: "Full processing" - full generation of gallery, "Check project only" - check the content of the main GM-project. The priority of program you may change during process of generations of gallery. Now, press the button Start for starting the program work.
Command line.
Command: gm.exe Start <ENTER> - start the process of thumbnails and all HTML-pages creation. All settings will be loaded from default GM-project - gm.gmp.
Command: gm.exe Check <ENTER> - check up the default GM-project gm.gmp.
You also can run:
gm.exe Check my_project.gmp <ENTER> or
gm.exe Check C:\MY\my_project.gmp <ENTER> or
gm.exe Start my_project.gmp <ENTER> or
C:\Soft\GM\gm.exe Start D:\MY\Gallery\my_project.gmp <ENTER>
In this case Check or Start process will be executed for user's my_project.gmp file.
Exit codes.
You can found the summary list of all "Exit Codes" in file ExitCode.txt

3. Description of HTML-pages and their structure |

All HTML-pages are created on the basis of several HTML-templates: "Table", "Image Shell", "Main Index" and "Local Index" is a one of the main features "Gallery Maker". You may change any template according to your tastes and requirements. By default all HTML-templates are located in directory GM Path\Templates. If necessary, templates can be placed in any directory (names of directories are adjusted in the GM-project).
All HTML-templates are divided into some logic HTML-fragments (10 for Table, 3 for Image Shell, 3 for Main Index, 3 for Local Index).
Each HTML-fragment always begins with a label Begin (ex. "HeaderBegin") and finish with a label End (ex. "HeaderEnd"). Before and after the name of a label additional symbols (variables) are located - prefix and suffix. Values of these variables also can be adjusted in the GM-project. Between these labels the code of the current HTML-fragment is located directly.
Other important feature - an opportunity "to override" the general HTML-fragments local HTML-fragments. If in any subdirectory inside an source directory to place a file the name of which coincides with a name of any HTML-template, then all HTML-fragments from this file will be automatically loaded and used at creation of HTML-pages for this directory. But if local GM-project already exists in this directory, in which names of HTML-templates are redefined, then values of this local GM-project will have a higher priority.
Theoretically, in the general HTML-templates a code of HTML-fragments may be absent, but labels "Begin" and "End" should be necessarily. Inside local HTML-templates may be present only necessary fragments.
The HTML-pages Table, Image Shell and Local Index are created in the appropriate subdirectories inside target directory. The program does not make any changes in an source directory and the files located inside it.
All HTML-pages in gallery are connected between itself with the help of hyperlinks. The full scheme of possible transitions (intercoupling) between various types of HTML-pages is given below.

3.01 The description "Table"-page and structure of a template
"Table"-pages is the central and most visited part of any gallery. Usually this page consists of heading, the table with thumbnails and the navigating panel. At accommodation in Internet the popularity of your gallery will depend on quality "Table"-page and comforts of navigation between it and other pages. The HTML-template for this page consists 10 HTML-fragments. The most difficult in development is creation of the table for thumbnails. You necessary to describe two cells-prototype - Cell and EmptyCell. On the basis of these two prototypes the program automatically will create the table of necessary dimension. Fragment Cell is used for all cells of the table with thumbnails. EmptyCell used for cells in which thumbnail is absent (it is possible if real number of thumnbails in the table less than table dimension). You may forbid addition EmptyCell if the table consists only of one line. Elements of navigation ("buttons" or "text" links) can be placed in any HTML-fragments. Fragments HeaderBanner and FooterBanner are used if some information must be inserts only on the first "Table"-page of the current gallery part.

3.02 The description "Image Shell"-page and structure of a template
What is an "Image Shell"? It is special page with the full-size image. If the user make click on a some thumbnail inside "Table"-page, then the necessary "Image Shell"-page will be automatically loaded. In this case only 3 HTML-fragments are used. For accommodation of the full-size image the fragment Image is intended. Elements (variables) of navigation may be located in any HTML-fragment.

3.03 The description "Main Index"-page and structure of a template
The Main Index-page also is very important - it is starting page of gallery and a connecting-link between all its parts. From this page the user should get access in any part (section) of gallery. Each part of gallery corresponds to a subdirectory inside target directory. The program automatically may create Main Index-page and to add in it the most important information (number of "Table"-pages, images and their size) for any part of gallery. And also to include total statistics. Only one Main Index-page will be created for gallery. Header and Footer will be added in the beginning and the end of this page. The fragment Record is the prototype of record for the description of the part of gallery. Usually it contains the link to concrete part of gallery and short information about this part. Also you may create a unique Record-fragment for any gallery part. Note: Inside Header and Footer fragments it is possible to use only the user-defined variables listed in the main GM-project.

3.04 The description "Local Index"-page and structure of a template
For understanding of essence of this page I will describe two examples of its using: 1. "Information" about the current directory. Sometimes can be necessary to add into some part of gallery a small "introduction" part (for example: the introduction, biography of the artist, comment of the author...) In this case, from Main Index-page the user should first get this information page, but afterwards can go on Table-page, Image Shell-page in this directory or return to MainIndex-page. 2. "Lock-page". The name of a file for this page select so that it coincided with the "default" WWW-server filename. Usually it "index.html" or "default.html", but can be and another - depends from settings concrete WWW-server. If the user will input the url http://www.server_name.com/gallery/lions/ then server automatically "upload" to this user your "lock-page" from subdirectory lions/. The main difference between "lock-page" and "information" in that that on "lock-page" in gallery may not be the direct links.

4. The description of GM-project |

This part contains the description of the all variables from GM-project.
"GM-project" is a standard text file and have the standard format of .INI-files. By default, program uses the extension .gmp (Gallery Maker project), but you can use any necessary extension for names of your projects.
| General | SrcImage | ThumbImage | ShellImage | TablePage | TableNavigation | ShellPage | ShellNavigation | MainIndexPage | LocalIndexPage | Auto | User | Messages | Settings |

4.01 Section [ General ]
SrcDir | This is where you specify the root directory from which input images will be read. This path must exist. Ex. 1: Source\ - in this case for SrcDir will be accepted GM Path\Source\ Ex. 2: C:\Pics\ - in this case for SrcDir will be accepted C:\Pics\ Note: You can't use for SrcDir and DstDir values like "C:", "D:\"...
DstDir | This is where you specify the root directory for all output images and HTML-pages to be placed. Ex. 1: Destination\ - in this case for DstDir will be accepted GM Path\Destination\ Ex. 2: C:\MySite\ - in this case for DstDir will be accepted C:\MySite\ Note: Will be careful when you set values SrcDir and DstDir. Correct case of pathnames is very important for Linux and Web-servers.
ScanSubDirs | Yes - to process all image files in all subdirectories of the specified SrcDir. No - to process only SrcDir directory.
LocalGMPFileName | This variable defines a filename of a local GM-project. This file can be placed in any subdirectory inside SrcDir. In this file you can redefine any variables (including user-defined variables but excluding all variables from [ General ] section). All reassigned variables will be active only for this subdirectory. Ex. : gm-local.gmp Note: All invalid variables and values in local GM-project will be automatically skipped.
AlertMaxHDDFree | If size of free HDD-space on target partition will be less then value of this variable then you will get a warn message. This variable's meaning is Kbytes. It's value must be [10...10000000]. Ex. : 3000
AlertMinHDDFree | If size of free HDD-space on target partition will be less then value of this variable then the action will be executed according to meaning variable AlertAction. This variable's meaning is Kbytes. It's value must be [10...10000000]. Ex. : 1500
AlertAction | 0 - not pay attention (I strongly don't recommend this mode). 1 - suspend programm and show dialogue with a question about the next action.
Buttons | Description
Abort | Immediately exit from program with ExitCode=12.
Retry | It is recommended. Try again check free space on target drive, and if space enough - resume working the program.
Ignore | Don't recommend. Ignore this warning message and don't show again.
2 - Immediately terminate of program without any questions. In this case ExitCode=13.
ClearDst | Yes - Delete all files and directories inside DstDir before start of processing. No - Don't clear DstDir before processing (all destination files will be overwritten if needed).
DeleteToRecycleBin | Yes - Move all deleted files to Recycle Bin (slow method). No - Directly removing the files without possibility of restoring. Note: Network drives don't support removing into Recycle Bin, in this case all files will be removed directly.
DstFileCase DstDirsCase | 0 - No Change. Leave upper/lower case as set in input file/directory name. 1 - Lower. Force output file/directory name to lower case. 2 - Upper. Force output file/directory name to upper case. Note: If you choise is 1 or 2 then selected case will be also used for all corresponding variables.
CreateMainIndex | Yes - to create Main Index-page for gallery. No - don't create Main Index-page for gallery. Note: Main Index-page will be created only if you set CreateTable=Yes or CreateLocalIndex=Yes
MainIndexTemplate | This variable defines the name of HTML-template for Main Index-page. Ex. 1: Templates\MainIndex.htm Ex. 2: C:\My\GM\Templates\MainIndex.htm
MainIndexPageFileName | This variable defines Main Index-page filename without path. Main Main Index-page always will be created in the directory on one level above than DstDir. Ex. : MainIndexPageFileName=index.html and DstDir=C:\my\gallery\out\, in this case Main Index-page will be created as C:\my\gallery\index.html
CodePageFileName | This variable defines a name of file containing character tables (code pages). Ex. 1: CodePage.tbl Ex. 2: C:\My\CodePages.tbl You may change or add the new character table, for this read the commentary inside this file.
CreateMainCSV | Yes - to create a main CSV-file. No - to not create a main CSV-file.
MainCSVFileName | This variable defines main CSV-file name without path. Main CSV-file always will be created in the directory on one level above than DstDir. Ex. : MainCSVFileName=Main.csv
MainCSVFormat | This variable defines the format of main CSV-file. Inside this string you can use any variables from CSV group or user-defined variables. Ex. : MainCSVFormat="~SRC_IMAGE_NAME_L~", ~SRC_IMAGE_SIZE_B~, ~SRC_IMAGE_CRC32~, ~SRC_IMAGE_WIDTH~, ~SRC_IMAGE_HEIGHT~
PostProcess | Directly before termination of work (post-process stage) program processes special expressions. If you do not use these expressions in your project, then for increasing speed of program you may forbid this stage. Yes - "post-process" allowed. No - "post-process" forbidden.
TemplateMarkerPrefix, TemplateMarkerSuffix | These variables define the character sets (substrings), which will be used for identification of a labels Begin and End inside a HTML-template.

4.02 Section [ SrcImage ]
SrcImageNameMask | You can define scenario and masks for INclude or EXclude images in/from source PicFileList. Scenario consists from rules: SrcImageNameMask = Rule 1 Rule 2 ... Rule N Rule consists from IN or EX switchers and filename mask: Rule N = IN | EX "mask" A valid mask consists of literal characters, sets, and wildcards. The comparison to literal characters is case-insensitive. Each mask begins and ends with a symbol " (quote). Order of work: 0. Select all graphical files in current directory (Obligatory step). If value of SrcImageNameMask is not blank then for each image next steps will be run: 1. Check Rule 1 for current image filename. If a filename conforms to the mask then this image will be included into PicFileList, else - excluded. 2. Check Rule 2 ... N. Check Rule N Note: File may be excluded from list first, but after that may be included by following rule. Ex. : SrcImageNameMask = EX "*.bmp" IN "a*.bmp" IN "b*.bmp". In this case all graphic files will be added into PicFileList excluding *.bmp, but including a*.bmp and b*.bmp.
SrcImageDateMask | This variable and its work is very like on SrcImageNameMask, but "mask" consists of a range of dates. For analysis is used the date of last modification of a file. If your file system does not support "last modification date" that is used "creation date of file". Ex. : SrcImageDateMask = EX "01.01.1995<>01.01.2002" IN "05.05.1796<>10.10.1997" IN "08.08.1999<>11.11.1999". In this case all graphic files will be added into PicFileList excluding 01.01.1995...01.01.2002, but including two subrange 05.05.1796...10.10.1997 and 08.08.1999...11.11.1999.
SrcImageSizeMask | This variable and its work is very like on SrcImageNameMask, but "mask" consists of a range of sizes. Ex. : SrcImageSizeMask = EX "1<>10000000" IN "50000<>60000" IN "100000<>200000". In this case all graphic files will be added into PicFileList excluding 1...10000000, but including two subrange 50000...60000 and 100000...200000.
SrcImageAttributeMask | You may set the file attributes that will define the appearance of image in PicFileList. Format of this variable: [Read only | Archive | Hidden | System] All this four fields may have next values:
Value | Description
* | Attribute may be any.
+ | Attribute must be set.
- | Attribute must be not set.
Ex. : SrcImageAttributeMask=[*+--] In this case only files with next attributes: ReadOnly=Any, Archive=Yes, Hidden=No, System=No will be added into PicFileList.
Warning: The program analyse the meanings all four variable ( SrcImageNameMask, SrcImageDateMask, SrcImageSizeMask and SrcImageAttributeMask ) simultaneously at acceptance of the decision about addition (or exception) image in gallery.
SchemaSort | This variable defines images sorting order of gallery. 0 - No Sort. Images will be processed in the same (apparently random) order that they are listed in when you type DIR from a DOS prompt. 1 - to sort by Name of file (ascending). 2 - to sort by Name of file (descending). 3 - to sort by Size of file (ascending). 4 - to sort by Size of file (descending). 5 - to sort by DateTime of file (ascending). 6 - to sort by DateTime of file (descending). 7 - to sort in order specified inside ImagesListName. 8 - to sort by the contents of a file "Table"-comment (ascending). 9 - to sort by the contents of a file "Shell"-comment (ascending). Note: If you use "byNameAsc" or "byNameDes" then file extensions are not used in sorting process.
ImagesListName | This variable defines a name of file (without path) which contains list of images and, if required, "ThumbFrame" coordinates. This file should be located in the same directory as the source image which are specified in it. Only images from this list will be included into gallery at order that they are listed in this file. "ImageList" is created by the special utility ILM.exe. Here you can read the small recommendations on its use. Q. What is a "ThumbFrame"? A. This is a rectangular area on the source image. Only this fragment of the source image will is used for creation a thumbnail. Thus you can create thumbnail on which is represented only small, but most important, fragment of source image. Ex. : ImagesList.txt Note: Only if you set SchemaSort=7 this variable will be used.
CreateLocalCSV | Yes - to create a local CSV-file. No - to not create a local CSV-file.
LocalCSVFileName | This variable defines local CSV-file name without path. All local CSV-files will be created in corresponding directories inside destination tree. Ex. : MainCSVFileName=Local.csv
LocalCSVFormat | This variable defines the format of local CSV-file. Inside this string you can use any variables from CSV group or user-defined variables. Ex. : LocalCSVFormat="~SRC_IMAGE_NAME_L~", ~SRC_IMAGE_SIZE_B~, ~SRC_IMAGE_CRC32~, ~SRC_IMAGE_WIDTH~, ~SRC_IMAGE_HEIGHT~

4.03 Section [ ThumbImage ]
ThumbImageScenario | This variable defines the filename of IP-scenario for processing Thumb-images. If you don't want to use Thumb-images then set this variable to blank. Ex. 1: ThumbImageScenario="1.ips" Ex. 2: ThumbImageScenario="D:\Work\GM\1.ips" Ex. 3: ThumbImageScenario=""
ThumbImageNameSchema | This variable defines the schema of filename creation for Thumb-images.
Value | Description | Sample of filename
pi | Use Prefix + source image name as filename of Thumb-image. | t_PicName.jpg
ip | Use source image name + Postfix as filename of Thumb-image. | PicName_t.jpg
psp | Use Prefix + Suffix + Postfix as filename of Thumb-image. | t_001_t.jpg
ps | Use Prefix + Suffix as filename of Thumb-image. | t_001.jpg
sp | Use Suffix + Postfix as filename of Thumb-image. | 001_t.jpg
ThumbImageNamePrefix | This variable sets prefix string which will be added into begin the filename of Thumb-image. Ex. : t_
ThumbImageNameSuffixPS | This variable defines a symbol which will be used as a padding symbol in a suffix. Ex. : 0
ThumbImageNameSuffix | This variable defines the suffix length the filename of Thumb-image. May be [1...5]. All examples are given for ps-schema: 1 - simple numbering: Ex. : t_1.jpg, t_2.jpg, t_3.jpg ... t_99999.jpg ... no limits. For meanings 2, 3, 4 and 5 the ThumbImageNameSuffixPS is applied to padding suffix up to specified length. 2 - Length of a suffix is 2 symbols: Ex. : t_01.jpg, t_02.jpg, t_03.jpg ... t_99.jpg in this case "99" - the maximal meaning for suffix. 3 - Length of a suffix is 3 symbols: Ex. : t_001.jpg, t_002.jpg, t_003.jpg ... t_999.jpg in this case "999" - the maximal meaning for suffix. 4 - Length of a suffix is 4 symbols: Ex. : t_0001.jpg, t_0002.jpg, t_0003.jpg ... t_9999.jpg in this case "9999" - the maximal meaning for suffix. 5 - Length of a suffix is 5 symbols: Ex. : t_00001.jpg, t_00002.jpg, t_00003.jpg ... t_99999.jpg in this case "99999" - the maximal meaning for suffix.
ThumbImageNameSuffixSV | This variable defines a "suffix startup value" for the filename of Thumb-image. Ex. : 1
ThumbImageNamePostfix | This variable sets postfix string which will be added into end the filename of Thumb-image. Ex. : _t

4.04 Section [ ShellImage ]
ShellImageScenario | This variable defines the filename of IP-scenario for processing Shell-images. If you don't want to use Shell-images then set this variable to blank. Ex. 1: ShellImageScenario="2.ips" Ex. 2: ShellImageScenario="D:\Work\GM\2.ips" Ex. 3: ShellImageScenario=""
ShellImageNameSchema | This variable defines the schema of filename creation for Shell-images.
Value | Description | Sample of target filename
i | Use source image name as filename of Shell-image. | PicName.jpg
pi | Use Prefix + source image name as filename of Shell-image. | i_PicName.jpg
ip | Use source image name + Postfix as filename of Shell-image. | PicName_i.jpg
psp | Use Prefix + Suffix + Postfix as filename of Shell-image. | i_001_i.jpg
ps | Use Prefix + Suffix as filename of Shell-image. | i_001.jpg
sp | Use Suffix + Postfix as filename of Shell-image. | 001_i.jpg
ShellImageNamePrefix | This variable sets prefix string which will be added into begin the filename of Shell-image. Ex. : i_
ShellImageNameSuffixPS | This variable defines a symbol which will be used as a padding symbol in a suffix. Ex. : 0
ShellImageNameSuffix | This variable defines the suffix length the filename of Shell-image. May be [1...5]. All examples are given for ps-schema: 1 - simple numbering: Ex. : i_1.jpg, i_2.jpg, i_3.jpg ... i_99999.jpg ... no limits. For meanings 2, 3, 4 and 5 the ShellImageNameSuffixPS is applied to padding suffix up to specified length. 2 - Length of a suffix is 2 symbols: Ex. : i_01.jpg, i_02.jpg, i_03.jpg ... i_99.jpg in this case "99" - the maximal meaning for suffix. 3 - Length of a suffix is 3 symbols: Ex. : i_001.jpg, i_002.jpg, i_003.jpg ... i_999.jpg in this case "999" - the maximal meaning for suffix. 4 - Length of a suffix is 4 symbols: Ex. : i_0001.jpg, i_0002.jpg, i_0003.jpg ... i_9999.jpg in this case "9999" - the maximal meaning for suffix. 5 - Length of a suffix is 5 symbols: Ex. : i_00001.jpg, i_00002.jpg, i_00003.jpg ... i_99999.jpg in this case "99999" - the maximal meaning for suffix.
ShellImageNameSuffixSV | This variable defines a "suffix startup value" for the filename of Shell-image. Ex. : 1
ShellImageNamePostfix | This variable sets postfix string which will be added into end the filename of Shell-image. Ex. : _i

4.05 Section [ TablePage ]
CreateTable | Yes - to create "Table" HTML-pages. No - to not create "Table" HTML-pages.
TableTemplate | This variable defines the name of HTML-template for Table-page. Ex. 1: Templates\Table.htm Ex. 2: C:\My\GM\Templates\Table.htm
TableFileNameSchema | This variable defines the filename schema for "Table"-pages.
Value | Description | Sample of "Table"-page filename
psp | Use Prefix + Suffix + Postfix as "Table"-page name. | Page_001_Page.htm
ps | Use Prefix + Suffix as "Table"-page name. | Page_001.htm
sp | Use Suffix + Postfix as "Table"-page name. | 001_Page.htm
TableFileNamePrefix | This variable sets prefix string which will be added to the beginning of the output "Table"-page filename. Ex. : Page_
TableFileNameSuffixPS | This variable defines a symbol which will be used as a padding symbol in a suffix. Ex. : 0
TableFileNameSuffix | This variable defines the suffix length of "Table"-page filename. May be [1...5]. All examples are given for ps-schema: 1 - simple numbering: Ex. : Page_1.htm, Page_2.htm, Page_3.htm ... Page_99999.htm ... no limits. For meanings 2, 3, 4 and 5 the TableFileNameSuffixPS is applied to padding suffix up to specified length. 2 - Length of a suffix is 2 symbols: Ex. : Page_01.htm, Page_02.htm, Page_03.htm ... Page_99.htm in this case "99" - the maximal meaning for suffix. 3 - Length of a suffix is 3 symbols: Ex. : Page_001.htm, Page_002.htm, Page_003.htm ... Page_999.htm in this case "999" - the maximal meaning for suffix. 4 - Length of a suffix is 4 symbols: Ex. : Page_0001.htm, Page_0002.htm, Page_0003.htm ... Page_9999.htm in this case "9999" - the maximal meaning for suffix. 5 - Length of a suffix is 5 symbols: Ex. : Page_00001.htm, Page_00002.htm, Page_00003.htm ... Page_99999.htm in this case "99999" - the maximal meaning for suffix.
TableFileNameSuffix | This variable defines "suffix startup value" for filename of "Table"-page. Ex. : 1
TableFileNamePostfix | This variable sets postfix string which will be added to the end of the output "Table"-page filename. Ex. : _Page
TableFileNameExt | This variable defines the extension of filename for output "Table" HTML-pages. Ex. : .htm Note: Don't forget about the symbol "."
Columns | This variable defines maximum number of columns in "Table" HTML-page. Ex. : 4
Rows | This variable defines maximum number of rows in "Table" HTML-page. Ex. : 5
HeaderBannerOnly1Page FooterBannerOnly1Page | Yes - in this case this HTML-fragment will be added only to the first "Table"-page in a directory. No - in this case this HTML-fragment will be added to all "Table"-pages in a directory.
AddEmptyCell | Yes - to allow addition EmptyCell into table. No - to forbid addition.
AddEmptyCellIf1Row | You can permit or forbid addition EmptyCell into "Table" HTML-page if table consists only of one row. Yes - to allow addition (also you must set AddEmptyCell=Yes). No - to forbid addition.
AddComment | You can allow automatic addition of comments to images from "comment file". Yes - to permit addition of the comments to images. No - to forbid addition of the comments to images.
CommentFileExt | This variable defines the extension of a "comment file" for "Table" pages. Q. : What is a "comment file"? A. : This is a simple file inside which you can place the description (or HTML code) for image. This file should be located in the same directory as the source image. The filename of "comment file" differs from source image filename only by extension. Ex. : Source image name = Pic1.jpg and CommentFileExt=.txt. In this case the filename of "comment file" must be Pic1.txt.
CommentRecode | You can automatically recode content of the "comment file" from "any" to "any" codepages. By default are supported the next characters tables: DOS 866, Windows-1251, ISO 8859-5, KOI-8. Format of this key: SourceCPName::TargetCPName Default CPName (aliases): dos, win, iso, koi For recode skipping set this key to blank or "No". Ex. 1: CommentRecode=No Ex. 2: CommentRecode=dos::win and AddComment=Yes. In this case the comment will be recoded from DOS 866 to Windows-1251 codepage. Note: The original "comment file" will be not modified during the process of recode. For more details about codepages please read my comment inside CodePage.tbl.
BeforeComment | This variable defines a string of HTML-code which will be auto-added before the comment. Ex. : <FONT SIZE="2" COLOR="AQUA">
AfterComment | This variable defines a string of HTML-code which will be auto-added after the comment. Ex. : </FONT>

4.06 Section [ TableNavigation ]
DelNavigateIf1Page | You can automatic remove all navigation markers from "Table"-page if current directory in gallery consists only of one "Table"-page. Yes - to remove all navigation markers. No - don't delete all navigation markers.
RoundBtnNavigation | This parameter more often is applied when you want to create SlideShow-effect for "Table"-pages (this effect is possible to create with the help JavaScript or tag "META HTTP-EQUIV = "Refresh""). That is to say, the TABLE_NEXT_PAGE variable on the last "Table"-page pointed to the first "Table"-page, and conversely, the TABLE_PREV_PAGE variable on the first "Table"-page pointed to the last "Table"-page. We shall get the "round"-links. Yes - to allow "round"-navigation. No - to forbid "round"-navigation.
AutoRemoveDisabledButtons | This parameter allows to control automatic removing from HTML-pages "disabled" navigational "buttons": Begin, Prev, Next ... "Disabled buttons" it "buttons" which are formed from variable BtnNav...A or do not point to concrete HTML-document. Yes - to allow automatic removing "disabled" buttons. No - to forbid removing "disabled" buttons (in this case is used BtnNav...A variable).
If button on navigation panel is linked to active "Table"-page then for this button will be used variable with suffix "A", else - "O".
BtnNavTableBeginA BtnNavTableBeginO | This variable should contain a string HTML-code which will be used as "Table Begin"-button.
BtnNavTablePrevA BtnNavTablePrevO | This variable should contain a string HTML-code which will be used as "Table Previous"-button.
BtnNavMainIndexA BtnNavMainIndexO | This variable should contain a string HTML-code which will be used as "Main Index"-button.
BtnNavLocalIndexA BtnNavLocalIndexO | This variable should contain a string HTML-code which will be used as "Local Index"-button.
BtnNavTableNextA BtnNavTableNextO | This variable should contain a string HTML-code which will be used as "Table Next"-button.
BtnNavTableEndA BtnNavTableEndO | This variable should contain a string HTML-code which will be used "Table End"-button.
MaxTxtLinksToPage | This variable defines the maximum number of elements for "text" navigation on "Table"-page. There can be any number from 3 up to 50, I recommend to use odd numbers: 5, 7, 9... Ex. : 7
BeforeTxtNav | This variable defines HTML-code which will be added in the begin ~TXT_NAV~.
TxtNavLabel | This variable defines a label name which will be used in ~TXT_NAV~. Ex. : "Page "
TxtNavA TxtNavO | This variable should contain a string of HTML-code which will be used for "Text" link.
TxtNavSeparator | This variable should contain a string of HTML-code which will be used as separator between "Text" links.
AfterTxtNav | This variable defines HTML-code which will be added in the end ~TXT_NAV~.

4.07 Section [ ShellPage ]
CreateShell | Yes - to create "Image Shell" pages. No - to not create "Image Shell" pages.
ShellTemplate | This variable defines the name of HTML-template for Shell-page. Ex. 1: Templates\Shell.htm Ex. 2: C:\My\GM\Templates\Shell.htm
ShellFileNameSchema | This variable defines the filename schema of "Image Shell" files.
Value | Description | Sample of "Image Shell" filename
i | Use source image name as name of "Image Shell". | PicName.htm
pi | Use Prefix + source image name as name of "Image Shell". | s_PicName.htm
ip | Use source image name + Postfix as name of "Image Shell". | PicName_s.htm
psp | Use Prefix + Suffix + Postfix as name of "Image Shell". | s_001_s.htm
ps | Use Prefix + Suffix as name of "Image Shell". | s_001.htm
sp | Use Suffix + Postfix as name of "Image Shell". | 001_s.htm
ShellFileNamePrefix | This variable sets prefix string which will be added to the beginning of the output "Image Shell" filename. Ex. : s_
ShellFileNameSuffixPS | This variable defines a symbol which will be used as a padding symbol in a suffix. Ex. : 0
ShellFileNameSuffix | This variable defines the suffix length of filename of "Image Shell". May be [1...5]. All examples are given for ps-schema: 1 - simple numbering: Ex. : s_1.htm, s_2.htm, s_3.htm ... s_99999.htm ... no limits. For meanings 2, 3, 4 and 5 the ShellFileNameSuffixPS is applied to padding suffix up to specified length. 2 - Length of a suffix is 2 symbols: Ex. : s_01.htm, s_02.htm, s_03.htm ... s_99.htm in this case "99" - the maximal meaning for suffix. 3 - Length of a suffix is 3 symbols: Ex. : s_001.htm, s_002.htm, s_003.htm ... s_999.htm in this case "999" - the maximal meaning for suffix. 4 - Length of a suffix is 4 symbols: Ex. : s_0001.htm, s_0002.htm, s_0003.htm ... s_9999.htm in this case "9999" - the maximal meaning for suffix. 5 - Length of a suffix is 5 symbols: Ex. : s_00001.htm, s_00002.htm, s_00003.htm ... s_99999.htm in this case "99999" - the maximal meaning for suffix.
ShellFileNameSuffix | This variable defines "suffix startup value" for filename of "Image Shell"-page. Ex. : 1
ShellFileNamePostfix | This variable sets postfix string which will be added to the end of the output "Image Shell" filename. Ex. : _s
ShellFileNameExt | This variable defines the extension of filename for output "Image Shell" HTML-pages. Ex. : .htm Note: Don't forget about the symbol "."
AddComment | You may allow automatic addition of the comments to images from "comment file". Yes - to permit addition of the comments to images. No - to forbid addition of the comments to images.
CommentFileExt | This variable defines the extension of a "comment file" for "Image Shell" pages. See this topic for details.
CommentRecode | See this topic for details.
BeforeComment | See this topic for details.
AfterComment | See this topic for details.

4.08 Section [ ShellNavigation ]
RoundBtnNavigation | See this topic for details.
AutoRemoveDisabledButtons | See this topic for details.
If button on navigation panel is linked to active "Image Shell" page then for this button will be used variable with suffix "A", else - "O".
BtnNavShellBeginA BtnNavShellBeginO | This variable should contain a string HTML-code which will be used as "Shell Begin"-button.
BtnNavShellPrevA BtnNavShellPrevO | This variable should contain a string HTML-code which will be used as "Shell Previous"-button.
BtnNavMainIndexA BtnNavMainIndexO | This variable should contain a string HTML-code which will be used as "Index"-button.
BtnNavLocalIndexA BtnNavLocalIndexO | This variable should contain a string HTML-code which will be used as "Local"-button.
BtnNavTable | This variable should contain a string HTML-code which will be used as "Table"-button.
BtnNavShellNextA BtnNavShellNextO | This variable should contain a string HTML-code which will be used as "Shell Next"-button.
BtnNavShellEndA BtnNavShellEndO | This variable should contain a string HTML-code which will be used as "Shell End"-button.

4.09 Section [ MainIndexPage ]
MainIndexRecordTemplate | This variable defines the name of HTML-template containing Record-fragment. Ex. 1: Templates\MainIndex.htm Ex. 2: C:\My\GM\Templates\MainIndex.htm
DirDescFilename | This variable defines filename of "Directory Description File" (DDF) without path. Q. : What is a "Directory Description File"? A. : This is a file inside which you can place the description of the current directory (or some HTML code). This file should be located in a directory for which it is intended. This is a very useful file, if inside directory exists DDF then for ~TITLE~ variable the contents file will be used. If DDF is not exist then ~TITLE~ is equal to short directory name. Ex. : dir_desc.txt.
IncriminateNNCount | This variable defines the order of numbering of records (variable ~DIR_NN~). Yes - Simple numbering. Adds one to serial number of current record. No - Skip numbering. Don't include current record into numbering of records. In this case ~DIR_NN~ is blank.

4.10 Section [ LocalIndexPage ]
CreateLocalIndex | Yes - to create Local Index page. No - don't create Local Index page.
LocalIndexTemplate | This variable defines the name of HTML-template for LocalIndex-page. Ex. 1: Templates\LocalIndex.htm Ex. 2: C:\My\GM\Templates\LocalIndex.htm
LocalIndexPageFileName | This variable defines Local Index page filename without path. Ex. : LocalIndexPageFileName=index.html
AutoRemoveDisabledButtons | See this topic for details.
If button on navigation panel points on nonexistent HTML-page, then for this button will be used variable with suffix "A", else - "O".
BtnNavTableBeginA BtnNavTableBeginO | This variable should contain a string HTML-code which will be used as "Table Begin"-button.
BtnNavTableEndA BtnNavTableEndO | This variable should contain a string HTML-code which will be used as "Table End"-button.
BtnNavShellBeginA BtnNavShellBeginO | This variable should contain a string HTML-code which will be used as "Shell Begin"-button.
BtnNavShellEndA BtnNavShellEndO | This variable should contain a string HTML-code which will be used as "Shell End"-button.
BtnNavMainIndexA BtnNavMainIndexO | This variable should contain a string HTML-code which will be used as "Main Index"-button.

4.11 Section [ Auto ]
AutoIncrementAStart AutoIncrementBStart AutoIncrementCStart AutoIncrementDStart AutoIncrementEStart | This variable defines a startup values of AutoIncrement variables. Q. : What is "AutoIncrement" variables? A. : This is a special variables which value will be incremented according to subdir depth level. The incremental step is equal to AutoIncrement?Start. There are no differences between these variables. You can use any one. These variables are very useful for creation of links on BACKGROUNDs or TITLE/BUTTON images.

4.12 Section [ User ]
The user can create the unlimited number of user-defined variables. The names of user-defined variable should consist of symbols: [A...Z] [a...z] [1..0] - _ You can use user-defined variables inside other user-defined variables. Note: The names of user-defined variable should not coincide with names of system variables. For instance: [User] USER_SAMPLE1="<a HREF="www.XYZ.com">Jump to XYZ</a>" MyVariable="Hello, World!" CreateTime="15 Oct 2000" Ver=1.0 Build=1234 Release=~Ver~ ~Build~ ~CreateTime~ User-defined variables may be used in any HTML-fragment, inside any HTML-keys in GM-project and inside Image or Directory description files. You should specify a name of user-defined variable between ~ symbols. The names of user-defined variables are not case sensitive. For example: ~USER_SAMPLE1~ ~MyVariable~ ~CreateTime~ ~Release~ Note: If, in the some directory, the name of "main" and "local" user-defined variable will coincide, then value of "local" user-defined variable will be used. Thus you can "reassign" values of "main" user-defined variables.

4.13 Section [ Messages ]
This section is located inside a language modules: /Language/*.lng. Language module contains all messages which are used in the program (exclude some special system messages). For creation the additional modules you can use special utility - "Localizator". Read details in the file ReadMe.txt.

4.14 Section [ Settings ]
These variables are intended for tuning "GM Shell" and located in the file gm.ini. If this file does not exist, then this file will be created with the default parameters. On user close "GM Shell" the some values of variables will be saved in this file automatically.
InitialDir | This variable defines the current worker a directory for "GM Shell". Ex. : D:\Work\GM\
Language | This variable defines the path and filename of language-module which program must use for output of different messages. By default, with the program are distribut the next language modules: English.lng - English language, Russian.lng - Russian language, German.lng - German language, Dutch.lng - Dutch language. Spanish.lng - Spanish language. You can create the language module for the necessary language and use it. See topic "Messages" for details. Ex. : Language=Language\English.lng
CreateLog | Yes - to create a log-file. No - to not create a log-file.
LogFileName | This variable defines a log filename. If you specified filename only, then log-file will be created in the current directory. Ex. 1: gm.log Ex. 2: c:\temp\gm.log
LogOverwrite | Yes - to overwrite a log-file with each start of program. No - to append new data in the end of existing log-file.
LogTimeStamp | Yes - to append "time stamp" for each record inside a log-file. No - don't insert "time stamp". "Time stamp" is substring of format: "dd.mm.yyyy hh:mm:ss" Ex. : "28.02.2002 16:29:45"
MainFormTop, MainFormLeft | The coordinates of main window "GM Shell".
LogFormLeft, LogFormTop, LogFormWidth, LogFormHeight | The coordinates and sizes of log-window.
LogFormShow | Yes - to show the log-window at start. No - hide the log-window at start.
Priority | The process priority class [0...5]: Idle, Lowest, Lower, Normal, Higher, Highest. Ex. : "3"
ShowMessageOnComplete | Show the message if process of gallery generation be successful.
ExternalProcessName | External application which will be automatically started after end of process of gallery generation.
WaitTermination | External application startup mode. Yes - wait the end of work of the external application. No - immediately return to the "GM-Shell" after start of the external application.
ExitOnComplete | Yes - Immediate exit from "GM-Shell" if process of gallery generation be successful.

5. The description of all possible variables |

The program use of a set of special variables (markers) inside HTML-fragments. All these variables will be automatically replaced with real values during generation of gallery. Any variable may be used over and over again in any HTML-fragments for which it is intended.
I have divided all variables on the following groups depending on "area of action":
TCF - Any "Table" HTML-fragment
SCF - Any "Image Shell" HTML-fragment
MICF - Any "Main Index" HTML-fragment
LICF - Any "Local Index" HTML-fragment
CCF - HTML-fragment "Cell" from "Table"-template
MIRC - HTML-fragment "Record" from "Main Index"-template
CSV - For variables MainCSVFormat and LocalCSVFormat
JC - Inside variable JPEG Comment from IP-scenario
TNI - HTML-Keys from section [ TableNavigation ]
SNI - HTML-Keys from section [ ShellNavigation ]
MIPI - HTML-Keys from section [ MainIndexPage ]
LIPI - HTML-Keys from section [ LocalIndexPage ]
UDV - User-Defined variables

5.01 Group "TCF + SCF + MICF + LICF + TNI + SNI + MIPI + LIPI + UDV + JC"
~CURRENT_SYSTEM_DATE~ ~CURRENT_SYSTEM_TIME~ | Inserts current system date/time (Numerical format). Note: Check value in "My Computer / Control Panel / Regional Settings / Date / Short date style" must be set [dd.mm.yyyy]. Ex. : 01.01.2000 Ex. : 14:35:36
~CURRENT_DAY_VALUE~ ~CURRENT_MONTH_VALUE~ ~CURRENT_YEAR_VALUE~ | Inserts the current day/month/year values. Ex. : 11 Ex. : 10 Ex. : 2000
~CURRENT_HOUR_VALUE~ ~CURRENT_MINUTE_VALUE~ ~CURRENT_SECOND_VALUE~ | Inserts the current hour/minute/second values. Ex. : 11 Ex. : 30 Ex. : 56
~CURRENT_DAYOFWEEK_NAME_LONG~ ~CURRENT_DAYOFWEEK_NAME_SHORT~ | Inserts the current day of the week (long/short format). Ex. : Saturday Ex. : Sat Note: This variables depends from Language key. You can change values of this variables in file *.lng.
~CURRENT_MONTH_NAME_LONG~ ~CURRENT_MONTH_NAME_SHORT~ | Inserts the current month of the year (long/short format). Ex. : December Ex. : Dec Note: This variables depends from Language key. You can change values of this variables in file *.lng.
~CURRENT_UTC_DATE~ ~CURRENT_UTC_TIME~ | Inserts current UTC date/time. Ex. : 11.11.2000 Ex. : 11:11
~CURRENT_INTERNET_DATE~ ~CURRENT_INTERNET_TIME~ | Inserts current internet date/time. For details see www.swatch.com Ex. : 11.11.2000 Ex. : 777
~GM_FULL_DIR_NAME~ ~GM_FULL_DIR_NAME_W~ | Inserts the full (ablosute) name your "Gallery Maker" directory. Ex. : "Gallery Maker" installed into directory "C:\Program Files\GM". In this case for ~GM_FULL_DIR_NAME~ will be used C:\Program Files\GM and for ~GM_FULL_DIR_NAME_W~ - file:///C:|Program%20Files/GM
~RANDOM_COUNT~ | Inserts unique autogenerated variable, can be used for creation banner-links. Ex. : 23194830640

5.02 Group "TCF + SCF + LICF + CSV + JC"
~SRC_FULL_DIR_NAME~ ~DST_FULL_DIR_NAME~ ~SRC_FULL_DIR_NAME_W~ ~DST_FULL_DIR_NAME_W~ | Inserts the full (ablosute) SrcDir and DstDir directory name. Ex. : SrcDir=C:\my\pics\Source. In this case for ~SRC_FULL_DIR_NAME~ will be used C:\my\pics\Source and for ~SRC_FULL_DIR_NAME_W~ - file:///C|/my/pics/Source Note: if you set DstDirsCase = 1 or 2 then value ~DST_FULL_DIR_NAME~ can differ from DstDir.
~SRC_MIDDLE_DIR_NAME~ ~DST_MIDDLE_DIR_NAME~ ~SRC_MIDDLE_DIR_NAME_W~ ~DST_MIDDLE_DIR_NAME_W~ | Inserts the middle part of subdirectory name. For SrcDir and DstDir directory value of this variable equivalent ''. Ex. : SrcDir=c:\my\pics and inside it exists subdirectory "c:\my\pics\items\dir1". In this case for ~SRC_MIDDLE_DIR_NAME~ for this subdirectory will be accepted "items\dir1" but for ~SRC_MIDDLE_DIR_NAME_W~ - "items/dir1/". Please pay attention on last /, this is very important when you want to create web-pages with absolute addressing. Note: If you set DstDirsCase = 1 or 2 then values ~SRC_MIDDLE_DIR_NAME~ and ~DST_MIDDLE_DIR_NAME~ may be different.
~SRC_SHORT_DIR_NAME~ ~DST_SHORT_DIR_NAME~ ~SRC_SHORT_DIR_NAME_W~ ~DST_SHORT_DIR_NAME_W~ | Inserts the short name of the current subdirectory. For SrcDir and DstDir directory this value equivalent last level of SrcDir or DstDir. Ex. 1: SrcDir=c:\arc\pics and DstDir=d:\my\imgs. In this case for ~SRC_SHORT_DIR_NAME~ will be accepted "pics" and for ~DST_SHORT_DIR_NAME~ - "imgs". Ex. 2: SrcDir=c:\my\pics and inside exists subdirectory "c:\my\pics\items\dir1". In this case for this subdirectory ~SRC_SHORT_DIR_NAME~ and ~DST_SHORT_DIR_NAME~ will be accepted "Dir1". Note: If you set DstDirsCase = 1 or 2 then values ~SRC_SHORT_DIR_NAME~ and ~DST_SHORT_DIR_NAME~ may be different.
~REL_PATH~ ~REL_PATH_W~ | Inserts the relative path from some subdirectory inside DstDir to corresponding directory inside SrcDir. Ex. : SrcDir=c:\my\pics and inside it exists some subdirectory "c:\my\pics\dir1" and DstDir=c:\pics\out. In this case for directory c:\pics\out\ the value of this variable will be accepted ../../my/pics, for subdirectory c:\pics\out\dir1 - ../../../my/pics/dir1. Note: You can't use this variable if SrcDir and DstDir are located on different disks. In this case I recommend use SRC_FULL_DIR_NAME_W.
Note: All variables with suffix _W will be converted in Web syntax: Space - %20, ! - %21, & - &amp;, \ - /, > - &gt;, < - &lt;

5.03 Group "TCF + SCF"
~TABLE_PAGE_INDEX~ | Inserts index of current "Table" HTML-page. Ex. : 2
~BEG_IMAGE_INDEX~ | Inserts a index of the first image on the current "Table" HTML-page. Ex. : 1
~END_IMAGE_INDEX~ | Inserts a index of the last image on the current "Table" HTML-page. Ex. : 10
~IMAGES_ON_PAGE~ | Inserts number of images on the current "Table" HTML-page. Ex. : 10

5.04 Group "CCF + SCF + CSV + JC"
~SRC_IMAGE_NAME_S~ ~SRC_IMAGE_NAME_L~ ~SRC_IMAGE_NAME_SW~ ~SRC_IMAGE_NAME_LW~ | Inserts filename of source image as short-, long- or web-format. Ex. : Black Moon & Dark Sun Ex. : Black Moon & Dark Sun.jpg Ex. : Black%20Moon%20&amp;%20Dark%20Sun Ex. : Black%20Moon%20&amp;%20Dark%20Sun.jpg
~SRC_IMAGE_DATE~ ~SRC_IMAGE_TIME~ | Inserts date or time of the source image. Ex. : 01.01.2000 Ex. : 14:09:10
~SRC_IMAGE_SIZE_B~ ~SRC_IMAGE_SIZE_K~ ~SRC_IMAGE_SIZE_M~ | Inserts the size of the source image in bytes/Kbytes/Mbytes. Ex. : 126300 Ex. : 126,3 Ex. : 0,126
~SRC_IMAGE_CRC32~ | Q. : That is a "CRC-32"? A. : CRC-32 is an acronym for the 32 bit Cyclical Redundancy Check algorithm. CRC-32 generally refers to a specific 32 bit CRC formula sanctioned by the CCITT, an international standards body primarily concerned with telecommunications. CRC-32 is used to verify the integrity of blocks of data. You may also calculate CRC-32 for any file with the help of external utility crc32.exe. Ex. : 44DE5AD1
~SRC_IMAGE_WIDTH~ | Inserts width of the source image in pixels. Ex. : 800
~SRC_IMAGE_HEIGHT~ | Inserts height of the source image in pixels. Ex. : 600
~SRC_IMAGE_BPP~ | Inserts the number of bits required to indicate the color of a pixel (bits per pixel). This value may be 1, 4, 8, 16, 24 or 32. Ex. : 24
~SRC_IMAGE_JPEG_COMMENT~ | Inserts the comment-field text from the source JPEG-file. For editing the comments inside source JPEG-files you can use special external utility - JCE.exe. Note: Not all JPEG readers or writers will recognize or pay attention to this text.

5.05 Group "CCF + SCF + CSV"
~THUMB_IMAGE_NAME_S~ ~THUMB_IMAGE_NAME_L~ ~THUMB_IMAGE_NAME_SW~ ~THUMB_IMAGE_NAME_LW~ ~SHELL_IMAGE_NAME_S~ ~SHELL_IMAGE_NAME_L~ ~SHELL_IMAGE_NAME_SW~ ~SHELL_IMAGE_NAME_LW~ | Inserts filename of Thumb- or Shell-image as short-, long- or web-format. Ex. : t_Black Moon & Dark Sun Ex. : t_Black Moon & Dark Sun.jpg Ex. : t_Black%20Moon%20&amp;%20Dark%20Sun Ex. : t_Black%20Moon%20&amp;%20Dark%20Sun.jpg Ex. : s_Black Moon & Dark Sun Ex. : s_Black Moon & Dark Sun.jpg Ex. : s_Black%20Moon%20&amp;%20Dark%20Sun Ex. : s_Black%20Moon%20&amp;%20Dark%20Sun.jpg
~THUMB_IMAGE_DATE~ ~THUMB_IMAGE_TIME~ ~SHELL_IMAGE_DATE~ ~SHELL_IMAGE_TIME~ | Inserts date or time of Thumb- or Shell-image. Ex. : 01.01.2000 Ex. : 14:09:10
~THUMB_IMAGE_SIZE_B~ ~THUMB_IMAGE_SIZE_K~ ~THUMB_IMAGE_SIZE_M~ ~SHELL_IMAGE_SIZE_B~ ~SHELL_IMAGE_SIZE_K~ ~SHELL_IMAGE_SIZE_M~ | Inserts the size of Thumb- or Shell-image in bytes/Kbytes/Mbytes. Ex. : 126300 Ex. : 126,3 Ex. : 0,126
~THUMB_IMAGE_WIDTH~ ~SHELL_IMAGE_WIDTH~ | Inserts width of the Thumb- or Shell-image. Ex. : 200
~THUMB_IMAGE_HEIGHT~ ~SHELL_IMAGE_HEIGHT~ | Inserts height of the Thumb- or Shell-image. Ex. : 122
~THUMB_IMAGE_BPP~ ~SHELL_IMAGE_BPP~ | Inserts the Thumb- or Shell-image color depth (bits per pixel). Ex. : 24
~THUMB_IMAGE_JPEG_COMMENT~ ~SHELL_IMAGE_JPEG_COMMENT~ | Inserts the comment-field text from the Thumb- or Shell-image JPEG-file.
~THUMB_IMAGE_USER_COMMENT~ ~THUMB_IMAGE_USER_COMMENT~ | Inserts the content of "comment file".
~THUMB_IMAGE_INDEX~ ~SHELL_IMAGE_INDEX~ | Inserts a index of the current Thumb- or Shell-image. Ex. : 2
~SHELL_PAGE_INDEX~ | Inserts index of current "Image Shell" HTML-page. Ex. : 2
~SHELL_PAGE_NAME_S~ ~SHELL_PAGE_NAME_L~ ~SHELL_PAGE_NAME_SW~ ~SHELL_PAGE_NAME_LW~ | Inserts filename of "Image Shell" HTML-page as short-, long- or web-format. Ex. : shell ImageName Ex. : shell ImageName.htm Ex. : shell%20ImageName Ex. : shell%20ImageName.htm

5.06 Group "TCF + LICF"
~TABLE_BEGIN~ | Inserts valid BtnNavTableBegin? string from GM-project for "Table" or "Local Index" HTML-pages.
~TABLE_END~ | Inserts valid BtnNavTableEnd? string from GM-project for "Table" or "Local Index" HTML-pages.

5.07 Group "TCF"
~TABLE_PREV~ | Inserts valid BtnNavTablePrev? string from GM-project.
~TABLE_NEXT~ | Inserts valid BtnNavTableNext? string from GM-project.
~TXT_NAV~ | The auto-generated expression, which consists from BeforeTxtNav + combination TxtNavA, TxtNavO and TxtNavSeparator expressions + AfterTxtNav.

5.08 Group "TCF + TNI"
~TABLE_PREV_PAGE~ | Inserts filename of the previous "Table"-page in the current directory. Ex. : Page2.htm
~TABLE_NEXT_PAGE~ | Inserts filename of the next "Table"-page in the current directory. Ex. : Page4.htm.

5.09 Group "TNI"
~HTML_PAGE~ | This variable used inside TxtNavA and TxtNavO strings for inserts a filename of "Table"-page for each "Text"-link. Ex. : Page2.htm
~TXT_NAV_LABEL~ | Inserts a navigation-link label. Ex. : Page
~PAGE_INDEX~ | Inserts "Table"-page index. Ex. : 2

5.10 Group "SCF + LICF"
~SHELL_BEGIN~ | Inserts valid BtnNavShellBegin? string from GM-project for "Image Shell" or "Local Index" HTML-pages.
~SHELL_END~ | Inserts valid BtnNavShellEnd? string from GM-project for "Image Shell" or "Local Index" HTML-pages.

5.11 Group "SCF"
~SHELL_PREV~ | Inserts valid BtnNavShellPrev? string from GM-project.
~TABLE~ | Inserts BtnNavTable string from GM-project.
~SHELL_NEXT~ | Inserts valid BtnNavShellNext? string from GM-project.

5.12 Group "SCF + SNI"
~SHELL_PREV_PAGE~ | Inserts filename of the previous "Image Shell"-page in current directory. Ex. : Page2.htm
~TABLE_PAGE_NAME_S~ ~TABLE_PAGE_NAME_L~ ~TABLE_PAGE_NAME_SW~ ~TABLE_PAGE_NAME_LW~ | Inserts filename of Table HTML-page as short, long or web-format. Ex. : table Page2 Ex. : table Page2.htm Ex. : table%20Page2 Ex. : table%20Page2.htm
~SHELL_NEXT_PAGE~ | Inserts filename of the next "Image Shell"-page in current directory. Ex. : Page4.htm.

5.13 Group "TCF + SCF + LICF"
~MAIN_INDEX~ | Inserts valid BtnNavMainIndex? string from GM-project for "Table", "Image Shell" or "Local Index" HTML-pages.

5.14 Group "TCF + SCF"
~LOCAL_INDEX~ | Inserts valid BtnNavLocalIndex? string from GM-project for "Table" or "Image Shell" HTML-pages.

5.15 Group "TCF + SCF + LICF + MIRC + TNI + SNI + MIPI + LIPI"
~DIR_NN~ | Inserts serial number for current record. Ex. : 5
~PATH~ | Inserts the relative path from Main Index-page to current directory. Ex. : DstDir=C:\temp\Dst\, in this case for subdirectory C:\temp\Dst\Dir1\ value of this variable equal Dst/Dir1/
~TABLE_BEGIN_PAGE~ | Inserts filename of the first "Table"-page in the current directory. Ex. : Page1.htm
~TABLE_END_PAGE~ | Inserts filename of the last "Table"-page in the current directory. Ex. : Page99.htm
~SHELL_BEGIN_PAGE~ | Inserts filename of the first "Image Shell"-page in the current directory. Ex. : Page1.htm
~SHELL_END_PAGE~ | Inserts filename of the last "Image Shell"-page in the current directory. Ex. : Page99.htm
~MAIN_INDEX_PAGE~ | Inserts filename of "Main Index" HTML-page without path. Ex. : Index.htm.
~LOCAL_INDEX_PAGE~ | Inserts filename of "Local Index" HTML-page without path. Ex. : Index.htm.
~DIR_TITLE~ | Inserts short directory name or contents Directory Description File. Ex. : Dir1
~DIR_TABLE_PAGES_COUNT~ | Inserts total number of "Table" HTML-pages in current directory. Ex. : 5
~DIR_IMAGES_COUNT~ | Inserts total number of images (without thumbnails) in current directory. Ex. : 25
~DIR_IMAGES_SIZE_B~ ~DIR_IMAGES_SIZE_K~ ~DIR_IMAGES_SIZE_M~ | Inserts the total size of images in current directory in bytes/Kbytes/Mbytes. Ex. : 5120123 Ex. : 5120,1 Ex. : 5,1
~LOCAL_CSV_NAME~ | Inserts the name of the local CSV-file for the current directory. Ex. : Local.csv

5.16 Group "MICF"
~TOTAL_NN~ | Inserts the total number of numberred records in gallery.
~TOTAL_RECORDS~ | Inserts the total number of records (subdirectories) in gallery.
~TOTAL_TABLE_PAGES_COUNT~ | Inserts the total number of "Table" HTML-pages in gallery.
~TOTAL_IMAGES_COUNT~ | Inserts the total number of images in gallery (without thumbnails).
~TOTAL_IMAGES_SIZE_B~ ~TOTAL_IMAGES_SIZE_K~ ~TOTAL_IMAGES_SIZE_M~ | Inserts the total size of images in gallery in bytes/Kbytes/Mbytes.
~MAIN_CSV_NAME~ | Inserts the name of the main CSV-file for the gallery. Ex. : Main.csv

5.17 Group "TCF + SCF + LICF + TNI + SNI + MIPI + LIPI + UDV"
~AutoIncrementA~ ~AutoIncrementB~ ~AutoIncrementC~ ~AutoIncrementD~ ~AutoIncrementE~ | Insert current value of AutoIncrement? variable. Ex. : DstDir=C:\PICS\OUT\ and AutoIncrementAStart="../", in this case for directory C:\PICS\OUT\ value ~AutoIncrementA~ will be ../, for subdirs C:\PICS\OUT\L1 or C:\PICS\OUT\K1 - ../../, for subdirs C:\PICS\OUT\L1\M2 or C:\PICS\OUT\K1\S2 - ../../../

6. Special expressions |

Q: What is "special expression"?
A: This is special marker which you can insert inside any HTML-fragment, some keys from GM-project and any used-defined variables. The special expressions are analysed and processed during post-process stage. You may ask me "Why?". Answer: At time of process of gallery generations some files (for example, Main Index or Main CSV) are not yet ready. Expressions are processed in same order in what they are listed below. If during processing the expression appears some error, then this expression be saved inside HTML-pages without any changes.
Note: The program uses next combinations of symbols for extracting the parameters of expressions: "," and " ) (spaces are allowed), be careful!

LoadFromFile ( "FileName" ) Reads the file specified in "FileName" and loads the data into the current position.
For specify "FileName" you must use full filename or valid internal (or user-defined) variables or their combinations. Ex. 1: LoadFromFile( "c:\gallery\test1" ) Ex. 2: LoadFromFile( "~SRC_FULL_DIR_NAME~\test2" ) Ex. 3: LoadFromFile( "~GM_FULL_DIR_NAME~\test3" )

SearchAndReplace ( "Text", "SearchText", "ReplaceText", "CodePage" ) Search the "SearchText"-pattern inside source "Text"-string and, if founded, replace it with "ReplaceText"-pattern. In any case, place the value of "Text" into the current position.
As parameters of this expression you may use any text, valid internal (or user-defined) variables or their combinations. Parameter "CodePage" required for correct "not case sensitive" searching the "SearchText"-pattern. "CodePage" must be equal to some parameter "CPName" from file CodePage.tbl Ex. 1: SearchAndReplace( "c:\gallery\test1", "\", "/", "dos" ) Ex. 2: SearchAndReplace( "any text", "te", "necessary te", "win" ) Ex. 3: SearchAndReplace( "~SRC_FULL_DIR_NAME~\test2", ":\", "", "dos" ) Note: Values of "Text", "SearchText" and "CodePage" can't be blank.

UpperCase ( "Text", "CodePage" ), LowerCase ( "Text", "CodePage" ) Convert source string "Text" to upper/lower case. To place the value of "Text" into the current position.
As parameters of this expression you may use any text, valid internal (or user-defined) variables or their combinations. Parameter "CodePage" required for correct transformation the case of symbols. "CodePage" must be equal to some value "CPName" from file CodePage.tbl Ex. 1: UpperCase( "my text", "dos" ) Ex. 2: LowerCase( "Hello, girl!", "win" ) Note: Value of "Text" can't be blank.

RecodeText ( "Text", "SourceCodePage", "TargetCodePage" ) Recode source string "Text" into other code page (from codepage "SourceCodePage" to "TargetCodePage"). To place the value of "Text" into the current position.
As parameters of this expression you may use any text, valid internal (or user-defined) variables or their combinations. "SourceCodePage" and "TargetCodePage" must be different and equal to some value "CPName" from file CodePage.tbl Ex. 1: RecodeText( "La-La", "dos", "koi" ) Ex. 2: RecodeText( "Hello!", "win", "dos" ) Note: Value of "Text" can't be blank.

SaveToFile ( "Text", "FileName", "Mode" ) Save data ("Text"-pattern) to file specified in "FileName". The source "Text" will be restored into the current position inside HTML-page.
For specify "FileName" you must use full filename or valid internal (or user-defined) variables or their combinations. Available modes: A - Append. Opens the file, if it exists. If the file does not exist, the function creates the new file. Append data to the end of file. O - Overwrite. Creates a new file (if it don't exists). The function overwrites the file if it exists. Ex. 1: SaveToFile( "any text", "c:\temp\statistics.txt", "A" ) Ex. 2: SaveToFile( "any text", "c:\temp\~SRC_IMAGE_NAME_S~.txt", "O" ) Note: If destination directory does not exist that it will be automatically created.

7. Registration and licensing |

You don't needed it. This product is a FREEWARE ;)

8. Acknowledgments |

- Alex Belashov (belcomp.newmail.ru a_lexx@chat.ru) for his help.
- Mike Lischke (public@lischke-online.de) for his excellent graphic library.
- Gordon Alex Cowie (gfody@jps.net).

9. "GM" Gallery Hall |

If You has created the gallery by "Gallery Maker" and published it in the Web, please, send me url and I'll add your gallery into "GM Gallery Hall".
LeVeL BBS Fantasy/Fantastic and Eros/Pin-Up Art Gallery
Cactus Picture Gallery
Photo gallery by Max Smolev
Gallery of Rats
XIII School-Seminar of Young Scientists and Specialists (English)
XIII School-Seminar of Young Scientists and Specialists (Russian)
Baykal spine '99 (Russian)
Gallery of public transport Saint Petersburg (Russian)
Aircraft show under Saint Petersburg (Russian)
PlazTech (Russian)
Junio-R - World children camp (Russian)
Photo gallery by Eugene Smirnov (Russian)
Vonga - White Sea 2001 (Russian)
Fe-n-Male Photo Gallery (Russian)
Nice girls (high-quality erotic photos)
... your gallery ...

10. Awards |

11. Download and how to contact me |

Visit L e V e L B B S Gallery Maker in the Web:
GM home page
USA mirror
Russia mirror
Moldova mirror
Good news! From www.portmix.com you can download the latest version of GM with visual shell.
If you have any comments, suggestions or you found bugs please mail me.
And don't forget to check the web site for news and updates.

Copyright © 1999-2002 Sergey Antoshin, Russia.