]> git.sesse.net Git - vlc/blobdiff - modules/visualization/visual/visual.c
New vu meter visualization.
[vlc] / modules / visualization / visual / visual.c
index cc2cdae67663ee8d166ef71445074f57086419c8..b768cbda5ba4d75dc3eb470352db8badbaeb4b3b 100644 (file)
 /*****************************************************************************
  * Preamble
  *****************************************************************************/
-#include <stdlib.h>                                      /* malloc(), free() */
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
 #include <vlc/vlc.h>
-#include <vlc/vout.h>
-#include "audio_output.h"
-#include "aout_internal.h"
+#include <vlc_plugin.h>
+#include <vlc_vout.h>
+#include <vlc_aout.h>
 
 #include "visual.h"
 
 
 #define PEAKS_TEXT N_( "Enable peaks" )
 #define PEAKS_LONGTEXT N_( \
-        "This will draw \"peaks\" in the spectrum analyzer" )
+        "Draw \"peaks\" in the spectrum analyzer." )
 
 #define ORIG_TEXT N_( "Enable original graphic spectrum" )
 #define ORIG_LONGTEXT N_( \
-        "This enabled the \"flat\" spectrum analyzer in the spectrometer" )
+        "Enable the \"flat\" spectrum analyzer in the spectrometer." )
 
 #define BANDS_TEXT N_( "Enable bands" )
 #define BANDS_LONGTEXT N_( \
-        "This draws bands in the spectrometer." )
+        "Draw bands in the spectrometer." )
 
 #define BASE_TEXT N_( "Enable base" )
 #define BASE_LONGTEXT N_( \
@@ -88,7 +91,7 @@
 
 #define PEAK_HEIGHT_TEXT N_( "Peak height" )
 #define PEAK_HEIGHT_LONGTEXT N_( \
-        "This is the total pixel height of the peak items." )
+        "Total pixel height of the peak items." )
 
 #define PEAK_WIDTH_TEXT N_( "Peak extra width" )
 #define PEAK_WIDTH_LONGTEXT N_( \
 
 #define STARS_TEXT N_( "Number of stars" )
 #define STARS_LONGTEXT N_( \
-        "This defines the number of stars to draw with random effect." )
+        "Number of stars to draw with random effect." )
 
 static int  Open         ( vlc_object_t * );
 static void Close        ( vlc_object_t * );
 
 vlc_module_begin();
-    set_shortname( _("Visualizer"));
+    set_shortname( N_("Visualizer"));
     set_category( CAT_AUDIO );
     set_subcategory( SUBCAT_AUDIO_VISUAL );
-    set_description( _("Visualizer filter") );
+    set_description( N_("Visualizer filter") );
     set_section( N_( "General") , NULL );
     add_string("effect-list", "spectrum", NULL,
-            ELIST_TEXT, ELIST_LONGTEXT, VLC_TRUE );
+            ELIST_TEXT, ELIST_LONGTEXT, true );
     add_integer("effect-width",VOUT_WIDTH,NULL,
-             WIDTH_TEXT, WIDTH_LONGTEXT, VLC_FALSE );
+             WIDTH_TEXT, WIDTH_LONGTEXT, false );
     add_integer("effect-height" , VOUT_HEIGHT , NULL,
-             HEIGHT_TEXT, HEIGHT_LONGTEXT, VLC_FALSE );
+             HEIGHT_TEXT, HEIGHT_LONGTEXT, false );
     set_section( N_("Spectrum analyser") , NULL );
     add_integer("visual-nbbands", 80, NULL,
-             NBBANDS_TEXT, NBBANDS_LONGTEXT, VLC_TRUE );
+             NBBANDS_TEXT, NBBANDS_LONGTEXT, true );
     add_integer("visual-separ", 1, NULL,
-             SEPAR_TEXT, SEPAR_LONGTEXT, VLC_TRUE );
+             SEPAR_TEXT, SEPAR_LONGTEXT, true );
     add_integer("visual-amp", 3, NULL,
-             AMP_TEXT, AMP_LONGTEXT, VLC_TRUE );
-    add_bool("visual-peaks", VLC_TRUE, NULL,
-             PEAKS_TEXT, PEAKS_LONGTEXT, VLC_TRUE );
+             AMP_TEXT, AMP_LONGTEXT, true );
+    add_bool("visual-peaks", true, NULL,
+             PEAKS_TEXT, PEAKS_LONGTEXT, true );
     set_section( N_("Spectrometer") , NULL );
