/** @file cpu_load.c * */ #include #include #include #include #include #include #ifndef WIN32 #include #endif #include jack_client_t *client; static void signal_handler(int sig) { jack_client_close(client); fprintf(stderr, "signal received, exiting ...\n"); exit(0); } /** * JACK calls this shutdown_callback if the server ever shuts down or * decides to disconnect the client. */ void jack_shutdown(void *arg) { exit(1); } 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 ("jack_cpu_load", options, &status); if (client == NULL) { fprintf(stderr, "jack_client_open() failed, " "status = 0x%2.0x\n", status); if (status & JackServerFailed) { fprintf(stderr, "Unable to connect to JACK server\n"); } exit(1); } jack_on_shutdown(client, jack_shutdown, 0); /* Tell the JACK server that we are ready to roll. Our * process() callback will start running now. */ if (jack_activate(client)) { fprintf(stderr, "cannot activate client"); exit(1); } /* install a signal handler to properly quits jack client */ #ifdef WIN32 signal(SIGINT, signal_handler); signal(SIGABRT, signal_handler); signal(SIGTERM, signal_handler); #else signal(SIGQUIT, signal_handler); signal(SIGTERM, signal_handler); signal(SIGHUP, signal_handler); signal(SIGINT, signal_handler); #endif while (1) { printf("jack DSP load %f\n", jack_cpu_load(client)); #ifdef WIN32 Sleep(1000); #else sleep(1); #endif } jack_client_close(client); exit(0 ); }