home *** CD-ROM | disk | FTP | other *** search
- /*
- ** AdjustBalancing.fred
- **
- ** $VER: AdjustBalancing.fred 1.2.0 (23.10.93)
- **
- ** This program can be run from an InvokeADPro list to run the raw image
- ** data through the Balancing settings defined in the pre script or to
- ** display the current Balancing settings and ask the user if they should
- ** be changed.
- **
- ** Clips Imported:
- ** FREDGlobalModify - ~0 if operation is global
- ** 0 if it should be frame-specific
- ** FREDRedLevel - Red component value
- ** FREDGreenLevel - Green component value
- ** FREDBlueLevel - Blue component value
- ** FREDBrightnessLevel - Brightness component value
- ** FREDContrastLevel - Contrast component value
- ** FREDGammaLevel - Gamma component value
- **
- ** Clips Exported:
- ** FREDRedLevel - Red component value
- ** FREDGreenLevel - Green component value
- ** FREDBlueLevel - Blue component value
- ** FREDBrightnessLevel - Brightness component value
- ** FREDContrastLevel - Contrast component value
- ** FREDGammaLevel - Gamma component value
- **
- ** NOTE: Clip names are case sensitive.
- **
- ** This script requires FRED v1.4.0 (or higher) to run. Also required is
- ** ADPro v2.5.0 (or higher).
- **
- ** Copyright © 1992-1993 ASDG, Incorporated
- ** All Rights Reserved
- **
- ** GAMMA ARexx command changed in ADPRO 2.0.4
- ** The new range is -50 to 50, not 0 to 100
- ** updated this script Monday 26-Jul-93, joe porkka (After ADPRO 2.3)
- */
-
-
- ADDRESS "ADPro"
- OPTIONS RESULTS
-
- PARSE ARG FrameNum FrameFName Length LoadFlag FirstCallSeq FirstCallCell
-
- NL = '0A'X
- SQ = '27'X
- DQ = '22'X
- TRUE = 1
- FALSE = 0
-
-
- /*
- ** Get the required clips. Error if any are missing.
- */
-
- GlobalModify = GETCLIP( "FREDGlobalModify" )
- IF (GlobalModify = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDGlobalModify," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- IF (GlobalModify ~= 0) THEN DO
- RedLevel = GETCLIP( "FREDRedLevel" )
- IF (RedLevel = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDRedLevel," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- GreenLevel = GETCLIP( "FREDGreenLevel" )
- IF (GreenLevel = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDGreenLevel," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- BlueLevel = GETCLIP( "FREDBlueLevel" )
- IF (BlueLevel = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDBlueLevel," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- BrightnessLevel = GETCLIP( "FREDBrightnessLevel" )
- IF (BrightnessLevel = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDBrightnessLevel," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- ContrastLevel = GETCLIP( "FREDContrastLevel" )
- IF (ContrastLevel = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDContrastLevel," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- GammaLevel = GETCLIP( "FREDGammaLevel" )
- IF (GammaLevel = "") THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Required clip, FREDGammaLevel," || NL ||,
- "is not specified."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- END
-
-
- /*
- ** See what type of data is loaded in ADPro/MorphPlus.
- */
-
- CALL "FREDSCRIPTS:FREDFunctions/CheckForRawImageData" TRUE
- IF (RESULT ~= 0) THEN
- EXIT 10
-
-
- /*
- ** Run the raw image data through the defined balancing settings.
- ** Note that this script will create new rendered data.
- */
-
- IF (GlobalModify = 0) THEN DO
- RED
- RedLevel = ADPRO_RESULT
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not retrieve red level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- GREEN
- GreenLevel = ADPRO_RESULT
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not retrieve green level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- BLUE
- BlueLevel = ADPRO_RESULT
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not retrieve blue level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- BRIGHTNESS
- BrightnessLevel = ADPRO_RESULT
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not retrieve brightness level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- CONTRAST
- ContrastLevel = ADPRO_RESULT
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not retrieve contrast level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- GAMMA
- GammaLevel = ADPRO_RESULT
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not retrieve gamma level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- text = "Frame# " || FrameNum || NL ||,
- '"'FrameFName'"' || NL || NL ||,
- "Current Balancing Levels:" || NL ||,
- " Red = " || RedLevel || NL ||,
- " Green = " || GreenLevel || NL ||,
- " Blue = " || BlueLevel || NL ||,
- " Brightness = " || BrightnessLevel || NL ||,
- " Contrast = " || ContrastLevel || NL ||,
- " Gamma = " || GammaLevel
-
- ADPRO_TO_FRONT
-
- OKAYN '"AdjustBalancing.fred"' '"'text'"' '"Adjust Levels|Keep Current Levels|Cancel"'
- IF (RC = 0) THEN DO
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- ELSE IF (RC = 1) THEN DO
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"New Red level"' RedLevel (-50) 50 TRUE
- IF (RESULT = ((-50)-1)) THEN
- EXIT 10
- RedLevel = RESULT
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"New Green level"' GreenLevel (-50) 50 TRUE
- IF (RESULT = ((-50)-1)) THEN
- EXIT 10
- GreenLevel = RESULT
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"New Blue level"' BlueLevel (-50) 50 TRUE
- IF (RESULT = ((-50)-1)) THEN
- EXIT 10
- BlueLevel = RESULT
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"New Brightness level"' BrightnessLevel (-50) 50 TRUE
- IF (RESULT = ((-50)-1)) THEN
- EXIT 10
- BrightnessLevel = RESULT
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"New Contrast level"' ContrastLevel (-50) 50 TRUE
- IF (RESULT = ((-50)-1)) THEN
- EXIT 10
- ContrastLevel = RESULT
-
- CALL "FREDSCRIPTS:FREDFunctions/GetANumber" '"New Gamma level"' GammaLevel (-50) 50 TRUE /* GammaLevel 0 100 -- Pre ADPro 2.0.4 */
- IF (RESULT = ((-50)-1)) THEN
- EXIT 10
- GammaLevel = RESULT
-
- CreateRendered = 1
- END
- ELSE IF (RC = 2) THEN
- CreateRendered = 0
-
- SCREEN_TO_FRONT "FRED"
- END
- ELSE IF (GlobalModify = 1) THEN
- CreateRendered = 1
-
- IF (CreateRendered = 1) THEN DO
- RED RedLevel
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not set red level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- GREEN GreenLevel
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not set green level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- BLUE BlueLevel
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not set blue level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- BRIGHTNESS BrightnessLevel
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not set brightness level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- CONTRAST ContrastLevel
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not set contrast level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- GAMMA GammaLevel
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not set gamma level."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
-
- EXECUTE
- IF (RC ~= 0) THEN DO
- ADPRO_TO_FRONT
- OKAY1 "Could not create rendered data."
- SCREEN_TO_FRONT "FRED"
- EXIT 10
- END
- END
-
- EXIT 0
-