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 // ------------------------------------------------------------------------- //
51 // we join the action chars with items to create the message
52 // with the exception of the return values, all messages begin with one
53 // of these message parts
56 const std::string INSERT_ITEM
= "IN" ;
59 const std::string REMOVE_ITEM
= "RM" ;
61 /** Rename a named item */
62 const std::string RENAME_ITEM
= "MV" ;
64 /** Request some aditional data */
65 const std::string REQUEST_DATA
= "RQ" ;
67 /** Return of a data request */
68 const std::string RETURN_DATA
= "RD" ;
71 const std::string ITEM_UPDATE
= "IU" ;
74 const std::string ITEM_SELECTED
= "IS" ;
77 const std::string SESSION_ACTION
= "SA" ;
80 const std::string SHUTDOWN
= "SD" ;
83 // ------------------------------------------------------------------------- //
85 const std::string RETURN_TRUE
= "RT1" ;
86 const std::string RETURN_FALSE
= "RT0" ;
90 // ------------------------------------------------------------------------- //
91 // Updateable attributes
93 /** Update the position of a time axis item */
94 const std::string POSITION_CHANGE
= "PC" ;
96 /** Update the duration of a time axis item */
97 const std::string DURATION_CHANGE
= "DC" ;
99 /** Enable the position lock constraint no a time axis item */
100 const std::string POSITION_LOCK_CHANGE
= "PL" ;
102 /** Enable the duration lock constraint no a time axis item */
103 const std::string DURATION_LOCK_CHANGE
= "PL" ;
105 /** Update the Maximum duration of a time axis item (_Upper _Duration) */
106 const std::string MAX_DURATION_CHANGE
= "UD" ;
108 /** Enable the Maximum duration constraint of a time axis item (_Enable _Upper (Duration)) */
109 const std::string MAX_DURATION_ENABLE_CHANGE
= "EU" ;
111 /** Update the Minimum duration of a time axis item (_Lowerr _Duration) */
112 const std::string MIN_DURATION_CHANGE
= "LD" ;
114 /** Enable the Minimum duration constraint of a time axis item (_Enable _Lower (Duration)) */
115 const std::string MIN_DURATION_ENABLE_CHANGE
= "EL" ;
117 /** Refresh the image data of an imageframe item (original image has been altered?) */
118 const std::string IMAGE_REFRESH
= "IR" ;
120 /** the session sample rate has changed */
121 const std::string SAMPLE_RATE_CHANGE
= "RC" ;
125 // ------------------------------------------------------------------------- //
126 // Requestable data items
128 /** RGB data of the iamge */
129 // this is probably a bad choice of string !
130 const std::string IMAGE_RGB_DATA
= "ID" ;
132 /** the (path) name of the Ardour session */
133 const std::string SESSION_NAME
= "SN" ;
135 /** the current sample rate */
136 const std::string SAMPLE_RATE
= "SR" ;
138 /** the (path) name of the image compositor session */
139 const std::string COMPOSITOR_SESSION
= "CS" ;
142 // ------------------------------------------------------------------------- //
143 // Session Actions - follwed by session path
145 /** Close a session */
146 const std::string CLOSE_SESSION
= "CS" ;
148 /** Open a session */
149 const std::string OPEN_SESSION
= "OS" ;
153 // ------------------------------------------------------------------------- //
156 const std::string IMAGEFRAME_TIME_AXIS
= "IT" ;
157 const std::string MARKER_TIME_AXIS
= "MT" ;
158 const std::string IMAGEFRAME_ITEM
= "II" ;
159 const std::string MARKER_ITEM
= "MI" ;
161 /** or an ImageFrameTimeAxisGroup */
162 const std::string IMAGEFRAME_GROUP
= "IG" ;
164 } /* namespace ardour_visual */
166 #endif /* __ardour_image_comp_socket_h__ */