Browse Source

Merge branch 'master' into waf-macosx-fixes

tags/v1.9.11-RC1
Karl Linden 9 years ago
parent
commit
c4f01e5140
No known key found for this signature in database GPG Key ID: 764C09795C812B97
36 changed files with 159 additions and 161 deletions
  1. +1
    -1
      android/Shm.cpp
  2. +1
    -1
      android/Shm.h
  3. +2
    -2
      common/JackAPI.cpp
  4. +2
    -2
      common/JackAudioDriver.cpp
  5. +1
    -1
      common/JackClient.cpp
  6. +1
    -1
      common/JackClient.h
  7. +1
    -1
      common/JackDebugClient.h
  8. +10
    -10
      common/JackDriver.cpp
  9. +3
    -4
      common/JackDriver.h
  10. +1
    -1
      common/JackEngine.cpp
  11. +1
    -1
      common/JackEngineControl.h
  12. +12
    -6
      common/JackGraphManager.cpp
  13. +1
    -1
      common/JackLibClient.cpp
  14. +4
    -2
      common/JackMidiAPI.cpp
  15. +2
    -2
      common/JackMidiDriver.cpp
  16. +1
    -1
      common/JackMidiPort.h
  17. +1
    -1
      common/JackNetAPI.cpp
  18. +3
    -3
      common/JackNetDriver.cpp
  19. +3
    -3
      common/JackNetTool.h
  20. +1
    -1
      common/JackPort.cpp
  21. +3
    -3
      common/JackPort.h
  22. +3
    -3
      common/JackProxyDriver.h
  23. +21
    -21
      common/JackRequest.h
  24. +1
    -1
      common/shm.c
  25. +1
    -1
      common/shm.h
  26. +30
    -37
      example-clients/midiseq.c
  27. +31
    -31
      example-clients/transport.c
  28. +2
    -2
      linux/alsa/JackAlsaDriver.cpp
  29. +2
    -2
      linux/alsarawmidi/JackALSARawMidiPort.h
  30. +3
    -5
      macosx/Jackdmp.xcodeproj/project.pbxproj
  31. +2
    -2
      macosx/coreaudio/JackCoreAudioDriver.mm
  32. +2
    -2
      macosx/coremidi/JackCoreMidiPort.h
  33. +1
    -1
      macosx/coremidi/JackCoreMidiPort.mm
  34. +2
    -2
      solaris/oss/JackOSSAdapter.h
  35. +1
    -1
      windows/JackWinNamedPipeServerChannel.h
  36. +2
    -2
      windows/winmme/JackWinMMEPort.h

+ 1
- 1
android/Shm.cpp View File

@@ -81,7 +81,7 @@ namespace android {
/* pointers to registry header and array */
jack_shm_header_t *Shm::jack_shm_header = NULL;
jack_shm_registry_t *Shm::jack_shm_registry = NULL;
char Shm::jack_shm_server_prefix[JACK_SERVER_NAME_SIZE] = "";
char Shm::jack_shm_server_prefix[JACK_SERVER_NAME_SIZE+1] = "";
/* jack_shm_lock_registry() serializes updates to the shared memory
* segment JACK uses to keep track of the SHM segments allocated to


+ 1
- 1
android/Shm.h View File

@@ -124,7 +124,7 @@ namespace android {
static jack_shm_info_t registry_info;
static jack_shm_header_t *jack_shm_header;
static jack_shm_registry_t *jack_shm_registry;
static char jack_shm_server_prefix[JACK_SERVER_NAME_SIZE];
static char jack_shm_server_prefix[JACK_SERVER_NAME_SIZE+1];
static int semid;
static pthread_mutex_t mutex;
static Shm* ref;


+ 2
- 2
common/JackAPI.cpp View File

@@ -1481,12 +1481,12 @@ LIB_EXPORT char* jack_get_client_name(jack_client_t* ext_client)

LIB_EXPORT int jack_client_name_size(void)
{
return JACK_CLIENT_NAME_SIZE;
return JACK_CLIENT_NAME_SIZE+1;
}

LIB_EXPORT int jack_port_name_size(void)
{
return REAL_JACK_PORT_NAME_SIZE;
return REAL_JACK_PORT_NAME_SIZE+1;
}

LIB_EXPORT int jack_port_type_size(void)


+ 2
- 2
common/JackAudioDriver.cpp View File

@@ -115,8 +115,8 @@ int JackAudioDriver::Attach()
{
JackPort* port;
jack_port_id_t port_index;
char name[REAL_JACK_PORT_NAME_SIZE];
char alias[REAL_JACK_PORT_NAME_SIZE];
char name[REAL_JACK_PORT_NAME_SIZE+1];
char alias[REAL_JACK_PORT_NAME_SIZE+1];
int i;

jack_log("JackAudioDriver::Attach fBufferSize = %ld fSampleRate = %ld", fEngineControl->fBufferSize, fEngineControl->fSampleRate);


+ 1
- 1
common/JackClient.cpp View File

@@ -1195,7 +1195,7 @@ int JackClient::SetLatencyCallback(JackLatencyCallback callback, void *arg)

char* JackClient::GetInternalClientName(int ref)
{
char name_res[JACK_CLIENT_NAME_SIZE + 1];
char name_res[JACK_CLIENT_NAME_SIZE+1];
int result = -1;
fChannel->GetInternalClientName(GetClientControl()->fRefNum, ref, name_res, &result);
return (result < 0) ? NULL : strdup(name_res);


+ 1
- 1
common/JackClient.h View File

@@ -87,7 +87,7 @@ class SERVER_EXPORT JackClient : public JackClientInterface, public JackRunnable
void* fThreadFunArg;
void* fSessionArg;
void* fLatencyArg;
char fServerName[JACK_SERVER_NAME_SIZE];
char fServerName[JACK_SERVER_NAME_SIZE+1];

JackThread fThread; /*! Thread to execute the Process function */
detail::JackClientChannelInterface* fChannel;


+ 1
- 1
common/JackDebugClient.h View File

@@ -59,7 +59,7 @@ class JackDebugClient : public JackClient
int fIsDeactivated;
int fIsClosed;
bool fFreewheel;
char fClientName[JACK_CLIENT_NAME_SIZE + 1];
char fClientName[JACK_CLIENT_NAME_SIZE+1];
JackProcessCallback fProcessTimeCallback;
void* fProcessTimeCallbackArg;



+ 10
- 10
common/JackDriver.cpp View File

@@ -76,7 +76,7 @@ int JackDriver::Open()
}

