Use std::string instead of PBD::sys::path in pbd/search_path.h, pbd/file_utils.h...
[ardour.git] / gtk2_ardour / ardour_image_compositor_socket.h
1 /*
2     Copyright (C) 2003 Paul Davis
3
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.
8
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.
13
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.
17
18 */
19
20
21 #ifndef __ardour_image_comp_h__
22 #define __ardour_image_comp_h__
23
24 #include <string>
25
26 namespace ardourvis
27 {
28         /** Simple version number */
29         const int32_t MSG_VERSION = 1 ;
30
31         /** the default port we use */
32         const int32_t DEFAULT_PORT = 30000 ;
33
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 ;
36
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 ;
39
40         /** the number of characters we use for time values within a message */
41         const int32_t TIME_VALUE_CHARS = 10 ;
42
43         /** the number of charachters we use for other value data, ie image width/height values */
44         const int32_t IMAGE_SIZE_CHARS = 3 ;
45
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 ;
48
49         // ------------------------------------------------------------------------- //
50         // Main Actions
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
54
55         /** Insert an Item */
56         const std::string INSERT_ITEM = "IN" ;
57
58         /** Remove an Item */
59         const std::string REMOVE_ITEM = "RM" ;
60
61         /** Rename a named item */
62         const std::string RENAME_ITEM = "MV" ;
63
64         /** Request some aditional data */
65         const std::string REQUEST_DATA = "RQ" ;
66
67         /** Return of a data request */
68         const std::string RETURN_DATA = "RD" ;
69
70         /** Update a item */
71         const std::string ITEM_UPDATE = "IU" ;
72
73         /** Select an Item */
74         const std::string ITEM_SELECTED = "IS" ;
75
76         /** Sesion Action */
77         const std::string SESSION_ACTION = "SA" ;
78
79         /** Sesion Action */
80         const std::string SHUTDOWN = "SD" ;
81
82
83         // ------------------------------------------------------------------------- //
84         // Return values
85         const std::string RETURN_TRUE  = "RT1" ;
86         const std::string RETURN_FALSE = "RT0" ;
87
88
89
90         // ------------------------------------------------------------------------- //
91         // Updateable attributes
92
93         /** Update the position of a time axis item */
94         const std::string POSITION_CHANGE = "PC" ;
95
96         /** Update the duration of a time axis item */
97         const std::string DURATION_CHANGE = "DC" ;
98
99         /** Enable the position lock constraint no a time axis item */
100         const std::string POSITION_LOCK_CHANGE = "PL" ;
101
102         /** Enable the duration lock constraint no a time axis item */
103         const std::string DURATION_LOCK_CHANGE = "PL" ;
104
105         /** Update the Maximum duration of a time axis item (_Upper _Duration) */
106         const std::string MAX_DURATION_CHANGE = "UD" ;
107
108         /** Enable the Maximum duration constraint of a time axis item (_Enable _Upper (Duration)) */
109         const std::string MAX_DURATION_ENABLE_CHANGE = "EU" ;
110
111         /** Update the Minimum duration of a time axis item (_Lowerr _Duration) */
112         const std::string MIN_DURATION_CHANGE = "LD" ;
113
114         /** Enable the Minimum duration constraint of a time axis item (_Enable _Lower (Duration)) */
115         const std::string MIN_DURATION_ENABLE_CHANGE = "EL" ;
116
117         /** Refresh the image data of an imageframe item (original image has been altered?) */
118         const std::string IMAGE_REFRESH = "IR" ;
119
120         /** the session sample rate has changed */
121         const std::string SAMPLE_RATE_CHANGE = "RC" ;
122
123
124
125         // ------------------------------------------------------------------------- //
126         // Requestable data items
127
128         /** RGB data of the iamge */
129         // this is probably a bad choice of string !
130         const std::string IMAGE_RGB_DATA = "ID" ;
131
132         /** the (path) name of the Ardour session */
133         const std::string SESSION_NAME = "SN" ;
134
135         /** the current sample rate */
136         const std::string SAMPLE_RATE = "SR" ;
137
138         /** the (path) name of the image compositor session */
139         const std::string COMPOSITOR_SESSION = "CS" ;
140
141
142         // ------------------------------------------------------------------------- //
143         // Session Actions - follwed by session path
144
145         /** Close a session */
146         const std::string CLOSE_SESSION = "CS" ;
147
148         /** Open a session */
149         const std::string OPEN_SESSION = "OS" ;
150
151
152
153         // ------------------------------------------------------------------------- //
154         // Items
155
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" ;
160
161         /** or an ImageFrameTimeAxisGroup */
162         const std::string IMAGEFRAME_GROUP = "IG" ;
163
164 } /* namespace ardour_visual */
165
166 #endif /* __ardour_image_comp_socket_h__ */