Commit b50966f6 authored by Antoine Cellerier's avatar Antoine Cellerier

Add an "album art download policy" (--album-art) option. I now have to do...

Add an "album art download policy" (--album-art) option. I now have to do another commit to enfore this policy (album art isn't downloaded at all atm)
parent 4970e57f
...@@ -171,4 +171,10 @@ static inline void vlc_meta_Merge( vlc_meta_t *dst, vlc_meta_t *src ) ...@@ -171,4 +171,10 @@ static inline void vlc_meta_Merge( vlc_meta_t *dst, vlc_meta_t *src )
} }
/** \todo Track meta */ /** \todo Track meta */
enum {
ALBUM_ART_NEVER,
ALBUM_ART_WHEN_ASKED,
ALBUM_ART_WHEN_PLAYED,
ALBUM_ART_ALL };
#endif #endif
...@@ -362,9 +362,16 @@ int __input_SecondaryPreparse( vlc_object_t *p_parent, input_item_t *p_item ) ...@@ -362,9 +362,16 @@ int __input_SecondaryPreparse( vlc_object_t *p_parent, input_item_t *p_item )
p_me = vlc_object_create( p_parent, VLC_OBJECT_META_ENGINE ); p_me = vlc_object_create( p_parent, VLC_OBJECT_META_ENGINE );
p_me->i_flags |= OBJECT_FLAGS_NOINTERACT; p_me->i_flags |= OBJECT_FLAGS_NOINTERACT;
p_me->i_mandatory = VLC_META_ENGINE_TITLE p_me->i_mandatory = VLC_META_ENGINE_TITLE
| VLC_META_ENGINE_ARTIST | VLC_META_ENGINE_ARTIST;
| VLC_META_ENGINE_ART_URL;
p_me->i_optional = 0; p_me->i_optional = 0;
if( var_CreateGetInteger( p_parent, "album-art" ) != ALBUM_ART_NEVER )
{
p_me->i_mandatory |= VLC_META_ENGINE_ART_URL;
}
else
{
p_me->i_optional |= VLC_META_ENGINE_ART_URL;
}
p_me->p_item = p_item; p_me->p_item = p_item;
p_me->p_module = module_Need( p_me, "meta engine", 0, VLC_FALSE ); p_me->p_module = module_Need( p_me, "meta engine", 0, VLC_FALSE );
...@@ -381,8 +388,6 @@ int __input_SecondaryPreparse( vlc_object_t *p_parent, input_item_t *p_item ) ...@@ -381,8 +388,6 @@ int __input_SecondaryPreparse( vlc_object_t *p_parent, input_item_t *p_item )
vlc_object_destroy( p_me ); vlc_object_destroy( p_me );
input_DownloadAndCacheArt( p_parent, p_item );
return VLC_SUCCESS; return VLC_SUCCESS;
} }
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#define Nothing here, this is just to prevent update-po from being stupid #define Nothing here, this is just to prevent update-po from being stupid
#include "vlc_keys.h" #include "vlc_keys.h"
#include "vlc_meta.h"
#if defined (WIN32) || defined (__APPLE__) #if defined (WIN32) || defined (__APPLE__)
static char *ppsz_language[] = static char *ppsz_language[] =
...@@ -933,6 +934,19 @@ static char *ppsz_clock_descriptions[] = ...@@ -933,6 +934,19 @@ static char *ppsz_clock_descriptions[] =
"Automatically preparse files added to the playlist " \ "Automatically preparse files added to the playlist " \
"(to retrieve some metadata)." ) "(to retrieve some metadata)." )
#define ALBUM_ART_TEXT N_( "Album art policy" )
#define ALBUM_ART_LONGTEXT N_( \
"Choose when to download and cache album art." )
static int pi_albumart_values[] = { ALBUM_ART_NEVER,
ALBUM_ART_WHEN_ASKED,
ALBUM_ART_WHEN_PLAYED,
ALBUM_ART_ALL };
static char *ppsz_albumart_descriptions[] =
{ N_("Never download"), N_("Download when asked"),
N_("Download when track starts playing"),
N_("Download everything ASAP") };
#define SD_TEXT N_( "Services discovery modules") #define SD_TEXT N_( "Services discovery modules")
#define SD_LONGTEXT N_( \ #define SD_LONGTEXT N_( \
"Specifies the services discovery modules to load, separated by " \ "Specifies the services discovery modules to load, separated by " \
...@@ -1634,6 +1648,11 @@ vlc_module_begin(); ...@@ -1634,6 +1648,11 @@ vlc_module_begin();
add_bool( "auto-preparse", VLC_TRUE, NULL, PREPARSE_TEXT, add_bool( "auto-preparse", VLC_TRUE, NULL, PREPARSE_TEXT,
PREPARSE_LONGTEXT, VLC_FALSE ); PREPARSE_LONGTEXT, VLC_FALSE );
add_integer( "album-art", ALBUM_ART_WHEN_PLAYED, NULL, ALBUM_ART_TEXT,
ALBUM_ART_LONGTEXT, VLC_FALSE );
change_integer_list( pi_albumart_values,
ppsz_albumart_descriptions, 0 );
set_subcategory( SUBCAT_PLAYLIST_SD ); set_subcategory( SUBCAT_PLAYLIST_SD );
add_module_list_cat( "services-discovery", SUBCAT_PLAYLIST_SD, NULL, add_module_list_cat( "services-discovery", SUBCAT_PLAYLIST_SD, NULL,
NULL, SD_TEXT, SD_LONGTEXT, VLC_FALSE ); NULL, SD_TEXT, SD_LONGTEXT, VLC_FALSE );
......
...@@ -500,7 +500,7 @@ void playlist_PreparseLoop( playlist_preparse_t *p_obj ) ...@@ -500,7 +500,7 @@ void playlist_PreparseLoop( playlist_preparse_t *p_obj )
vlc_mutex_unlock( &p_playlist->object_lock ); vlc_mutex_unlock( &p_playlist->object_lock );
} }
vlc_mutex_lock( &p_obj->object_lock ); vlc_mutex_lock( &p_obj->object_lock );
i_activity= var_GetInteger( p_playlist, "activity" ); i_activity = var_GetInteger( p_playlist, "activity" );
if( i_activity < 0 ) i_activity = 0; if( i_activity < 0 ) i_activity = 0;
vlc_mutex_unlock( &p_obj->object_lock ); vlc_mutex_unlock( &p_obj->object_lock );
msleep( (i_activity+1) * 1000 ); msleep( (i_activity+1) * 1000 );
......
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