Changeset 118 for fm_server/trunk

Show
Ignore:
Timestamp:
09/09/06 15:32:50 (6 years ago)
Author:
ath
Message:

Add a level meter to the mixer.

Location:
fm_server/trunk
Files:
2 added
1 removed
7 modified

Legend:

Unmodified
Added
Removed
  • fm_server/trunk

    • Property svn:ignore
      •  

        old new  
        11.anjuta 
        2 autom4te.cache 
         2*.cache 
        33*~ 
        44config.log 
  • fm_server/trunk/src/Makefile.am

    r117 r118  
    4545        fm_buffer.h\ 
    4646        fm_effect_pan.c\ 
    47         fm_effect_pan.h 
     47        fm_effect_pan.h\ 
     48        fm_level_meter.c\ 
     49        fm_level_meter.h 
    4850 
    4951 
  • fm_server/trunk/src/Makefile.in

    r117 r118  
    7171        fm_effect_rate.c fm_effect_rate.h fm_mixer.c fm_mixer.h \ 
    7272        fm_djmixer.c fm_djmixer.h fm_buffer.c fm_buffer.h \ 
    73         fm_effect_pan.c fm_effect_pan.h fm_output_alsa.c \ 
    74         fm_output_alsa.h fm_output_jack.c fm_output_jack.h 
     73        fm_effect_pan.c fm_effect_pan.h fm_level_meter.c \ 
     74        fm_level_meter.h fm_output_alsa.c fm_output_alsa.h \ 
     75        fm_output_jack.c fm_output_jack.h 
    7576@HAVE_ALSA_TRUE@am__objects_1 = fm_output_alsa.$(OBJEXT) 
    7677@HAVE_JACK_TRUE@am__objects_2 = fm_output_jack.$(OBJEXT) 
     
    8283        fm_effect_rate.$(OBJEXT) fm_mixer.$(OBJEXT) \ 
    8384        fm_djmixer.$(OBJEXT) fm_buffer.$(OBJEXT) \ 
    84         fm_effect_pan.$(OBJEXT) $(am__objects_1) $(am__objects_2) 
     85        fm_effect_pan.$(OBJEXT) fm_level_meter.$(OBJEXT) \ 
     86        $(am__objects_1) $(am__objects_2) 
    8587fm_server_OBJECTS = $(am_fm_server_OBJECTS) 
    8688am__DEPENDENCIES_1 = 
     
    273275        fm_effect_rate.c fm_effect_rate.h fm_mixer.c fm_mixer.h \ 
    274276        fm_djmixer.c fm_djmixer.h fm_buffer.c fm_buffer.h \ 
    275         fm_effect_pan.c fm_effect_pan.h $(am__append_1) \ 
    276         $(am__append_4) 
     277        fm_effect_pan.c fm_effect_pan.h fm_level_meter.c \ 
     278        fm_level_meter.h $(am__append_1) $(am__append_4) 
    277279fm_server_INCLUDES = $(am__append_2) $(am__append_5) 
    278280fm_server_LDADD = $(FM_SERVER_LIBS) fm_input_gst/libfm_input_gst.la \ 
     
    359361@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fm_input_cdj.Po@am__quote@ 
    360362@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fm_input_test.Po@am__quote@ 
     363@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fm_level_meter.Po@am__quote@ 
    361364@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fm_marshal.Po@am__quote@ 
    362365@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fm_mixer.Po@am__quote@ 
  • fm_server/trunk/src/fm_djmixer.c

    r95 r118  
    99#include "fm_effect_gain.h" 
    1010#include "fm_effect_pan.h" 
     11#include "fm_level_meter.h" 
    1112#include "fm_djmixer.h" 
    1213 
     
    8687                             G_TYPE_INT, 
    8788                             G_TYPE_DOUBLE); 
     89 
     90        rgc_signal_register ("level_changed", 
     91                             FM_TYPE_DJMIXER, 
     92                             3, 
     93                             G_TYPE_INT, 
     94                             G_TYPE_FLOAT, 
     95                             G_TYPE_FLOAT); 
    8896} 
    8997 
     
    130138 
    131139static void 
     140fm_djmixer_level_changed                (GObject        *instance, 
     141                                         gfloat         level_l, 
     142                                         gfloat         level_r, 
     143                                         gpointer       user_data) 
     144{ 
     145        FmDJMixerChannel *chan = (FmDJMixerChannel *) user_data; 
     146//      g_print ("level changed! %d, %f %f\n", chan->port_n, level_l, level_r); 
     147         
     148        GValue *ch = g_value_init_int (chan->port_n); 
     149        GValue *val1 = g_value_init_float (level_l); 
     150        GValue *val2 = g_value_init_float (level_r); 
     151        rgc_signal_emit (chan->owner, "level_changed", ch, val1, val2, NULL); 
     152        g_value_destroy (ch); 
     153        g_value_destroy (val1); 
     154        g_value_destroy (val2);  
     155} 
     156 
     157 
     158 
     159static void 
    132160fm_djmixer_connect_src                  (FmElement      *element, 
    133161                                         FmElement      *src) 
     
    140168        chan->gain = fm_effect_gain_new (); 
    141169        chan->pan = fm_effect_pan_new (); 
     170        chan->meter = fm_level_meter_new (); 
    142171        chan->fader = fm_effect_gain_new (); 
    143172 
    144         fm_element_connect_src (FM_ELEMENT (chan->fader), FM_ELEMENT (chan->pan)); 
     173        fm_element_connect_src (FM_ELEMENT (chan->fader), FM_ELEMENT (chan->meter)); 
     174        fm_element_connect_src (FM_ELEMENT (chan->meter), FM_ELEMENT (chan->pan)); 
    145175        fm_element_connect_src (FM_ELEMENT (chan->pan), FM_ELEMENT (chan->gain)); 
    146176        fm_element_activate (FM_ELEMENT (chan->fader)); 
     
    150180        djm->channels[djm->total_ports] = chan; 
    151181        djm->total_ports++; 
     182 
     183        rgc_signal_catch (G_OBJECT(chan->meter), "level_changed", rgc_marshal_VOID__FLOAT_FLOAT, 
     184                          G_CALLBACK(fm_djmixer_level_changed), chan); 
    152185} 
    153186 
  • fm_server/trunk/src/fm_djmixer.h

    r95 r118  
    2323        FmEffectGain *gain; 
    2424        FmEffectPan *pan; 
     25        FmLevelMeter *meter; 
    2526        FmEffectGain *fader; 
    2627}; 
  • fm_server/trunk/src/fm_effect_gain.c

    r109 r118  
    3030#include "fm_buffer.h" 
    3131#include "fm_element.h" 
    32 #include "fm_input.h" 
     32//#include "fm_input.h" 
    3333#include "fm_effect.h" 
    3434#include "fm_effect_gain.h" 
    35  
    36 #define _(x) x 
    3735 
    3836 
     
    111109                                         PROP_GAIN, 
    112110                                         g_param_spec_double ("gain", 
    113                                          _("Gain"), 
    114                                          _("Gain to apply to the buffer"), 
     111                                         ("Gain"), 
     112                                         ("Gain to apply to the buffer"), 
    115113                                         0, 10, 1, 
    116114                                         G_PARAM_READWRITE)); 
  • fm_server/trunk/src/main.c

    r117 r118  
    5757#include "fm_output.h" 
    5858#include "fm_mixer.h" 
     59#include "fm_level_meter.h" 
    5960#include "fm_djmixer.h" 
    6061#include "fm_pipeline.h" 
     
    131132        fm_djmixer_class_register (); 
    132133        fm_effect_pan_class_register (); 
     134        fm_level_meter_class_register (); 
    133135#if HAVE_ALSA 
    134136        fm_output_alsa_class_register ();