Exemplo n.º 1
0
void load_unspecified_init_conds(custom_wave_t * custom_wave) {

  interface_wave = custom_wave;
  splay_traverse(load_unspec_init_cond, interface_wave->param_tree);
  interface_wave = NULL;
 
}
Exemplo n.º 2
0
Arquivo: param.c Projeto: Kafay/vlc
/* Destroy the builtin parameter database.
   Generally, do this on projectm exit */
int destroy_builtin_param_db() {
  
  splay_traverse(free_param, builtin_param_tree);
  destroy_splaytree(builtin_param_tree);
  builtin_param_tree = NULL;
  return SUCCESS;	

}
Exemplo n.º 3
0
/* Private function to close a preset file */
int close_preset(preset_t * preset) {

  if (preset == NULL)
    return FAILURE;


  splay_traverse(free_init_cond, preset->init_cond_tree);
  destroy_splaytree(preset->init_cond_tree);
  
  splay_traverse(free_init_cond, preset->per_frame_init_eqn_tree);
  destroy_splaytree(preset->per_frame_init_eqn_tree);
  
  splay_traverse(free_per_pixel_eqn, preset->per_pixel_eqn_tree);
  destroy_splaytree(preset->per_pixel_eqn_tree);
  
  splay_traverse(free_per_frame_eqn, preset->per_frame_eqn_tree);
  destroy_splaytree(preset->per_frame_eqn_tree);
  
  splay_traverse(free_param, preset->user_param_tree);
  destroy_splaytree(preset->user_param_tree);
  
  splay_traverse(free_custom_wave, preset->custom_wave_tree);
  destroy_splaytree(preset->custom_wave_tree);

  splay_traverse(free_custom_shape, preset->custom_shape_tree);
  destroy_splaytree(preset->custom_shape_tree);

  free(preset); 
  
  return SUCCESS;

}
Exemplo n.º 4
0
void destroy_init_cond_tree(splaytree_t * tree) {

  if (!tree)
    return;

  splay_traverse(free_init_cond, tree);
  destroy_splaytree(tree);

}
Exemplo n.º 5
0
void destroy_param_db_tree(splaytree_t * tree) {

  if (!tree)
    return;

  splay_traverse(free_param, tree);
  destroy_splaytree(tree);

}
Exemplo n.º 6
0
void destroy_per_point_eqn_tree(splaytree_t * tree) {

  if (!tree)
    return;

  splay_traverse(free_per_point_eqn, tree);
  destroy_splaytree(tree);

}
Exemplo n.º 7
0
void evalPerPixelEqns() {

    /* Evaluate all per pixel equations using splay traversal */
    splay_traverse(evalPerPixelEqn, active_preset->per_pixel_eqn_tree);

    /* Set mesh i / j values to -1 so engine vars are used by default again */
    mesh_i = mesh_j = -1;

}
Exemplo n.º 8
0
int write_init_conditions(FILE * fs) {

  if (fs == NULL)
    return FAILURE;
  if (active_preset == NULL)
    return FAILURE;


  splay_traverse(write_init, active_preset->init_cond_tree);
  
  return SUCCESS;
}
Exemplo n.º 9
0
/* Interface function. Makes another custom wave the current
   concern for per frame / point equations */
