#include #include #include extern "C" { #include } #include #include #include laaga_port_t *my_input_port; laaga_port_t *my_output_port; float gain = 1.; int process (nframes_t nframes, void *arg) { sample_t *out = (sample_t *) laaga_port_get_buffer (my_output_port, nframes); sample_t *in = (sample_t *) laaga_port_get_buffer (my_input_port, nframes); memcpy (out, in, sizeof (sample_t) * nframes); for (unsigned int i = 0; ivalue(); } int main (int argc, char *argv[]) { Fl_Window w(0,0,100,120); Fl_Slider s(10,10,20,100); w.show(); s.callback((Fl_Callback*) callback); laaga_client_t *client; if ((client = laaga_client_new ("fltktest")) == 0) { fprintf (stderr, "laaga server not running?\n"); return 1; } laaga_set_process_callback (client, process, 0); laaga_set_buffer_size_callback (client, bufsize, 0); laaga_set_sample_rate_callback (client, srate, 0); printf ("engine sample rate: %lu\n", laaga_get_sample_rate (client)); my_input_port = laaga_port_register (client, "myinput", LAAGA_DEFAULT_AUDIO_TYPE, LaagaPortIsInput, 0); my_output_port = laaga_port_register (client, "myoutput", LAAGA_DEFAULT_AUDIO_TYPE, LaagaPortIsOutput, 0); if (laaga_activate (client)) { fprintf (stderr, "cannot activate client"); } printf ("client activated\n"); if (laaga_port_connect (client, "ALSA I/O:Input 1", my_input_port->shared->name)) { fprintf (stderr, "cannot connect input ports\n"); } if (laaga_port_connect (client, my_output_port->shared->name, "ALSA I/O:Output 1")) { fprintf (stderr, "cannot connect output ports\n"); } Fl::run(); printf ("done sleeping, now closing...\n"); laaga_client_close (client); exit (0); }