int JackDriver::Open(jack_nframes_t buffer_size,
jack_nframes_t samplerate,
jack_nframes_t sample_rate,
bool capturing,
bool playing,
int inchannels,
@@ -111,8 +111,8 @@ int JackDriver::Open(jack_nframes_t buffer_size,
if (buffer_size > 0) {
fEngineControl->fBufferSize = buffer_size;
}
if (samplerate > 0) {
fEngineControl->fSampleRate = samplerate;
if (sample_rate > 0) {
fEngineControl->fSampleRate = sample_rate;
}
fCaptureLatency = capture_latency;
fPlaybackLatency = playback_latency;
@@ -125,7 +125,7 @@ int JackDriver::Open(jack_nframes_t buffer_size,

fEngineControl->UpdateTimeOut();

fGraphManager->SetBufferSize(buffer_size);
fGraphManager->SetBufferSize(fEngineControl->fBufferSize);
fGraphManager->DirectConnect(fClientControl.fRefNum, fClientControl.fRefNum); // Connect driver to itself for "sync" mode
SetupDriverSync(fClientControl.fRefNum, false);
return 0;
@@ -422,10 +422,10 @@ static string RemoveLast(const string& name)
void JackDriver::SaveConnections(int alias)
{
const char** connections;
char alias1[REAL_JACK_PORT_NAME_SIZE];
char alias2[REAL_JACK_PORT_NAME_SIZE];
char system_alias1[REAL_JACK_PORT_NAME_SIZE];
char system_alias2[REAL_JACK_PORT_NAME_SIZE];
char alias1[REAL_JACK_PORT_NAME_SIZE+1];
char alias2[REAL_JACK_PORT_NAME_SIZE+1];
char system_alias1[REAL_JACK_PORT_NAME_SIZE+1];
char system_alias2[REAL_JACK_PORT_NAME_SIZE+1];
char* aliases[2];
char* system_aliases[2];

@@ -506,8 +506,8 @@ void JackDriver::SaveConnections(int alias)

string JackDriver::MatchPortName(const char* name, const char** ports, int alias, const std::string& type)
{
char alias1[REAL_JACK_PORT_NAME_SIZE];
char alias2[REAL_JACK_PORT_NAME_SIZE];
char alias1[REAL_JACK_PORT_NAME_SIZE+1];
char alias2[REAL_JACK_PORT_NAME_SIZE+1];
char* aliases[2];
aliases[0] = alias1;


+ 3
- 4
common/JackDriver.h View File

@@ -129,10 +129,9 @@ class SERVER_EXPORT JackDriver : public JackDriverClientInterface

protected:

char fCaptureDriverName[JACK_CLIENT_NAME_SIZE + 1];
char fPlaybackDriverName[JACK_CLIENT_NAME_SIZE + 1];

char fAliasName[JACK_CLIENT_NAME_SIZE + 1];
char fCaptureDriverName[JACK_CLIENT_NAME_SIZE+1];
char fPlaybackDriverName[JACK_CLIENT_NAME_SIZE+1];
char fAliasName[JACK_CLIENT_NAME_SIZE+1];

jack_nframes_t fCaptureLatency;
jack_nframes_t fPlaybackLatency;


+ 1
- 1
common/JackEngine.cpp View File

@@ -1038,7 +1038,7 @@ int JackEngine::PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t ds

int JackEngine::PortRename(int refnum, jack_port_id_t port, const char* name)
{
char old_name[REAL_JACK_PORT_NAME_SIZE];
char old_name[REAL_JACK_PORT_NAME_SIZE+1];
strcpy(old_name, fGraphManager->GetPort(port)->GetName());
fGraphManager->GetPort(port)->SetName(name);
NotifyPortRename(port, old_name);


+ 1
- 1
common/JackEngineControl.h View File

@@ -63,7 +63,7 @@ struct SERVER_EXPORT JackEngineControl : public JackShmMem
int fServerPriority;
int fClientPriority;
int fMaxClientPriority;
char fServerName[JACK_SERVER_NAME_SIZE];
char fServerName[JACK_SERVER_NAME_SIZE+1];
JackTransportEngine fTransport;
jack_timer_type_t fClockSource;
int fDriverNum;


+ 12
- 6
common/JackGraphManager.cpp View File

@@ -301,8 +301,9 @@ int JackGraphManager::ComputeTotalLatencies()
jack_port_id_t port_index;
for (port_index = FIRST_AVAILABLE_PORT; port_index < fPortMax; port_index++) {
JackPort* port = GetPort(port_index);
if (port->IsUsed())
if (port->IsUsed()) {
ComputeTotalLatency(port_index);
}
}
return 0;
}
@@ -321,14 +322,17 @@ void JackGraphManager::RecalculateLatencyAux(jack_port_id_t port_index, jack_lat

dst_port->GetLatencyRange(mode, &other_latency);

if (other_latency.max > latency.max)
if (other_latency.max > latency.max) {
latency.max = other_latency.max;
if (other_latency.min < latency.min)
}
if (other_latency.min < latency.min) {
latency.min = other_latency.min;
}
}

if (latency.min == UINT32_MAX)
if (latency.min == UINT32_MAX) {
latency.min = 0;
}

port->SetLatencyRange(mode, &latency);
}
@@ -355,8 +359,9 @@ void JackGraphManager::SetBufferSize(jack_nframes_t buffer_size)
jack_port_id_t port_index;
for (port_index = FIRST_AVAILABLE_PORT; port_index < fPortMax; port_index++) {
JackPort* port = GetPort(port_index);
if (port->IsUsed())
if (port->IsUsed()) {
port->ClearBuffer(buffer_size);
}
}
}

@@ -370,8 +375,9 @@ jack_port_id_t JackGraphManager::AllocatePortAux(int refnum, const char* port_na
JackPort* port = GetPort(port_index);
if (!port->IsUsed()) {
jack_log("JackGraphManager::AllocatePortAux port_index = %ld name = %s type = %s", port_index, port_name, port_type);
if (!port->Allocate(refnum, port_name, port_type, flags))
if (!port->Allocate(refnum, port_name, port_type, flags)) {
return NO_PORT;
}
break;
}
}


+ 1
- 1
common/JackLibClient.cpp View File

@@ -98,7 +98,7 @@ int JackLibClient::Open(const char* server_name, const char* name, int uuid, jac
strncpy(fServerName, server_name, sizeof(fServerName));

// Open server/client channel
char name_res[JACK_CLIENT_NAME_SIZE + 1];
char name_res[JACK_CLIENT_NAME_SIZE+1];
if (fChannel->Open(server_name, name, uuid, name_res, this, options, status) < 0) {
jack_error("Cannot connect to the server");
goto error;


+ 4
- 2
common/JackMidiAPI.cpp View File

@@ -99,8 +99,9 @@ LIB_EXPORT
size_t jack_midi_max_event_size(void* port_buffer)
{
JackMidiBuffer *buf = (JackMidiBuffer*)port_buffer;
if (buf && buf->IsValid())
if (buf && buf->IsValid()) {
return buf->MaxEventSize();
}
return 0;
}

@@ -152,7 +153,8 @@ LIB_EXPORT
uint32_t jack_midi_get_lost_event_count(void* port_buffer)
{
JackMidiBuffer *buf = (JackMidiBuffer*)port_buffer;
if (buf && buf->IsValid())
if (buf && buf->IsValid()) {
return buf->lost_events;
}
return 0;
}

+ 2
- 2
common/JackMidiDriver.cpp View File

@@ -58,8 +58,8 @@ int JackMidiDriver::Attach()
{
JackPort* port;
jack_port_id_t port_index;
char name[REAL_JACK_PORT_NAME_SIZE];
char alias[REAL_JACK_PORT_NAME_SIZE];
char name[REAL_JACK_PORT_NAME_SIZE+1];
char alias[REAL_JACK_PORT_NAME_SIZE+1];
int i;

jack_log("JackMidiDriver::Attach fBufferSize = %ld fSampleRate = %ld", fEngineControl->fBufferSize, fEngineControl->fSampleRate);


+ 1
- 1
common/JackMidiPort.h View File

@@ -51,7 +51,7 @@ struct SERVER_EXPORT JackMidiEvent
uint32_t time;
jack_shmsize_t size;
union {
jack_shmsize_t offset;
jack_shmsize_t offset;
jack_midi_data_t data[INLINE_SIZE_MAX];
};



+ 1
- 1
common/JackNetAPI.cpp View File

@@ -519,7 +519,7 @@ struct JackNetExtSlave : public JackNetSlaveInterface, public JackRunnableInterf
fBufferSizeCallback(NULL), fBufferSizeArg(NULL),
fSampleRateCallback(NULL), fSampleRateArg(NULL)
{
char host_name[JACK_CLIENT_NAME_SIZE];
char host_name[JACK_CLIENT_NAME_SIZE + 1];

// Request parameters
assert(strlen(ip) < 32);


+ 3
- 3
common/JackNetDriver.cpp View File

@@ -318,8 +318,8 @@ namespace Jack

JackPort* port;
jack_port_id_t port_index;
char name[REAL_JACK_PORT_NAME_SIZE];
char alias[REAL_JACK_PORT_NAME_SIZE];
char name[REAL_JACK_PORT_NAME_SIZE+1];
char alias[REAL_JACK_PORT_NAME_SIZE+1];
int audio_port_index;
int midi_port_index;
@@ -720,7 +720,7 @@ Deactivated for now..
SERVER_EXPORT Jack::JackDriverClientInterface* driver_initialize(Jack::JackLockedEngine* engine, Jack::JackSynchro* table, const JSList* params)
{
char multicast_ip[32];
char net_name[JACK_CLIENT_NAME_SIZE + 1] = {0};
char net_name[JACK_CLIENT_NAME_SIZE+1] = {0};
int udp_port;
int mtu = DEFAULT_MTU;
// Desactivated for now...


+ 3
- 3
common/JackNetTool.h View File

@@ -94,9 +94,9 @@ namespace Jack
char fPacketType[8]; //packet type ('param')
uint32_t fProtocolVersion; //version
int32_t fPacketID; //indicates the packet type
char fName[JACK_CLIENT_NAME_SIZE]; //slave's name
char fMasterNetName[JACK_SERVER_NAME_SIZE]; //master hostname (network)
char fSlaveNetName[JACK_SERVER_NAME_SIZE]; //slave hostname (network)
char fName[JACK_CLIENT_NAME_SIZE+1]; //slave's name
char fMasterNetName[JACK_SERVER_NAME_SIZE+1]; //master hostname (network)
char fSlaveNetName[JACK_SERVER_NAME_SIZE+1]; //slave hostname (network)
uint32_t fMtu; //connection mtu
uint32_t fID; //slave's ID
uint32_t fTransportSync; //is the transport synced ?


+ 1
- 1
common/JackPort.cpp View File

@@ -230,7 +230,7 @@ void JackPort::SetName(const char* new_name)

bool JackPort::NameEquals(const char* target)
{
char buf[REAL_JACK_PORT_NAME_SIZE];
char buf[REAL_JACK_PORT_NAME_SIZE+1];

/* this nasty, nasty kludge is here because between 0.109.0 and 0.109.1,
the ALSA audio backend had the name "ALSA", whereas as before and


+ 3
- 3
common/JackPort.h View File

@@ -45,9 +45,9 @@ class SERVER_EXPORT JackPort

int fTypeId;
enum JackPortFlags fFlags;
char fName[REAL_JACK_PORT_NAME_SIZE];
char fAlias1[REAL_JACK_PORT_NAME_SIZE];
char fAlias2[REAL_JACK_PORT_NAME_SIZE];
char fName[REAL_JACK_PORT_NAME_SIZE+1];
char fAlias1[REAL_JACK_PORT_NAME_SIZE+1];
char fAlias2[REAL_JACK_PORT_NAME_SIZE+1];
int fRefNum;

jack_nframes_t fLatency;


+ 3
- 3
common/JackProxyDriver.h View File

@@ -62,9 +62,9 @@ namespace Jack

private:

char fUpstream[JACK_CLIENT_NAME_SIZE]; /*<! the upstream server name */
char fClientName[JACK_CLIENT_NAME_SIZE]; /*<! client name to use when connecting */
const char* fPromiscuous; /*<! if not null, group or gid to use for promiscuous mode */
char fUpstream[JACK_CLIENT_NAME_SIZE+1]; /*<! the upstream server name */
char fClientName[JACK_CLIENT_NAME_SIZE+1]; /*<! client name to use when connecting */
const char* fPromiscuous; /*<! if not null, group or gid to use for promiscuous mode */

//jack data
jack_client_t* fClient; /*<! client handle */


+ 21
- 21
common/JackRequest.h View File

@@ -157,7 +157,7 @@ struct JackResult
struct JackClientCheckRequest : public JackRequest
{

char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];
int fProtocol;
int fOptions;
int fUUID;
@@ -202,7 +202,7 @@ struct JackClientCheckRequest : public JackRequest
struct JackClientCheckResult : public JackResult
{

char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];
int fStatus;

JackClientCheckResult(): JackResult(), fStatus(0)
@@ -240,7 +240,7 @@ struct JackClientOpenRequest : public JackRequest

int fPID;
int fUUID;
char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];

JackClientOpenRequest()
{}
@@ -517,8 +517,8 @@ struct JackPortConnectNameRequest : public JackRequest
{

int fRefNum;
char fSrc[REAL_JACK_PORT_NAME_SIZE + 1]; // port full name
char fDst[REAL_JACK_PORT_NAME_SIZE + 1]; // port full name
char fSrc[REAL_JACK_PORT_NAME_SIZE+1]; // port full name
char fDst[REAL_JACK_PORT_NAME_SIZE+1]; // port full name

JackPortConnectNameRequest()
{}
@@ -559,8 +559,8 @@ struct JackPortDisconnectNameRequest : public JackRequest
{

int fRefNum;
char fSrc[REAL_JACK_PORT_NAME_SIZE + 1]; // port full name
char fDst[REAL_JACK_PORT_NAME_SIZE + 1]; // port full name
char fSrc[REAL_JACK_PORT_NAME_SIZE+1]; // port full name
char fDst[REAL_JACK_PORT_NAME_SIZE+1]; // port full name

JackPortDisconnectNameRequest()
{}
@@ -901,7 +901,7 @@ struct JackGetInternalClientNameRequest : public JackRequest
struct JackGetInternalClientNameResult : public JackResult
{

char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];

JackGetInternalClientNameResult(): JackResult()
{}
@@ -936,7 +936,7 @@ struct JackInternalClientHandleRequest : public JackRequest
{

int fRefNum;
char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];

JackInternalClientHandleRequest()
{}
@@ -1010,9 +1010,9 @@ struct JackInternalClientLoadRequest : public JackRequest
#endif

int fRefNum;
char fName[JACK_CLIENT_NAME_SIZE + 1];
char fDllName[MAX_PATH + 1];
char fLoadInitName[JACK_LOAD_INIT_LIMIT + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];
char fDllName[MAX_PATH+1];
char fLoadInitName[JACK_LOAD_INIT_LIMIT+1];
int fOptions;
int fUUID;

@@ -1194,7 +1194,7 @@ struct JackClientNotificationRequest : public JackRequest
struct JackSessionCommand
{
char fUUID[JACK_UUID_SIZE];
char fClientName[JACK_CLIENT_NAME_SIZE + 1];
char fClientName[JACK_CLIENT_NAME_SIZE+1];
char fCommand[JACK_SESSION_COMMAND_SIZE];
jack_session_flags_t fFlags;

@@ -1305,8 +1305,8 @@ struct JackSessionNotifyResult : public JackResult

struct JackSessionNotifyRequest : public JackRequest
{
char fPath[JACK_MESSAGE_SIZE + 1];
char fDst[JACK_CLIENT_NAME_SIZE + 1];
char fPath[JACK_MESSAGE_SIZE+1];
char fDst[JACK_CLIENT_NAME_SIZE+1];
jack_session_event_type_t fEventType;
int fRefNum;

@@ -1377,7 +1377,7 @@ struct JackSessionReplyRequest : public JackRequest

struct JackClientNameResult : public JackResult
{
char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];

JackClientNameResult(): JackResult()
{}
@@ -1433,7 +1433,7 @@ struct JackUUIDResult : public JackResult

struct JackGetUUIDRequest : public JackRequest
{
char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];

JackGetUUIDRequest()
{}
@@ -1496,7 +1496,7 @@ struct JackGetClientNameRequest : public JackRequest
struct JackReserveNameRequest : public JackRequest
{
int fRefNum;
char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];
char fUUID[JACK_UUID_SIZE];

JackReserveNameRequest()
@@ -1533,7 +1533,7 @@ struct JackReserveNameRequest : public JackRequest

struct JackClientHasSessionCallbackRequest : public JackRequest
{
char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];

JackClientHasSessionCallbackRequest()
{}
@@ -1569,13 +1569,13 @@ struct JackClientHasSessionCallbackRequest : public JackRequest
struct JackClientNotification
{
int fSize;
char fName[JACK_CLIENT_NAME_SIZE + 1];
char fName[JACK_CLIENT_NAME_SIZE+1];
int fRefNum;
int fNotify;
int fValue1;
int fValue2;
int fSync;
char fMessage[JACK_MESSAGE_SIZE + 1];
char fMessage[JACK_MESSAGE_SIZE+1];

JackClientNotification(): fNotify(-1), fValue1(-1), fValue2(-1)
{}


+ 1
- 1
common/shm.c View File

@@ -119,7 +119,7 @@ static jack_shm_info_t registry_info = { /* SHM info for the registry */
/* pointers to registry header and array */
static jack_shm_header_t *jack_shm_header = NULL;
static jack_shm_registry_t *jack_shm_registry = NULL;
static char jack_shm_server_prefix[JACK_SERVER_NAME_SIZE] = "";
static char jack_shm_server_prefix[JACK_SERVER_NAME_SIZE+1] = "";

/* jack_shm_lock_registry() serializes updates to the shared memory
* segment JACK uses to keep track of the SHM segments allocated to


+ 1
- 1
common/shm.h View File

@@ -123,7 +123,7 @@ extern "C"
pid_t pid; /* process ID */
#endif

char name[JACK_SERVER_NAME_SIZE];
char name[JACK_SERVER_NAME_SIZE+1];
}
jack_shm_server_t;



+ 30
- 37
example-clients/midiseq.c View File

@@ -50,49 +50,44 @@ static void usage()

static int process(jack_nframes_t nframes, void *arg)
{
int i,j;
void* port_buf = jack_port_get_buffer(output_port, nframes);
unsigned char* buffer;
jack_midi_clear_buffer(port_buf);
/*memset(buffer, 0, nframes*sizeof(jack_default_audio_sample_t));*/
int i,j;
void* port_buf = jack_port_get_buffer(output_port, nframes);
unsigned char* buffer;
jack_midi_clear_buffer(port_buf);
/*memset(buffer, 0, nframes*sizeof(jack_default_audio_sample_t));*/

for(i=0; i<nframes; i++)
{
for(j=0; j<num_notes; j++)
{
if(note_starts[j] == loop_index)
{
buffer = jack_midi_event_reserve(port_buf, i, 3);
/* printf("wrote a note on, port buffer = 0x%x, event buffer = 0x%x\n", port_buf, buffer);*/
buffer[2] = 64; /* velocity */
buffer[1] = note_frqs[j];
buffer[0] = 0x90; /* note on */
}
else if(note_starts[j] + note_lengths[j] == loop_index)
{
buffer = jack_midi_event_reserve(port_buf, i, 3);
/* printf("wrote a note off, port buffer = 0x%x, event buffer = 0x%x\n", port_buf, buffer);*/
buffer[2] = 64; /* velocity */
buffer[1] = note_frqs[j];
buffer[0] = 0x80; /* note off */
}
}
loop_index = loop_index+1 >= loop_nsamp ? 0 : loop_index+1;
}
return 0;
for (i = 0; i < nframes; i++) {
for (j = 0; j < num_notes; j++) {
if (note_starts[j] == loop_index) {
if ((buffer = jack_midi_event_reserve(port_buf, i, 3))) {
/* printf("wrote a note on, port buffer = 0x%x, event buffer = 0x%x\n", port_buf, buffer); */
buffer[2] = 64; /* velocity */
buffer[1] = note_frqs[j];
buffer[0] = 0x90; /* note on */
}
} else if (note_starts[j] + note_lengths[j] == loop_index) {
if ((buffer = jack_midi_event_reserve(port_buf, i, 3))) {
/* printf("wrote a note off, port buffer = 0x%x, event buffer = 0x%x\n", port_buf, buffer); */
buffer[2] = 64; /* velocity */
buffer[1] = note_frqs[j];
buffer[0] = 0x80; /* note off */
}
}
}
loop_index = loop_index+1 >= loop_nsamp ? 0 : loop_index+1;
}
return 0;
}

int main(int narg, char **args)
{
int i;
jack_nframes_t nframes;
if((narg<6) || ((narg-3)%3 !=0))
{
if ((narg<6) || ((narg-3)%3 != 0)) {
usage();
exit(1);
}
if((client = jack_client_open (args[1], JackNullOption, NULL)) == 0)
{
if ((client = jack_client_open (args[1], JackNullOption, NULL)) == 0) {
fprintf (stderr, "JACK server not running?\n");
return 1;
}
@@ -105,15 +100,13 @@ int main(int narg, char **args)
note_starts = malloc(num_notes*sizeof(jack_nframes_t));
note_lengths = malloc(num_notes*sizeof(jack_nframes_t));
loop_nsamp = atoi(args[2]);
for(i=0; i<num_notes; i++)
{
for (i = 0; i < num_notes; i++) {
note_starts[i] = atoi(args[3 + 3*i]);
note_frqs[i] = atoi(args[4 + 3*i]);
note_lengths[i] = atoi(args[5 + 3*i]);
}

if (jack_activate(client))
{
if (jack_activate(client)) {
fprintf (stderr, "cannot activate client");
return 1;
}


+ 31
- 31
example-clients/transport.c View File

@@ -2,7 +2,7 @@
* transport.c -- JACK transport master example client.
*
* Copyright (C) 2003 Jack O'Quin.
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -24,14 +24,14 @@
#include <signal.h>
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_READLINE
#if HAVE_READLINE
#include <readline/readline.h>
#include <readline/history.h>
#endif
#include <jack/jack.h>
#include <jack/transport.h>

#ifndef HAVE_READLINE
#if !HAVE_READLINE
#define whitespace(c) (((c) == ' ') || ((c) == '\t'))
#endif

@@ -53,7 +53,7 @@ volatile int time_reset = 1; /* true when time values change */
*
* Runs in the process thread. Realtime, must not wait.
*/
static void timebase(jack_transport_state_t state, jack_nframes_t nframes,
static void timebase(jack_transport_state_t state, jack_nframes_t nframes,
jack_position_t *pos, int new_pos, void *arg)
{
double min; /* minutes since frame 0 */
@@ -238,7 +238,7 @@ command_t commands[] = {
{"?", com_help, "Synonym for `help'" },
{(char *)NULL, (cmd_function_t *)NULL, (char *)NULL }
};
static command_t *find_command(char *name)
{
register int i;
@@ -258,7 +258,7 @@ static command_t *find_command(char *name)
else
return (&commands[i]);
}
return ((command_t *)NULL);
}

@@ -302,33 +302,33 @@ static void execute_command(char *line)
register int i;
command_t *command;
char *word;
/* Isolate the command word. */
i = 0;
while (line[i] && whitespace(line[i]))
i++;
word = line + i;
while (line[i] && !whitespace(line[i]))
i++;
if (line[i])
line[i++] = '\0';
command = find_command(word);
if (!command) {
fprintf(stderr, "%s: No such command. There is `help\'.\n",
word);
return;
}
/* Get argument to command, if any. */
while (whitespace(line[i]))
i++;
word = line + i;
/* invoke the command function. */
(*command->func)(word);
}
@@ -345,28 +345,28 @@ static char *stripwhite(char *string)

if (*s == '\0')
return s;
t = s + strlen (s) - 1;
while (t > s && whitespace(*t))
t--;
*++t = '\0';
return s;
}
static char *dupstr(char *s)
{
char *r = malloc(strlen(s) + 1);
strcpy(r, s);
return r;
}
/* Readline generator function for command completion. */
static char *command_generator (const char *text, int state)
{
static int list_index, len;
char *name;
/* If this is a new word to complete, initialize now. This
includes saving the length of TEXT for efficiency, and
initializing the index variable to 0. */
@@ -374,22 +374,22 @@ static char *command_generator (const char *text, int state)
list_index = 0;
len = strlen (text);
}
/* Return the next name which partially matches from the
command list. */
while ((name = commands[list_index].name)) {
list_index++;
if (strncmp(name, text, len) == 0)
return dupstr(name);
}
return (char *) NULL; /* No names matched. */
}

static void command_loop()
{
#ifdef HAVE_READLINE
#if HAVE_READLINE
char *line, *cmd;
char prompt[32];

@@ -397,7 +397,7 @@ static void command_loop()

/* Allow conditional parsing of the ~/.inputrc file. */
rl_readline_name = package;
/* Define a custom completion function. */
rl_completion_entry_function = command_generator;
#else
@@ -408,9 +408,9 @@ static void command_loop()
/* Read and execute commands until the user quits. */
while (!done) {

#ifdef HAVE_READLINE
#if HAVE_READLINE
line = readline(prompt);
if (line == NULL) { /* EOF? */
printf("\n"); /* close out prompt */
done = 1;
@@ -421,20 +421,20 @@ static void command_loop()
fgets(line, sizeof(line), stdin);
line[strlen(line)-1] = '\0';
#endif
/* Remove leading and trailing whitespace from the line. */
cmd = stripwhite(line);

/* If anything left, add to history and execute it. */
if (*cmd)
{
#ifdef HAVE_READLINE
#if HAVE_READLINE
add_history(cmd);
#endif
execute_command(cmd);
}
#ifdef HAVE_READLINE
#if HAVE_READLINE
free(line); /* realine() called malloc() */
#endif
}
@@ -459,7 +459,7 @@ int main(int argc, char *argv[])
return 1;
}

#ifndef WIN32
#if !WIN32
signal(SIGQUIT, signal_handler);
signal(SIGHUP, signal_handler);
#endif


+ 2
- 2
linux/alsa/JackAlsaDriver.cpp View File

@@ -116,8 +116,8 @@ int JackAlsaDriver::Attach()
JackPort* port;
jack_port_id_t port_index;
unsigned long port_flags = (unsigned long)CaptureDriverFlags;
char name[REAL_JACK_PORT_NAME_SIZE];
char alias[REAL_JACK_PORT_NAME_SIZE];
char name[REAL_JACK_PORT_NAME_SIZE+1];
char alias[REAL_JACK_PORT_NAME_SIZE+1];

assert(fCaptureChannels < DRIVER_PORT_NUM);
assert(fPlaybackChannels < DRIVER_PORT_NUM);


+ 2
- 2
linux/alsarawmidi/JackALSARawMidiPort.h View File

@@ -31,12 +31,12 @@ namespace Jack {

private:

char alias[REAL_JACK_PORT_NAME_SIZE];
char alias[REAL_JACK_PORT_NAME_SIZE+1];
struct pollfd *alsa_poll_fds;
int alsa_poll_fd_count;
int fds[2];
unsigned short io_mask;
char name[REAL_JACK_PORT_NAME_SIZE];
char name[REAL_JACK_PORT_NAME_SIZE+1];
struct pollfd *queue_poll_fd;

protected:


+ 3
- 5
macosx/Jackdmp.xcodeproj/project.pbxproj View File

@@ -1785,7 +1785,6 @@
4B49D3C214864D49003390F8 /* pa_asio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pa_asio.h; path = ../windows/portaudio/pa_asio.h; sourceTree = SOURCE_ROOT; };
4B49D3C314864D49003390F8 /* portaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = portaudio.h; path = ../windows/portaudio/portaudio.h; sourceTree = SOURCE_ROOT; };
4B49D3C914864DA7003390F8 /* JackLinuxTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = JackLinuxTime.c; path = ../linux/JackLinuxTime.c; sourceTree = SOURCE_ROOT; };
4B49D3CB14864DB2003390F8 /* cycles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cycles.h; path = ../linux/cycles.h; sourceTree = SOURCE_ROOT; };
4B49D3D814864DEC003390F8 /* JackWinThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackWinThread.cpp; path = ../windows/JackWinThread.cpp; sourceTree = SOURCE_ROOT; };
4B49D3D914864DEC003390F8 /* JackWinServerLaunch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackWinServerLaunch.cpp; path = ../windows/JackWinServerLaunch.cpp; sourceTree = SOURCE_ROOT; };
4B49D3DA14864DEC003390F8 /* JackWinSemaphore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackWinSemaphore.cpp; path = ../windows/JackWinSemaphore.cpp; sourceTree = SOURCE_ROOT; };
@@ -2029,7 +2028,7 @@
4BF8D2470834F20600C94B91 /* testSem.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = testSem.cpp; path = ../tests/testSem.cpp; sourceTree = SOURCE_ROOT; };
4BF8FB0D08AC88EF00D1A344 /* JackFrameTimer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = JackFrameTimer.cpp; path = ../common/JackFrameTimer.cpp; sourceTree = SOURCE_ROOT; };
4BF8FB0E08AC88EF00D1A344 /* JackFrameTimer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = JackFrameTimer.h; path = ../common/JackFrameTimer.h; sourceTree = SOURCE_ROOT; };
4BFA5E980DEC4D9C00FA4CDB /* testSem */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testSem; sourceTree = BUILT_PRODUCTS_DIR; };
4BFA5E980DEC4D9C00FA4CDB /* testMutex */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = testMutex; sourceTree = BUILT_PRODUCTS_DIR; };
4BFA5E9E0DEC4DD900FA4CDB /* testMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = testMutex.cpp; path = ../tests/testMutex.cpp; sourceTree = SOURCE_ROOT; };
4BFA828C0DF6A9E40087B4E1 /* jack_evmon */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_evmon; sourceTree = BUILT_PRODUCTS_DIR; };
4BFA829F0DF6A9E40087B4E1 /* jack_bufsize */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = jack_bufsize; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -2837,7 +2836,7 @@
4B363F1E0DEB0A6A001F72D9 /* jack_monitor_client */,
4B363F350DEB0BD1001F72D9 /* jack_showtime */,
4B363F720DEB0D4E001F72D9 /* jack_impulse_grabber */,
4BFA5E980DEC4D9C00FA4CDB /* testSem */,
4BFA5E980DEC4D9C00FA4CDB /* testMutex */,
4BFA828C0DF6A9E40087B4E1 /* jack_evmon */,
4BFA829F0DF6A9E40087B4E1 /* jack_bufsize */,
4BFA82AB0DF6A9E40087B4E1 /* jack_rec */,
@@ -2905,7 +2904,6 @@
isa = PBXGroup;
children = (
4B05A07D0DF72BC000840F4C /* driver.h */,
4B49D3CB14864DB2003390F8 /* cycles.h */,
4B49D3C914864DA7003390F8 /* JackLinuxTime.c */,
4B349837133A6B6F00D130AB /* firewire */,
4B349825133A6AF500D130AB /* alsarawmidi */,
@@ -6200,7 +6198,7 @@
name = "testMutex Universal";
productInstallPath = /usr/local/bin;
productName = testSem;
productReference = 4BFA5E980DEC4D9C00FA4CDB /* testSem */;
productReference = 4BFA5E980DEC4D9C00FA4CDB /* testMutex */;
productType = "com.apple.product-type.tool";
};
4BFA82820DF6A9E40087B4E1 /* jack_evmon 64 bits */ = {


+ 2
- 2
macosx/coreaudio/JackCoreAudioDriver.mm View File

@@ -2262,8 +2262,8 @@ int JackCoreAudioDriver::Attach()
UInt32 size;
Boolean isWritable;
char channel_name[64];
char name[REAL_JACK_PORT_NAME_SIZE];
char alias[REAL_JACK_PORT_NAME_SIZE];
char name[REAL_JACK_PORT_NAME_SIZE+1];
char alias[REAL_JACK_PORT_NAME_SIZE+1];

jack_log("JackCoreAudioDriver::Attach : fBufferSize %ld fSampleRate %ld", fEngineControl->fBufferSize, fEngineControl->fSampleRate);



+ 2
- 2
macosx/coremidi/JackCoreMidiPort.h View File

@@ -31,9 +31,9 @@ namespace Jack {

private:

char alias[REAL_JACK_PORT_NAME_SIZE];
char alias[REAL_JACK_PORT_NAME_SIZE+1];
char name[REAL_JACK_PORT_NAME_SIZE+1];
bool initialized;
char name[REAL_JACK_PORT_NAME_SIZE];

protected:



+ 1
- 1
macosx/coremidi/JackCoreMidiPort.mm View File

@@ -70,7 +70,7 @@ JackCoreMidiPort::Initialize(const char *alias_name, const char *client_name,
const char *driver_name, int index,
MIDIEndpointRef endpoint, bool is_output)
{
char endpoint_name[REAL_JACK_PORT_NAME_SIZE];
char endpoint_name[REAL_JACK_PORT_NAME_SIZE+1];
CFStringRef endpoint_name_ref;
int num = index + 1;
Boolean res;


+ 2
- 2
solaris/oss/JackOSSAdapter.h View File

@@ -55,8 +55,8 @@ class JackOSSAdapter : public JackAudioAdapterInterface, public JackRunnableInte

JackThread fThread;

char fCaptureDriverName[JACK_CLIENT_NAME_SIZE + 1];
char fPlaybackDriverName[JACK_CLIENT_NAME_SIZE + 1];
char fCaptureDriverName[JACK_CLIENT_NAME_SIZE+1];
char fPlaybackDriverName[JACK_CLIENT_NAME_SIZE+1];

int fInFD;
int fOutFD;


+ 1
- 1
windows/JackWinNamedPipeServerChannel.h View File

@@ -80,7 +80,7 @@ class JackWinNamedPipeServerChannel : public JackRunnableInterface
JackWinNamedPipeServer fRequestListenPipe; // Pipe to create request socket for the client
JackServer* fServer;
JackThread fThread; // Thread to execute the event loop
char fServerName[JACK_SERVER_NAME_SIZE];
char fServerName[JACK_SERVER_NAME_SIZE+1];

std::list<JackClientPipeThread*> fClientList;



+ 2
- 2
windows/winmme/JackWinMMEPort.h View File

@@ -31,8 +31,8 @@ namespace Jack {

protected:

char alias[JACK_CLIENT_NAME_SIZE + JACK_PORT_NAME_SIZE];
char name[JACK_CLIENT_NAME_SIZE + JACK_PORT_NAME_SIZE];
char alias[REAL_JACK_PORT_NAME_SIZE+1];
char name[REAL_JACK_PORT_NAME_SIZE+1];

public:



Loading…
Cancel
Save