Browse Source

Add internal clients management API in control.

git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@2814 0c269be4-1314-0410-8aa9-9f06e86f4224
tags/1.90
sletz 17 years ago
parent
commit
e32419dee7
2 changed files with 104 additions and 3 deletions
  1. +37
    -3
      common/JackControl.cpp
  2. +67
    -0
      common/jack/control.h

+ 37
- 3
common/JackControl.cpp View File

@@ -50,6 +50,7 @@ using namespace Jack;
struct jackctl_server
{
JSList * drivers;
JSList * internals;
JSList * parameters;

class JackServer * engine;
@@ -98,6 +99,8 @@ struct jackctl_driver
JSList * set_parameters;
};

typedef jackctl_driver jackctl_internal;

struct jackctl_parameter
{
const char * name;
@@ -493,8 +496,8 @@ jackctl_wait_signals(sigset_t signals)
case SIGUSR2:
// driver exit
waiting = false;
break;
case SIGTTOU:
break;
case SIGTTOU:
break;
default:
waiting = false;
@@ -808,7 +811,7 @@ EXPORT const JSList * jackctl_driver_get_parameters(jackctl_driver *driver_ptr)
return driver_ptr->parameters;
}

EXPORT jack_driver_desc_t * jackctl_driver_get_desc(jackctl_driver_t * driver_ptr)
EXPORT jack_driver_desc_t * jackctl_driver_get_desc(jackctl_driver *driver_ptr)
{
return driver_ptr->desc_ptr;
}
@@ -925,3 +928,34 @@ EXPORT union jackctl_parameter_value jackctl_parameter_get_default_value(jackctl
{
return *parameter_ptr->default_value_ptr;
}

// Internals clients

EXPORT const JSList * jackctl_server_get_internals_list(jackctl_server *server_ptr)
{
return server_ptr->internals;
}

EXPORT const char * jackctl_internal_get_name(jackctl_internal *internal_ptr)
{
return internal_ptr->desc_ptr->name;
}

EXPORT const JSList * jackctl_internal_get_parameters(jackctl_internal *internal_ptr)
{
return internal_ptr->parameters;
}

EXPORT bool jackctl_server_load_internal(
jackctl_server * server,
jackctl_internal * internal)
{
return false;
}

EXPORT bool jackctl_server_unload_internal(
jackctl_server * server,
jackctl_internal * internal)
{
return false;
}

+ 67
- 0
common/jack/control.h View File

@@ -67,6 +67,9 @@ typedef struct jackctl_server jackctl_server_t;
/** opaque type for driver object */
typedef struct jackctl_driver jackctl_driver_t;

/** opaque type for internal client object */
typedef struct jackctl_internal jackctl_internal_t;

/** opaque type for parameter object */
typedef struct jackctl_parameter jackctl_parameter_t;

@@ -309,6 +312,70 @@ jackctl_parameter_set_value(
union jackctl_parameter_value
jackctl_parameter_get_default_value(
jackctl_parameter_t * parameter);
/**
* Call this function to get list of available internal clients. List node data
* pointers is a internal client object handle (::jackctl_driver_t).
*
* @param server server object handle to get internal clients for
*
* @return Single linked list of internal client object handles. Must not be
* modified. Always same for same server object.
*/
const JSList *
jackctl_server_get_internals_list(
jackctl_server_t * server);

/**
* Call this function to get name of internal.
*
* @param internal internal object handle to get name of
*
* @return internal name. Must not be modified. Always same for same
* driver object.
*/
const char *
jackctl_internal_get_name(
jackctl_driver_t * internal);

/**
* Call this function to get list of internal parameters. List node data
* pointers is a parameter object handle (::jackctl_parameter_t).
*
* @param internal internal object handle to get parameters for
*
* @return Single linked list of parameter object handles. Must not be
* modified. Always same for same internal object.
*/
const JSList *
jackctl_internal_get_parameters(
jackctl_internal_t * internal);

/**
* Call this function to load one internal client
*
* @param server server object handle
* @param internal internal to use
*
* @return success status: true - success, false - fail
*/
bool
jackctl_server_load_internal(
jackctl_server_t * server,
jackctl_internal_t * internal);

/**
* Call this function to unload one internal client
*
* @param server server object handle
* @param internal internal to unload
*
* @return success status: true - success, false - fail
*/
bool
jackctl_server_unload_internal(
jackctl_server_t * server,
jackctl_internal_t * internal);

/**
* Call this function to log an error message.


Loading…
Cancel
Save