client.h   client.h 
skipping to change at line 17 skipping to change at line 17
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
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
License along with this library; if not, write to the Free Software with this program; if not, write to the Free Software Foundation, Inc.,
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*************************************************************************** **/ *************************************************************************** **/
#ifndef __LSCP_CLIENT_H #ifndef __LSCP_CLIENT_H
#define __LSCP_CLIENT_H #define __LSCP_CLIENT_H
#include "lscp/socket.h" #include "lscp/socket.h"
#include "lscp/event.h" #include "lscp/event.h"
#if defined(__cplusplus) #if defined(__cplusplus)
skipping to change at line 93 skipping to change at line 93
} lscp_buffer_fill_t; } lscp_buffer_fill_t;
/** Buffer fill stream usage types. */ /** Buffer fill stream usage types. */
typedef enum _lscp_usage_t typedef enum _lscp_usage_t
{ {
LSCP_USAGE_BYTES = 0, LSCP_USAGE_BYTES = 0,
LSCP_USAGE_PERCENTAGE LSCP_USAGE_PERCENTAGE
} lscp_usage_t; } lscp_usage_t;
/** MIDI instrument parameter struct. */
typedef struct _lscp_midi_instrument_t
{
int bank_msb;
int bank_lsb;
int program;
} lscp_midi_instrument_t;
/** MIDI instrument load mode. */
typedef enum _lscp_load_mode_t
{
LSCP_LOAD_DEFAULT = 0,
LSCP_LOAD_ON_DEMAND,
LSCP_LOAD_ON_DEMAND_HOLD,
LSCP_LOAD_PERSISTENT
} lscp_load_mode_t;
/** MIDI instrument info cache struct. */
typedef struct _lscp_midi_instrument_info_t
{
char * name;
char * engine_name;
char * instrument_file;
int instrument_nr;
char * instrument_name;
lscp_load_mode_t load_mode;
float volume;
} lscp_midi_instrument_info_t;
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// Client socket main structure. // Client socket main structure.
/** Client opaque descriptor struct. */ /** Client opaque descriptor struct. */
typedef struct _lscp_client_t lscp_client_t; typedef struct _lscp_client_t lscp_client_t;
/** Client event callback procedure prototype. */ /** Client event callback procedure prototype. */
typedef lscp_status_t (*lscp_client_proc_t) typedef lscp_status_t (*lscp_client_proc_t)
( (
struct _lscp_client_t *pClient, struct _lscp_client_t *pClient,
skipping to change at line 183 skipping to change at line 215
lscp_status_t lscp_set_channel_mute (lscp_client_t *pCl ient, int iSamplerChannel, int iMute); lscp_status_t lscp_set_channel_mute (lscp_client_t *pCl ient, int iSamplerChannel, int iMute);
lscp_status_t lscp_set_channel_solo (lscp_client_t *pCl ient, int iSamplerChannel, int iSolo); lscp_status_t lscp_set_channel_solo (lscp_client_t *pCl ient, int iSamplerChannel, int iSolo);
lscp_status_t lscp_reset_channel (lscp_client_t *pCl ient, int iSamplerChannel); lscp_status_t lscp_reset_channel (lscp_client_t *pCl ient, int iSamplerChannel);
lscp_status_t lscp_reset_sampler (lscp_client_t *pCl ient); lscp_status_t lscp_reset_sampler (lscp_client_t *pCl ient);
lscp_server_info_t * lscp_get_server_info (lscp_client_t *pCl ient); lscp_server_info_t * lscp_get_server_info (lscp_client_t *pCl ient);
int lscp_get_total_voice_count (lscp_client_t *pCl
ient);
int lscp_get_total_voice_count_max (lscp_client_t *pCl
ient);
//-------------------------------------------------------------------------
// MIDI instrument mapping control functions.
lscp_status_t lscp_map_midi_instrument (lscp_client_t *pCl
ient, lscp_midi_instrument_t *pMidiInstr, const char *pszEngineName, const
char *pszFileName, int iInstrIndex, float fVolume, lscp_load_mode_t load_mo
de, const char *pszName);
lscp_status_t lscp_unmap_midi_instrument (lscp_client_t *pCl
ient, lscp_midi_instrument_t *pMidiInstr);
int lscp_get_midi_instruments (lscp_client_t *pCl
ient);
lscp_midi_instrument_info_t *lscp_get_midi_instrument_info(lscp_client_t *p
Client, lscp_midi_instrument_t *pMidiInstr);
lscp_status_t lscp_clear_midi_instruments (lscp_client_t *pCl
ient);
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif #endif
#endif // __LSCP_CLIENT_H #endif // __LSCP_CLIENT_H
// end of client.h // end of client.h
 End of changes. 3 change blocks. 
3 lines changed or deleted 59 lines changed or added


 device.h   device.h 
skipping to change at line 17 skipping to change at line 17
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
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
License along with this library; if not, write to the Free Software with this program; if not, write to the Free Software Foundation, Inc.,
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*************************************************************************** **/ *************************************************************************** **/
#ifndef __LSCP_DEVICE_H #ifndef __LSCP_DEVICE_H
#define __LSCP_DEVICE_H #define __LSCP_DEVICE_H
#include "lscp/client.h" #include "lscp/client.h"
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {
 End of changes. 1 change blocks. 
3 lines changed or deleted 3 lines changed or added


 event.h   event.h 
skipping to change at line 17 skipping to change at line 17
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
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
License along with this library; if not, write to the Free Software with this program; if not, write to the Free Software Foundation, Inc.,
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*************************************************************************** **/ *************************************************************************** **/
#ifndef __LSCP_EVENT_H #ifndef __LSCP_EVENT_H
#define __LSCP_EVENT_H #define __LSCP_EVENT_H
#include "lscp/socket.h" #include "lscp/socket.h"
#if defined(__cplusplus) #if defined(__cplusplus)
extern "C" { extern "C" {
#endif #endif
/** Subscribable event notification bit-wise flags. */ /** Subscribable event notification bit-wise flags. */
typedef enum _lscp_event_t typedef enum _lscp_event_t
{ {
LSCP_EVENT_NONE = 0x0000, LSCP_EVENT_NONE = 0x0000,
LSCP_EVENT_CHANNEL_COUNT = 0x0001, LSCP_EVENT_CHANNEL_COUNT = 0x0001,
LSCP_EVENT_VOICE_COUNT = 0x0002, LSCP_EVENT_VOICE_COUNT = 0x0002,
LSCP_EVENT_STREAM_COUNT = 0x0004, LSCP_EVENT_STREAM_COUNT = 0x0004,
LSCP_EVENT_BUFFER_FILL = 0x0008, LSCP_EVENT_BUFFER_FILL = 0x0008,
LSCP_EVENT_CHANNEL_INFO = 0x0010, LSCP_EVENT_CHANNEL_INFO = 0x0010,
LSCP_EVENT_MISCELLANEOUS = 0x1000 LSCP_EVENT_TOTAL_VOICE_COUNT = 0x0020,
LSCP_EVENT_MISCELLANEOUS = 0x1000
} lscp_event_t; } lscp_event_t;
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
// Simple event helper functions. // Simple event helper functions.
const char * lscp_event_to_text ( lscp_event_t event ); const char * lscp_event_to_text ( lscp_event_t event );
lscp_event_t lscp_event_from_text ( const char *pszText ); lscp_event_t lscp_event_from_text ( const char *pszText );
#if defined(__cplusplus) #if defined(__cplusplus)
 End of changes. 2 change blocks. 
10 lines changed or deleted 11 lines changed or added


 socket.h   socket.h 
skipping to change at line 17 skipping to change at line 17
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
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
License along with this library; if not, write to the Free Software with this program; if not, write to the Free Software Foundation, Inc.,
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*************************************************************************** **/ *************************************************************************** **/
#ifndef __LSCP_SOCKET_H #ifndef __LSCP_SOCKET_H
#define __LSCP_SOCKET_H #define __LSCP_SOCKET_H
#include "lscp/thread.h" #include "lscp/thread.h"
#if defined(WIN32) #if defined(WIN32)
#include <winsock.h> #include <winsock.h>
 End of changes. 1 change blocks. 
3 lines changed or deleted 3 lines changed or added


 thread.h   thread.h 
skipping to change at line 17 skipping to change at line 17
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
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
License along with this library; if not, write to the Free Software with this program; if not, write to the Free Software Foundation, Inc.,
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*************************************************************************** **/ *************************************************************************** **/
#ifndef __LSCP_THREAD_H #ifndef __LSCP_THREAD_H
#define __LSCP_THREAD_H #define __LSCP_THREAD_H
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
 End of changes. 1 change blocks. 
3 lines changed or deleted 3 lines changed or added


 version.h   version.h 
skipping to change at line 17 skipping to change at line 17
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version. version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details. Lesser General Public License for more details.
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
License along with this library; if not, write to the Free Software with this program; if not, write to the Free Software Foundation, Inc.,
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*************************************************************************** **/ *************************************************************************** **/
#ifndef __LSCP_VERSION_H #ifndef __LSCP_VERSION_H
#define __LSCP_VERSION_H #define __LSCP_VERSION_H
#define LSCP_PACKAGE "liblscp" #define LSCP_PACKAGE "liblscp"
#define LSCP_VERSION "0.3.3" #define LSCP_VERSION "0.4.0"
#endif // __LSCP_VERSION_H #endif // __LSCP_VERSION_H
// end of version.h // end of version.h
 End of changes. 2 change blocks. 
4 lines changed or deleted 4 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/