Пример #1
0
const char *JACK_get_name(SoundPlugin *plugin, int portnum){
  Data *data = static_cast<Data*>(plugin->data);

  if(plugin->type->num_outputs>0)
    return jack_port_short_name(data->input_ports[portnum]);
  else
    return jack_port_short_name(data->output_ports[portnum]);
}
Пример #2
0
static PyObject* unregister_port(PyObject* self, PyObject* args)
{
    pyjack_client_t * client = self_or_global_client(self);
    char* port_name;
    if (! PyArg_ParseTuple(args, "s", &port_name))
        return NULL;

    if(client->pjc == NULL) {
        PyErr_SetString(JackNotConnectedError, "Jack connection has not yet been established.");
        return NULL;
    }

//     if(client->active) {
//         PyErr_SetString(JackUsageError, "Cannot unregister ports while client is active.");
//         return NULL;
//     }

    int i = 0;
    for (i=0;i<client->num_inputs;i++) {
        if (strcmp(port_name, jack_port_short_name(client->input_ports[i]))) continue;
        int error = jack_port_unregister(client->pjc, client->input_ports[i]);
        if (error) {
            PyErr_SetString(JackError, "Unable to unregister input port.");
            return NULL;
        }
        client->num_inputs--;
        for (;i<client->num_inputs;i++) {
            client->input_ports[i] = client->input_ports[i+1];
        }
        init_pipe_buffers(client);
        Py_INCREF(Py_None);
        return Py_None;
    }

    for (i=0;i<client->num_outputs;i++) {
        if (strcmp(port_name, jack_port_short_name(client->output_ports[i]))) continue;
        int error = jack_port_unregister(client->pjc, client->output_ports[i]);
        if (error) {
            PyErr_SetString(JackError, "Unable to unregister output port.");
            return NULL;
        }
        client->num_outputs--;
        for (;i<client->num_outputs;i++) {
            client->output_ports[i] = client->output_ports[i+1];
        }
        init_pipe_buffers(client);
        Py_INCREF(Py_None);
        return Py_None;
    }
    PyErr_SetString(JackUsageError, "Port not found.");
    return NULL;
}
Пример #3
0
static PyObject* get_port_short_name(PyObject* self, PyObject* args)
{
    char * port_name;

    if (! PyArg_ParseTuple(args, "s", &port_name))
        return NULL;

    if (port_name == NULL) {
        PyErr_SetString(JackError, "Port name cannot be empty.");
        return NULL;
    }

    pyjack_client_t * client = self_or_global_client(self);
    if(client->pjc == NULL) {
        PyErr_SetString(JackNotConnectedError, "Jack connection has not yet been established.");
        return NULL;
    }

    jack_port_t * port = jack_port_by_name(client->pjc, port_name);
    if (!port) {
        PyErr_SetString(JackError, "Port name cannot be empty.");
        return NULL;
    }
    const char * port_short_name = jack_port_short_name(port);

    return Py_BuildValue("s", port_short_name);
}
Пример #4
0
 const char *GetOutputChannelName(int idx)
 {
   if ((idx >= 0)&&(idx < m_outnch)) {
     return jack_port_short_name(_out[idx]);
   } else
     return NULL;
 }
Пример #5
0
 const char *GetInputChannelName(int idx)
 {
   if ((idx >= 0)&&(idx < m_innch)) {
     return jack_port_short_name(_in[idx]);
   } else
     return NULL;
 }