static int testfader() { Fader f; fader_init(&f, 3); f.target[0] = 0; f.target[1] = 128; f.target[2] = 255; fader_commit(&f, 0, 0); fader_update(&f, 0); ASSERTEQUAL(f.current[0], 0); ASSERTEQUAL(f.current[1], 128); ASSERTEQUAL(f.current[2], 255); f.target[0] = 128; f.target[1] = 255; f.target[2] = 0; fader_commit(&f, 0, 1000); fader_update(&f, 500); ASSERTEQUAL(f.current[0], 64); ASSERTEQUAL(f.current[1], 191); ASSERTEQUAL(f.current[2], 127); fader_commit(&f, 1000, 2000); fader_update(&f, 1000); ASSERTEQUAL(f.current[1], 191); fader_update(&f, 1500); ASSERTEQUAL(f.current[0], 96); ASSERTEQUAL(f.current[1], 223); ASSERTEQUAL(f.current[2], 63); fader_update(&f, 2000); ASSERTEQUAL(f.current[0], 128); ASSERTEQUAL(f.current[1],255); ASSERTEQUAL(f.current[2], 0); return 0; }
void interface_widgets_init(struct twinterface *twinterface) { if(twinterface->overview) overview_free(twinterface->overview); twinterface->overview = overview_init(0, 0, 100, twinterface->viewport.h, &tracks[0], twinterface->renderer, twinterface); interface_closeup_init(twinterface); if(twinterface->btn_play) button_free(twinterface->btn_play); twinterface->btn_play = button_init(twinterface->viewport.w-400, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_play_callback, &interface_button_play_color_callback); if(twinterface->btn_reset) button_free(twinterface->btn_reset); twinterface->btn_reset = button_init(twinterface->viewport.w-300, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_reset_callback, &interface_button_reset_color_callback); if(twinterface->btn_reverse) button_free(twinterface->btn_reverse); twinterface->btn_reverse = button_init(twinterface->viewport.w-200, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_reverse_callback, &interface_button_reverse_color_callback); if(twinterface->btn_deck) button_free(twinterface->btn_deck); twinterface->btn_deck = button_init(200, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_deck_callback, &interface_button_deck_color_callback); if(twinterface->btn_touch_mode) button_free(twinterface->btn_touch_mode); twinterface->btn_touch_mode = button_init(100, twinterface->viewport.h-100, 100, 100, "button.bmp", twinterface->renderer, &interface_button_touch_mode_callback, &interface_button_touch_mode_color_callback); // if(twinterface->label_pitch) // label_free(twinterface->label_pitch); // twinterface->label_pitch = label_init(twinterface->viewport.w-100, // 0, // 100, // 20, // "", // twinterface->renderer); if(twinterface->fader) fader_free(twinterface->fader); twinterface->fader = fader_init(twinterface->viewport.w-100, twinterface->viewport.h/2-50, 100, 100, twinterface->viewport.h, twinterface->renderer, twinterface); }