Files
veejay/veejay-current/veejay-core/veejaycore/vims.h

349 lines
10 KiB
C

/* veejay - Linux VeeJay
* (C) 2002-2008 Niels Elburg <nwelburg@gmail.com>
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef VIMS_H
#define VIMS_H
enum {
VIMS_BUNDLE_START = 500,
VIMS_BUNDLE_END = 599,
VIMS_MAX = 602,
};
enum {
VIMS_FXLIST_INC = 1,
VIMS_FXLIST_DEC = 2,
VIMS_FXLIST_ADD = 3,
VIMS_PRINT_INFO = 4,
VIMS_PREVIEW_BW = 8,
VIMS_VIEWPORT = 9,
VIMS_FRONTBACK = 6,
VIMS_PROJECTION = 7,
VIMS_COMPOSITE = 47,
VIMS_RENDER_DEPTH = 48,
VIMS_FEEDBACK = 49,
VIMS_CLEAR_MACRO_BANK = 31,
VIMS_MACRO = 33,
VIMS_MACRO_SELECT = 34,
VIMS_CONTINUOUS_PLAY = 35, //FIXME delete this event
VIMS_RECVIEWPORT = 90,
VIMS_VIDEO_INFORMATION = 400,
VIMS_PROMOTION = 444, /* obsolete */
VIMS_EFFECT_LIST = 401,
VIMS_EDITLIST_LIST = 402,
VIMS_BUNDLE_LIST = 403,
VIMS_STREAM_LIST = 405,
VIMS_STREAM_DEVICES = 406,
VIMS_SAMPLE_HISTORY_LIST = 407,
VIMS_SAMPLE_LIST = 408,
VIMS_STREAM_GET_V4L = 409,
VIMS_CHAIN_GET_ENTRY = 410,
VIMS_VIMS_LIST = 411,
VIMS_SAMPLE_INFO = 413,
VIMS_SAMPLE_OPTIONS = 414,
VIMS_DEVICE_LIST = 415,
VIMS_FONT_LIST = 416,
VIMS_SRT_LIST = 417,
VIMS_SRT_INFO = 418,
VIMS_TRACK_LIST = 5,
VIMS_SEQUENCE_LIST = 419,
VIMS_KEYLIST = 420,
VIMS_WORKINGDIR = 421,
VIMS_SAMPLE_STACK = 422,
VIMS_GET_IMAGE = 423,
VIMS_GET_SHM_EXT = 424,
VIMS_GET_SHM = 425,
VIMS_GET_SPLIT_IMAGE = 426,
VIMS_GET_SAMPLE_IMAGE = 427,
VIMS_GET_STREAM_ARGS = 428,
VIMS_CHAIN_GET_PARAMETERS = 435,
VIMS_GET_GENERATORS = 436,
VIMS_GET_FEEDBACK = 437,
VIMS_GET_MACRO = 438,
VIMS_GET_ALL_MACRO = 439,
VIMS_DEL_MACRO = 36,
VIMS_PUT_MACRO = 32,
VIMS_SET_VOLUME = 300,
VIMS_FULLSCREEN = 301,
VIMS_SUSPEND = 254,
VIMS_QUIT = 600,
VIMS_CLOSE = 601,
VIMS_LOAD_PLUGIN = 310,
VIMS_UNLOAD_PLUGIN = 311,
VIMS_CMD_PLUGIN = 312,
VIMS_RECORD_DATAFORMAT = 302,
VIMS_SET_PLAIN_MODE = 303,
VIMS_INIT_GUI_SCREEN = 304,
VIMS_SWITCH_SAMPLE_STREAM = 305,
VIMS_AUDIO_ENABLE = 306,
VIMS_AUDIO_DISABLE = 307,
VIMS_SELECT_BANK = 308,
VIMS_SELECT_ID = 309,
VIMS_SAMPLE_RAND_START = 315,
VIMS_SAMPLE_RAND_STOP = 316,
VIMS_REC_AUTO_START = 320,
VIMS_REC_STOP = 321,
VIMS_REC_START = 322,
VIMS_EFFECT_SET_BG = 339,
VIMS_SAMPLE_MODE = 323,
VIMS_BEZERK = 324,
VIMS_DEBUG_LEVEL = 325,
VIMS_RESIZE_SDL_SCREEN = 326,
VIMS_SET_PLAY_MODE = 327,
VIMS_SET_MODE_AND_GO = 328,
VIMS_RGB_PARAMETER_TYPE = 329,
VIMS_SCREENSHOT = 330,
VIMS_NO_CACHING = 331,
VIMS_RGB24_IMAGE = 333,
VIMS_CALI_IMAGE = 332,
VIMS_SYNC_CORRECTION = 334,
VIMS_FRAMERATE = 335,
VIMS_SUB_RENDER_ENTRY = 319,
VIMS_SUB_RENDER = 336,
VIMS_ALPHA_COMPOSITE = 337,
VIMS_RESUME_ID = 338,
VIMS_VIDEO_PLAY_FORWARD = 10,
VIMS_VIDEO_PLAY_BACKWARD = 11,
VIMS_VIDEO_PLAY_STOP = 12,
VIMS_VIDEO_SKIP_FRAME = 13,
VIMS_VIDEO_PREV_FRAME = 14,
VIMS_VIDEO_SKIP_SECOND = 15,
VIMS_VIDEO_PREV_SECOND = 16,
VIMS_VIDEO_GOTO_START = 17,
VIMS_VIDEO_GOTO_END = 18,
VIMS_VIDEO_SET_FRAME = 19,
VIMS_VIDEO_SET_SPEED = 20,
VIMS_VIDEO_SET_SLOW = 21,
VIMS_VIDEO_MCAST_START = 22,
VIMS_VIDEO_MCAST_STOP = 23,
VIMS_VIDEO_SET_SPEEDK = 24,
VIMS_VIDEO_PLAY_STOP_ALL = 26,
VIMS_VIDEO_SET_FRAME_PERCENTAGE = 27,
VIMS_EDITLIST_PASTE_AT = 50,
VIMS_SPLIT_CONNECT_SHM = 60,
VIMS_SHM_WRITER = 25,
VIMS_TOGGLE_TRANSITIONS = 28,
VIMS_EDITLIST_COPY = 51,
VIMS_EDITLIST_DEL = 52,
VIMS_EDITLIST_CROP = 53,
VIMS_EDITLIST_CUT = 54,
VIMS_EDITLIST_ADD = 55,
VIMS_EDITLIST_ADD_SAMPLE = 56,
VIMS_EDITLIST_SAVE = 58,
VIMS_EDITLIST_LOAD = 59,
VIMS_OFFLINE_SAMPLES = 70,
VIMS_OFFLINE_TAGS = 71,
VIMS_OFFLINE_PLAYMODE = 72,
VIMS_BUNDLE = 80,
VIMS_BUNDLE_DEL = 81,
VIMS_BUNDLE_ADD = 82,
VIMS_BUNDLE_ATTACH_KEY = 83,
VIMS_BUNDLE_FILE = 84,
VIMS_BUNDLE_SAVE = 85,
VIMS_BUNDLE_CAPTURE = 86,
VIMS_SET_SAMPLE_START = 150,
VIMS_SET_SAMPLE_END = 151,
VIMS_SAMPLE_KF_CLEAR = 152,
VIMS_SAMPLE_NEW = 100,
VIMS_SAMPLE_SELECT = 101,
VIMS_SAMPLE_DEL = 120,
VIMS_SAMPLE_SET_LOOPTYPE = 102,
VIMS_SAMPLE_SET_DESCRIPTION = 103,
VIMS_SAMPLE_SET_SPEED = 104,
VIMS_SAMPLE_SET_START = 105,
VIMS_SAMPLE_SET_END = 106,
VIMS_SAMPLE_SET_DUP = 107,
VIMS_SAMPLE_SET_MARKER_START = 108,
VIMS_SAMPLE_SET_MARKER_END = 109,
VIMS_SAMPLE_SET_MARKER = 110,
VIMS_SAMPLE_SKIP_FRAME = 114,
VIMS_SAMPLE_MOVE_MARKER = 115,
VIMS_SAMPLE_GROW_MARKER = 116,
VIMS_SAMPLE_SHRINK_MARKER = 117,
VIMS_SAMPLE_CLEAR_MARKER = 111,
VIMS_SAMPLE_LOAD_SAMPLELIST = 125,
VIMS_SAMPLE_SAVE_SAMPLELIST = 126,
VIMS_SAMPLE_DEL_ALL = 121,
VIMS_SAMPLE_COPY = 127,
VIMS_SAMPLE_SET_POSITION = 128,
VIMS_SAMPLE_REC_START = 130,
VIMS_SAMPLE_REC_STOP = 131,
VIMS_SAMPLE_CHAIN_ENABLE = 112,
VIMS_SAMPLE_CHAIN_DISABLE = 113,
VIMS_SAMPLE_KF_STATUS_PARAM = 142,
VIMS_SAMPLE_UPDATE = 143,
VIMS_SAMPLE_TOGGLE_LOOP = 144,
VIMS_SAMPLE_TOGGLE_RAND_LOOP = 154,
VIMS_SAMPLE_KF_STATUS = 145,
VIMS_SAMPLE_KF_GET = 146,
VIMS_SAMPLE_KF_RESET = 147,
VIMS_SAMPLE_HOLD_FRAME = 148,
VIMS_SAMPLE_NEXT = 149,
VIMS_SAMPLE_MIX_SET_SPEED = 153,
VIMS_SAMPLE_MIX_TRANSITION = 155,
VIMS_SAMPLE_MIX_SET_DUP = 156,
VIMS_SAMPLE_SET_LOOPS = 157,
VIMS_STREAM_COLOR = 202,
VIMS_STREAM_SELECT = 201,
VIMS_STREAM_ACTIVATE = 205,
VIMS_STREAM_DEACTIVATE = 206,
VIMS_STREAM_DELETE = 220,
VIMS_STREAM_NEW_AVFORMAT = 239,
VIMS_STREAM_NEW_V4L = 240,
VIMS_STREAM_NEW_DV1394 = 241,
VIMS_STREAM_NEW_COLOR = 242,
VIMS_STREAM_NEW_Y4M = 243,
VIMS_STREAM_NEW_CALI = 244,
VIMS_V4L_BLACKFRAME = 248,
VIMS_V4L_CALI = 249,
VIMS_STREAM_NEW_UNICAST = 245,
VIMS_STREAM_NEW_MCAST = 246,
VIMS_STREAM_NEW_PICTURE = 247,
VIMS_STREAM_NEW_GENERATOR = 250,
VIMS_STREAM_NEW_SHARED = 251,
VIMS_STREAM_NEW_CLONE = 252,
VIMS_STREAM_OFFLINE_REC_START = 228,
VIMS_STREAM_OFFLINE_REC_STOP = 229,
VIMS_STREAM_REC_START = 230,
VIMS_STREAM_REC_STOP = 231,
VIMS_STREAM_CHAIN_ENABLE = 212,
VIMS_STREAM_CHAIN_DISABLE = 213,
VIMS_STREAM_SET_DESCRIPTION = 203,
VIMS_STREAM_SET_BRIGHTNESS = 207,
VIMS_STREAM_SET_CONTRAST = 208,
VIMS_STREAM_SET_HUE = 209,
VIMS_STREAM_SET_COLOR = 210,
VIMS_STREAM_SET_WHITE = 211,
VIMS_STREAM_SET_SATURATION = 215,
VIMS_STREAM_SET_LENGTH = 216,
VIMS_STREAM_SET_V4LCTRL = 217,
VIMS_STREAM_SET_ARG = 219,
VIMS_SEQUENCE_STATUS = 340,
VIMS_SEQUENCE_ADD = 341,
VIMS_SEQUENCE_DEL = 342,
VIMS_PROJ_INC = 160,
VIMS_PROJ_DEC = 161,
VIMS_PROJ_SET_POINT = 162,
VIMS_PROJ_GET_POINT = 163,
VIMS_PROJ_STACK = 164,
VIMS_PROJ_TOGGLE = 165,
VIMS_SET_TRANSITION = 348,
VIMS_CHAIN_ENTRY_SET_NARG_VAL = 349,
VIMS_CHAIN_ENTRY_CHANNEL_INC = 350,
VIMS_CHAIN_ENTRY_CHANNEL_DEC = 351,
VIMS_CHAIN_TOGGLE_ALL = 352,
VIMS_CHAIN_ENABLE = 353,
VIMS_CHAIN_DISABLE = 354,
VIMS_CHAIN_CLEAR = 355,
VIMS_CHAIN_FADE_IN = 356,
VIMS_CHAIN_FADE_OUT = 357,
VIMS_CHAIN_LIST = 358,
VIMS_CHAIN_SET_ENTRY = 359,
VIMS_CHAIN_ENTRY_SET_EFFECT = 360,
VIMS_CHAIN_ENTRY_SET_PRESET = 361,
VIMS_CHAIN_ENTRY_SET_ARG_VAL = 362,
VIMS_CHAIN_ENTRY_SET_VIDEO_ON = 363,
VIMS_CHAIN_ENTRY_SET_VIDEO_OFF = 364,
VIMS_CHAIN_ENTRY_SET_DEFAULTS = 365,
VIMS_CHAIN_ENTRY_SET_CHANNEL = 366,
VIMS_CHAIN_ENTRY_SET_SOURCE = 367,
VIMS_CHAIN_ENTRY_SET_SOURCE_CHANNEL=368,
VIMS_CHAIN_ENTRY_CLEAR = 369,
VIMS_CHAIN_MANUAL_FADE = 370,
VIMS_CHAIN_ENTRY_DOWN = 371,
VIMS_CHAIN_ENTRY_UP = 372,
VIMS_CHAIN_ENTRY_SOURCE_TOGGLE = 373,
VIMS_CHAIN_ENTRY_INC_ARG = 374,
VIMS_CHAIN_ENTRY_DEC_ARG = 375,
VIMS_CHAIN_TOGGLE = 376,
VIMS_CHAIN_ENTRY_SET_STATE = 377,
VIMS_ENTRY_CHANNEL_UP = 378,
VIMS_ENTRY_CHANNEL_DOWN = 379,
VIMS_ENTRY_VIDEO_TOGGLE = 380,
VIMS_ENTRY_SOURCE_TOGGLE = 381,
VIMS_CHAIN_FOLLOW_FADE = 382,
VIMS_CHAIN_FADE_ENTRY = 383,
VIMS_CHAIN_FADE_METHOD = 384,
VIMS_CHAIN_FADE_ALPHA = 385,
VIMS_OSL = 387,
VIMS_OSD_EXTRA = 388,
VIMS_COPYRIGHT = 389,
VIMS_FONT_POS = 390,
VIMS_FONT_COL = 391,
VIMS_FONT_SIZE_FONT = 392,
VIMS_SRT_ADD = 393,
VIMS_SRT_DEL = 394,
VIMS_SRT_UPDATE = 395,
VIMS_SRT_SAVE = 396,
VIMS_SRT_LOAD = 397,
VIMS_SRT_SELECT = 398,
VIMS_OSD = 399,
VIMS_OUTPUT_Y4M_START = 40,
VIMS_OUTPUT_Y4M_STOP = 41,
VIMS_GET_FRAME = 42,
VIMS_VLOOPBACK_START = 45,
VIMS_VLOOPBACK_STOP = 46,
};
#define VIMS_CHAIN_LIST_ENTRY_FORMAT "%02d%03d%1d%1d%1d%1d%03d%1d%1d"
#define VIMS_CHAIN_LIST_ENTRY_LENGTH (2+3+1+1+1+1+3+1+1) // String length of entry format
#define VIMS_CHAIN_LIST_ENTRY_VALUES 9 // Number of values of the message
enum {
VJ_PLAYBACK_MODE_PLAIN = 2,
VJ_PLAYBACK_MODE_SAMPLE = 0,
VJ_PLAYBACK_MODE_PATTERN = 3,
VJ_PLAYBACK_MODE_TAG = 1,
VJ_PLAYBACK_MODE_MEM = 4,
};
enum {
VJ_MAX_V4L_DEVICES = 2,
VJ_MAX_IN_STREAMS = 4,
VJ_MAX_OUT_STREAMS = 1,
VJ_MAX_VLOOPBACK_PIPES = 8,
};
/* request messages, global */
#define MAX_SEQUENCES 100
#define MAX_SPEED 32
#define SAMPLE_MAX_EFFECTS 20
#define PATTERN_MAX_TRACKS 3
#define CELL_LENGTH 30
#define ROW_SIZE (PATTERN_MAX_TRACKS * CELL_LENGTH)
#define PATTERN_DEFAULT_LENGTH (25*60)
#define EDIT_CUT 101
#define EDIT_PASTE_AT 102
#define EDIT_COPY 103
#define EDIT_CROP 104
#define EDIT_DEL 105
#define MESSAGE_SIZE 1024
#define EL_MIN_BUF (65535 * 4)
#define XMLTAG_BUNDLE_FILE "ACTIONFILE"
#define XMLTAG_EVENT_AS_KEY "BUNDLE"
#define SOCKETFRAMELEN (1024*4096)
#define VEEJAY_PORT_CMD 0
#define VEEJAY_PORT_STA 1
#define VEEJAY_PORT_DAT 3
#define VEEJAY_PORT_MAT 2
#define VEEJAY_PORT_OSC 6
#define MAX_EDIT_LIST_FILES 4096
#endif