diff options
Diffstat (limited to 'tests/test4/no-perf/test4.c')
-rw-r--r-- | tests/test4/no-perf/test4.c | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/test4/no-perf/test4.c b/tests/test4/no-perf/test4.c new file mode 100644 index 0000000..787f7c2 --- /dev/null +++ b/tests/test4/no-perf/test4.c @@ -0,0 +1,56 @@ +#include <gtk/gtk.h> +#include <stdlib.h> +#include <pthread.h> +#include "gtkvumeter.h" +#include "win_main.h" +#include "compute.h" + +void audio_thread(void *args) { + gint min=-32767, max=32767; + gint *audio_vumeter_val=((gint*)args)+0; + gint *light_h=((gint*)args)+1; + gint *light_s=((gint*)args)+2; + gint *light_v=((gint*)args)+3; + gint *light_r=((gint*)args)+4; + gint *light_g=((gint*)args)+5; + gint *light_b=((gint*)args)+6; + + while(1) { + // Dummy code for audio capture + *audio_vumeter_val=min+rand()/(float)RAND_MAX*(max-min); + usleep(10); + + // Transfert Function + audio2hsv_1(*audio_vumeter_val,*light_h,*light_s,*light_v); + + // Conversion + hsv2rgb(*light_h,*light_s,*light_v,light_r,light_g,light_b); + + // Send to DMX + //TODO + } +} + +int main (int argc, char **argv) +{ + GtkWidget *mainwin; + gint vals_for_vumeters[7]={0,0,0,0,0,0}; //sound,h,s,v,r,g,b + + pthread_t audio_analyzer; + + g_thread_init(NULL); + gdk_threads_init(); + gdk_threads_enter(); + gtk_init (&argc, &argv); + + mainwin=win_main_build(); + gtk_widget_show_all (mainwin); + + pthread_create (&audio_analyzer, (void *)NULL, (void *)audio_thread, (void *)vals_for_vumeters); + g_timeout_add (33, win_main_update_vumeters, (gpointer)vals_for_vumeters); + + gtk_main (); + gdk_threads_leave(); + + return 0; +} |