#ifndef VLAB_CONFIG_H
#define VLAB_CONFIG_H

/*
**  VLab plug-in for ArtEffect / Config definitions
**  © 2002 Kakace Productions
**
*/


#ifndef  VLAB_CONTROL_H
#include "VLab_Control.h"
#endif


/*------------------------------------------------------------------------------------------------*/

/*
** Settings
*/

struct InputSettings {
    UBYTE is_VideoStd;          /* Video standard (VIDEO_#?)     */
    UBYTE is_Flags;             /* Flags. See below              */
    WORD  is_Hue;               /* Hue correction for NTSC input */

    /* Image position/dimension */
    UWORD is_XPos;              /* X position                    */
    UWORD is_YPos;              /* Y position                    */
    UWORD is_Width;             /* Width of the scanned picture  */
    UWORD is_Height;            /* Height of the scanned picture */

    /* Image correction */
    UBYTE is_Filters;           /* Various filter parameters     */
    BYTE  is_Gamma;             /* Gamma correction (Y)          */
    BYTE  is_Brightness;        /* Brightness setting            */
    BYTE  is_Contrast;          /* Contrast setting              */
};


/*
** Flags definitions : See VLab_Control.h
*/

#define DEFAULT_FLAGS   VLABF_VTR|VLABF_COLOR|VLABF_LACE|VLABF_HIRES


/*
** Configuration file
*/

struct VLabSettings {
    ULONG vs_Size;              /* Size of the structure         */
    UBYTE vs_CfgVer;            /* Version number                */
    UBYTE vs_Input;             /* Active input                  */

    struct InputSettings vs_Settings[3];

    /* Monitoring */
    UBYTE vs_MonFlags;          /* Monitoring flags              */
    UBYTE vs_Resolution;        /* Monitoring resolution         */
    UWORD vs_WLeft;             /* Monitor window's position     */
    UWORD vs_WTop;
};

#define CONFIG_VERSION  7


/*
** Filter definitions : See VLab_Control.h
*/

#define DEFAULT_FILTERS ((VLABF_BANDPASS_38 << VLABF_BANDPASS_SHIFT) | VLABF_FACTOR_50)


/*
** Monitoring flags (vs_MonFlags)
*/

#define MONITOR_COLOR       2   /* Monitor in color mode.                  */
#define MONITOR_NO_PIP      4   /* Disable PiP/Video layer monitoring      */


/*
** Monitoring resolutions : See VLab_Control.h
*/


/*
** Default config/settings
*/

#define DEF_SETTINGS    {                               \
        /* VideoStd, Flags, Hue*/                       \
        0, DEFAULT_FLAGS, -180,                         \
        /* XPos, YPos, Width, Height       */           \
        8, 36, 700, 560,                                \
        /* Filters, Gamma, Brightness, Contrast */      \
        DEFAULT_FILTERS, 7, 15, 0                       \
    }

#define DEFAULT_CONF    sizeof(struct VLabSettings),    \
        /* Version, Input */                            \
        CONFIG_VERSION, 0,                              \
        {DEF_SETTINGS, DEF_SETTINGS, DEF_SETTINGS},     \
        /* Monitor flags, resolution, position */       \
        0, 1, ~0, ~0

#endif  /* VLAB_CONFIG_H */

