AtmoConfig.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:11k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*
  2.  * AtmoConfig.h: Class for holding all configuration values of AtmoWin
  3.  *
  4.  * See the README.txt file for copyright information and how to reach the author(s).
  5.  *
  6.  * $Id: 52c57f3fd9e346cb5917e9b8c3f8e53f1aed05ff $
  7.  */
  8. #ifndef _AtmoConfig_h_
  9. #define _AtmoConfig_h_
  10. #include "AtmoDefs.h"
  11. #include "AtmoZoneDefinition.h"
  12. #if defined(_ATMO_VLC_PLUGIN_)
  13. #   include <stdlib.h>
  14. #   include <string.h>
  15. #endif
  16. class CAtmoConfig {
  17.     protected:
  18.    int m_IsShowConfigDialog;
  19. #if defined(_ATMO_VLC_PLUGIN_)
  20.        char *m_devicename;
  21. #else
  22.    int m_Comport;
  23. #endif
  24.        enum AtmoConnectionType m_eAtmoConnectionType;
  25.        enum EffectMode m_eEffectMode;
  26.     protected:
  27.        ATMO_BOOL m_UseSoftwareWhiteAdj;
  28.        int m_WhiteAdjustment_Red;
  29.        int m_WhiteAdjustment_Green;
  30.        int m_WhiteAdjustment_Blue;
  31.     protected:
  32.        int m_IsSetShutdownColor;
  33.    int m_ShutdownColor_Red;
  34.    int m_ShutdownColor_Green;
  35.    int m_ShutdownColor_Blue;
  36.     protected:
  37.        /* Config Values for Color Changer */
  38.        int m_ColorChanger_iSteps;
  39.        int m_ColorChanger_iDelay;
  40.     protected:
  41.         /* Config  values for the primitive Left Right Color Changer */
  42.        int m_LrColorChanger_iSteps;
  43.        int m_LrColorChanger_iDelay;
  44.     protected:
  45.        /* the static background color */
  46.        int m_StaticColor_Red;
  47.        int m_StaticColor_Green;
  48.        int m_StaticColor_Blue;
  49.     protected:
  50.         /*
  51.            one for System + 9 for userdefined channel
  52.            assignments (will it be enough?)
  53.         */
  54.         tChannelAssignment *m_ChannelAssignments[10];
  55.         int m_CurrentChannelAssignment;
  56.     protected:
  57.         CAtmoZoneDefinition *m_ZoneDefinitions[ATMO_NUM_CHANNELS];
  58.     protected:
  59.         /* Live View Parameters (most interesting) */
  60.         AtmoFilterMode m_LiveViewFilterMode;
  61.         int m_LiveViewFilter_PercentNew;
  62.         int m_LiveViewFilter_MeanLength;
  63.         int m_LiveViewFilter_MeanThreshold;
  64.         // weighting of distance to edge
  65.         int m_LiveView_EdgeWeighting; //  = 8;
  66.         // brightness correction
  67.         int m_LiveView_BrightCorrect; //  = 100;
  68.         // darkness limit (pixels below this value will be ignored)
  69.         int m_LiveView_DarknessLimit; //  = 5;
  70.         // Windowing size for hue histogram building
  71.         int m_LiveView_HueWinSize;    //  = 3;
  72.         // Windowing size for sat histogram building
  73.         int m_LiveView_SatWinSize;    //  = 3;
  74.         /*
  75.           special (hack) for ignorning black borders durring
  76.           playback of letterboxed material on a 16:9 output device
  77.         */
  78.         int m_LiveView_WidescreenMode; // = 0
  79.         // border from source image which should be ignored
  80.         // the values are only used by the Win32 GDI Screen capture
  81.         int m_LiveView_HOverscanBorder;
  82.         int m_LiveView_VOverscanBorder;
  83.         int m_LiveView_DisplayNr;
  84.         /*
  85.            a special delay to get the light in sync with the video
  86.            was required because the frames will pass my VLC filter some [ms]
  87.            before they become visible on screen with this delay - screenoutput
  88.            and light timing could be "synchronized"
  89.         */
  90.         int m_LiveView_FrameDelay;
  91.     protected:
  92.          /* values of the last hardware white adjustment (only for hardware with new firmware) */
  93.          int m_Hardware_global_gamma;
  94.          int m_Hardware_global_contrast;
  95.          int m_Hardware_contrast_red;
  96.          int m_Hardware_contrast_green;
  97.          int m_Hardware_contrast_blue;
  98.          int m_Hardware_gamma_red;
  99.          int m_Hardware_gamma_green;
  100.          int m_Hardware_gamma_blue;
  101.     public:
  102.        CAtmoConfig();
  103.        virtual ~CAtmoConfig();
  104.        virtual void SaveSettings() {}
  105.        virtual void LoadSettings() {};
  106.        void LoadDefaults();
  107.        /*
  108.          function to copy  the values of one configuration object to another
  109.          will be used in windows settings dialog as backup if the user
  110.          presses cancel
  111.        */
  112.        void Assign(CAtmoConfig *pAtmoConfigSrc);
  113.     public:
  114.         int isShowConfigDialog()            { return m_IsShowConfigDialog; }
  115.         void setShowConfigDialog(int value) { m_IsShowConfigDialog = value; }
  116. #if defined(_ATMO_VLC_PLUGIN_)
  117.         char *getSerialDevice()               { return m_devicename; }
  118.         void setSerialDevice(char *newdevice) { free( m_devicename ); if(newdevice) m_devicename = strdup(newdevice); else m_devicename = NULL; }
  119. #else
  120.         int getComport()                    { return m_Comport; }
  121.         void setComport(int value)          { m_Comport = value; }
  122. #endif
  123.         int getWhiteAdjustment_Red() { return m_WhiteAdjustment_Red;  }
  124.         void setWhiteAdjustment_Red(int value) { m_WhiteAdjustment_Red = value; }
  125.         int getWhiteAdjustment_Green() { return m_WhiteAdjustment_Green;  }
  126.         void setWhiteAdjustment_Green(int value) { m_WhiteAdjustment_Green = value; }
  127.         int getWhiteAdjustment_Blue() { return m_WhiteAdjustment_Blue;  }
  128.         void setWhiteAdjustment_Blue(int value) { m_WhiteAdjustment_Blue = value; }
  129.         ATMO_BOOL isUseSoftwareWhiteAdj() { return m_UseSoftwareWhiteAdj; }
  130.         void setUseSoftwareWhiteAdj(ATMO_BOOL value) { m_UseSoftwareWhiteAdj = value; }
  131.         int isSetShutdownColor()     { return m_IsSetShutdownColor; }
  132.         void SetSetShutdownColor(int value) { m_IsSetShutdownColor = value; }
  133.         int getShutdownColor_Red()   { return m_ShutdownColor_Red; }
  134.         void setShutdownColor_Red(int value) { m_ShutdownColor_Red = value; }
  135.         int getShutdownColor_Green() { return m_ShutdownColor_Green; }
  136.         void setShutdownColor_Green(int value) { m_ShutdownColor_Green = value; }
  137.         int getShutdownColor_Blue()  { return m_ShutdownColor_Blue; }
  138.         void setShutdownColor_Blue(int value) { m_ShutdownColor_Blue=value; }
  139.         int getColorChanger_iSteps() { return m_ColorChanger_iSteps; }
  140.         void setColorChanger_iSteps(int value) { m_ColorChanger_iSteps = value; }
  141.         int getColorChanger_iDelay() { return m_ColorChanger_iDelay; }
  142.         void setColorChanger_iDelay(int value) { m_ColorChanger_iDelay = value; }
  143.         int getLrColorChanger_iSteps() { return m_LrColorChanger_iSteps; }
  144.         void setLrColorChanger_iSteps(int value) { m_LrColorChanger_iSteps = value; }
  145.         int getLrColorChanger_iDelay() { return m_LrColorChanger_iDelay; }
  146.         void setLrColorChanger_iDelay(int value) { m_LrColorChanger_iDelay = value; }
  147.         int getStaticColor_Red()   { return m_StaticColor_Red;   }
  148.         void setStaticColor_Red(int value)  { m_StaticColor_Red=value; }
  149.         int getStaticColor_Green() { return m_StaticColor_Green; }
  150.         void setStaticColor_Green(int value) { m_StaticColor_Green=value; }
  151.         int getStaticColor_Blue()  { return m_StaticColor_Blue;  }
  152.         void  setStaticColor_Blue(int value) { m_StaticColor_Blue=value; }
  153.         AtmoConnectionType getConnectionType() { return m_eAtmoConnectionType; }
  154.         void setConnectionType(AtmoConnectionType value) { m_eAtmoConnectionType = value; }
  155.         EffectMode getEffectMode() { return m_eEffectMode; }
  156.         void setEffectMode(EffectMode value) { m_eEffectMode = value; }
  157.         AtmoFilterMode getLiveViewFilterMode() { return m_LiveViewFilterMode; }
  158.         void setLiveViewFilterMode(AtmoFilterMode value) { m_LiveViewFilterMode = value; }
  159.         int getLiveViewFilter_PercentNew() { return m_LiveViewFilter_PercentNew; }
  160.         void setLiveViewFilter_PercentNew(int value) { m_LiveViewFilter_PercentNew=value; }
  161.         int getLiveViewFilter_MeanLength() { return m_LiveViewFilter_MeanLength; }
  162.         void setLiveViewFilter_MeanLength(int value) { m_LiveViewFilter_MeanLength = value; }
  163.         int getLiveViewFilter_MeanThreshold() { return m_LiveViewFilter_MeanThreshold; }
  164.         void setLiveViewFilter_MeanThreshold(int value) { m_LiveViewFilter_MeanThreshold = value; }
  165.         int getLiveView_EdgeWeighting() { return m_LiveView_EdgeWeighting; }
  166.         void setLiveView_EdgeWeighting(int value) { m_LiveView_EdgeWeighting=value; }
  167.         int getLiveView_BrightCorrect() { return m_LiveView_BrightCorrect; }
  168.         void setLiveView_BrightCorrect(int value) { m_LiveView_BrightCorrect=value; }
  169.         int getLiveView_DarknessLimit() { return m_LiveView_DarknessLimit; }
  170.         void setLiveView_DarknessLimit(int value) { m_LiveView_DarknessLimit=value; }
  171.         int getLiveView_HueWinSize() { return m_LiveView_HueWinSize; }
  172.         void setLiveView_HueWinSize(int value) { m_LiveView_HueWinSize=value; }
  173.         int getLiveView_SatWinSize() { return m_LiveView_SatWinSize; }
  174.         void setLiveView_SatWinSize(int value) { m_LiveView_SatWinSize=value; }
  175.         int getLiveView_WidescreenMode() { return m_LiveView_WidescreenMode; }
  176.         void setLiveView_WidescreenMode(int value) { m_LiveView_WidescreenMode=value; }
  177.         int getLiveView_HOverscanBorder() { return m_LiveView_HOverscanBorder; }
  178.         void setLiveView_HOverscanBorder(int value) { m_LiveView_HOverscanBorder = value; }
  179.         int getLiveView_VOverscanBorder() { return m_LiveView_VOverscanBorder; }
  180.         void setLiveView_VOverscanBorder(int value) { m_LiveView_VOverscanBorder = value; }
  181.         int getLiveView_DisplayNr() { return m_LiveView_DisplayNr; }
  182.         void setLiveView_DisplayNr(int value) { m_LiveView_DisplayNr = value; }
  183.         int getLiveView_FrameDelay() { return m_LiveView_FrameDelay; }
  184.         void setLiveView_FrameDelay(int delay) { m_LiveView_FrameDelay = delay; }
  185.         int getHardware_global_gamma() { return m_Hardware_global_gamma ; }
  186.         void setHardware_global_gamma(int value) { m_Hardware_global_gamma=value; }
  187.         int getHardware_global_contrast() { return m_Hardware_global_contrast; }
  188.         void setHardware_global_contrast(int value) { m_Hardware_global_contrast=value; }
  189.         int getHardware_contrast_red() { return m_Hardware_contrast_red; }
  190.         void setHardware_contrast_red(int value) { m_Hardware_contrast_red=value; }
  191.         int getHardware_contrast_green() { return m_Hardware_contrast_green; }
  192.         void setHardware_contrast_green(int value) { m_Hardware_contrast_green=value; }
  193.         int getHardware_contrast_blue() { return m_Hardware_contrast_blue; }
  194.         void setHardware_contrast_blue(int value) { m_Hardware_contrast_blue=value; }
  195.         int getHardware_gamma_red() { return m_Hardware_gamma_red; }
  196.         void setHardware_gamma_red(int value) { m_Hardware_gamma_red=value; }
  197.         int getHardware_gamma_green() { return m_Hardware_gamma_green; }
  198.         void setHardware_gamma_green(int value) { m_Hardware_gamma_green=value; }
  199.         int getHardware_gamma_blue() { return m_Hardware_gamma_blue; }
  200.         void setHardware_gamma_blue(int value) { m_Hardware_gamma_blue=value; }
  201.         tChannelAssignment *getChannelAssignment(int nummer) {
  202.             return this->m_ChannelAssignments[nummer];
  203.         }
  204.         int getCurrentChannelAssignment() { return m_CurrentChannelAssignment; }
  205.         void setCurrentChannelAssignment(int index) { m_CurrentChannelAssignment = index; }
  206.         int getNumChannelAssignments();
  207.         void clearChannelMappings();
  208.         void clearAllChannelMappings();
  209.         void AddChannelAssignment(tChannelAssignment *ta);
  210.         void SetChannelAssignment(int index, tChannelAssignment *ta);
  211.         CAtmoZoneDefinition *getZoneDefinition(int zoneIndex);
  212. };
  213. #endif