Netdriver can now ask for in/out values from the master (in progress).
git-svn-id: http://subversion.jackaudio.org/jack/jack2/trunk/jackmp@4253 0c269be4-1314-0410-8aa9-9f06e86f4224
This commit is contained in:
parent
4789c74f37
commit
3ea1d70b0c
|
@ -34,6 +34,11 @@ Valerio Pilo
|
|||
Jackdmp changes log
|
||||
---------------------------
|
||||
|
||||
2011-04-02 Stephane Letz <letz@grame.fr>
|
||||
|
||||
* Netdriver can now ask for in/out values from the master (in progress).
|
||||
* Correct drivers parameter settings.
|
||||
|
||||
2011-04-01 Stephane Letz <letz@grame.fr>
|
||||
|
||||
* Merge newer-midi branch (Devin Anderson redesign of the MIDI drivers: alsarawmidi, ffado, coremidi and winmme).
|
||||
|
|
|
@ -150,6 +150,10 @@ namespace Jack
|
|||
//set global parameters
|
||||
SetParams();
|
||||
|
||||
// If -1 at conection time, in/out channels count is sent by the master
|
||||
fCaptureChannels = fParams.fSendAudioChannels;
|
||||
fPlaybackChannels = fParams.fReturnAudioChannels;
|
||||
|
||||
//allocate midi ports lists
|
||||
fMidiCapturePortList = new jack_port_id_t [fParams.fSendMidiChannels];
|
||||
fMidiPlaybackPortList = new jack_port_id_t [fParams.fReturnMidiChannels];
|
||||
|
@ -157,10 +161,10 @@ namespace Jack
|
|||
assert(fMidiCapturePortList);
|
||||
assert(fMidiPlaybackPortList);
|
||||
|
||||
for (uint midi_port_index = 0; midi_port_index < fParams.fSendMidiChannels; midi_port_index++) {
|
||||
for (int midi_port_index = 0; midi_port_index < fParams.fSendMidiChannels; midi_port_index++) {
|
||||
fMidiCapturePortList[midi_port_index] = NULL;
|
||||
}
|
||||
for (uint midi_port_index = 0; midi_port_index < fParams.fReturnMidiChannels; midi_port_index++) {
|
||||
for (int midi_port_index = 0; midi_port_index < fParams.fReturnMidiChannels; midi_port_index++) {
|
||||
fMidiPlaybackPortList[midi_port_index] = NULL;
|
||||
}
|
||||
|
||||
|
@ -261,7 +265,7 @@ namespace Jack
|
|||
char alias[JACK_CLIENT_NAME_SIZE + JACK_PORT_NAME_SIZE];
|
||||
unsigned long port_flags;
|
||||
int audio_port_index;
|
||||
uint midi_port_index;
|
||||
int midi_port_index;
|
||||
jack_latency_range_t range;
|
||||
|
||||
//audio
|
||||
|
@ -383,13 +387,13 @@ namespace Jack
|
|||
}
|
||||
}
|
||||
|
||||
for (uint midi_port_index = 0; midi_port_index < fParams.fSendMidiChannels; midi_port_index++) {
|
||||
for (int midi_port_index = 0; midi_port_index < fParams.fSendMidiChannels; midi_port_index++) {
|
||||
if (fMidiCapturePortList && fMidiCapturePortList[midi_port_index] > 0) {
|
||||
fGraphManager->ReleasePort ( fClientControl.fRefNum, fMidiCapturePortList[midi_port_index]);
|
||||
}
|
||||
}
|
||||
|
||||
for (uint midi_port_index = 0; midi_port_index < fParams.fReturnMidiChannels; midi_port_index++) {
|
||||
for (int midi_port_index = 0; midi_port_index < fParams.fReturnMidiChannels; midi_port_index++) {
|
||||
if (fMidiPlaybackPortList && fMidiPlaybackPortList[midi_port_index] > 0) {
|
||||
fGraphManager->ReleasePort ( fClientControl.fRefNum, fMidiPlaybackPortList[midi_port_index]);
|
||||
}
|
||||
|
@ -495,8 +499,8 @@ namespace Jack
|
|||
//driver processes--------------------------------------------------------------------
|
||||
int JackNetDriver::Read()
|
||||
{
|
||||
uint midi_port_index;
|
||||
uint audio_port_index;
|
||||
int midi_port_index;
|
||||
int audio_port_index;
|
||||
|
||||
//buffers
|
||||
for ( midi_port_index = 0; midi_port_index < fParams.fSendMidiChannels; midi_port_index++ )
|
||||
|
@ -540,7 +544,7 @@ namespace Jack
|
|||
|
||||
int JackNetDriver::Write()
|
||||
{
|
||||
uint midi_port_index;
|
||||
int midi_port_index;
|
||||
int audio_port_index;
|
||||
|
||||
//buffers
|
||||
|
@ -618,24 +622,24 @@ namespace Jack
|
|||
i++;
|
||||
strcpy ( desc->params[i].name, "input_ports" );
|
||||
desc->params[i].character = 'C';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.i = 2;
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.ui = 2;
|
||||
strcpy ( desc->params[i].short_desc, "Number of audio input ports" );
|
||||
strcpy ( desc->params[i].long_desc, desc->params[i].short_desc );
|
||||
|
||||
i++;
|
||||
strcpy ( desc->params[i].name, "output_ports" );
|
||||
desc->params[i].character = 'P';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.i = 2;
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.ui = 2;
|
||||
strcpy ( desc->params[i].short_desc, "Number of audio output ports" );
|
||||
strcpy ( desc->params[i].long_desc, desc->params[i].short_desc );
|
||||
|
||||
i++;
|
||||
strcpy ( desc->params[i].name, "midi_in_ports" );
|
||||
desc->params[i].character = 'i';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy ( desc->params[i].short_desc, "Number of midi input ports" );
|
||||
strcpy ( desc->params[i].long_desc, desc->params[i].short_desc );
|
||||
|
||||
|
@ -643,7 +647,7 @@ namespace Jack
|
|||
strcpy ( desc->params[i].name, "midi_out_ports" );
|
||||
desc->params[i].character = 'o';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy ( desc->params[i].short_desc, "Number of midi output ports" );
|
||||
strcpy ( desc->params[i].long_desc, desc->params[i].short_desc );
|
||||
|
||||
|
|
|
@ -542,6 +542,32 @@ namespace Jack
|
|||
SocketAPIEnd();
|
||||
}
|
||||
|
||||
int JackNetMasterManager::CountPhysicalInputs()
|
||||
{
|
||||
const char **ports;
|
||||
int count = 0;
|
||||
|
||||
ports = jack_get_ports(fManagerClient, NULL, NULL, JackPortIsPhysical | JackPortIsOutput);
|
||||
if (ports != NULL) {
|
||||
while(ports[count]) count++;
|
||||
free(ports);
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
int JackNetMasterManager::CountPhysicalOutputs()
|
||||
{
|
||||
const char **ports;
|
||||
int count = 0;
|
||||
|
||||
ports = jack_get_ports(fManagerClient, NULL, NULL, JackPortIsPhysical | JackPortIsInput);
|
||||
if (ports != NULL) {
|
||||
while(ports[count]) count++;
|
||||
free(ports);
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
int JackNetMasterManager::SetSyncCallback ( jack_transport_state_t state, jack_position_t* pos, void* arg )
|
||||
{
|
||||
return static_cast<JackNetMasterManager*> ( arg )->SyncCallback ( state, pos );
|
||||
|
@ -669,13 +695,23 @@ namespace Jack
|
|||
params.fSampleRate = jack_get_sample_rate ( fManagerClient );
|
||||
params.fPeriodSize = jack_get_buffer_size ( fManagerClient );
|
||||
params.fBitdepth = 0;
|
||||
SetSlaveName ( params );
|
||||
|
||||
if (params.fSendAudioChannels == -1) {
|
||||
params.fSendAudioChannels = CountPhysicalInputs();
|
||||
jack_info( "Takes physical %d inputs for client", params.fSendAudioChannels);
|
||||
}
|
||||
|
||||
if (params.fReturnAudioChannels == -1) {
|
||||
params.fReturnAudioChannels = CountPhysicalOutputs();
|
||||
jack_info("Takes physical %d outputs for client", params.fReturnAudioChannels);
|
||||
}
|
||||
|
||||
SetSlaveName (params);
|
||||
|
||||
//create a new master and add it to the list
|
||||
JackNetMaster* master = new JackNetMaster(fSocket, params, fMulticastIP);
|
||||
if ( master->Init(fAutoConnect) )
|
||||
{
|
||||
fMasterList.push_back ( master );
|
||||
if (master->Init(fAutoConnect)) {
|
||||
fMasterList.push_back(master);
|
||||
return master;
|
||||
}
|
||||
delete master;
|
||||
|
|
|
@ -37,6 +37,9 @@ namespace Jack
|
|||
class JackNetMaster : public JackNetMasterInterface
|
||||
{
|
||||
friend class JackNetMasterManager;
|
||||
|
||||
private:
|
||||
|
||||
private:
|
||||
static int SetProcess ( jack_nframes_t nframes, void* arg );
|
||||
static int SetBufferSize (jack_nframes_t nframes, void* arg);
|
||||
|
@ -90,7 +93,9 @@ namespace Jack
|
|||
class JackNetMasterManager
|
||||
{
|
||||
friend class JackNetMaster;
|
||||
|
||||
private:
|
||||
|
||||
static int SetSyncCallback ( jack_transport_state_t state, jack_position_t* pos, void* arg );
|
||||
static void* NetManagerThread ( void* arg );
|
||||
|
||||
|
@ -111,7 +116,12 @@ namespace Jack
|
|||
void SetSlaveName ( session_params_t& params );
|
||||
|
||||
int SyncCallback ( jack_transport_state_t state, jack_position_t* pos );
|
||||
|
||||
int CountPhysicalInputs();
|
||||
int CountPhysicalOutputs();
|
||||
|
||||
public:
|
||||
|
||||
JackNetMasterManager ( jack_client_t* jack_client, const JSList* params);
|
||||
~JackNetMasterManager();
|
||||
};
|
||||
|
|
|
@ -81,10 +81,10 @@ namespace Jack
|
|||
uint32_t fMtu; //connection mtu
|
||||
uint32_t fID; //slave's ID
|
||||
uint32_t fTransportSync; //is the transport synced ?
|
||||
uint32_t fSendAudioChannels; //number of master->slave channels
|
||||
uint32_t fReturnAudioChannels; //number of slave->master channels
|
||||
uint32_t fSendMidiChannels; //number of master->slave midi channels
|
||||
uint32_t fReturnMidiChannels; //number of slave->master midi channels
|
||||
int32_t fSendAudioChannels; //number of master->slave channels
|
||||
int32_t fReturnAudioChannels; //number of slave->master channels
|
||||
int32_t fSendMidiChannels; //number of master->slave midi channels
|
||||
int32_t fReturnMidiChannels; //number of slave->master midi channels
|
||||
uint32_t fSampleRate; //session sample rate
|
||||
uint32_t fPeriodSize; //period size
|
||||
uint32_t fFramesPerPacket; //complete frames per packet
|
||||
|
|
|
@ -259,7 +259,7 @@ extern "C"
|
|||
i++;
|
||||
strcpy ( desc->params[i].name, "inchannels" );
|
||||
desc->params[i].character = 'i';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.i = 0;
|
||||
strcpy ( desc->params[i].short_desc,
|
||||
"Number of capture channels (defaults to hardware max)" );
|
||||
|
@ -268,7 +268,7 @@ extern "C"
|
|||
i++;
|
||||
strcpy ( desc->params[i].name, "outchannels" );
|
||||
desc->params[i].character = 'o';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.i = 0;
|
||||
strcpy ( desc->params[i].short_desc,
|
||||
"Number of playback channels (defaults to hardware max)" );
|
||||
|
@ -277,7 +277,7 @@ extern "C"
|
|||
i++;
|
||||
strcpy(desc->params[i].name, "quality");
|
||||
desc->params[i].character = 'q';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Resample algorithm quality (0 - 4)");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
@ -285,7 +285,7 @@ extern "C"
|
|||
i++;
|
||||
strcpy(desc->params[i].name, "ring-buffer");
|
||||
desc->params[i].character = 'g';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.ui = 32768;
|
||||
strcpy(desc->params[i].short_desc, "Fixed ringbuffer size");
|
||||
strcpy(desc->params[i].long_desc, "Fixed ringbuffer size (if not set => automatic adaptative)");
|
||||
|
|
|
@ -845,7 +845,7 @@ SERVER_EXPORT const jack_driver_desc_t* driver_get_descriptor ()
|
|||
i++;
|
||||
strcpy (params[i].name, "inchannels");
|
||||
params[i].character = 'i';
|
||||
params[i].type = JackDriverParamUInt;
|
||||
params[i].type = JackDriverParamInt;
|
||||
params[i].value.i = 0;
|
||||
strcpy (params[i].short_desc,
|
||||
"Number of capture channels (defaults to hardware max)");
|
||||
|
@ -854,7 +854,7 @@ SERVER_EXPORT const jack_driver_desc_t* driver_get_descriptor ()
|
|||
i++;
|
||||
strcpy (params[i].name, "outchannels");
|
||||
params[i].character = 'o';
|
||||
params[i].type = JackDriverParamUInt;
|
||||
params[i].type = JackDriverParamInt;
|
||||
params[i].value.i = 0;
|
||||
strcpy (params[i].short_desc,
|
||||
"Number of playback channels (defaults to hardware max)");
|
||||
|
@ -872,7 +872,7 @@ SERVER_EXPORT const jack_driver_desc_t* driver_get_descriptor ()
|
|||
strcpy (params[i].name, "input-latency");
|
||||
params[i].character = 'I';
|
||||
params[i].type = JackDriverParamUInt;
|
||||
params[i].value.i = 0;
|
||||
params[i].value.ui = 0;
|
||||
strcpy (params[i].short_desc, "Extra input latency (frames)");
|
||||
strcpy (params[i].long_desc, params[i].short_desc);
|
||||
|
||||
|
@ -880,7 +880,7 @@ SERVER_EXPORT const jack_driver_desc_t* driver_get_descriptor ()
|
|||
strcpy (params[i].name, "output-latency");
|
||||
params[i].character = 'O';
|
||||
params[i].type = JackDriverParamUInt;
|
||||
params[i].value.i = 0;
|
||||
params[i].value.ui = 0;
|
||||
strcpy (params[i].short_desc, "Extra output latency (frames)");
|
||||
strcpy (params[i].long_desc, params[i].short_desc);
|
||||
|
||||
|
|
|
@ -1511,7 +1511,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "channels");
|
||||
desc->params[i].character = 'c';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.ui = -1;
|
||||
desc->params[i].value.i = -1;
|
||||
strcpy(desc->params[i].short_desc, "Maximum number of channels");
|
||||
strcpy(desc->params[i].long_desc, "Maximum number of channels. If -1, max possible number of channels will be used");
|
||||
|
||||
|
@ -1519,7 +1519,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "inchannels");
|
||||
desc->params[i].character = 'i';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.ui = -1;
|
||||
desc->params[i].value.i = -1;
|
||||
strcpy(desc->params[i].short_desc, "Maximum number of input channels");
|
||||
strcpy(desc->params[i].long_desc, "Maximum number of input channels. If -1, max possible number of input channels will be used");
|
||||
|
||||
|
@ -1527,7 +1527,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "outchannels");
|
||||
desc->params[i].character = 'o';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.ui = -1;
|
||||
desc->params[i].value.i = -1;
|
||||
strcpy(desc->params[i].short_desc, "Maximum number of output channels");
|
||||
strcpy(desc->params[i].long_desc, "Maximum number of output channels. If -1, max possible number of output channels will be used");
|
||||
|
||||
|
|
|
@ -1844,7 +1844,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "channels");
|
||||
desc->params[i].character = 'c';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.ui = -1;
|
||||
desc->params[i].value.i = -1;
|
||||
strcpy(desc->params[i].short_desc, "Maximum number of channels");
|
||||
strcpy(desc->params[i].long_desc, "Maximum number of channels. If -1, max possible number of channels will be used");
|
||||
|
||||
|
@ -1852,7 +1852,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "inchannels");
|
||||
desc->params[i].character = 'i';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.ui = -1;
|
||||
desc->params[i].value.i = -1;
|
||||
strcpy(desc->params[i].short_desc, "Maximum number of input channels");
|
||||
strcpy(desc->params[i].long_desc, "Maximum number of input channels. If -1, max possible number of input channels will be used");
|
||||
|
||||
|
@ -1860,7 +1860,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "outchannels");
|
||||
desc->params[i].character = 'o';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].value.ui = -1;
|
||||
desc->params[i].value.i = -1;
|
||||
strcpy(desc->params[i].short_desc, "Maximum number of output channels");
|
||||
strcpy(desc->params[i].long_desc, "Maximum number of output channels. If -1, max possible number of output channels will be used");
|
||||
|
||||
|
@ -1921,7 +1921,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "input-latency");
|
||||
desc->params[i].character = 'I';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Extra input latency (frames)");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
@ -1929,7 +1929,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "output-latency");
|
||||
desc->params[i].character = 'O';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Extra output latency (frames)");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
@ -1953,7 +1953,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "async-latency");
|
||||
desc->params[i].character = 'L';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 100;
|
||||
desc->params[i].value.ui = 100;
|
||||
strcpy(desc->params[i].short_desc, "Extra output latency in asynchronous mode (percent)");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
@ -1961,7 +1961,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "grain");
|
||||
desc->params[i].character = 'G';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 100;
|
||||
desc->params[i].value.ui = 100;
|
||||
strcpy(desc->params[i].short_desc, "Computation grain in RT thread (percent)");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
|
|
@ -911,7 +911,7 @@ SERVER_EXPORT jack_driver_desc_t* driver_get_descriptor()
|
|||
strcpy(desc->params[i].name, "input-latency");
|
||||
desc->params[i].character = 'I';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Extra input latency");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
@ -919,7 +919,7 @@ SERVER_EXPORT jack_driver_desc_t* driver_get_descriptor()
|
|||
strcpy(desc->params[i].name, "output-latency");
|
||||
desc->params[i].character = 'O';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Extra output latency");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
|
|
@ -836,7 +836,7 @@ SERVER_EXPORT jack_driver_desc_t* driver_get_descriptor()
|
|||
strcpy(desc->params[i].name, "input-latency");
|
||||
desc->params[i].character = 'I';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Extra input latency");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
@ -844,7 +844,7 @@ SERVER_EXPORT jack_driver_desc_t* driver_get_descriptor()
|
|||
strcpy(desc->params[i].name, "output-latency");
|
||||
desc->params[i].character = 'O';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Extra output latency");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
|
|
@ -253,7 +253,7 @@ extern "C"
|
|||
i = 0;
|
||||
strcpy(desc->params[i].name, "channels");
|
||||
desc->params[i].character = 'c';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Maximum number of channels");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
@ -261,7 +261,7 @@ extern "C"
|
|||
i++;
|
||||
strcpy(desc->params[i].name, "inchannels");
|
||||
desc->params[i].character = 'i';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Maximum number of input channels");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
@ -269,7 +269,7 @@ extern "C"
|
|||
i++;
|
||||
strcpy(desc->params[i].name, "outchannels");
|
||||
desc->params[i].character = 'o';
|
||||
desc->params[i].type = JackDriverParamInt;
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Maximum number of output channels");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
@ -334,7 +334,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "input-latency");
|
||||
desc->params[i].character = 'I';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Extra input latency");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
@ -342,7 +342,7 @@ extern "C"
|
|||
strcpy(desc->params[i].name, "output-latency");
|
||||
desc->params[i].character = 'O';
|
||||
desc->params[i].type = JackDriverParamUInt;
|
||||
desc->params[i].value.i = 0;
|
||||
desc->params[i].value.ui = 0;
|
||||
strcpy(desc->params[i].short_desc, "Extra output latency");
|
||||
strcpy(desc->params[i].long_desc, desc->params[i].short_desc);
|
||||
|
||||
|
|
Loading…
Reference in New Issue