From 6c0ceeb39cf4038daffa2e078e49e39949342bc3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Cl=C3=A9ment=20Stenac?= Date: Sun, 16 Jan 2005 14:10:47 +0000 Subject: [PATCH] Remove playlist info accessors (as they now belong to input_item) and use vlc_input_item_AddInfo and vlc_input_item_GetInfo instead --- Makefile.am | 1 - include/vlc_input.h | 3 + include/vlc_playlist.h | 10 -- modules/access/cdda/info.c | 10 +- modules/gui/macosx/playlistinfo.m | 2 +- modules/gui/wince/iteminfo.cpp | 16 -- modules/gui/wince/wince.h | 3 - modules/gui/wxwindows/iteminfo.cpp | 16 -- modules/gui/wxwindows/playlist.cpp | 5 +- modules/gui/wxwindows/wxwindows.h | 1 - src/input/control.c | 32 +--- src/input/input.c | 101 ++++++++++++ src/playlist/info.c | 251 ----------------------------- src/playlist/item.c | 7 +- src/playlist/sort.c | 2 +- 15 files changed, 122 insertions(+), 338 deletions(-) delete mode 100644 src/playlist/info.c diff --git a/Makefile.am b/Makefile.am index 9ab3987632..18ebfa19dc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -330,7 +330,6 @@ SOURCES_libvlc_common = \ src/playlist/view.c \ src/playlist/item.c \ src/playlist/item-ext.c \ - src/playlist/info.c \ src/playlist/services_discovery.c \ src/input/access.c \ src/input/clock.c \ diff --git a/include/vlc_input.h b/include/vlc_input.h index d27fd50835..cae13922dc 100644 --- a/include/vlc_input.h +++ b/include/vlc_input.h @@ -158,6 +158,9 @@ static inline void vlc_input_item_Clean( input_item_t *p_i ) vlc_mutex_destroy( &p_i->lock ); } +VLC_EXPORT( char *, vlc_input_item_GetInfo, ( input_item_t *p_i, const char *psz_cat,const char *psz_name ) ); +VLC_EXPORT(int, vlc_input_item_AddInfo, ( input_item_t *p_i, const char *psz_cat, const char *psz_name, const char *psz_format, ... ) ); + /***************************************************************************** * Seek point: (generalisation of chapters) *****************************************************************************/ diff --git a/include/vlc_playlist.h b/include/vlc_playlist.h index dca75130c9..96084b95ff 100644 --- a/include/vlc_playlist.h +++ b/include/vlc_playlist.h @@ -331,16 +331,6 @@ VLC_EXPORT( playlist_item_t *, playlist_ItemGetByInput, (playlist_t *,input_item VLC_EXPORT( playlist_item_t *, playlist_LockItemGetByInput, (playlist_t *,input_item_t * ) ); VLC_EXPORT( int, playlist_GetPositionById, (playlist_t *,int ) ); -/* Info functions */ -VLC_EXPORT( char * , playlist_GetInfo, ( playlist_t * , int, const char *, const char *) ); -VLC_EXPORT( char * , playlist_ItemGetInfo, ( playlist_item_t * , const char *, const char *) ); - -VLC_EXPORT( info_category_t*, playlist_ItemGetCategory, ( playlist_item_t *, const char *) ); - -VLC_EXPORT( info_category_t*, playlist_ItemCreateCategory, ( playlist_item_t *, const char *) ); - -VLC_EXPORT( int, playlist_AddInfo, (playlist_t *, int, const char * , const char *, const char *, ...) ); -VLC_EXPORT( int, playlist_ItemAddInfo, (playlist_item_t *, const char * , const char *, const char *, ...) ); VLC_EXPORT( int, playlist_ItemAddOption, (playlist_item_t *, const char *) ); /* Playlist sorting */ diff --git a/modules/access/cdda/info.c b/modules/access/cdda/info.c index dbbc27a3f0..4f4ba124f8 100644 --- a/modules/access/cdda/info.c +++ b/modules/access/cdda/info.c @@ -801,7 +801,7 @@ CDDAFormatTitle( const access_t *p_access, track_t i_track ) #define add_playlist_track_info_str(TITLE, FIELD) \ if (FIELD && strlen(FIELD)) \ { \ - playlist_ItemAddInfo( p_item, _("Track"), _(TITLE), \ + vlc_input_item_AddInfo( &p_item->input, _("Track"), _(TITLE), \ "%s", FIELD); \ } @@ -844,14 +844,14 @@ CDDACreatePlaylistItem( const access_t *p_access, cdda_data_t *p_cdda, } int CDDAAddMetaToItem( access_t *p_access, cdda_data_t *p_cdda, - playlist_item_t *p_item, int i_track, - vlc_bool_t b_single ) + playlist_item_t *p_item, int i_track, + vlc_bool_t b_single ) { vlc_mutex_lock( &p_item->input.lock ); add_playlist_track_info_str("Source", p_cdda->psz_source); - playlist_ItemAddInfo( p_item, _("Track"), _("Track Number"), - "%d", i_track ); + vlc_input_item_AddInfo( &p_item->input, _("Track"), _("Track Number"), + "%d", i_track ); if (p_cdda->p_cdtext[i_track]) { diff --git a/modules/gui/macosx/playlistinfo.m b/modules/gui/macosx/playlistinfo.m index 806fc942eb..9efbbe10fb 100644 --- a/modules/gui/macosx/playlistinfo.m +++ b/modules/gui/macosx/playlistinfo.m @@ -150,7 +150,7 @@ p_item->input.psz_uri = strdup( [[o_uri_txt stringValue] UTF8String] ); p_item->input.psz_name = strdup( [[o_title_txt stringValue] UTF8String] ); - playlist_ItemAddInfo( p_item, _("General"), _("Author"), [[o_author_txt stringValue] UTF8String]); + vlc_input_item_AddInfo( &p_item->input, _("General"), _("Author"), [[o_author_txt stringValue] UTF8String]); vlc_mutex_unlock( &p_item->input.lock ); val.b_bool = VLC_TRUE; diff --git a/modules/gui/wince/iteminfo.cpp b/modules/gui/wince/iteminfo.cpp index 2bdf1dbab1..4b897a44d4 100644 --- a/modules/gui/wince/iteminfo.cpp +++ b/modules/gui/wince/iteminfo.cpp @@ -132,18 +132,6 @@ LRESULT ItemInfoDialog::WndProc( HWND hwnd, UINT msg, WPARAM wp, LPARAM lp, 70, 10 + 15 + 10 - 3, rcClient.right - 70 - 10, 15 + 6, hwnd, NULL, hInst, NULL); - /* Author Textbox */ - author_label = CreateWindow( _T("STATIC"), _T("Author:"), - WS_CHILD | WS_VISIBLE | SS_RIGHT , - 0, 10 + 2*( 15 + 10 ), 60, 15, - hwnd, NULL, hInst, NULL); - - author_text = CreateWindow( _T("EDIT"), - _FROMMB(playlist_ItemGetInfo( p_item, _("General"), _("Author") )), - WS_CHILD | WS_VISIBLE | WS_BORDER | SS_LEFT | ES_AUTOHSCROLL, - 70, 10 + 2*( 15 + 10 ) - 3, rcClient.right - 70 - 10, 15 + 6, - hwnd, NULL, hInst, NULL ); - /* CheckBox */ checkbox_label = CreateWindow( _T("STATIC"), _T("Item Enabled:"), WS_CHILD | WS_VISIBLE | SS_RIGHT , @@ -290,10 +278,6 @@ void ItemInfoDialog::OnOk() if( p_item->input.psz_uri ) free( p_item->input.psz_uri ); p_item->input.psz_uri = strdup( _TOMB(psz_uri) ); - TCHAR psz_author[MAX_PATH]; - Edit_GetText( author_text, psz_author, MAX_PATH ); - playlist_ItemAddInfo( p_item, "General", "Author", _TOMB(psz_author) ); - vlc_bool_t b_old_enabled = p_item->b_enabled; playlist_t * p_playlist = (playlist_t *) diff --git a/modules/gui/wince/wince.h b/modules/gui/wince/wince.h index 38dc261cc3..67e29b77d3 100644 --- a/modules/gui/wince/wince.h +++ b/modules/gui/wince/wince.h @@ -253,9 +253,6 @@ protected: HWND name_label; HWND name_text; - HWND author_label; - HWND author_text; - HWND checkbox_label; HWND enabled_checkbox; diff --git a/modules/gui/wxwindows/iteminfo.cpp b/modules/gui/wxwindows/iteminfo.cpp index 8c12d31b16..b77371b5a9 100644 --- a/modules/gui/wxwindows/iteminfo.cpp +++ b/modules/gui/wxwindows/iteminfo.cpp @@ -51,7 +51,6 @@ enum { Uri_Event, Name_Event, - Author_Event, Enabled_Event, }; @@ -155,19 +154,6 @@ wxPanel *ItemInfoDialog::InfoPanel( wxWindow* parent ) sizer->Add( name_label, 0 , wxALIGN_LEFT |wxALL , 5 ); sizer->Add( name_text, 1 , wxALIGN_RIGHT | wxALL , 5 ); - /* Author Textbox */ - wxStaticText *author_label = - new wxStaticText( info_panel, -1, wxU(_("Author")) ); - - author_text = new wxTextCtrl( info_panel, Uri_Event, - wxU( playlist_ItemGetInfo( p_item, - _("General"), _("Author") ) ), - wxDefaultPosition, wxSize( 300, -1 ), - wxTE_PROCESS_ENTER); - - sizer->Add( author_label, 0 , wxALIGN_LEFT | wxALL , 5 ); - sizer->Add( author_text, 1 , wxALIGN_RIGHT | wxALL , 5); - /* Treeview */ info_tree = new wxTreeCtrl( info_panel, -1, wxDefaultPosition, wxSize(220,200), @@ -221,8 +207,6 @@ void ItemInfoDialog::OnOk( wxCommandEvent& WXUNUSED(event) ) vlc_mutex_lock( &p_item->input.lock ); p_item->input.psz_name = strdup( name_text->GetLineText(0).mb_str() ); p_item->input.psz_uri = strdup( uri_text->GetLineText(0).mb_str() ); - playlist_ItemAddInfo( p_item,"General","Author", - author_text->GetLineText(0).mb_str() ); vlc_mutex_unlock( &p_item->input.lock ); EndModal( wxID_OK ); } diff --git a/modules/gui/wxwindows/playlist.cpp b/modules/gui/wxwindows/playlist.cpp index 9da7b9bc67..2069eb83af 100644 --- a/modules/gui/wxwindows/playlist.cpp +++ b/modules/gui/wxwindows/playlist.cpp @@ -517,7 +517,8 @@ void Playlist::UpdateTreeItem( playlist_t *p_playlist, wxTreeItemId item ) wxString msg; wxString duration = wxU( "" ); - char *psz_author = playlist_ItemGetInfo( p_item, _("Meta-information"), + char *psz_author = vlc_input_item_GetInfo( &p_item->input, + _("Meta-information"), _("Artist")); char psz_duration[MSTRTIME_MAX_SIZE]; mtime_t dur = p_item->input.i_duration; @@ -526,7 +527,7 @@ void Playlist::UpdateTreeItem( playlist_t *p_playlist, wxTreeItemId item ) { secstotimestr( psz_duration, dur/1000000 ); duration.Append( wxU( " ( " ) + wxString( wxU( psz_duration ) ) + - wxU( ")" ) ); + wxU( " )" ) ); } if( !strcmp( psz_author, "" ) || p_item->input.b_fixed_name == VLC_TRUE ) diff --git a/modules/gui/wxwindows/wxwindows.h b/modules/gui/wxwindows/wxwindows.h index 796726e719..97c04e63d5 100644 --- a/modules/gui/wxwindows/wxwindows.h +++ b/modules/gui/wxwindows/wxwindows.h @@ -940,7 +940,6 @@ private: wxTextCtrl *uri_text; wxTextCtrl *name_text; - wxTextCtrl *author_text; wxTreeCtrl *info_tree; wxTreeItemId info_root; diff --git a/src/input/control.c b/src/input/control.c index faade0bd2a..4b3cec6e83 100644 --- a/src/input/control.c +++ b/src/input/control.c @@ -129,6 +129,8 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) case INPUT_ADD_INFO: { + /* FIXME : Impossible to use vlc_input_item_AddInfo because of + * the ... problem ? */ char *psz_cat = (char *)va_arg( args, char * ); char *psz_name = (char *)va_arg( args, char * ); char *psz_format = (char *)va_arg( args, char * ); @@ -204,32 +206,8 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) int i; *ppsz_value = NULL; - vlc_mutex_lock( &p_input->input.p_item->lock ); - for( i = 0; i < p_input->input.p_item->i_categories; i++ ) - { - if( !strcmp( p_input->input.p_item->pp_categories[i]->psz_name, - psz_cat ) ) break; - } - - if( i != p_input->input.p_item->i_categories ) - { - info_category_t *p_cat; - p_cat = p_input->input.p_item->pp_categories[i]; - - for( i = 0; i < p_cat->i_infos; i++ ) - { - if( !strcmp( p_cat->pp_infos[i]->psz_name, psz_name ) ) - { - if( p_cat->pp_infos[i]->psz_value ) - { - *ppsz_value =strdup(p_cat->pp_infos[i]->psz_value); - i_ret = VLC_SUCCESS; - } - break; - } - } - } - vlc_mutex_unlock( &p_input->input.p_item->lock ); + *ppsz_value = vlc_input_item_GetInfo( p_input->input.p_item, + psz_cat, psz_name ); return i_ret; } @@ -442,7 +420,7 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args ) int i; vlc_mutex_lock( &p_input->input.p_item->lock ); - /* Check if option already exists */ + /* Check if option already exists */ for( i = 0; i < p_input->input.p_item->i_options; i++ ) { if( !strncmp( p_input->input.p_item->ppsz_options[i], diff --git a/src/input/input.c b/src/input/input.c index d504db7f16..4c5bd6370e 100644 --- a/src/input/input.c +++ b/src/input/input.c @@ -2442,3 +2442,104 @@ static void MRLSections( input_thread_t *p_input, char *psz_source, psz_source, *pi_title_start, *pi_chapter_start, *pi_title_end, *pi_chapter_end ); } + + +/*********************************************************************** + * Info management functions + ***********************************************************************/ +char *vlc_input_item_GetInfo( input_item_t *p_i, + const char *psz_cat, + const char *psz_name ) +{ + int i,j; + + vlc_mutex_lock( &p_i->lock ); + + for( i = 0 ; i< p_i->i_categories ; i++ ) + { + info_category_t *p_cat = p_i->pp_categories[i]; + + if( !psz_cat || strcmp( p_cat->psz_name, psz_cat ) ) + continue; + + for( j = 0; j < p_cat->i_infos ; j++ ) + { + if( !strcmp( p_cat->pp_infos[j]->psz_name, psz_name ) ) + { + vlc_mutex_unlock( &p_i->lock ); + return strdup( p_cat->pp_infos[j]->psz_value ); + } + } + } + vlc_mutex_unlock( &p_i->lock ); + return strdup( "" ); +} + +int vlc_input_item_AddInfo( input_item_t *p_i, + const char *psz_cat, + const char *psz_name, + const char *psz_format, ... ) +{ + va_list args; + int i; + info_t *p_info = NULL; + info_category_t *p_cat = NULL ; + + vlc_mutex_lock( &p_i->lock ); + + for( i = 0 ; i < p_i->i_categories ; i ++ ) + { + if( !strcmp( p_i->pp_categories[i]->psz_name, psz_cat ) ) + { + p_cat = p_i->pp_categories[i]; + break; + } + } + if( !p_cat ) + { + if( ( p_cat = (info_category_t *)malloc( + sizeof( info_category_t ) ) ) == NULL ) + { + vlc_mutex_unlock( &p_i->lock ); + return VLC_EGENERIC; + } + p_cat->psz_name = strdup( psz_cat ); + p_cat->i_infos = 0; + p_cat->pp_infos = 0; + INSERT_ELEM( p_i->pp_categories, p_i->i_categories, p_i->i_categories, + p_cat ); + } + + for( i = 0; i< p_cat->i_infos; i++ ) + { + if( !strcmp( p_cat->pp_infos[i]->psz_name, psz_name ) ) + { + p_info = p_cat->pp_infos[i]; + break; + } + } + + if( !p_info ) + { + if( ( p_info = (info_t *)malloc( sizeof( info_t ) ) ) == NULL ) + { + vlc_mutex_unlock( &p_i->lock ); + return VLC_EGENERIC; + } + INSERT_ELEM( p_cat->pp_infos, p_cat->i_infos, p_cat->i_infos, p_info ); + p_info->psz_name = strdup( psz_name ); + } + else + { + if( p_info->psz_value ) free( p_info->psz_value ); + } + + va_start( args, psz_format ); + vasprintf( &p_info->psz_value, psz_format, args); + va_end( args ); + + vlc_mutex_unlock( &p_i->lock ); + + return VLC_SUCCESS; +} + diff --git a/src/playlist/info.c b/src/playlist/info.c deleted file mode 100644 index 88012c441e..0000000000 --- a/src/playlist/info.c +++ /dev/null @@ -1,251 +0,0 @@ -/***************************************************************************** - * info.c : Playlist info management - ***************************************************************************** - * Copyright (C) 1999-2004 VideoLAN - * $Id$ - * - * Authors: Clément Stenac - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. - *****************************************************************************/ -#include /* free(), strtol() */ -#include /* sprintf() */ -#include /* strerror() */ - -#include -#include - -#include "vlc_playlist.h" - -/** - * Get one special info - * Must be entered with playlist lock - * - * \param p_playlist the playlist to get the info from - * \param i_pos position of the item on - * which we want the info ( -1 for current ) - * \param psz_cat the category in which the info is stored - * \param psz_name the name of the info - * \return the info value if any, an empty string else - */ -char * playlist_GetInfo( playlist_t *p_playlist, int i_pos, - const char *psz_cat, const char *psz_name ) -{ - playlist_item_t *p_item; - char *psz_buffer; - - /* Sanity check */ - if( p_playlist == NULL) return strdup(""); - - p_item = playlist_ItemGetByPos( p_playlist, i_pos ); - if( !p_item ) return strdup(""); - - vlc_mutex_lock( &p_item->input.lock ); - psz_buffer = playlist_ItemGetInfo( p_item , psz_cat, psz_name ); - vlc_mutex_unlock( &p_item->input.lock ); - - return psz_buffer; -} - -/** - * Get one special info, from an item (no need for p_playlist) - * - * \param p_item the item on which we want the info - * \param psz_cat the category in which the info is stored - * \param psz_name the name of the info - * \return the info value if any, an empty string else -*/ -char * playlist_ItemGetInfo( playlist_item_t *p_item, - const char * psz_cat, const char *psz_name ) -{ - int i, j; - - for( i = 0 ; i< p_item->input.i_categories ; i++ ) - { - info_category_t *p_category = p_item->input.pp_categories[i]; - - if( !psz_cat || strcmp( p_category->psz_name , psz_cat ) ) continue; - - for( j = 0 ; j< p_category->i_infos ; j++ ) - { - if( !strcmp( p_category->pp_infos[j]->psz_name, psz_name) ) - { - return strdup( p_category->pp_infos[j]->psz_value ); - } - } - } - return strdup(""); -} - -/** - * Get one info category (no p_playlist). Create it if it does not exist - * - * \param p_item the playlist item to get the category from - * \param psz_cat the category we want - * \return the info category. - */ -info_category_t * playlist_ItemGetCategory( playlist_item_t *p_item, - const char *psz_cat ) -{ - int i; - /* Search the category */ - for( i = 0 ; i< p_item->input.i_categories ; i++ ) - { - if( !strncmp( p_item->input.pp_categories[i]->psz_name, psz_cat, - strlen(psz_cat) ) ) - { - return p_item->input.pp_categories[i]; - } - } - - /* We did not find the category, create it */ - return playlist_ItemCreateCategory( p_item, psz_cat ); -} - -/** - * Create one info category for an item ( no p_playlist required ) - * - * \param p_item the item to create category for - * \param psz_cat the category we want to create - * \return the info category. - */ -info_category_t * playlist_ItemCreateCategory( playlist_item_t *p_item, - const char *psz_cat ) -{ - info_category_t *p_cat; - int i; - - for( i = 0 ; i< p_item->input.i_categories ; i++) - { - if( !strcmp( p_item->input.pp_categories[i]->psz_name,psz_cat ) ) - { - return p_item->input.pp_categories[i]; - } - } - - if( ( p_cat = malloc( sizeof( info_category_t) ) ) == NULL ) - { - return NULL; - } - - p_cat->psz_name = strdup( psz_cat); - p_cat->i_infos = 0; - p_cat->pp_infos = NULL; - - INSERT_ELEM( p_item->input.pp_categories, p_item->input.i_categories, - p_item->input.i_categories, p_cat ); - - return p_cat; -} - -/** - * Add an info item - * - * \param p_playlist the playlist - * \param i_item the position of the item on which we want - * the info ( -1 for current ) - * \param psz_cat the category we want to put the info into - * (gets created if needed) - * \param psz_name the name of the info - * \param psz_format printf-style info - * \return VLC_SUCCESS - */ -int playlist_AddInfo( playlist_t *p_playlist, int i_item, - const char * psz_cat, const char *psz_name, - const char * psz_format, ...) -{ - va_list args; - int i_ret; - playlist_item_t *p_item; - char *psz_value; - - /* Sanity check */ - if( p_playlist == NULL) return VLC_EGENERIC; - - p_item = playlist_ItemGetByPos( p_playlist, i_item ); - if( !p_item ) return VLC_ENOOBJ; - - va_start( args, psz_format ); - vasprintf( &psz_value, psz_format, args ); - va_end( args ); - - vlc_mutex_lock( &p_item->input.lock ); - i_ret = playlist_ItemAddInfo( p_item, psz_cat, psz_name, psz_value ); - vlc_mutex_unlock( &p_item->input.lock ); - - free( psz_value ); - return i_ret; -} - -/** - * Add info to one item ( no need for p_playlist ) - * - * \param p_item the item for which we add the info - * \param psz_cat the category in which the info is stored - * \param psz_name the name of the info - * \param psz_format printf-style info - * \return VLC_SUCCESS on success -*/ -int playlist_ItemAddInfo( playlist_item_t *p_item, - const char *psz_cat, const char *psz_name, - const char *psz_format, ... ) -{ - va_list args; - int i; - int i_new = VLC_TRUE; - info_t *p_info = NULL; - info_category_t *p_cat; - - /* Find or create the category */ - p_cat = playlist_ItemGetCategory( p_item, psz_cat ); - if( p_cat == NULL) return VLC_EGENERIC; - - for( i = 0 ; i< p_cat->i_infos ; i++) - { - if( !strcmp( p_cat->pp_infos[i]->psz_name, psz_name ) ) - { - /* This info is not new */ - p_info = p_cat->pp_infos[i]; - i_new = VLC_FALSE; - break; - } - } - - /* New info, create it */ - if( p_info == NULL ) - { - if( ( p_info = malloc( sizeof( info_t) ) ) == NULL ) - { - return VLC_EGENERIC; - } - p_info->psz_name = strdup( psz_name); - } - else - { - if( p_info->psz_value != NULL ) free( p_info->psz_value ) ; - } - - va_start( args, psz_format ); - vasprintf( &p_info->psz_value, psz_format, args ); - va_end( args ); - - /* If this is new, insert it */ - if( i_new == VLC_TRUE ) - { - INSERT_ELEM( p_cat->pp_infos, p_cat->i_infos, p_cat->i_infos, p_info ); - } - - return VLC_SUCCESS; -} diff --git a/src/playlist/item.c b/src/playlist/item.c index 852b1f3b0b..0c3ad26b86 100644 --- a/src/playlist/item.c +++ b/src/playlist/item.c @@ -27,6 +27,7 @@ #include #include +#include "vlc_input.h" #include "vlc_playlist.h" static void GuessType( input_item_t *p_item); @@ -87,8 +88,6 @@ playlist_item_t * playlist_ItemNewWithType( vlc_object_t *p_obj, if( p_item->input.i_type == ITEM_TYPE_UNKNOWN ) GuessType( &p_item->input ); - playlist_ItemCreateCategory( p_item, _("General") ); - return p_item; } @@ -276,8 +275,8 @@ int playlist_ItemSetDuration( playlist_item_t *p_item, mtime_t i_duration ) { memcpy( psz_buffer, "--:--:--", sizeof("--:--:--") ); } - playlist_ItemAddInfo( p_item, _("General") , _("Duration"), - "%s", psz_buffer ); + vlc_input_item_AddInfo( &p_item->input, _("General") , _("Duration"), + "%s", psz_buffer ); return VLC_SUCCESS; } diff --git a/src/playlist/sort.c b/src/playlist/sort.c index 72e1d97627..186ca255b4 100644 --- a/src/playlist/sort.c +++ b/src/playlist/sort.c @@ -237,7 +237,7 @@ int playlist_NodeGroup( playlist_t * p_playlist , int i_view, } else if ( i_mode == SORT_AUTHOR ) { - psz_search = playlist_ItemGetInfo( pp_items[i], + psz_search = vlc_input_item_GetInfo( &pp_items[i]->input, _("Meta-information"), _( "Artist" ) ); } -- 2.39.2