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__
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 // ------------------------------------------------------------------------- //
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
58 const std::string INSERT_ITEM
= "IN" ;
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" ;
73 const std::string ITEM_UPDATE
= "IU" ;
76 const std::string ITEM_SELECTED
= "IS" ;
79 const std::string SESSION_ACTION
= "SA" ;
82 const std::string SHUTDOWN
= "SD" ;
85 // ------------------------------------------------------------------------- //
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 // ------------------------------------------------------------------------- //
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__ */