|
- /** @file cpu_load.c
- *
- */
-
- #include <stdio.h>
- #include <errno.h>
- #include <stdlib.h>
- #include <string.h>
- #include <math.h>
- #include <signal.h>
- #ifndef WIN32
- #include <unistd.h>
- #endif
- #include <jack/jack.h>
-
-
- 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 );
- }
|