/** @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 ); }