/[svn]/liblscp/trunk/lscp/device.h
ViewVC logotype

Diff of /liblscp/trunk/lscp/device.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 189 by capela, Thu Jul 8 16:31:47 2004 UTC revision 952 by capela, Tue Nov 28 22:46:32 2006 UTC
# Line 2  Line 2 
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
# Line 14  Line 14 
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    
# Line 36  extern "C" { Line 36  extern "C" {
36  /** Parameter value type. */  /** Parameter value type. */
37  typedef enum _lscp_type_t  typedef enum _lscp_type_t
38  {  {
39      LSCP_TYPE_NONE = 0,          LSCP_TYPE_NONE = 0,
40      LSCP_TYPE_BOOL,          LSCP_TYPE_BOOL,
41      LSCP_TYPE_INT,          LSCP_TYPE_INT,
42      LSCP_TYPE_FLOAT,          LSCP_TYPE_FLOAT,
43      LSCP_TYPE_STRING          LSCP_TYPE_STRING
44    
45  } lscp_type_t;  } lscp_type_t;
46    
# Line 48  typedef enum _lscp_type_t Line 48  typedef enum _lscp_type_t
48  /** Common and simple key/value pair parameter tuple. */  /** Common and simple key/value pair parameter tuple. */
49  typedef struct _lscp_param_t  typedef struct _lscp_param_t
50  {  {
51      char *        key;          char *        key;
52      char *        value;          char *        value;
53    
54  } lscp_param_t;  } lscp_param_t;
55    
# Line 57  typedef struct _lscp_param_t Line 57  typedef struct _lscp_param_t
57  /** Common parameter info cache struct. */  /** Common parameter info cache struct. */
58  typedef struct _lscp_param_info_t  typedef struct _lscp_param_info_t
59  {  {
60      lscp_type_t   type;          lscp_type_t   type;
61      char *        description;          char *        description;
62      int           mandatory;          int           mandatory;
63      int           fix;          int           fix;
64      int           multiplicity;          int           multiplicity;
65      char **       depends;          char **       depends;
66      char *        defaultv;          char *        defaultv;
67      char *        range_min;          char *        range_min;
68      char *        range_max;          char *        range_max;
69      char **       possibilities;          char **       possibilities;
70    
71  } lscp_param_info_t;  } lscp_param_info_t;
72    
# Line 74  typedef struct _lscp_param_info_t Line 74  typedef struct _lscp_param_info_t
74  /** Common driver type info cache struct. */  /** Common driver type info cache struct. */
75  typedef struct _lscp_driver_info_t  typedef struct _lscp_driver_info_t
76  {  {
77      char *        description;          char *        description;
78      char *        version;          char *        version;
79      char **       parameters;          char **       parameters;
80    
81  } lscp_driver_info_t;  } lscp_driver_info_t;
82    
# Line 84  typedef struct _lscp_driver_info_t Line 84  typedef struct _lscp_driver_info_t
84  /** Common device info cache struct. */  /** Common device info cache struct. */
85  typedef struct _lscp_device_info_t  typedef struct _lscp_device_info_t
86  {  {
87      char *        driver;          char *        driver;
88      lscp_param_t *params;          lscp_param_t *params;
89    
90  } lscp_device_info_t;  } lscp_device_info_t;
91    
# Line 93  typedef struct _lscp_device_info_t Line 93  typedef struct _lscp_device_info_t
93  /** Common device channel/port info cache struct. */  /** Common device channel/port info cache struct. */
94  typedef struct _lscp_device_port_info_t  typedef struct _lscp_device_port_info_t
95  {  {
96      char *        name;          char *        name;
97      lscp_param_t *params;          lscp_param_t *params;
98    
99  } lscp_device_port_info_t;  } lscp_device_port_info_t;
100    
# Line 102  typedef struct _lscp_device_port_info_t Line 102  typedef struct _lscp_device_port_info_t
102  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
103  // Audio driver control functions.  // Audio driver control functions.
104    
105  const char **           lscp_get_available_audio_drivers(lscp_client_t *pClient);  int                     lscp_get_available_audio_drivers    (lscp_client_t *pClient);
106    const char **           lscp_list_available_audio_drivers   (lscp_client_t *pClient);
107    
108  lscp_driver_info_t *    lscp_get_audio_driver_info      (lscp_client_t *pClient, const char *pszAudioDriver);  lscp_driver_info_t *    lscp_get_audio_driver_info      (lscp_client_t *pClient, const char *pszAudioDriver);
109  lscp_param_info_t *     lscp_get_audio_driver_param_info(lscp_client_t *pClient, const char *pszAudioDriver, const char *pszParam, lscp_param_t *pDepList);  lscp_param_info_t *     lscp_get_audio_driver_param_info(lscp_client_t *pClient, const char *pszAudioDriver, const char *pszParam, lscp_param_t *pDepList);
# Line 127  lscp_status_t           lscp_set_audio_c Line 128  lscp_status_t           lscp_set_audio_c
128  //-------------------------------------------------------------------------  //-------------------------------------------------------------------------
129  // MIDI driver control functions.  // MIDI driver control functions.
130    
131  const char **           lscp_get_available_midi_drivers (lscp_client_t *pClient);  int                     lscp_get_available_midi_drivers (lscp_client_t *pClient);
132    const char **           lscp_list_available_midi_drivers(lscp_client_t *pClient);
133    
134  lscp_driver_info_t *    lscp_get_midi_driver_info       (lscp_client_t *pClient, const char *pszMidiDriver);  lscp_driver_info_t *    lscp_get_midi_driver_info       (lscp_client_t *pClient, const char *pszMidiDriver);
135  lscp_param_info_t *     lscp_get_midi_driver_param_info (lscp_client_t *pClient, const char *pszMidiDriver, const char *pszParam, lscp_param_t *pDepList);  lscp_param_info_t *     lscp_get_midi_driver_param_info (lscp_client_t *pClient, const char *pszMidiDriver, const char *pszParam, lscp_param_t *pDepList);

Legend:
Removed from v.189  
changed lines
  Added in v.952

  ViewVC Help
Powered by ViewVC