summaryrefslogtreecommitdiff
path: root/example-clients
diff options
context:
space:
mode:
authorKarl Linden <karl.j.linden@gmail.com>2016-02-20 19:34:18 +0100
committerKarl Linden <karl.j.linden@gmail.com>2016-02-20 19:34:18 +0100
commitc4f01e514092ee6fd22dbb3e2f728c18c428dd81 (patch)
tree66bc77b49f3218e3f8f2ed63ea4f45ee61f72250 /example-clients
parent75dfaa6575a01d5c552228f06fc1645ecec2c30c (diff)
parent51f923882ebc99e47037c5123f592a94203eb7da (diff)
downloadjack2-c4f01e514092ee6fd22dbb3e2f728c18c428dd81.tar.gz
Merge branch 'master' into waf-macosx-fixes
Diffstat (limited to 'example-clients')
-rw-r--r--example-clients/midiseq.c67
-rw-r--r--example-clients/transport.c62
2 files changed, 61 insertions, 68 deletions
diff --git a/example-clients/midiseq.c b/example-clients/midiseq.c
index 1fc779e3..45085e80 100644
--- a/example-clients/midiseq.c
+++ b/example-clients/midiseq.c
@@ -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;
}
diff --git a/example-clients/transport.c b/example-clients/transport.c
index 4847c1b8..fd258d8f 100644
--- a/example-clients/transport.c
+++ b/example-clients/transport.c
@@ -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