custom_wave_t * nextCustomWave() {

  if ((interface_wave = splay_find(&interface_id, active_preset->custom_wave_tree)) == NULL) {
    interface_id = 0;
    return NULL;
  }

  interface_id++;

  /* Evaluate all per frame equations associated with this wave */
  splay_traverse(eval_per_frame_eqn, interface_wave->per_frame_eqn_tree);
  return interface_wave;
}
Exemplo n.º 10
0
void reloadPerFrame(char * s, preset_t * preset) {

  FILE * fs;
  int slen;
  char c;
  int eqn_count = 1;
  per_frame_eqn_t * per_frame;

  if (s == NULL)
    return;

  if (preset == NULL)
    return;

  /* Clear previous per frame equations */
  splay_traverse(free_per_frame_eqn, preset->per_frame_eqn_tree);
  destroy_splaytree(preset->per_frame_eqn_tree);
  preset->per_frame_eqn_tree = create_splaytree(compare_int, copy_int, free_int);

  /* Convert string to a stream */
  fs = fmemopen (s, strlen(s), "r");

  while ((c = fgetc(fs)) != EOF) {
    ungetc(c, fs);
    if ((per_frame = parse_per_frame_eqn(fs, eqn_count, preset)) != NULL) {
      splay_insert(per_frame, &eqn_count, preset->per_frame_eqn_tree);
      eqn_count++;
    }
  }

  fclose(fs);

  /* Clear string space */
  memset(preset->per_frame_eqn_string_buffer, 0, STRING_BUFFER_SIZE);

  /* Compute length of string */
  slen = strlen(s);

  /* Copy new string into buffer */
  strncpy(preset->per_frame_eqn_string_buffer, s, slen);

  /* Yet again no bounds checking */
  preset->per_frame_eqn_string_index = slen;

  /* Finished */
  printf("reloadPerFrame: %d eqns parsed succesfully\n", eqn_count-1);
  return;

}
Exemplo n.º 11
0
void reloadPerPixel(char *s, preset_t * preset) {
  
  FILE * fs;
  int slen;
  char c;
  int i;

  if (s == NULL)
    return;

  if (preset == NULL)
    return;

  /* Clear previous per pixel equations */
  splay_traverse(free_per_pixel_eqn, preset->per_pixel_eqn_tree);
  destroy_splaytree(preset->per_pixel_eqn_tree);
  preset->per_pixel_eqn_tree = create_splaytree(compare_int, copy_int, free_int);

  /* Convert string to a stream */
  fs = fmemopen (s, strlen(s), "r");

  while ((c = fgetc(fs)) != EOF) {
    ungetc(c, fs);
    parse_per_pixel_eqn(fs, preset);
  }

  fclose(fs);

  /* Clear string space */
  memset(preset->per_pixel_eqn_string_buffer, 0, STRING_BUFFER_SIZE);

  /* Compute length of string */
  slen = strlen(s);

  /* Copy new string into buffer */
  strncpy(preset->per_pixel_eqn_string_buffer, s, slen);

  /* Yet again no bounds checking */
  preset->per_pixel_eqn_string_index = slen;

  /* Finished */
 
  return;
}
Exemplo n.º 12
0
int closePresetDir() {

  /* No preset director appears to be loaded */	
  if (chrono_order_preset_name_tree == NULL) 
    return SUCCESS;
  
  if (PRESET_DEBUG) {
	 printf("closePresetDir: freeing directory buffer...");
	 fflush(stdout);
  }  
  
  /* Free each entry in the directory preset name tree */
  splay_traverse(free_int, chrono_order_preset_name_tree);
  
  /* Destroy the chronological order splay tree */
  destroy_splaytree(chrono_order_preset_name_tree);
  chrono_order_preset_name_tree = NULL;
  preset_name_buffer_size = 0;
  if (PRESET_DEBUG) printf("finished\n");
  
  return SUCCESS;
}
Exemplo n.º 13
0
void evalPerPointEqns() { 

  int x;

  for (x = 0; x < interface_wave->samples; x++)
    interface_wave->r_mesh[x] = interface_wave->r;
  for (x = 0; x < interface_wave->samples; x++)
    interface_wave->g_mesh[x] = interface_wave->g;
  for (x = 0; x < interface_wave->samples; x++)
    interface_wave->b_mesh[x] = interface_wave->b;
  for (x = 0; x < interface_wave->samples; x++)
    interface_wave->a_mesh[x] = interface_wave->a;
  for (x = 0; x < interface_wave->samples; x++)
    interface_wave->x_mesh[x] = interface_wave->x;
  for (x = 0; x < interface_wave->samples; x++)
    interface_wave->y_mesh[x] = interface_wave->y;

 
  /* Evaluate per pixel equations */
  splay_traverse(evalPerPointEqn, interface_wave->per_point_eqn_tree);

  /* Reset index */
  mesh_i = -1;
}
Exemplo n.º 14
0
void load_init_conditions() {

  splay_traverse(load_init_cond, builtin_param_tree);

 
}
Exemplo n.º 15
0
void evalPerFrameEquations() {
  splay_traverse(eval_per_frame_eqn, active_preset->per_frame_eqn_tree);
}
Exemplo n.º 16
0
void evalInitConditions() {
  splay_traverse(eval_init_cond, active_preset->init_cond_tree);
  splay_traverse(eval_init_cond, active_preset->per_frame_init_eqn_tree);
}
Exemplo n.º 17
0
inline void eval_custom_wave_init_conds(custom_wave_t * custom_wave) {
  splay_traverse(eval_init_cond, custom_wave->init_cond_tree);
  splay_traverse(eval_init_cond, custom_wave->per_frame_init_eqn_tree);
}
Exemplo n.º 18
0
void evalCustomWaveInitConditions() {
  splay_traverse(eval_custom_wave_init_conds, active_preset->custom_wave_tree);
}
Exemplo n.º 19
0
void load_custom_shape_init_conditions() {

  splay_traverse(load_custom_shape_init, active_preset->custom_shape_tree);

}