void fx_init(struct razer_daemon *daemon) { srand(time(NULL)); effect_fft_in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex)*effect_fft_samples); effect_fft_out = (fftw_complex*)fftw_malloc(sizeof(fftw_complex)*effect_fft_samples); effect_fft_hamming_buffer = create_hamming_window_buffer(effect_fft_samples); struct razer_parameter *parameter = NULL; effect = daemon_create_effect(); effect->update = effect_update; effect->reset = effect_reset; effect->name = "Simple Spectrum display #1"; effect->description = "Spectrum analyzer for sound input devices"; effect->fps = 15; effect->effect_class = 1; effect->input_usage_mask = RAZER_EFFECT_FIRST_INPUT_USED; parameter = daemon_create_parameter_string("Effect Input Device","Filepath pointing to the sound input device/file(wav format) (STRING)","/dev/dsp"); daemon_effect_add_parameter(effect,parameter); parameter = daemon_create_parameter_float("Effect Magnitude","actual spectrum energy display(FLOAT)",0.0f); daemon_effect_add_parameter(effect,parameter); int effect_uid = daemon_register_effect(daemon,effect); #ifdef USE_DEBUGGING printf("registered effect: %s (uid:%d)\n",effect->name,effect->id); #endif }
void fx_init(struct razer_daemon *daemon) { srand(time(NULL)); struct razer_parameter *parameter = NULL; effect = daemon_create_effect(); effect->update = effect_update; effect->name = "Progress Bar #1"; effect->description = "Progress bar to display a percentage"; effect->fps = 15; effect->effect_class = 1; effect->input_usage_mask = RAZER_EFFECT_FIRST_INPUT_USED; parameter = daemon_create_parameter_float("Effect Percentage","Percentage to display(FLOAT)",0.0f); daemon_effect_add_parameter(effect,parameter); int effect_uid = daemon_register_effect(daemon,effect); #ifdef USE_DEBUGGING printf("registered effect: %s (uid:%d)\n",effect->name,effect->id); #endif }
void fx_init(struct razer_daemon *daemon) { srand(time(NULL)); struct razer_parameter *parameter = NULL; effect_transition = daemon_create_effect(); effect_transition->update = effect_transition_update; effect_transition->name = "Slow Opacity Transition"; effect_transition->description = "First compute only effect"; effect_transition->fps = 20; effect_transition->effect_class = 2; effect_transition->input_usage_mask = RAZER_EFFECT_NO_INPUT_USED; //parameter = daemon_create_parameter_int("End Counter","End of animation (Integer)",44);//TODO refactor to daemon_add_effect_parameter_int(effect,key,desc,value) //daemon_add_parameter(effect_transition->parameters,parameter); parameter = daemon_create_parameter_int("Effect Length","Time effect lasts in ms(INT)",2000); daemon_effect_add_parameter(effect_transition,parameter); parameter = daemon_create_parameter_int("Effect Direction","Effect direction value(INT)",1); daemon_effect_add_parameter(effect_transition,parameter); int effect_transition_uid = daemon_register_effect(daemon,effect_transition); #ifdef USE_DEBUGGING printf("registered compute effect: %s (uid:%d)\n",effect_transition->name,effect_transition->id); #endif effect_mix = daemon_create_effect(); effect_mix->update = effect_mix_update; effect_mix->name = "Default Mixer"; effect_mix->description = "Standard effect mixer"; effect_mix->fps = 20; effect_mix->effect_class = 1; effect_mix->input_usage_mask = RAZER_EFFECT_FIRST_INPUT_USED | RAZER_EFFECT_SECOND_INPUT_USED; int effect_mix_uid = daemon_register_effect(daemon,effect_mix); #ifdef USE_DEBUGGING printf("registered mix effect: %s (uid:%d)\n",effect_mix->name,effect_mix->id); #endif effect_null = daemon_create_effect(); effect_null->update = effect_null_update; effect_null->name = "Empty Compute Node"; effect_null->description = "Does nothing"; effect_null->fps = 1; effect_null->effect_class = 1; effect_null->input_usage_mask = RAZER_EFFECT_NO_INPUT_USED; int effect_null_uid = daemon_register_effect(daemon,effect_null); #ifdef USE_DEBUGGING printf("registered compute effect: %s (uid:%d)\n",effect_null->name,effect_null->id); #endif effect_wait_mouse = daemon_create_effect(); //effect_wait->update = effect_wait_update; effect_wait_mouse->handle_event = effect_wait_mouse_event_handler; effect_wait_mouse->name = "Wait For Mouse Button Up Compute Node"; effect_wait_mouse->description = "Waits for a mouse button and returns 0 ,it does nothing else"; effect_wait_mouse->fps = 1; effect_wait_mouse->effect_class = 1; effect_wait_mouse->input_usage_mask = RAZER_EFFECT_NO_INPUT_USED; int effect_wait_mouse_uid = daemon_register_effect(daemon,effect_wait_mouse); #ifdef USE_DEBUGGING printf("registered compute effect: %s (uid:%d)\n",effect_wait_mouse->name,effect_wait_mouse->id); #endif effect_wait_key = daemon_create_effect(); effect_wait_key->handle_event = effect_wait_key_event_handler; effect_wait_key->name = "Wait For Key Compute Node"; effect_wait_key->description = "Waits for a key and returns 0 ,it does nothing else"; effect_wait_key->fps = 1; effect_wait_key->effect_class = 1; effect_wait_key->input_usage_mask = RAZER_EFFECT_NO_INPUT_USED; int effect_wait_key_uid = daemon_register_effect(daemon,effect_wait_key); #ifdef USE_DEBUGGING printf("registered compute effect: %s (uid:%d)\n",effect_wait_key->name,effect_wait_key->id); #endif effect_random_col = daemon_create_effect(); effect_random_col->update = effect_random_col_update; effect_random_col->name = "Randomize Color Parameter Compute Node"; effect_random_col->description = "Randomizes a color parameter of his parent (able to transition slowly)"; effect_random_col->fps = 1; effect_random_col->effect_class = 1; effect_random_col->input_usage_mask = RAZER_EFFECT_NO_INPUT_USED; parameter = daemon_create_parameter_int("Effect Length","Time transition lasts in ms(INT)",2000); daemon_effect_add_parameter(effect_random_col,parameter); parameter = daemon_create_parameter_int("Parameter Index","Parent color parameter index to randomize(INT)",-1); daemon_effect_add_parameter(effect_random_col,parameter); parameter = daemon_create_parameter_int("Randomize Now","Set to 1 to randomize the color(INT)",1); daemon_effect_add_parameter(effect_random_col,parameter); parameter = daemon_create_parameter_rgb("Transition Destination Color","Randomized color store(RGB)",&effect_random_col_dst_rgb); daemon_effect_add_parameter(effect_random_col,parameter); parameter = daemon_create_parameter_rgb("Transition Start Color","Internal color store(RGB)",&effect_random_col_src_rgb); daemon_effect_add_parameter(effect_random_col,parameter); int effect_random_col_uid = daemon_register_effect(daemon,effect_random_col); #ifdef USE_DEBUGGING printf("registered compute effect: %s (uid:%d)\n",effect_random_col->name,effect_random_col->id); #endif effect_glimmer = daemon_create_effect(); effect_glimmer->update = effect_glimmer_update; effect_glimmer->name = "Glimming Mixer"; effect_glimmer->description = "Glimming colors switching between input effects"; effect_glimmer->fps = 20; effect_glimmer->effect_class = 1; effect_glimmer->input_usage_mask = RAZER_EFFECT_FIRST_INPUT_USED | RAZER_EFFECT_SECOND_INPUT_USED; int effect_glimmer_uid = daemon_register_effect(daemon,effect_glimmer); #ifdef USE_DEBUGGING printf("registered mix effect: %s (uid:%d)\n",effect_glimmer->name,effect_glimmer->id); #endif effect_transition_mouse = daemon_create_effect(); //effect_transition_mouse->update = effect_transition_mouse_update; effect_transition_mouse->handle_event = effect_transition_mouse_event_handler; effect_transition_mouse->name = "Mouse Position dependant Opacity Transition"; effect_transition_mouse->description = "Mouse based compute only effect"; effect_transition_mouse->fps = 20; effect_transition_mouse->effect_class = 2; effect_transition_mouse->input_usage_mask = RAZER_EFFECT_NO_INPUT_USED; effect_transition_mouse_base_range.min = &effect_transition_mouse_base_range_min; effect_transition_mouse_base_range.max = &effect_transition_mouse_base_range_max; parameter = daemon_create_parameter_pos_range("Effect Range","Min/Max Coords of mouse is able to travel (POS_RANGE)",&effect_transition_mouse_base_range); daemon_effect_add_parameter(effect_transition_mouse,parameter); parameter = daemon_create_parameter_int("Effect Direction","Effect direction value 0 for vertical / 1 for horizontal(INT)",1); daemon_effect_add_parameter(effect_transition_mouse,parameter); parameter = daemon_create_parameter_pos("Effect Position","Effect actual coordinate(POS)",&effect_transition_mouse_base_pos); daemon_effect_add_parameter(effect_transition_mouse,parameter); int effect_transition_mouse_uid = daemon_register_effect(daemon,effect_transition_mouse); #ifdef USE_DEBUGGING printf("registered compute effect: %s (uid:%d)\n",effect_transition_mouse->name,effect_transition_mouse->id); #endif }