[vlc-commits] commit: Added 3 settings to projectm module and fix a crash ( =?UTF-8?Q?S=C3=A9bastien=20Toque=20?=)
git at videolan.org
git at videolan.org
Thu Dec 30 22:16:55 CET 2010
vlc/vlc-1.1 | branch: master | Sébastien Toque <xilasz at gmail.com> | Thu Dec 30 22:07:16 2010 +0100| [b0ec82a00da610d6c15b3408d4ceca2068bcccbc] | committer: Jean-Baptiste Kempf
Added 3 settings to projectm module and fix a crash
3 setting to set meshx, meshy and texturesize
Fixed a crash if there is no available presets
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
(cherry picked from commit 8beb6e0f0c7235349c0715b8de1d1844b65d9e53)
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc/vlc-1.1.git/?a=commit;h=b0ec82a00da610d6c15b3408d4ceca2068bcccbc
---
modules/visualization/projectm.cpp | 26 +++++++++++++++++++++-----
1 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/modules/visualization/projectm.cpp b/modules/visualization/projectm.cpp
index 28cf392..8448abf 100644
--- a/modules/visualization/projectm.cpp
+++ b/modules/visualization/projectm.cpp
@@ -64,6 +64,15 @@ static void Close ( vlc_object_t * );
#define HEIGHT_TEXT N_("Video height")
#define HEIGHT_LONGTEXT N_("The height of the video window, in pixels.")
+#define MESHX_TEXT N_("Mesh width")
+#define MESHX_LONGTEXT N_("The width of the mesh, in pixels.")
+
+#define MESHY_TEXT N_("Mesh height")
+#define MESHY_LONGTEXT N_("The height of the mesh, in pixels.")
+
+#define TEXTURE_TEXT N_("Texture size")
+#define TEXTURE_LONGTEXT N_("The size of the texture, in pixels.")
+
vlc_module_begin ()
set_shortname( N_("projectM"))
set_description( N_("libprojectM effect") )
@@ -85,6 +94,12 @@ vlc_module_begin ()
false )
add_integer( "projectm-height", 640, NULL, HEIGHT_TEXT, HEIGHT_LONGTEXT,
false )
+ add_integer( "projectm-meshx", 32, MESHX_TEXT, MESHX_LONGTEXT,
+ false )
+ add_integer( "projectm-meshy", 24, MESHY_TEXT, MESHY_LONGTEXT,
+ false )
+ add_integer( "projectm-texture-size", 1024, TEXTURE_TEXT, TEXTURE_LONGTEXT,
+ false )
add_shortcut( "projectm" )
set_callbacks( Open, Close )
vlc_module_end ()
@@ -330,17 +345,17 @@ static void *Thread( void *p_data )
/* Create the projectM object */
#ifndef HAVE_PROJECTM2
psz_config = var_InheritString( p_filter, "projectm-config" );
- p_projectm new projectM( psz_config );
+ p_projectm = new projectM( psz_config );
free( psz_config );
#else
psz_preset_path = var_InheritString( p_filter, "projectm-preset-path" );
psz_title_font = var_InheritString( p_filter, "projectm-title-font" );
psz_menu_font = var_InheritString( p_filter, "projectm-menu-font" );
- settings.meshX = 32;
- settings.meshY = 24;
+ settings.meshX = var_InheritInteger( p_filter, "projectm-meshx" );
+ settings.meshY = var_InheritInteger( p_filter, "projectm-meshy" );
settings.fps = 35;
- settings.textureSize = 1024;
+ settings.textureSize = var_InheritInteger( p_filter, "projectm-texture-size" );
settings.windowWidth = p_sys->i_width;
settings.windowHeight = p_sys->i_height;
settings.presetURL = psz_preset_path;
@@ -365,7 +380,8 @@ static void *Thread( void *p_data )
vlc_sem_post( &p_sys->ready );
/* Choose a preset randomly or projectM will always show the first one */
- p_projectm->selectPreset( (unsigned)vlc_mrand48() % p_projectm->getPlaylistSize() );
+ if ( p_projectm->getPlaylistSize() > 0 )
+ p_projectm->selectPreset( (unsigned)vlc_mrand48() % p_projectm->getPlaylistSize() );
/* */
for( ;; )
More information about the vlc-commits
mailing list