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]); }
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; }
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); }
const char *GetOutputChannelName(int idx) { if ((idx >= 0)&&(idx < m_outnch)) { return jack_port_short_name(_out[idx]); } else return NULL; }
const char *GetInputChannelName(int idx) { if ((idx >= 0)&&(idx < m_innch)) { return jack_port_short_name(_in[idx]); } else return NULL; }