Commit 2a8f1eb6 authored by Rémi Duraffort's avatar Rémi Duraffort

lua: small cleanup (no functional changes)

parent 5b818e66
...@@ -61,53 +61,52 @@ ...@@ -61,53 +61,52 @@
static int vlclua_preamp_get( lua_State *L ) static int vlclua_preamp_get( lua_State *L )
{ {
input_thread_t *p_input = vlclua_get_input_internal( L ); input_thread_t *p_input = vlclua_get_input_internal( L );
if( p_input ) if( !p_input )
return 0;
aout_instance_t *p_aout = input_GetAout( p_input );
vlc_object_release( p_input );
char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
if( strstr ( psz_af, "equalizer" ) == NULL )
{ {
aout_instance_t *p_aout = input_GetAout( p_input );
vlc_object_release( p_input );
char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
if ( strstr ( psz_af, "equalizer" ) == NULL )
{
vlc_object_release( p_aout );
return 0;
}
float preamp = var_GetFloat( p_aout, "equalizer-preamp");
lua_pushnumber( L, preamp );
vlc_object_release( p_aout ); vlc_object_release( p_aout );
return 1; return 0;
} }
return 0;
lua_pushnumber( L, var_GetFloat( p_aout, "equalizer-preamp") );
vlc_object_release( p_aout );
return 1;
} }
/***************************************************************************** /*****************************************************************************
* Set the preamp level * Set the preamp level
*****************************************************************************/ *****************************************************************************/
static int vlclua_preamp_set( lua_State *L ) static int vlclua_preamp_set( lua_State *L )
{ {
input_thread_t *p_input = vlclua_get_input_internal( L ); input_thread_t *p_input = vlclua_get_input_internal( L );
if( p_input ) if( !p_input )
return 0;
aout_instance_t *p_aout = input_GetAout( p_input );
vlc_object_release( p_input );
if( !p_aout )
return 0;
char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
if( strstr ( psz_af, "equalizer" ) == NULL )
{ {
aout_instance_t *p_aout = input_GetAout( p_input );
vlc_object_release( p_input );
if ( !p_aout )
{
return 0;
}
char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
if ( strstr ( psz_af, "equalizer" ) == NULL )
{
vlc_object_release( p_aout );
return 0;
}
float preamp = luaL_checknumber( L, 1 );
var_SetFloat( p_aout, "equalizer-preamp",preamp);
lua_pushnumber( L, preamp );
vlc_object_release( p_aout ); vlc_object_release( p_aout );
return 1; return 0;
} }
return 0;
var_SetFloat( p_aout, "equalizer-preamp", luaL_checknumber( L, 1 ) );
vlc_object_release( p_aout );
return 1;
} }
/***************************************************************************** /*****************************************************************************
Bands: Bands:
Band 0: 60 Hz Band 0: 60 Hz
...@@ -127,92 +126,96 @@ Band 9: 16 kHz ...@@ -127,92 +126,96 @@ Band 9: 16 kHz
static int vlclua_equalizer_get( lua_State *L ) static int vlclua_equalizer_get( lua_State *L )
{ {
input_thread_t *p_input = vlclua_get_input_internal( L ); input_thread_t *p_input = vlclua_get_input_internal( L );
if( p_input ) if( !p_input )
return 0;
aout_instance_t *p_aout = input_GetAout( p_input );
vlc_object_release( p_input );
if( !p_aout )
return 0;
float level = 0 ;
char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
if( strstr ( psz_af, "equalizer" ) == NULL )
{ {
float level = 0 ; vlc_object_release( p_aout );
aout_instance_t *p_aout = input_GetAout( p_input ); return 0;
vlc_object_release( p_input ); }
if ( !p_aout )
{
return 0;
}
char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
if ( strstr ( psz_af, "equalizer" ) == NULL )
{
vlc_object_release( p_aout );
return 0;
}
int bandid = luaL_checknumber( L, 1 ); int bandid = luaL_checknumber( L, 1 );
char *bands = var_GetNonEmptyString( p_aout, "equalizer-bands" ); char *bands = var_GetNonEmptyString( p_aout, "equalizer-bands" );
locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL); locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL);
locale_t oldloc = uselocale (loc); locale_t oldloc = uselocale (loc);
while( bandid >= 0 ) while( bandid >= 0 )
{ {
level = strtof( bands, &bands); level = strtof( bands, &bands);
bandid--; bandid--;
} }
if (loc != (locale_t)0) if (loc != (locale_t)0)
{ {
uselocale (oldloc); uselocale (oldloc);
freelocale (loc); freelocale (loc);
} }
if ( bandid != -1 )
{
vlc_object_release( p_aout ); vlc_object_release( p_aout );
return 0; if( bandid == -1 )
} {
lua_pushnumber( L, level ); lua_pushnumber( L, level );
vlc_object_release( p_aout );
return 1; return 1;
} }
return 0; else
return 0;
} }
/***************************************************************************** /*****************************************************************************
* Set the equalizer level for the specified band * Set the equalizer level for the specified band
*****************************************************************************/ *****************************************************************************/
static int vlclua_equalizer_set( lua_State *L ) static int vlclua_equalizer_set( lua_State *L )
{ {
input_thread_t *p_input = vlclua_get_input_internal( L ); input_thread_t *p_input = vlclua_get_input_internal( L );
if( p_input ) if( !p_input )
return 0;
int i_pos = 0 , j = 0;
aout_instance_t *p_aout = input_GetAout( p_input );
vlc_object_release( p_input );
if( !p_aout )
return 0;
char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" );
if( strstr ( psz_af, "equalizer" ) == NULL )
{ {
int i_pos = 0 , j = 0; vlc_object_release( p_aout );
aout_instance_t *p_aout = input_GetAout( p_input ); return 0;
vlc_object_release( p_input ); }
if ( !p_aout )
{ int bandid = luaL_checknumber( L, 1 );
return 0; float level = luaL_checknumber( L, 2 );
} char *bands = var_GetString( p_aout, "equalizer-bands" );
char *psz_af = var_GetNonEmptyString( p_aout, "audio-filter" ); char newstr[7];
if ( strstr ( psz_af, "equalizer" ) == NULL ) while( j != bandid )
{ {
vlc_object_release( p_aout ); i_pos++;
return 0; if( bands[i_pos] == '.' )
}
int bandid = luaL_checknumber( L, 1 );
float level = luaL_checknumber( L, 2 );
char *bands = var_GetString( p_aout, "equalizer-bands" );
char newstr[7];
while( j != bandid )
{ {
i_pos++; i_pos++;
if( bands[i_pos] == '.' ) j++;
{
i_pos++;
j++;
}
} }
if( bandid != 0 )
i_pos++;
snprintf( newstr, sizeof ( newstr ) , "%6.1f", level);
for( int i = 0 ; i < 6 ; i++ )
bands[i_pos+i] = newstr[i];
var_SetString( p_aout, "equalizer-bands",bands );
vlc_object_release( p_aout );
return 1;
} }
return 0; if( bandid != 0 )
i_pos++;
snprintf( newstr, sizeof ( newstr ) , "%6.1f", level);
for( int i = 0 ; i < 6 ; i++ )
bands[i_pos+i] = newstr[i];
var_SetString( p_aout, "equalizer-bands", bands );
vlc_object_release( p_aout );
return 1;
} }
static const luaL_Reg vlclua_equalizer_reg[] = { static const luaL_Reg vlclua_equalizer_reg[] = {
{ "preampget", vlclua_preamp_get }, { "preampget", vlclua_preamp_get },
{ "preampset", vlclua_preamp_set }, { "preampset", vlclua_preamp_set },
...@@ -221,6 +224,7 @@ static const luaL_Reg vlclua_equalizer_reg[] = { ...@@ -221,6 +224,7 @@ static const luaL_Reg vlclua_equalizer_reg[] = {
{ NULL, NULL } { NULL, NULL }
}; };
void luaopen_equalizer( lua_State *L ) void luaopen_equalizer( lua_State *L )
{ {
lua_newtable( L ); lua_newtable( L );
......
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