bool playlist_manager::playlist_insert_locations(t_size p_playlist,t_size p_base,const pfc::list_base_const_t<const char*> & p_urls,bool p_select,HWND p_parentwnd) { metadb_handle_list temp; static_api_ptr_t<playlist_incoming_item_filter> api; if (!api->process_locations(p_urls,temp,true,0,0,p_parentwnd)) return false; return playlist_insert_items(p_playlist,p_base,temp,bit_array_val(p_select)) != pfc_infinite; }
bool playlist_manager::playlist_insert_items_filter(t_size p_playlist,t_size p_base,const pfc::list_base_const_t<metadb_handle_ptr> & p_data,bool p_select) { metadb_handle_list temp; static_api_ptr_t<playlist_incoming_item_filter> api; if (!api->filter_items(p_data,temp)) return false; return playlist_insert_items(p_playlist,p_base,temp,bit_array_val(p_select)) != pfc_infinite; }
void node::send_to_playlist(bool replace) { static_api_ptr_t<playlist_manager> api; const bool select = !!cfg_add_items_select; api->activeplaylist_undo_backup(); if (replace) api->activeplaylist_clear(); else if (select) api->activeplaylist_clear_selection(); if (cfg_add_items_use_core_sort) api->activeplaylist_add_items_filter(entries, select); else { sort_entries(); api->activeplaylist_add_items(entries, bit_array_val(select)); } if (select && !replace) { unsigned num = api->activeplaylist_get_item_count(); if (num > 0) { api->activeplaylist_set_focus_item(num - 1); } } }
void playlist_manager::playlist_set_selection_single(t_size p_playlist,t_size p_item,bool p_state) { playlist_set_selection(p_playlist,bit_array_one(p_item),bit_array_val(p_state)); }
void metadb_io::hint_async(metadb_handle_ptr p_item,const file_info & p_info,const t_filestats & p_stats,bool p_fresh) { const file_info * blargh = &p_info; hint_multi_async(pfc::list_single_ref_t<metadb_handle_ptr>(p_item),pfc::list_single_ref_t<const file_info *>(blargh),pfc::list_single_ref_t<t_filestats>(p_stats),bit_array_val(p_fresh)); }