IF OPEN(ReadFile,'ENVARC:Cataloger.config','R') THEN DO
ADProArgs=READLN(ReadFile)
DefPrefsFileName=READLN(ReadFile)
OutWinX=READLN(ReadFile)
OutWinY=READLN(ReadFile)
ShowErrors=READLN(ReadFile)
ListMode=READLN(ReadFile)
UseDCTV=READLN(ReadFile)
CALL CLOSE(ReadFile)
END
ELSE DO
IF EXISTS('MorphPlus') THEN ADProArgs='MAXMEM=3147776 NOSAVEDEFAULTS DEFAULTFILE=ADProDefaults'
IF EXISTS('ADPro') THEN ADProArgs='MAXMEM=3147776 NOSAVEDEFAULTS DEFAULTFILE=ADPro.prefs'
DefPrefsFileName=''
OutWinX=''
OutWinY=''
ShowErrors=''
ListMode=''
UseDCTV=''
END
IF DefPrefsFileName='' THEN DefPrefsFileName='CatPrefs:Cataloger.prefs'
IF DATATYPE(OutWinX)~='NUM' THEN OutWinX=640
IF DATATYPE(OutWinY)~='NUM' THEN OutWinY=85
IF ShowErrors~='Yes' & ShowErrors~='No' THEN ShowErrors='Yes'
IF ListMode~='All' & ListMode~='Both' & ListMode~='Cataloged' & ListMode~='Failed' & ListMode~='None' THEN ListMode='None'
IF UseDCTV~='Yes' & UseDCTV~='No' THEN UseDCTV='Yes'
IF ~SHOW('L',"rexxsupport.library") THEN CALL ADDLIB("rexxsupport.library",0,-30)
SIGNAL ON SYNTAX
SyntaxID='AddRexxSupport'
CALL NULL()
SIGNAL OFF SYNTAX
IF POS('ADPro',SHOW('Ports'))=0 THEN DO
IF EXISTS('ADPro') THEN ADDRESS COMMAND 'C:Run >NIL: ADPro '||ADProArgs
ELSE DO
IF EXISTS('MorphPlus') THEN ADDRESS COMMAND 'C:Run >NIL: MorphPlus '||ADProArgs
ELSE DO
SAY "Could not locate ADPro/MorphPlus"
EXIT
END
END
END
CALL TIME('R')
DO WHILE TIME('E')<60 & POS('ADPro',SHOW('Ports'))=0
CALL Delay(50)
END
IF POS('ADPro',SHOW('Ports'))=0 THEN DO
SAY "Could not start ADPro/MorphPlus"
EXIT
END
ADDRESS "ADPro"
VERSION
IF (WORD(adpro_result,1)='ADPro' & LEFT(WORD(adpro_result,2),3)>=2.5) | (WORD(adpro_result,1)='MorphPlus' & LEFT(WORD(adpro_result,2),3)>=1.3) THEN Vrsn='NEW'
ELSE Vrsn='OLD'
IF Vrsn='NEW' THEN DO
OBTAIN_ADPRO
SAVE_DEFAULTS 'T:TempADProDefaults'
if rc=10 then do
ADPRO_TO_FRONT
okay1 'Error saving file'||NL||,
'"T:TempADProDefaults"'
exit 10
end
END
IF Vrsn='OLD' THEN DO
LFORMAT
OldLoader=adpro_result
SFORMAT
OldSaver=adpro_result
OFORMAT
OldOperator=adpro_result
SCREEN_TYPE
SType=adpro_result
END
RENDER_TYPE
RType=adpro_result
PTOTAL
TotCol=adpro_result
SIGNAL ON BREAK_C
Settings=DefPrefsFileName
FindPrefs='False'
IF OPEN(Prefs,Settings,"R") THEN DO
CatVersion=READLN(Prefs)
IF WORD(CatVersion,1)='Cataloger' & WORD(CatVersion,2)<=1.97 THEN DO
DirMode=READLN(Prefs)
SkipType=READLN(Prefs)
PreImgAsp=READLN(Prefs)
PWI=READLN(Prefs)
PHE=READLN(Prefs)
ColMode=READLN(Prefs)
TWI=READLN(Prefs)
THI=READLN(Prefs)
UseTex=READLN(Prefs)
FName=READLN(Prefs)
FType=READLN(Prefs)
FSize=READLN(Prefs)
SizeTex=READLN(Prefs)
CatForm=READLN(Prefs)
CatMode=READLN(Prefs)
UseOps=READLN(Prefs)
SavOps=READLN(Prefs)
BackCol=READLN(Prefs)
TexCol=READLN(Prefs)
TexBacCol=READLN(Prefs)
CatSuff=READLN(Prefs)
ThumbType=READLN(Prefs)
TBMPct=READLN(Prefs)
TileBord=READLN(Prefs)
ThumBord=READLN(Prefs)
BordCol=READLN(Prefs)
TWID=READLN(Prefs)
THEI=READLN(Prefs)
TxtYPos=READLN(Prefs)
TxtXPos=READLN(Prefs)
ThumbProcess=READLN(Prefs)
SortList=READLN(Prefs)
DepthTex=READLN(Prefs)
BordThick=READLN(Prefs)
TileBordMode=READLN(Prefs)
FindPrefs='True'
END
CALL CLOSE(Prefs)
END
IF FindPrefs='False' THEN DO
OKAY1 'Could not load settings file:'||NL||,
'"'||Settings||'"'||NL||,
'Using defaults.'
DirMode='partial'
SkipType='none'
SortList='unsorted'
PreImgAsp='Yes'
ColMode='Color'
PWI=640
PHE=400
BackCol='0 0 0'
TWI=3
THI=2
TWID=200
THEI=180
UseTex='Yes'
TxtYPos='Bottom'
TxtXPos='center'
SizeTex='Yes'
DepthTex='Yes'
FName='topaz'
FType='BITMAPPED'
FSize=8
TexCol='0 0 0'
TBMPct=100
TexBacCol='255 255 255'
ThumbType='Small'
ThumbProcess='No'
TileBord='Yes'
TileBordMode='All'
ThumBord='Yes'
BordThick=1
BordCol='255 255 255'
CatForm='IFF'
CatMode='Raw'
UseOps='No'
SavOps=''
CatSuff='.iff'
END
CheckBuf='NO'
ImgDir='"'
CatDir=''
SeqDir='ADP_FRED:Sequences'
SeqFile=''
ListDir=''
ListFile=''
DO FOREVER
BackToStart='Yes'
DO WHILE BackToStart='Yes'
BackToStart='No'
ChoiceNum=0
DO WHILE ChoiceNum~=1
zz=LASTPOS('/',Settings)
IF zz=0 THEN zz=INDEX(Settings,':')
PrefsDir=LEFT(Settings,zz)
PrefsFile=RIGHT(Settings,LENGTH(Settings)-zz)
IF PrefsDir~='/' & RIGHT(PrefsDir,2)~='//' & RIGHT(PrefsDir,1)='/' THEN PrefsDir=LEFT(PrefsDir,LENGTH(PrefsDir)-1)
CatVersion='Cataloger 1.97'
IF SortList='' THEN SortList='unsorted'
IF ColMode='Grayscale' THEN ColMode='Gray'
IF BackCol='' THEN BackCol='0 0 0'
IF TWID='' THEN TWID=TRUNC((PWI-TWI-1)/TWI)
IF THEI='' THEN THEI=TRUNC((PHE-THI-1)/THI)
IF TRUNC((PWI-TWI-1)/TWI)<5 | TRUNC((PHE-THI-1)/THI)<9 | (ThumbType='Small' & TRUNC((PHE-THI-1)/THI)<11) THEN UseTex='No'
IF TxtYPos='' THEN TxtYPos='Bottom'
IF TxtXPos='' THEN TxtXPos='left'
IF DepthTex='' THEN DepthTex='No'
IF TexCol='' THEN TexCol='255 255 255'
IF TBMPct='' THEN TBMPct=50
IF TexBacCol='' THEN TexBacCol='0 0 0'
IF UseTex='No' | ThumbType='' THEN ThumbType='Large'
IF ThumbProcess='' THEN ThumbProcess='No'
IF TileBord='' THEN TileBord='Yes'
IF TileBordMode='' THEN TileBordMode='All'
IF (TWID=1 & THEI=1 & TileBord='Yes') | ThumBord='' THEN ThumBord='No'
IF BordThick='' THEN BordThick=1
IF BordCol='' THEN BordCol=TexCol
IF CatMode='Rendered' THEN CatMode='Image'
IF ColMode='Color' THEN DO
Col1=' (R G B): '||BackCol
Col2=' (R G B): '||TexCol
Col3=' (R G B): '||TexBacCol
Col4=' (R G B): '||BordCol
END
ELSE DO
Col1=' (G): '||WORD(BackCol,2)
Col2=' (G): '||WORD(TexCol,1)
Col3=' (G): '||WORD(TexBacCol,1)
Col4=' (G): '||WORD(BordCol,1)
END
IF (DirMode='entire' | DirMode='partial') & VRSN='NEW' THEN DirDis='Catalog '||DirMode||' directory, ignoring '||SkipType
IF (DirMode='entire' | DirMode='partial') & VRSN='OLD' THEN DirDis='Catalog '||DirMode||' directory'
IF DirMode='List' THEN DirDis='Catalog from '||SortList||' file list'
IF DirMode='Seq' THEN DirDis='Catalog from '||SortList||' Sequence file'
IF UseTex='Yes' THEN TextDis='On'
ELSE TextDis='Off'
IF SizeTex='Yes' THEN SizeDis='On'
ELSE SizeDis='Off'
IF DepthTex='Yes' THEN DepthDis='On'
ELSE DepthDis='Off'
IF ThumbProcess='Yes' THEN ThPrDis='On'
ELSE ThPrDis='Off'
IF TileBord='Yes' THEN TileDis='On'
ELSE TileDis='Off'
IF TileBordMode='Images' THEN TileBordDis='Only images'
IF SeqDir~='/' & RIGHT(SeqDir,2)~='//' & RIGHT(SeqDir,1)='/' THEN SeqDir=LEFT(SeqDir,LENGTH(SeqDir)-1)
IF Right(SeqFileName,4)~='.seq' THEN OKAY1 SeqFileName||NL||,
'does not end in the required'||NL||,
'extension of ".seq".'
END
END
IF BackToStart='No' THEN DO
IF OPEN(SEQ,SeqFileName,"R") THEN DO
fl=''
x=READLN(SEQ)
t=INDEX(x,'09'x)
IF t=0 THEN t=1
x=LEFT(x,t-1)
DO WHILE x~=''
IF INDEX(x,' ')=0 THEN x='"'||x||'"'
fl=fl||TRANSLATE(x,'09'x,' ')||' '
x=READLN(SEQ)
t=INDEX(x,'09'x)
IF t=0 THEN t=1
x=LEFT(x,t-1)
END
CALL CLOSE(SEQ)
IF fl='' THEN DO
ADPRO_TO_FRONT
OKAY1 'Error: There were no files in'||NL||,
'"'||SeqFileName||'"'
BackToStart='Yes'
END
END
ELSE DO
ADPRO_TO_FRONT
OKAY1 SeqFileName||NL||,
'could not be read.'
BackToStart='Yes'
END
END
end
IF BackToStart='No' THEN DO
ADPRO_TO_FRONT
GETFILE "'Catalog base filename'" '"'||CatDir||'"' '"'||'"'
if rc=10 then BackToStart='Yes'
IF BackToStart='No' THEN DO
CatFile='"'||ADPro_Result
zz=LASTPOS('/',CatFile)
IF zz=0 THEN zz=INDEX(CatFile,':')
IF zz=0 THEN zz=1
CatDir=SUBSTR(CatFile,2,zz-1)
IF CatDir~='/' & RIGHT(CatDir,2)~='//' & RIGHT(CatDir,1)='/' THEN CatDir=LEFT(CatDir,LENGTH(CatDir)-1)
END
END
END
END
IF Vrsn='NEW' THEN DO
SET_ADPRO_PUBLIC
ADProScrn=adpro_result
SET_ADPRO_MODE
ScreenWidth=WORD(ADPRO_RESULT,2)
ScreenHeight=WORD(ADPRO_RESULT,3)
ADPRO_TO_FRONT
if ~open(CON,'con:'||TRUNC((ScreenWidth-OutWinX)/2)||'/'||TRUNC((ScreenHeight-OutWinY)/2)||'/'||OutWinX||'/'||OutWinY||'/Cataloger 1.97 Ctrl-C to abort/SCREEN '||ADProScrn,'W') then do
ADPRO_TO_FRONT
OKAY1 'Could not open output window'
CALL RestoreExit 10
end
END
IF Vrsn='OLD' THEN DO
ADPRO_TO_BACK
if ~open(CON,'con:0/1/'||OutWinX||'/'||OutWinY||'/Cataloger 1.97 Ctrl-C to abort','W') then do
ADPRO_TO_FRONT
OKAY1 'Could not open output window'
CALL RestoreExit 10
end
END
Line1=0
IF DirMode='partial' | DirMode='entire' | ((DirMode='List' | DirMode='Seq') & SortList='sorted') THEN DO