| 
							- /** @file control.c
 -  *
 -  * @brief This simple client demonstrates the basic features of JACK
 -  * as they would be used by many applications.
 -  */
 - 
 - #include <stdio.h>
 - #include <errno.h>
 - #include <stdlib.h>
 - #include <string.h>
 - #include <signal.h>
 - #include <math.h>
 - #include <jack/jack.h>
 - 
 - jack_client_t *client;
 - static int reorder = 0;
 - 
 - static int Jack_Graph_Order_Callback(void *arg)
 - {
 -     const char **ports;
 -     int i;
 - 
 -     printf("Jack_Graph_Order_Callback count = %d\n", reorder++);
 - 
 -     ports = jack_get_ports(client, NULL, NULL, JackPortIsPhysical|JackPortIsOutput);
 -     if (ports) {
 -         for (i = 0;  ports[i]; ++i) {
 -             printf("name: %s\n", ports[i]);
 -         }
 -         jack_free(ports);
 -     }
 - 
 -     ports = jack_get_ports(client, NULL, NULL, JackPortIsPhysical|JackPortIsInput);
 -     if (ports) {
 -         for (i = 0;  ports[i]; ++i) {
 -             printf("name: %s\n", ports[i]);
 -         }
 -         jack_free(ports);
 -     }
 - 
 -     return 0;
 - }
 - 
 - int
 - main (int argc, char *argv[])
 - {
 - 	jack_options_t options = JackNullOption;
 - 	jack_status_t status;
 - 
 - 	/* open a client connection to the JACK server */
 - 
 - 	client = jack_client_open("control_client", options, &status);
 - 	if (client == NULL) {
 - 		printf("jack_client_open() failed \n");
 - 		exit(1);
 - 	}
 - 
 - 	if (jack_set_graph_order_callback(client, Jack_Graph_Order_Callback, 0) != 0) {
 -         printf("Error when calling jack_set_graph_order_callback() !\n");
 -     }
 - 
 - 	/* Tell the JACK server that we are ready to roll.  Our
 - 	 * process() callback will start running now. */
 - 
 - 	if (jack_activate(client)) {
 - 		printf("cannot activate client");
 - 		exit(1);
 - 	}
 - 
 -     printf("Type 'q' to quit\n");
 -     while ((getchar() != 'q')) {}
 - 
 - 	jack_client_close(client);
 - 	exit (0);
 - }
 
 
  |