2 |
// |
// |
3 |
/**************************************************************************** |
/**************************************************************************** |
4 |
liblscp - LinuxSampler Control Protocol API |
liblscp - LinuxSampler Control Protocol API |
5 |
Copyright (C) 2004, rncbc aka Rui Nuno Capela. All rights reserved. |
Copyright (C) 2004-2006, rncbc aka Rui Nuno Capela. All rights reserved. |
6 |
|
|
7 |
This library is free software; you can redistribute it and/or |
This library is free software; you can redistribute it and/or |
8 |
modify it under the terms of the GNU Lesser General Public |
modify it under the terms of the GNU Lesser General Public |
14 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 |
Lesser General Public License for more details. |
Lesser General Public License for more details. |
16 |
|
|
17 |
You should have received a copy of the GNU Lesser General Public |
You should have received a copy of the GNU General Public License along |
18 |
License along with this library; if not, write to the Free Software |
with this program; if not, write to the Free Software Foundation, Inc., |
19 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
20 |
|
|
21 |
*****************************************************************************/ |
*****************************************************************************/ |
22 |
|
|
63 |
lscp_device_port_info_t midi_port_info; |
lscp_device_port_info_t midi_port_info; |
64 |
lscp_param_info_t audio_channel_param_info; |
lscp_param_info_t audio_channel_param_info; |
65 |
lscp_param_info_t midi_port_param_info; |
lscp_param_info_t midi_port_param_info; |
66 |
|
lscp_server_info_t server_info; |
67 |
lscp_engine_info_t engine_info; |
lscp_engine_info_t engine_info; |
68 |
lscp_channel_info_t channel_info; |
lscp_channel_info_t channel_info; |
69 |
|
lscp_midi_instrument_info_t midi_instrument_info; |
70 |
// Result and error status. |
// Result and error status. |
71 |
char * pszResult; |
char * pszResult; |
72 |
int iErrno; |
int iErrno; |
76 |
// Transaction call timeout (msecs). |
// Transaction call timeout (msecs). |
77 |
int iTimeout; |
int iTimeout; |
78 |
lscp_mutex_t mutex; |
lscp_mutex_t mutex; |
79 |
|
lscp_cond_t cond; |
80 |
|
// Flag last transaction timedout. |
81 |
|
int iTimeoutCount; |
82 |
}; |
}; |
83 |
|
|
84 |
|
|
85 |
//------------------------------------------------------------------------- |
//------------------------------------------------------------------------- |
86 |
// Local client request executive. |
// Local client request executive. |
87 |
|
|
88 |
|
lscp_status_t lscp_client_recv (lscp_client_t *pClient, char *pchBuffer, int *pcchBuffer, int iTimeout); |
89 |
lscp_status_t lscp_client_call (lscp_client_t *pClient, const char *pszQuery); |
lscp_status_t lscp_client_call (lscp_client_t *pClient, const char *pszQuery); |
90 |
void lscp_client_set_result (lscp_client_t *pClient, char *pszResult, int iErrno); |
void lscp_client_set_result (lscp_client_t *pClient, char *pszResult, int iErrno); |
91 |
|
|
95 |
char * lscp_strtok (char *pchBuffer, const char *pszSeps, char **ppch); |
char * lscp_strtok (char *pchBuffer, const char *pszSeps, char **ppch); |
96 |
char * lscp_ltrim (char *psz); |
char * lscp_ltrim (char *psz); |
97 |
char * lscp_unquote (char **ppsz, int dup); |
char * lscp_unquote (char **ppsz, int dup); |
98 |
|
void lscp_unquote_dup (char **ppszDst, char **ppszSrc); |
99 |
|
|
100 |
char ** lscp_szsplit_create (const char *pszCsv, const char *pszSeps); |
char ** lscp_szsplit_create (const char *pszCsv, const char *pszSeps); |
101 |
void lscp_szsplit_destroy (char **ppszSplit); |
void lscp_szsplit_destroy (char **ppszSplit); |
127 |
#endif |
#endif |
128 |
|
|
129 |
//------------------------------------------------------------------------- |
//------------------------------------------------------------------------- |
130 |
|
// Server struct helper functions. |
131 |
|
|
132 |
|
void lscp_server_info_init (lscp_server_info_t *pServerInfo); |
133 |
|
void lscp_server_info_free (lscp_server_info_t *pServerInfo); |
134 |
|
void lscp_server_info_reset (lscp_server_info_t *pServerInfo); |
135 |
|
|
136 |
|
//------------------------------------------------------------------------- |
137 |
// Engine struct helper functions. |
// Engine struct helper functions. |
138 |
|
|
139 |
void lscp_engine_info_init (lscp_engine_info_t *pEngineInfo); |
void lscp_engine_info_init (lscp_engine_info_t *pEngineInfo); |
140 |
|
void lscp_engine_info_free (lscp_engine_info_t *pEngineInfo); |
141 |
void lscp_engine_info_reset (lscp_engine_info_t *pEngineInfo); |
void lscp_engine_info_reset (lscp_engine_info_t *pEngineInfo); |
142 |
|
|
143 |
//------------------------------------------------------------------------- |
//------------------------------------------------------------------------- |
144 |
// Channel struct helper functions. |
// Channel struct helper functions. |
145 |
|
|
146 |
void lscp_channel_info_init (lscp_channel_info_t *pChannelInfo); |
void lscp_channel_info_init (lscp_channel_info_t *pChannelInfo); |
147 |
|
void lscp_channel_info_free (lscp_channel_info_t *pChannelInfo); |
148 |
void lscp_channel_info_reset (lscp_channel_info_t *pChannelInfo); |
void lscp_channel_info_reset (lscp_channel_info_t *pChannelInfo); |
149 |
|
|
150 |
//------------------------------------------------------------------------- |
//------------------------------------------------------------------------- |
151 |
// Driver struct helper functions. |
// Driver struct helper functions. |
152 |
|
|
153 |
void lscp_driver_info_init (lscp_driver_info_t *pDriverInfo); |
void lscp_driver_info_init (lscp_driver_info_t *pDriverInfo); |
154 |
|
void lscp_driver_info_free (lscp_driver_info_t *pDriverInfo); |
155 |
void lscp_driver_info_reset (lscp_driver_info_t *pDriverInfo); |
void lscp_driver_info_reset (lscp_driver_info_t *pDriverInfo); |
156 |
|
|
157 |
//------------------------------------------------------------------------- |
//------------------------------------------------------------------------- |
158 |
// Device struct helper functions. |
// Device struct helper functions. |
159 |
|
|
160 |
void lscp_device_info_init (lscp_device_info_t *pDeviceInfo); |
void lscp_device_info_init (lscp_device_info_t *pDeviceInfo); |
161 |
|
void lscp_device_info_free (lscp_device_info_t *pDeviceInfo); |
162 |
void lscp_device_info_reset (lscp_device_info_t *pDeviceInfo); |
void lscp_device_info_reset (lscp_device_info_t *pDeviceInfo); |
163 |
|
|
164 |
//------------------------------------------------------------------------- |
//------------------------------------------------------------------------- |
165 |
// Device channel/port struct helper functions. |
// Device channel/port struct helper functions. |
166 |
|
|
167 |
void lscp_device_port_info_init (lscp_device_port_info_t *pDevicePortInfo); |
void lscp_device_port_info_init (lscp_device_port_info_t *pDevicePortInfo); |
168 |
|
void lscp_device_port_info_free (lscp_device_port_info_t *pDevicePortInfo); |
169 |
void lscp_device_port_info_reset (lscp_device_port_info_t *pDevicePortInfo); |
void lscp_device_port_info_reset (lscp_device_port_info_t *pDevicePortInfo); |
170 |
|
|
171 |
//------------------------------------------------------------------------- |
//------------------------------------------------------------------------- |
172 |
// Parameter struct helper functions. |
// Parameter struct helper functions. |
173 |
|
|
174 |
void lscp_param_info_init (lscp_param_info_t *pParamInfo); |
void lscp_param_info_init (lscp_param_info_t *pParamInfo); |
175 |
|
void lscp_param_info_free (lscp_param_info_t *pParamInfo); |
176 |
void lscp_param_info_reset (lscp_param_info_t *pParamInfo); |
void lscp_param_info_reset (lscp_param_info_t *pParamInfo); |
177 |
|
|
178 |
//------------------------------------------------------------------------- |
//------------------------------------------------------------------------- |
180 |
|
|
181 |
int lscp_param_concat (char *pszBuffer, int cchMaxBuffer, lscp_param_t *pParams); |
int lscp_param_concat (char *pszBuffer, int cchMaxBuffer, lscp_param_t *pParams); |
182 |
|
|
183 |
|
//------------------------------------------------------------------------- |
184 |
|
// MIDI instrument info struct helper functions. |
185 |
|
|
186 |
|
void lscp_midi_instrument_info_init (lscp_midi_instrument_info_t *pInstrInfo); |
187 |
|
void lscp_midi_instrument_info_free (lscp_midi_instrument_info_t *pInstrInfo); |
188 |
|
void lscp_midi_instrument_info_reset (lscp_midi_instrument_info_t *pInstrInfo); |
189 |
|
|
190 |
|
|
191 |
#endif // __LSCP_COMMON_H |
#endif // __LSCP_COMMON_H |
192 |
|
|