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

midi

开发平台:

Unix_Linux

  1. /*
  2.  * AtmoDefs.h: a lot of globals defines for the color computation - most of this file
  3.  * is an one  to one copy of "defs.h" from Atmo VDR Plugin
  4.  *
  5.  * See the README.txt file for copyright information and how to reach the author(s).
  6.  *
  7.  * $Id: 7ee1c4ed1237e7468ba1fe53e37a2e7b579cbefa $
  8.  */
  9. #ifndef _AtmoDefs_h_
  10. #define _AtmoDefs_h_
  11. #if defined(__LIBVLC__)
  12. #   include "config.h"
  13. #   define __STDC_CONSTANT_MACROS 1
  14. #   include <inttypes.h>
  15. #   include <vlc_common.h>
  16. /* some things need to be changed if this code is used inside VideoLan Filter Module */
  17. #   define _ATMO_VLC_PLUGIN_
  18. #   define ATMO_BOOL bool
  19. #   define ATMO_TRUE true
  20. #   define ATMO_FALSE false
  21. #else
  22.     typedef int ATMO_BOOL;
  23. #   define ATMO_TRUE   1
  24. #   define ATMO_FALSE  0
  25. #   define MakeWord(ch1,ch2)  ((((int)(ch1)&255)<<8) | 
  26.                            ((int)(ch2)&255))
  27. #   define MakeDword(ch1,ch2,ch3,ch4) ((((DWORD)(ch1)&255) << 24) | 
  28.                                    (((DWORD)(ch2)&255) << 16) | 
  29.                                    (((DWORD)(ch3)&255) << 8) | 
  30.                                    (((DWORD)(ch4)&255)))
  31. #endif
  32. #if !defined(WIN32)
  33. #define INVALID_HANDLE_VALUE -1
  34. typedef int HANDLE;
  35. typedef unsigned long DWORD;
  36. #define BI_RGB 0L
  37. #if !defined(_BITMAPFILEHEADER_)
  38. #define _BITMAPFILEHEADER_
  39. typedef struct
  40. #ifdef HAVE_ATTRIBUTE_PACKED
  41.     __attribute__((__packed__))
  42. #endif
  43. {
  44.         uint16_t   bfType;
  45.         uint32_t   bfSize;
  46.         uint16_t   bfReserved1;
  47.         uint16_t   bfReserved2;
  48.         uint32_t   bfOffBits;
  49. } BITMAPFILEHEADER, *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
  50. #endif
  51. #endif
  52. // maximal Anzahl Kanäle...
  53. #define ATMO_NUM_CHANNELS   5
  54. // capture width/height
  55. #define CAP_WIDTH    64
  56. #define CAP_HEIGHT   48
  57. // imagesize
  58. #define IMAGE_SIZE   (CAP_WIDTH * CAP_HEIGHT)
  59. enum AtmoConnectionType
  60. {
  61.       actSerialPort = 0,
  62.       actDummy = 1,
  63.       actDMX = 2
  64. };
  65. static const char *AtmoDeviceTypes[] = {
  66.       "Atmo",
  67.       "Dummy",
  68.       "DMX"
  69.   };
  70. #define ATMO_DEVICE_COUNT 3
  71. #if defined(_ATMO_VLC_PLUGIN_)
  72. enum EffectMode {
  73.       emUndefined = -1,
  74.       emDisabled = 0,
  75.       emStaticColor = 1,
  76.       emLivePicture = 2
  77.    };
  78. #else
  79. enum EffectMode {
  80.       emUndefined = -1,
  81.       emDisabled = 0,
  82.       emStaticColor = 1,
  83.       emLivePicture = 2,
  84.       emColorChange = 3,
  85.       emLrColorChange = 4
  86.    };
  87. #endif
  88. enum AtmoFilterMode {
  89.      afmNoFilter,
  90.      afmCombined,
  91.      afmPercent
  92. };
  93. typedef struct {
  94.     ATMO_BOOL system;
  95.     char name[64];
  96.     int mappings[ATMO_NUM_CHANNELS];
  97. } tChannelAssignment;
  98. // --- tRGBColor --------------------------------------------------------------
  99. typedef struct
  100. {
  101.   unsigned char r, g, b;
  102. } tRGBColor;
  103. // --- tColorPacket -----------------------------------------------------------
  104. typedef struct
  105. {
  106.   tRGBColor channel[ATMO_NUM_CHANNELS];
  107. } tColorPacket;
  108. // --- tRGBColorLongInt -------------------------------------------------------
  109. typedef struct
  110. {
  111.   long int r, g, b;
  112. } tRGBColorLongInt;
  113. // --- tColorPacketLongInt ----------------------------------------------------
  114. typedef struct
  115. {
  116.   tRGBColorLongInt channel[ATMO_NUM_CHANNELS];
  117. } tColorPacketLongInt;
  118. // --- tWeightPacket ----------------------------------------------------------
  119. typedef struct
  120. {
  121.   int channel[ATMO_NUM_CHANNELS];
  122. } tWeightPacket;
  123. // --- tHSVColor --------------------------------------------------------------
  124. typedef struct
  125. {
  126.   unsigned char h, s, v;
  127. } tHSVColor;
  128. #endif