-    add_bool("spect-show-original", VLC_FALSE, NULL,
-             ORIG_TEXT, ORIG_LONGTEXT, VLC_TRUE );
-    add_bool("spect-show-base", VLC_TRUE, NULL,
-             BASE_TEXT, BASE_LONGTEXT, VLC_TRUE );
+    add_bool("spect-show-original", false, NULL,
+             ORIG_TEXT, ORIG_LONGTEXT, true );
+    add_bool("spect-show-base", true, NULL,
+             BASE_TEXT, BASE_LONGTEXT, true );
     add_integer("spect-radius", 42, NULL,
-             RADIUS_TEXT, RADIUS_LONGTEXT, VLC_TRUE );
+             RADIUS_TEXT, RADIUS_LONGTEXT, true );
     add_integer("spect-sections", 3, NULL,
-             SSECT_TEXT, SSECT_LONGTEXT, VLC_TRUE );
+             SSECT_TEXT, SSECT_LONGTEXT, true );
     add_integer("spect-color", 80, NULL,
-             COLOR1_TEXT, COLOR1_LONGTEXT, VLC_TRUE );
-    add_bool("spect-show-bands", VLC_TRUE, NULL,
-             BANDS_TEXT, BANDS_LONGTEXT, VLC_TRUE );
+             COLOR1_TEXT, COLOR1_LONGTEXT, true );
+    add_bool("spect-show-bands", true, NULL,
+             BANDS_TEXT, BANDS_LONGTEXT, true );
     add_integer("spect-nbbands", 32, NULL,
-             NBBANDS_TEXT, SPNBBANDS_LONGTEXT, VLC_TRUE );
+             NBBANDS_TEXT, SPNBBANDS_LONGTEXT, true );
     add_integer("spect-separ", 1, NULL,
-             SEPAR_TEXT, SEPAR_LONGTEXT, VLC_TRUE );
+             SEPAR_TEXT, SEPAR_LONGTEXT, true );
     add_integer("spect-amp", 8, NULL,
-             AMP_TEXT, AMP_LONGTEXT, VLC_TRUE );
-    add_bool("spect-show-peaks", VLC_TRUE, NULL,
-             PEAKS_TEXT, PEAKS_LONGTEXT, VLC_TRUE );
+             AMP_TEXT, AMP_LONGTEXT, true );
+    add_bool("spect-show-peaks", true, NULL,
+             PEAKS_TEXT, PEAKS_LONGTEXT, true );
     add_integer("spect-peak-width", 61, NULL,
-             PEAK_WIDTH_TEXT, PEAK_WIDTH_LONGTEXT, VLC_TRUE );
+             PEAK_WIDTH_TEXT, PEAK_WIDTH_LONGTEXT, true );
     add_integer("spect-peak-height", 1, NULL,
-             PEAK_HEIGHT_TEXT, PEAK_HEIGHT_LONGTEXT, VLC_TRUE );
+             PEAK_HEIGHT_TEXT, PEAK_HEIGHT_LONGTEXT, true );
     set_capability( "visualization", 0 );
     set_callbacks( Open, Close );
     add_shortcut( "visualizer");
@@ -166,12 +169,13 @@ static int FilterCallback( vlc_object_t *, char const *,
                            vlc_value_t, vlc_value_t, void * );
 static struct
 {
-    char *psz_name;
+    const char *psz_name;
     int  (*pf_run)( visual_effect_t *, aout_instance_t *,
                     aout_buffer_t *, picture_t *);
 } pf_effect_run[]=
 {
     { "scope",      scope_Run },
+    { "vuMeter",    vuMeter_Run },
     { "spectrum",   spectrum_Run },
     { "spectrometer",   spectrometer_Run },
     { "dummy",      dummy_Run},
@@ -188,7 +192,8 @@ static int Open( vlc_object_t *p_this )
     vlc_value_t        val;
 
     char *psz_effects, *psz_parser;
-    video_format_t fmt = {0};
+    video_format_t fmt;
+
 
     if( ( p_filter->input.i_format != VLC_FOURCC('f','l','3','2') &&
           p_filter->input.i_format != VLC_FOURCC('f','i','3','2') ) )
@@ -228,6 +233,8 @@ static int Open( vlc_object_t *p_this )
         int  i;
 
         p_effect = malloc( sizeof( visual_effect_t ) );
+        if( !p_effect )
+            break;
         p_effect->i_width = p_sys->i_width;
         p_effect->i_height= p_sys->i_height;
         p_effect->i_nb_chans = aout_FormatNbChannels( &p_filter->input);
@@ -302,6 +309,8 @@ static int Open( vlc_object_t *p_this )
     }
 
     /* Open the video output */
+    memset( &fmt, 0, sizeof(video_format_t) );
+
     fmt.i_width = fmt.i_visible_width = p_sys->i_width;
     fmt.i_height = fmt.i_visible_height = p_sys->i_height;
     fmt.i_chroma = VLC_FOURCC('I','4','2','0');
@@ -419,6 +428,8 @@ static int FilterCallback( vlc_object_t *p_this, char const *psz_cmd,
                            vlc_value_t oldval, vlc_value_t newval,
                            void *p_data )
 {
+    VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval);
+    VLC_UNUSED(p_data); VLC_UNUSED(newval);
     aout_filter_t     *p_filter = (aout_filter_t *)p_this;
     /* restart this baby */
     msg_Dbg( p_filter, "we should restart the visual filter" );