fix keyboard event handling for host-provided plugin GUIs
[ardour2.git] / gtk2_ardour / ardour_image_compositor_socket.h
blob03f008669d9c414e6f0a8bd4ee64ae9aa17ab643
1 /*
2 Copyright (C) 2003 Paul Davis
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 #ifndef __ardour_image_comp_h__
22 #define __ardour_image_comp_h__
24 #include <string>
26 namespace ardourvis
28 /** Simple version number */
29 const int32_t MSG_VERSION = 1 ;
31 /** the default port we use */
32 const int32_t DEFAULT_PORT = 30000 ;
34 /** the maximum buffer size we will use to send receive a message (image data handled differently) */
35 const int32_t MAX_MSG_SIZE = 256 ;
37 /** the number of characters used for a value describing the characters within a textual data element */
38 const int32_t TEXT_SIZE_CHARS = 3 ;
40 /** the number of characters we use for time values within a message */
41 const int32_t TIME_VALUE_CHARS = 10 ;
43 /** the number of charachters we use for other value data, ie image width/height values */
44 const int32_t IMAGE_SIZE_CHARS = 3 ;
46 /** the number of characters used to for the size of the image data message */
47 const int32_t IMAGE_DATA_MESSAGE_SIZE_CHARS = 32 ;
49 /** the number of characters in a return/reply message */
50 const int32_t RETURN_MSG_SIZE = 3 ;
51 // ------------------------------------------------------------------------- //
52 // Main Actions
53 // we join the action chars with items to create the message
54 // with the exception of the return values, all messages begin with one
55 // of these message parts
57 /** Insert an Item */
58 const std::string INSERT_ITEM = "IN" ;
60 /** Remove an Item */
61 const std::string REMOVE_ITEM = "RM" ;
63 /** Rename a named item */
64 const std::string RENAME_ITEM = "MV" ;
66 /** Request some aditional data */
67 const std::string REQUEST_DATA = "RQ" ;
69 /** Return of a data request */
70 const std::string RETURN_DATA = "RD" ;
72 /** Update a item */
73 const std::string ITEM_UPDATE = "IU" ;
75 /** Select an Item */
76 const std::string ITEM_SELECTED = "IS" ;
78 /** Sesion Action */
79 const std::string SESSION_ACTION = "SA" ;
81 /** Sesion Action */
82 const std::string SHUTDOWN = "SD" ;
85 // ------------------------------------------------------------------------- //
86 // Return values
87 const std::string RETURN_TRUE = "RT1" ;
88 const std::string RETURN_FALSE = "RT0" ;
92 // ------------------------------------------------------------------------- //
93 // Updateable attributes
95 /** Update the position of a time axis item */
96 const std::string POSITION_CHANGE = "PC" ;
98 /** Update the duration of a time axis item */
99 const std::string DURATION_CHANGE = "DC" ;
101 /** Enable the position lock constraint no a time axis item */
102 const std::string POSITION_LOCK_CHANGE = "PL" ;
104 /** Enable the duration lock constraint no a time axis item */
105 const std::string DURATION_LOCK_CHANGE = "PL" ;
107 /** Update the Maximum duration of a time axis item (_Upper _Duration) */
108 const std::string MAX_DURATION_CHANGE = "UD" ;
110 /** Enable the Maximum duration constraint of a time axis item (_Enable _Upper (Duration)) */
111 const std::string MAX_DURATION_ENABLE_CHANGE = "EU" ;
113 /** Update the Minimum duration of a time axis item (_Lowerr _Duration) */
114 const std::string MIN_DURATION_CHANGE = "LD" ;
116 /** Enable the Minimum duration constraint of a time axis item (_Enable _Lower (Duration)) */
117 const std::string MIN_DURATION_ENABLE_CHANGE = "EL" ;
119 /** Refresh the image data of an imageframe item (original image has been altered?) */
120 const std::string IMAGE_REFRESH = "IR" ;
122 /** the session sample rate has changed */
123 const std::string SAMPLE_RATE_CHANGE = "RC" ;
127 // ------------------------------------------------------------------------- //
128 // Requestable data items
130 /** RGB data of the iamge */
131 // this is probably a bad choice of string !
132 const std::string IMAGE_RGB_DATA = "ID" ;
134 /** the (path) name of the Ardour session */
135 const std::string SESSION_NAME = "SN" ;
137 /** the current sample rate */
138 const std::string SAMPLE_RATE = "SR" ;
140 /** the (path) name of the image compositor session */
141 const std::string COMPOSITOR_SESSION = "CS" ;
144 // ------------------------------------------------------------------------- //
145 // Session Actions - follwed by session path
147 /** Close a session */
148 const std::string CLOSE_SESSION = "CS" ;
150 /** Open a session */
151 const std::string OPEN_SESSION = "OS" ;
155 // ------------------------------------------------------------------------- //
156 // Items
158 const std::string IMAGEFRAME_TIME_AXIS = "IT" ;
159 const std::string MARKER_TIME_AXIS = "MT" ;
160 const std::string IMAGEFRAME_ITEM = "II" ;
161 const std::string MARKER_ITEM = "MI" ;
163 /** or an ImageFrameTimeAxisGroup */
164 const std::string IMAGEFRAME_GROUP = "IG" ;
166 } /* namespace ardour_visual */
168 #endif /* __ardour_image_comp_socket_h__ */