core/medialibrary: Add the favorite media setter

This commit is contained in:
Benjamin Arnaud 2023-01-06 11:13:50 +01:00 committed by Steve Lhomme
parent c619786bc2
commit e07e728d58
2 changed files with 15 additions and 0 deletions

View File

@ -581,6 +581,7 @@ enum vlc_ml_control
VLC_ML_MEDIA_ADD_EXTERNAL_MRL, /**< arg1: media id; arg2: const char*; arg3: type(vlc_ml_file_type_t) */
VLC_ML_MEDIA_SET_TYPE, /**< arg1: media id; arg2: vlc_ml_media_type_t */
VLC_ML_MEDIA_SET_PLAYED, /**< arg1: media id; arg2: bool */
VLC_ML_MEDIA_SET_FAVORITE, /**< arg1: media id; arg2: bool */
VLC_ML_MEDIA_ADD_BOOKMARK, /**< arg1: media id; arg2: int64_t */
VLC_ML_MEDIA_REMOVE_BOOKMARK, /**< arg1: media id; arg2: int64_t */
VLC_ML_MEDIA_REMOVE_ALL_BOOKMARKS, /**< arg1: media id */
@ -1088,6 +1089,12 @@ static inline int vlc_ml_media_set_played( vlc_medialibrary_t* p_ml, int64_t i_m
return vlc_ml_control( p_ml, VLC_ML_MEDIA_SET_PLAYED, i_media_id, (int) b_played );
}
static inline int vlc_ml_media_set_favorite( vlc_medialibrary_t* p_ml, int64_t i_media_id,
bool b_favorite )
{
return vlc_ml_control( p_ml, VLC_ML_MEDIA_SET_FAVORITE, i_media_id, (int) b_favorite );
}
static inline vlc_ml_bookmark_list_t*
vlc_ml_list_media_bookmarks( vlc_medialibrary_t* p_ml, const vlc_ml_query_params_t* params,
int64_t i_media_id )

View File

@ -626,6 +626,7 @@ int MediaLibrary::Control( int query, va_list args )
case VLC_ML_MEDIA_ADD_EXTERNAL_MRL:
case VLC_ML_MEDIA_SET_TYPE:
case VLC_ML_MEDIA_SET_PLAYED:
case VLC_ML_MEDIA_SET_FAVORITE:
case VLC_ML_MEDIA_ADD_BOOKMARK:
case VLC_ML_MEDIA_REMOVE_BOOKMARK:
case VLC_ML_MEDIA_REMOVE_ALL_BOOKMARKS:
@ -1474,6 +1475,13 @@ int MediaLibrary::controlMedia( int query, va_list args )
return VLC_EGENERIC;
return VLC_SUCCESS;
}
case VLC_ML_MEDIA_SET_FAVORITE:
{
bool favorite = va_arg( args, int );
if ( m->setFavorite( favorite ) == false )
return VLC_EGENERIC;
return VLC_SUCCESS;
}
case VLC_ML_MEDIA_ADD_BOOKMARK:
{
auto time = va_arg( args, int64_t );