Commit 472aec28 authored by Rémi Duraffort's avatar Rémi Duraffort

Add a visualization module using libprojectM.

If you want to try it and report bugs use --enable-projectm.
parent f78545dd
...@@ -5231,6 +5231,23 @@ then ...@@ -5231,6 +5231,23 @@ then
fi fi
fi fi
dnl
dnl libprojectM visualization plugin
dnl
AC_ARG_ENABLE(projectm,
[ --enable-projectm projectM visualization plugin (default disabled)])
AS_IF([test "${enable_projectm}" = "yes"],
[
PKG_CHECK_MODULES(PROJECTM, libprojectM,
[
VLC_ADD_PLUGIN([projectm])
VLC_ADD_CXXFLAGS([projectm],[$PROJECTM_CFLAGS])
VLC_ADD_LIBS([projectm],[$PROJECTM_LIBS])
],[
AC_MSG_WARN(libprojectM library not found)
])
])
dnl dnl
dnl AtmoLight (homebrew AmbiLight) dnl AtmoLight (homebrew AmbiLight)
dnl dnl
......
SUBDIRS = visual galaktos SUBDIRS = visual galaktos
SOURCES_goom = goom.c SOURCES_goom = goom.c
SOURCES_goom = projectm.cpp
This diff is collapsed.
...@@ -136,6 +136,13 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input, const aout_ ...@@ -136,6 +136,13 @@ int aout_InputNew( aout_instance_t * p_aout, aout_input_t * p_input, const aout_
var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text ); var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text );
} }
/* Look for libprojectM plugin */
if( module_exists( "projectm" ) )
{
val.psz_string = (char*)"projectm"; text.psz_string = (char*)"projectM";
var_Change( p_aout, "visual", VLC_VAR_ADDCHOICE, &val, &text );
}
if( var_Get( p_aout, "effect-list", &val ) == VLC_SUCCESS ) if( var_Get( p_aout, "effect-list", &val ) == VLC_SUCCESS )
{ {
var_SetString( p_aout, "visual", val.psz_string ); var_SetString( p_aout, "visual", val.psz_string );
...@@ -854,6 +861,7 @@ static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd, ...@@ -854,6 +861,7 @@ static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd,
ChangeFiltersString( p_aout, "audio-visual", "goom", false ); ChangeFiltersString( p_aout, "audio-visual", "goom", false );
ChangeFiltersString( p_aout, "audio-visual", "visual", false ); ChangeFiltersString( p_aout, "audio-visual", "visual", false );
ChangeFiltersString( p_aout, "audio-visual", "galaktos", false ); ChangeFiltersString( p_aout, "audio-visual", "galaktos", false );
ChangeFiltersString( p_aout, "audio-visual", "projectm", false );
} }
else else
{ {
...@@ -861,7 +869,8 @@ static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd, ...@@ -861,7 +869,8 @@ static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd,
{ {
ChangeFiltersString( p_aout, "audio-visual", "visual", false ); ChangeFiltersString( p_aout, "audio-visual", "visual", false );
ChangeFiltersString( p_aout, "audio-visual", "goom", true ); ChangeFiltersString( p_aout, "audio-visual", "goom", true );
ChangeFiltersString( p_aout, "audio-visual", "galaktos", false); ChangeFiltersString( p_aout, "audio-visual", "galaktos", false );
ChangeFiltersString( p_aout, "audio-visual", "projectm", false );
} }
else if( !strcmp( "galaktos", psz_mode ) ) else if( !strcmp( "galaktos", psz_mode ) )
{ {
...@@ -869,6 +878,13 @@ static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd, ...@@ -869,6 +878,13 @@ static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd,
ChangeFiltersString( p_aout, "audio-visual", "goom", false ); ChangeFiltersString( p_aout, "audio-visual", "goom", false );
ChangeFiltersString( p_aout, "audio-visual", "galaktos", true ); ChangeFiltersString( p_aout, "audio-visual", "galaktos", true );
} }
else if( !strcmp( "projectm", psz_mode ) )
{
ChangeFiltersString( p_aout, "audio-visual", "visual", false );
ChangeFiltersString( p_aout, "audio-visual", "goom", false );
ChangeFiltersString( p_aout, "audio-visual", "galaktos", false );
ChangeFiltersString( p_aout, "audio-visual", "projectm", true );
}
else else
{ {
var_Create( p_aout, "effect-list", VLC_VAR_STRING ); var_Create( p_aout, "effect-list", VLC_VAR_STRING );
...@@ -876,7 +892,8 @@ static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd, ...@@ -876,7 +892,8 @@ static int VisualizationCallback( vlc_object_t *p_this, char const *psz_cmd,
ChangeFiltersString( p_aout, "audio-visual", "goom", false ); ChangeFiltersString( p_aout, "audio-visual", "goom", false );
ChangeFiltersString( p_aout, "audio-visual", "visual", true ); ChangeFiltersString( p_aout, "audio-visual", "visual", true );
ChangeFiltersString( p_aout, "audio-visual", "galaktos", false); ChangeFiltersString( p_aout, "audio-visual", "galaktos", false );
ChangeFiltersString( p_aout, "audio-visual", "projectm", false );
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment