Changeset 407

Show
Ignore:
Timestamp:
07/18/06 17:05:19 (4 years ago)
Author:
erikd
Message:

aube : Make two slider types, one for float data and one for int data.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • aube/trunk/src/master.c

    r397 r407  
    428428  gtk_widget_show(frame); 
    429429 
    430   slider = slider_new("BPM", &bpm, 30, 240, 1); 
     430  slider = slider_int_new("BPM", &bpm, 30, 240, 1); 
    431431  gtk_container_add (GTK_CONTAINER (frame), slider); 
    432432  gtk_widget_show(slider); 
  • aube/trunk/src/modules/atonal_if.c

    r397 r407  
    171171 
    172172#if 0 
    173     slider = slider_new("", &(atonal_if->data->vol), 0, 64, 0); 
     173    slider = slider_int_new("", &(atonal_if->data->vol), 0, 64, 0); 
    174174    gtk_box_pack_start(GTK_BOX(hbox), slider, FALSE, FALSE, 0); 
    175175    gtk_widget_show(slider); 
     
    189189 
    190190    snprintf(buf, 4, "%d", i); 
    191     slider = slider_new(buf, &(atonal_if->data->sequence[i].note), 110, 660, 1); 
     191    slider = slider_int_new(buf, &(atonal_if->data->sequence[i].note), 110, 660, 1); 
    192192    gtk_box_pack_start(GTK_BOX(vbox2), slider, TRUE, TRUE, 0); 
    193193    gtk_widget_show(slider); 
  • aube/trunk/src/modules/delay_if.c

    r397 r407  
    164164 
    165165#if 0 
    166   slider = slider_new("Input Vol", &(delay_if->data->input_vol), 0, 64, 1); 
     166  slider = slider_int_new("Input Vol", &(delay_if->data->input_vol), 0, 64, 1); 
    167167  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    168168  gtk_widget_show(slider); 
    169169#endif 
    170170 
    171   slider = slider_new("Delay", &(delay_if->data->offset), 0, DELAY_BUFFER_LENGTH / 2, 1); 
     171  slider = slider_int_new("Delay", &(delay_if->data->offset), 0, DELAY_BUFFER_LENGTH / 2, 1); 
    172172  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    173173  gtk_widget_show(slider); 
    174174 
    175   slider = slider_new("Delay Vol", &(delay_if->data->delay_vol), 0, 64, 1); 
     175  slider = slider_int_new("Delay Vol", &(delay_if->data->delay_vol), 0, 64, 1); 
    176176  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    177177  gtk_widget_show(slider); 
    178178 
    179   slider = slider_new("Delay Pan", &(delay_if->data->pan), 0, 32, 0); 
     179  slider = slider_int_new("Delay Pan", &(delay_if->data->pan), 0, 32, 0); 
    180180  gtk_box_pack_start(GTK_BOX(vbox), slider, FALSE, TRUE, 0); 
    181181  gtk_widget_show(slider); 
  • aube/trunk/src/modules/drummachine_if.c

    r397 r407  
    235235 
    236236#if 0 
    237     slider = slider_new("Vol", &(drummachine_if->data->vol), 0, 64, 0); 
     237    slider = slider_int_new("Vol", &(drummachine_if->data->vol), 0, 64, 0); 
    238238    gtk_box_pack_start(GTK_BOX(hbox), slider, FALSE, FALSE, 0); 
    239239    gtk_widget_show(slider); 
  • aube/trunk/src/modules/filter_reslp_if.c

    r397 r407  
    182182  gtk_widget_show(hbox3); 
    183183 
    184   slider = slider_new("Vol", &(filter_reslp_if->data->vol), 0, 64, 1); 
     184  slider = slider_int_new("Vol", &(filter_reslp_if->data->vol), 0, 64, 1); 
    185185  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    186186  gtk_widget_show(slider); 
    187187 
    188188#if 0 
    189   slider = slider_new("Tune", &(filter_reslp_if->data->tune), 1, 1024, 1); 
     189  slider = slider_int_new("Tune", &(filter_reslp_if->data->tune), 1, 1024, 1); 
    190190  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    191191  gtk_signal_connect(GTK_OBJECT(SLIDER(slider)->adj), "value_changed", 
     
    194194#endif 
    195195 
    196   slider = slider_new("Pan", &(filter_reslp_if->data->pan), 0, 32, 0); 
     196  slider = slider_int_new("Pan", &(filter_reslp_if->data->pan), 0, 32, 0); 
    197197  gtk_box_pack_start(GTK_BOX(vbox), slider, FALSE, FALSE, 0); 
    198198  gtk_widget_show(slider); 
     
    213213  gtk_widget_show(hbox3); 
    214214 
    215   slider = slider_new("Res.", &(filter_reslp_if->data->resonance_base), 0, 200, 1); 
     215  slider = slider_int_new("Res.", &(filter_reslp_if->data->resonance_base), 0, 200, 1); 
    216216  gtk_box_pack_start(GTK_BOX(hbox3), slider, FALSE, TRUE, 0); 
    217217  gtk_widget_show(slider); 
     
    234234  gtk_widget_show(hbox3); 
    235235 
    236   slider = slider_new("Cutoff", &(filter_reslp_if->data->cutoff_base), 
     236  slider = slider_int_new("Cutoff", &(filter_reslp_if->data->cutoff_base), 
    237237                      20, 20000, 1); 
    238238  gtk_box_pack_start(GTK_BOX(hbox3), slider, FALSE, TRUE, 0); 
  • aube/trunk/src/modules/general_mixer_if.c

    r397 r407  
    144144  gtk_widget_show(vbox); 
    145145 
    146   slider = slider_new("Master", &(general_mixer_if->data->master_vol), 0, 64, 1); 
     146  slider = slider_int_new("Master", &(general_mixer_if->data->master_vol), 0, 64, 1); 
    147147  gtk_box_pack_start(GTK_BOX(vbox), slider, TRUE, TRUE, 0); 
    148148  gtk_widget_show(slider); 
     
    255255 
    256256  sprintf(buf, "%d", i); 
    257   slider = slider_new(buf, &(general_mixer_if->data->vol[i]), 0, 64, 1); 
     257  slider = slider_int_new(buf, &(general_mixer_if->data->vol[i]), 0, 64, 1); 
    258258  gtk_box_pack_start(GTK_BOX(vbox), slider, TRUE, TRUE, 0); 
    259259  gtk_widget_show(slider); 
  • aube/trunk/src/modules/klavier_if.c

    r397 r407  
    175175  gtk_widget_show(hbox3); 
    176176 
    177   slider = slider_new("Vol", &(klavier_if->data->vol), 0, 64, 1); 
     177  slider = slider_int_new("Vol", &(klavier_if->data->vol), 0, 64, 1); 
    178178  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    179179  gtk_widget_show(slider); 
    180180 
    181   slider = slider_new("Tune", &(klavier_if->data->tune), 1, 1024, 1); 
     181  slider = slider_int_new("Tune", &(klavier_if->data->tune), 1, 1024, 1); 
    182182  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    183183  gtk_widget_show(slider); 
    184184 
    185   slider = slider_new("Pan", &(klavier_if->data->pan), 0, 32, 0); 
     185  slider = slider_int_new("Pan", &(klavier_if->data->pan), 0, 32, 0); 
    186186  gtk_box_pack_start(GTK_BOX(vbox), slider, FALSE, FALSE, 0); 
    187187  gtk_widget_show(slider); 
  • aube/trunk/src/modules/linein_if.c

    r397 r407  
    177177  gtk_widget_show(hbox3); 
    178178 
    179   slider = slider_new("Vol", &(linein_if->data->vol), 0, 64, 1); 
     179  slider = slider_int_new("Vol", &(linein_if->data->vol), 0, 64, 1); 
    180180  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    181181  gtk_widget_show(slider); 
    182182 
    183   slider = slider_new("Pan", &(linein_if->data->pan), 0, 32, 0); 
     183  slider = slider_int_new("Pan", &(linein_if->data->pan), 0, 32, 0); 
    184184  gtk_box_pack_start(GTK_BOX(vbox), slider, TRUE, FALSE, 0); 
    185185  gtk_widget_show(slider); 
  • aube/trunk/src/modules/lineout_if.c

    r397 r407  
    144144  gtk_widget_show(hbox3); 
    145145 
    146   slider = slider_new("Vol", &(lineout_if->data->vol), 0, 64, 1); 
     146  slider = slider_int_new("Vol", &(lineout_if->data->vol), 0, 64, 1); 
    147147  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    148148  gtk_widget_show(slider); 
    149149 
    150   slider = slider_new("Pan", &(lineout_if->data->pan), 0, 32, 0); 
     150  slider = slider_int_new("Pan", &(lineout_if->data->pan), 0, 32, 0); 
    151151  gtk_box_pack_start(GTK_BOX(vbox), slider, TRUE, FALSE, 0); 
    152152  gtk_widget_show(slider); 
  • aube/trunk/src/modules/minimaube_if.c

    r397 r407  
    279279 
    280280  sprintf(buf, "%d", i); 
    281   slider = slider_new(buf, &(minimaube_if->data->vol[i]), 0, 64, 1); 
     281  slider = slider_int_new(buf, &(minimaube_if->data->vol[i]), 0, 64, 1); 
    282282  gtk_box_pack_start(GTK_BOX(vbox), slider, TRUE, FALSE, 0); 
    283283  gtk_widget_show(slider); 
  • aube/trunk/src/modules/minitracker_if.c

    r397 r407  
    178178  gtk_widget_show(hbox3); 
    179179 
    180   slider = slider_new("Vol", &(minitracker_if->data->vol), 0, 64, 1); 
     180  slider = slider_int_new("Vol", &(minitracker_if->data->vol), 0, 64, 1); 
    181181  gtk_box_pack_start(GTK_BOX(hbox3), slider, FALSE, FALSE, 0); 
    182182  gtk_widget_show(slider); 
    183183 
    184   slider = slider_new("Tune", &(minitracker_if->data->tune), 1, 1024, 1); 
     184  slider = slider_int_new("Tune", &(minitracker_if->data->tune), 1, 1024, 1); 
    185185  gtk_box_pack_start(GTK_BOX(hbox3), slider, FALSE, FALSE, 0); 
    186186  gtk_widget_show(slider); 
    187187 
    188   slider = slider_new("Pan", &(minitracker_if->data->pan), 0, 32, 0); 
     188  slider = slider_int_new("Pan", &(minitracker_if->data->pan), 0, 32, 0); 
    189189  gtk_box_pack_start(GTK_BOX(vbox), slider, FALSE, FALSE, 0); 
    190190  gtk_widget_show(slider); 
     
    285285   */ 
    286286 
    287   slider = slider_new("Portamento", &(minitracker_if->data->portamento), 0, 64, 1); 
     287  slider = slider_int_new("Portamento", &(minitracker_if->data->portamento), 0, 64, 1); 
    288288  gtk_box_pack_start(GTK_BOX(hbox), slider, TRUE, FALSE, 0); 
    289289  gtk_widget_show(slider); 
  • aube/trunk/src/modules/panner4_if.c

    r397 r407  
    172172  gtk_widget_show(hbox3); 
    173173 
    174   slider = slider_new("Fade", &(panner4_if->data->fade), 0, 32, 1); 
     174  slider = slider_int_new("Fade", &(panner4_if->data->fade), 0, 32, 1); 
    175175  gtk_box_pack_start(GTK_BOX(hbox3), slider, TRUE, FALSE, 0); 
    176176  gtk_widget_show(slider); 
    177177 
    178   slider = slider_new("Pan", &(panner4_if->data->pan), 0, 32, 0); 
     178  slider = slider_int_new("Pan", &(panner4_if->data->pan), 0, 32, 0); 
    179179  gtk_box_pack_start(GTK_BOX(vbox), slider, FALSE, TRUE, 0); 
    180180  gtk_widget_show(slider); 
  • aube/trunk/src/modules/panner_if.c

    r397 r407  
    156156  gtk_widget_show(vbox); 
    157157 
    158   slider = slider_new("Input", &(panner_if->data->vol), 0, 64, 1); 
     158  slider = slider_int_new("Input", &(panner_if->data->vol), 0, 64, 1); 
    159159  gtk_box_pack_start(GTK_BOX(vbox), slider, TRUE, TRUE, 0); 
    160160  gtk_widget_show(slider); 
    161161 
    162   slider = slider_new("Pan", &(panner_if->data->pan), 0, 32, 0); 
     162  slider = slider_int_new("Pan", &(panner_if->data->pan), 0, 32, 0); 
    163163  gtk_box_pack_start(GTK_BOX(vbox), slider, FALSE, TRUE, 0); 
    164164  gtk_widget_show(slider); 
  • aube/trunk/src/modules/syre_if.c

    r397 r407  
    355355    sprintf(nc, "%d", i); 
    356356    syre_if->sliders[i] = 
    357       slider_new(nc, &(syre_if->data->overtones[i].vol), 0, 32, 1); 
     357      slider_int_new(nc, &(syre_if->data->overtones[i].vol), 0, 32, 1); 
    358358    gtk_signal_connect(GTK_OBJECT(SLIDER(syre_if->sliders[i])->adj), "value_changed", 
    359359                       GTK_SIGNAL_FUNC(harmonics_changed_cb), syre_if->data); 
  • aube/trunk/src/modules/whitenoise_if.c

    r397 r407  
    149149  gtk_widget_show(vbox); 
    150150 
    151   slider = slider_new("Vol", &(whitenoise_if->data->vol), 0, 64, 1); 
     151  slider = slider_int_new("Vol", &(whitenoise_if->data->vol), 0, 64, 1); 
    152152  gtk_box_pack_start(GTK_BOX(vbox), slider, TRUE, TRUE, 0); 
    153153  gtk_widget_show(slider); 
    154154 
    155   slider = slider_new("Pan", &(whitenoise_if->data->pan), 0, 32, 0); 
     155  slider = slider_int_new("Pan", &(whitenoise_if->data->pan), 0, 32, 0); 
    156156  gtk_box_pack_start(GTK_BOX(vbox), slider, FALSE, TRUE, 0); 
    157157  gtk_widget_show(slider); 
  • aube/trunk/src/modules/xfader_if.c

    r397 r407  
    156156  gtk_widget_show(hbox2); 
    157157 
    158   slider = slider_new("Vol0", &(xfader_if->data->vol0), 0, 64, 1); 
     158  slider = slider_int_new("Vol0", &(xfader_if->data->vol0), 0, 64, 1); 
    159159  gtk_box_pack_start(GTK_BOX(hbox2), slider, TRUE, TRUE, 0); 
    160160  gtk_widget_show(slider); 
    161161 
    162   slider = slider_new("Vol1", &(xfader_if->data->vol1), 0, 64, 1); 
     162  slider = slider_int_new("Vol1", &(xfader_if->data->vol1), 0, 64, 1); 
    163163  gtk_box_pack_start(GTK_BOX(hbox2), slider, TRUE, TRUE, 0); 
    164164  gtk_widget_show(slider); 
    165165 
    166   slider = slider_new("Fader", &(xfader_if->data->fader), 0, 64, 0); 
     166  slider = slider_int_new("Fader", &(xfader_if->data->fader), 0, 64, 0); 
    167167  gtk_box_pack_start(GTK_BOX(vbox), slider, FALSE, TRUE, 0); 
    168168  gtk_widget_show(slider); 
  • aube/trunk/src/slider.c

    r397 r407  
    88static void slider_class_init(SliderClass * class); 
    99static void slider_init(Slider * b); 
    10 GtkWidget *slider_new(); 
     10GtkWidget *slider_int_new(); 
    1111void slider_dismiss(GtkWidget * widget, gpointer data); 
    1212void slider_cb(GtkWidget * widget, gpointer data); 
    1313 
    1414guint 
    15 slider_get_type(
     15slider_get_type(void
    1616{ 
    1717  static guint b_type = 0; 
     
    5959 
    6060GtkWidget * 
    61 slider_new(char *label_str, int *data, int lower, int upper, int vert) 
     61slider_int_new(char *label_str, int *data, int lower, int upper, int vert) 
    6262{ 
    6363  Slider *slider; 
     
    6868  gtk_container_border_width(GTK_CONTAINER(slider), 1); 
    6969 
    70   slider->data = data; 
     70  slider->type = SLIDER_TYPE_INT; 
     71  slider->data.iptr = data; 
    7172 
    7273  sprintf (slider->value_str, "%d", *data); 
     
    104105} 
    105106 
     107GtkWidget * 
     108slider_float_new(char *label_str, float *data, float lower, float upper, int vert) 
     109{ 
     110  Slider *slider; 
     111  GtkWidget *label; 
     112 
     113  slider = gtk_type_new(slider_get_type()); 
     114 
     115  gtk_container_border_width(GTK_CONTAINER(slider), 1); 
     116 
     117  slider->type = SLIDER_TYPE_FLOAT; 
     118  slider->data.fptr = data; 
     119 
     120  snprintf (slider->value_str, sizeof (slider->value_str), "%5.2f", *data); 
     121  slider->value_label = gtk_label_new (slider->value_str); 
     122  gtk_box_pack_start (GTK_BOX (slider), slider->value_label, FALSE, TRUE, 0); 
     123  gtk_widget_show (slider->value_label); 
     124 
     125  slider->adj = gtk_adjustment_new(lower + upper - *data, 
     126                                   lower, upper, 
     127                                   1.0, 1.0, 0.0); 
     128 
     129  if (vert) { 
     130    slider->scale = GTK_SCALE(gtk_vscale_new(GTK_ADJUSTMENT(slider->adj))); 
     131    /* gtk_widget_set_usize(GTK_WIDGET(slider->scale), 16, 120); */ 
     132  } else { 
     133    slider->scale = GTK_SCALE(gtk_hscale_new(GTK_ADJUSTMENT(slider->adj))); 
     134    /* gtk_widget_set_usize(GTK_WIDGET(slider->scale), 120, 16); */ 
     135  } 
     136  gtk_box_pack_start(GTK_BOX(slider), GTK_WIDGET(slider->scale), TRUE, TRUE, 0); 
     137  gtk_range_set_update_policy(GTK_RANGE(slider->scale), GTK_UPDATE_CONTINUOUS); 
     138 
     139  /* draw number above scale */ 
     140  gtk_scale_set_draw_value(GTK_SCALE(slider->scale), FALSE); 
     141 
     142  gtk_signal_connect(GTK_OBJECT(slider->adj), "value_changed", 
     143                     GTK_SIGNAL_FUNC(slider_cb), slider); 
     144  gtk_widget_show(GTK_WIDGET(slider->scale)); 
     145 
     146  label = gtk_label_new(label_str); 
     147  gtk_box_pack_start(GTK_BOX(slider), label, 
     148                     FALSE, FALSE, 0); 
     149  gtk_widget_show(label); 
     150 
     151  return GTK_WIDGET(slider); 
     152} 
     153 
    106154void 
    107155slider_dismiss(GtkWidget * widget, gpointer data) 
     
    116164  GtkAdjustment * adj = (GtkAdjustment *)slider->adj; 
    117165 
    118   *(slider->data) = 
     166  *(slider->data.iptr) = 
    119167    (int) (adj->lower + adj->upper - adj->value); 
    120168 
    121   sprintf (slider->value_str, "%d", *(slider->data)); 
     169  snprintf (slider->value_str, sizeof (slider->value_str), "%d", *(slider->data.iptr)); 
    122170  gtk_label_set_text (GTK_LABEL(SLIDER(data)->value_label), slider->value_str); 
    123171 
     
    128176 
    129177void 
     178slider_float_cb(GtkWidget * widget, gpointer data) 
     179{ 
     180  Slider * slider = SLIDER(data); 
     181  GtkAdjustment * adj = (GtkAdjustment *)slider->adj; 
     182 
     183  *(slider->data.fptr) = adj->lower + adj->upper - adj->value; 
     184 
     185  snprintf (slider->value_str, sizeof (slider->value_str), "%5.2f", *(slider->data.fptr)); 
     186  gtk_label_set_text (GTK_LABEL(SLIDER(data)->value_label), slider->value_str); 
     187 
     188#if 0 
     189  g_print("slider: %d\n", *(SLIDER(data)->data)); 
     190#endif 
     191} 
     192 
     193void 
    130194slider_refresh(GtkWidget * slider) 
    131195{ 
    132   GTK_ADJUSTMENT(SLIDER(slider)->adj)->value = GTK_ADJUSTMENT(SLIDER(slider)->adj)->upper - *(SLIDER(slider)->data); 
     196  switch (SLIDER(slider)->type) { 
     197  case SLIDER_TYPE_INT: 
     198    GTK_ADJUSTMENT(SLIDER(slider)->adj)->value = GTK_ADJUSTMENT(SLIDER(slider)->adj)->upper - *(SLIDER(slider)->data.iptr); 
     199        break; 
     200  case SLIDER_TYPE_FLOAT: 
     201    GTK_ADJUSTMENT(SLIDER(slider)->adj)->value = GTK_ADJUSTMENT(SLIDER(slider)->adj)->upper - *(SLIDER(slider)->data.fptr); 
     202        break; 
     203  default: 
     204    printf ("Ooops : Bad slider type : %d\n", SLIDER(slider)->type); 
     205    return; 
     206  } 
     207 
    133208  gtk_range_slider_update(GTK_RANGE(SLIDER(slider)->scale)); 
    134209} 
  • aube/trunk/src/slider.h

    r372 r407  
    1414#define IS_SLIDER(obj)       GTK_CHECK_TYPE (obj, slider_get_type ()) 
    1515 
     16enum { 
     17  SLIDER_TYPE_INT = 100, 
     18  SLIDER_TYPE_FLOAT 
     19} ; 
    1620 
    1721typedef struct _Slider Slider; 
     
    2327  GtkWidget * value_label; 
    2428  GtkObject * adj; 
    25   int *data; 
     29 
     30  int type ; 
     31 
     32  union { 
     33        int             *iptr ; 
     34        float   *fptr ; 
     35  } data ; 
     36   
    2637  GtkScale *scale; 
    2738}; 
     
    3445 
    3546guint slider_get_type(void); 
    36 GtkWidget *slider_new(char *label_str, int *data, int lower, int upper, 
     47GtkWidget *slider_int_new(char *label_str, int *data, int lower, int upper, 
     48                      int vert); 
     49GtkWidget *slider_float_new(char *label_str, float *data, float lower, float upper, 
    3750                      int vert); 
    3851void slider_refresh(GtkWidget * slider);