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.
22 #ifndef __ardour_image_comp_h__
23 #define __ardour_image_comp_h__
29 /** Simple version number */
30 const int32_t MSG_VERSION = 1 ;
32 /** the default port we use */
33 const int32_t DEFAULT_PORT = 30000 ;
35 /** the maximum buffer size we will use to send receive a message (image data handled differently) */
36 const int32_t MAX_MSG_SIZE = 256 ;
38 /** the number of characters used for a value describing the characters within a textual data element */
39 const int32_t TEXT_SIZE_CHARS = 3 ;
41 /** the number of characters we use for time values within a message */
42 const int32_t TIME_VALUE_CHARS = 10 ;
44 /** the number of charachters we use for other value data, ie image width/height values */
45 const int32_t IMAGE_SIZE_CHARS = 3 ;
47 /** the number of characters used to for the size of the image data message */
48 const int32_t IMAGE_DATA_MESSAGE_SIZE_CHARS = 32 ;
50 // ------------------------------------------------------------------------- //
52 // we join the action chars with items to create the message
53 // with the exception of the return values, all messages begin with one
54 // of these message parts
57 const std::string INSERT_ITEM = "IN" ;
60 const std::string REMOVE_ITEM = "RM" ;
62 /** Rename a named item */
63 const std::string RENAME_ITEM = "MV" ;
65 /** Request some aditional data */
66 const std::string REQUEST_DATA = "RQ" ;
68 /** Return of a data request */
69 const std::string RETURN_DATA = "RD" ;
72 const std::string ITEM_UPDATE = "IU" ;
75 const std::string ITEM_SELECTED = "IS" ;
78 const std::string SESSION_ACTION = "SA" ;
81 const std::string SHUTDOWN = "SD" ;
84 // ------------------------------------------------------------------------- //
86 const std::string RETURN_TRUE = "RT1" ;
87 const std::string RETURN_FALSE = "RT0" ;
91 // ------------------------------------------------------------------------- //
92 // Updateable attributes
94 /** Update the position of a time axis item */
95 const std::string POSITION_CHANGE = "PC" ;
97 /** Update the duration of a time axis item */
98 const std::string DURATION_CHANGE = "DC" ;
100 /** Enable the position lock constraint no a time axis item */
101 const std::string POSITION_LOCK_CHANGE = "PL" ;
103 /** Enable the duration lock constraint no a time axis item */
104 const std::string DURATION_LOCK_CHANGE = "PL" ;
106 /** Update the Maximum duration of a time axis item (_Upper _Duration) */
107 const std::string MAX_DURATION_CHANGE = "UD" ;
109 /** Enable the Maximum duration constraint of a time axis item (_Enable _Upper (Duration)) */
110 const std::string MAX_DURATION_ENABLE_CHANGE = "EU" ;
112 /** Update the Minimum duration of a time axis item (_Lowerr _Duration) */
113 const std::string MIN_DURATION_CHANGE = "LD" ;
115 /** Enable the Minimum duration constraint of a time axis item (_Enable _Lower (Duration)) */
116 const std::string MIN_DURATION_ENABLE_CHANGE = "EL" ;
118 /** Refresh the image data of an imageframe item (original image has been altered?) */
119 const std::string IMAGE_REFRESH = "IR" ;
121 /** the session sample rate has changed */
122 const std::string SAMPLE_RATE_CHANGE = "RC" ;
126 // ------------------------------------------------------------------------- //
127 // Requestable data items
129 /** RGB data of the iamge */
130 // this is probably a bad choice of string !
131 const std::string IMAGE_RGB_DATA = "ID" ;
133 /** the (path) name of the Ardour session */
134 const std::string SESSION_NAME = "SN" ;
136 /** the current sample rate */
137 const std::string SAMPLE_RATE = "SR" ;
139 /** the (path) name of the image compositor session */
140 const std::string COMPOSITOR_SESSION = "CS" ;
143 // ------------------------------------------------------------------------- //
144 // Session Actions - follwed by session path
146 /** Close a session */
147 const std::string CLOSE_SESSION = "CS" ;
149 /** Open a session */
150 const std::string OPEN_SESSION = "OS" ;
154 // ------------------------------------------------------------------------- //
157 const std::string IMAGEFRAME_TIME_AXIS = "IT" ;
158 const std::string MARKER_TIME_AXIS = "MT" ;
159 const std::string IMAGEFRAME_ITEM = "II" ;
160 const std::string MARKER_ITEM = "MI" ;
162 /** or an ImageFrameTimeAxisGroup */
163 const std::string IMAGEFRAME_GROUP = "IG" ;
165 } /* namespace ardour_visual */
167 #endif /* __ardour_image_comp_socket_h__ */