Sync-O-Matic Style Files

This is some initial documentation on style files. It needs work, I know.

The style files are stored in directories of the form {Application Directory}\style\sync2k. This is an example directory listing of the standard style directory:

F000     HTM           585  09-25-98  4:47p
N000     HTM         1,783  01-15-99  3:04p
R000     RAM            48  09-25-98  4:47p
R000     RPM           105  09-25-98  4:47p
STR0     RAM            36  09-25-98  4:47p
THUMB    HTM           347  09-25-98  4:47p
CACHE    HTM           277  09-25-98  4:47p
INDEX    HTM         2,287  12-07-98  3:47p
PROBLEMS HTM         1,896  09-25-98  4:47p
SLD000   HTM         1,337  01-13-99  4:08p
Sync-O-Mat following these steps to produce a lecture: The names of the files in the style directory determine how each file is treated. The contents of the file are HTML or other text material (such as RPM). Sync-O-Mat does not really care at all about the contents - it is a string processor when looking at the files.

Contents of a style file

There are three basic things that you will see in a style file:

We will provide basic documentation for each.

String Values

String Values - For Each Slide
N*NLecture name
N#NSlide Number formatted as three digits - 001
N-NPrevious slide number. At slide 1 this is 001
N+NNext slide number. At the last slide this is the last slide
n#n, n+n, n-nSame as above except the numbers are not three digit.
S#S, S+S, S-SSlide name - sld001
X#X, X+X, X-XSlide start time offset from the beginning of the current media file
X*XDuration of this lecture segment.
P#P, P+P, P-PCurrent part number of the lecture
T#TCurrent slide title from PowerPoint
I#IThe current complete image name - May not be imgnnn.gif

Control Structures

Control Structures
!FORPART ... !ENDPART Text between FORPART and ENDPART is repeatedly processed for each lecture part. The variable P#P is incremented each time the text is generated. All lectures have at least one part. The N#N and all slide related variables are set to the value for the first slide in the lecture part.
(Deprecated in Sync-O-Matic 2000)
!FORSLIDE ... !ENDSLIDE Text between FORSLIDE and ENDSLIDE is repeatedly processed for each slide in the presentation. The variable N#N and all the other string variables such as T#T correspond to the slide as well.

When a FORSLIDE is embedded within a FORPART, it generates for those slides within the part of the lecture being processed.

!IFDEF ... !ENDIF This is conditionally generated code. There is also a !ELSE. These can be nested. The conditional expressions are very SIMPLE - they are a list of TRUE/FALSE values listed in the following table.

IFDEF Values

These are the values which can be used on !IFDEF commands. They are a little strange because of several reasons. Ultimately it would not be much work to allow simple logical combinations to simplify these. These values change from slide to slide and from lecture part to lecture part. For example generating sld010.htm, AUDIO means, "Is there audio associated with slide 10". Generating index.htm, AUDIO means, "is there any audio in this lecture". Similarly in a FORSLIDE, the value for AUDIO changes as the loop processes each slide.
IFDEF Values
AUDIOIs true if audio is present
AUDIOONLYIf true if there is NOLY audio present
VIDEOIs true if video is present
VIDEOONLY Is true if there is ONLY video present
AUDIOANDVIDEOIs true if both audio and video exist
CDROMIs true is we are creating a CD-ROM version of the lecture
WEBIs true if we are generating a Web version of the lecture
PSEUDOSTREAMIs true if the user has NOT checked the "Stream" checkbox
STREAMIs true if the use checks the stream checkbox - generally when this is enabled, pseudo-streaming is also available (they obviously have http: capability) so you may want to generate both streaming and pseudo-streaming files and give the user a choice. In the standard style, the problems.htm file gives the user a choice to switch to pseudo-streaming even when streaming is checked and is used as the primary delivery mechanism.
CDROM and WEB are mutually exclusive as are STREAM and PSEUDOSTREAM.

PowerPoint Includes

Sync-O-Matic parses the PowerPoint materials and extracts information about each slide. This information can be copied into your new files using these commands. These only work when there is a file of exactly the same name in the PowerPoint file and the style file. The only files that use these are the sld000.htm and tsld000.htm files or the img001.not files as noted below.
Included Materials From PowerPoint
!MAPIncludes any image map information from the slide
!HEADIncludes all the material between HEAD and /HEAD
!NOTESIncludes all the notes materials. If the sldnnn.htm file does not exist, Sync-O-Matic looks for a file of the form imgnnn.not and includes its entire contents as notes. The naming is based on removing the suffix from the image file name, and adding ".not", so this can be used with arbitrarily named image files.
!RTNOTESIncludes all the notes materials, stripping all the HTML except paragraph tags. This intended to produce good "RealText" material from PowerPoint notes.
!INCLUDEIncludes the whole slide. The only use for this is the tsld000.htm file

Future plans

Currently, the PROCESS.BAT file is generated in the code of Sync-O-Matic. In future releases, I intend to make the PROCESS.BAT file another style file. These strings are primarily intended for use in the PROCESS.BAT or other batch files.

To completely replace the PROCESS.BAT, I will need more than these strings and a more flexible configuration capability.
String Values - For PROCESS.BAT
S*PPowerPoint Directory
S*MMedia Directory
F*MMedia File Name (includes path and drive). This changes for each media file in a !FORPART. Outside of a !FORPART, it is the first (usually only) Media File. Useful to copy the media files ino the destination directory.
S*CCopy Directory
S*SStyle Directory
D*CDestination CDROM Directory (including drive letter)
L*CDestination CDROM Drive Letter (i.e. C: )
D*WDestination Web Directory (including drive letter)
L*WDestination Wed Drive Letter