playlist_manager Class Reference

#include <playlist.h>

Inheritance diagram for playlist_manager:
service_base playlist_manager_v2 playlist_manager_v3 playlist_manager_v4

List of all members.

Classes

class  enum_items_callback
 Callback interface for playlist enumeration methods. More...

Public Types

typedef playlist_manager t_interface_entrypoint
typedef playlist_manager t_interface
typedef service_base t_interface_parent

Public Member Functions

virtual t_size get_playlist_count ()=0
 Retrieves number of playlists.
virtual t_size get_active_playlist ()=0
 Retrieves index of active playlist; infinite if no playlist is active.
virtual void set_active_playlist (t_size p_index)=0
 Sets active playlist (infinite to set no active playlist).
virtual t_size get_playing_playlist ()=0
 Retrieves playlist from which items to be played are taken from.
virtual void set_playing_playlist (t_size p_index)=0
 Sets playlist from which items to be played are taken from.
virtual bool remove_playlists (const bit_array &p_mask)=0
 Removes playlists according to specified mask. See also: bit_array.
virtual t_size create_playlist (const char *p_name, t_size p_name_length, t_size p_index)=0
virtual bool reorder (const t_size *p_order, t_size p_count)=0
virtual t_size playlist_get_item_count (t_size p_playlist)=0
 Retrieves number of items on specified playlist.
virtual void playlist_enum_items (t_size p_playlist, enum_items_callback &p_callback, const bit_array &p_mask)=0
 Enumerates contents of specified playlist.
virtual t_size playlist_get_focus_item (t_size p_playlist)=0
 Retrieves index of focus item on specified playlist; returns infinite when no item has focus.
virtual bool playlist_get_name (t_size p_playlist, pfc::string_base &p_out)=0
 Retrieves name of specified playlist. Should never fail unless the parameters are invalid.
virtual bool playlist_reorder_items (t_size p_playlist, const t_size *p_order, t_size p_count)=0
 Reorders items in specified playlist according to specified permutation.
virtual void playlist_set_selection (t_size p_playlist, const bit_array &p_affected, const bit_array &p_status)=0
virtual bool playlist_remove_items (t_size p_playlist, const bit_array &mask)=0
 Removes specified items from specified playlist. Returns true on success or false on failure (playlist locked).
virtual bool playlist_replace_item (t_size p_playlist, t_size p_item, const metadb_handle_ptr &p_new_item)=0
 Replaces specified item on specified playlist. Returns true on success or false on failure (playlist locked).
virtual void playlist_set_focus_item (t_size p_playlist, t_size p_item)=0
 Sets index of focus item on specified playlist; use infinite to set no focus item.
virtual t_size playlist_insert_items (t_size p_playlist, t_size p_base, const pfc::list_base_const_t< metadb_handle_ptr > &data, const bit_array &p_selection)=0
 Inserts new items into specified playlist, at specified position.
virtual void playlist_ensure_visible (t_size p_playlist, t_size p_item)=0
 Tells playlist renderers to make sure that specified item is visible.
virtual bool playlist_rename (t_size p_index, const char *p_name, t_size p_name_length)=0
virtual void playlist_undo_backup (t_size p_playlist)=0
 Creates an undo restore point for specified playlist.
virtual bool playlist_undo_restore (t_size p_playlist)=0
virtual bool playlist_redo_restore (t_size p_playlist)=0
virtual bool playlist_is_undo_available (t_size p_playlist)=0
 Returns whether an undo restore point is available for specified playlist.
virtual bool playlist_is_redo_available (t_size p_playlist)=0
 Returns whether a redo restore point is available for specified playlist.
virtual void playlist_item_format_title (t_size p_playlist, t_size p_item, titleformat_hook *p_hook, pfc::string_base &p_out, const service_ptr_t< titleformat_object > &p_script, titleformat_text_filter *p_filter, playback_control::t_display_level p_playback_info_level)=0
virtual bool get_playing_item_location (t_size *p_playlist, t_size *p_index)=0
virtual bool playlist_sort_by_format (t_size p_playlist, const char *p_pattern, bool p_sel_only)=0
virtual void on_files_deleted_sorted (const pfc::list_base_const_t< const char * > &p_items)=0
 For internal use only; p_items must be sorted by metadb::path_compare; use file_operation_callback static methods instead of calling this directly.
virtual void on_files_moved_sorted (const pfc::list_base_const_t< const char * > &p_from, const pfc::list_base_const_t< const char * > &p_to)=0
 For internal use only; p_from must be sorted by metadb::path_compare; use file_operation_callback static methods instead of calling this directly.
virtual bool playlist_lock_install (t_size p_playlist, const service_ptr_t< playlist_lock > &p_lock)=0
virtual bool playlist_lock_uninstall (t_size p_playlist, const service_ptr_t< playlist_lock > &p_lock)=0
virtual bool playlist_lock_is_present (t_size p_playlist)=0
virtual bool playlist_lock_query_name (t_size p_playlist, pfc::string_base &p_out)=0
virtual bool playlist_lock_show_ui (t_size p_playlist)=0
virtual t_uint32 playlist_lock_get_filter_mask (t_size p_playlist)=0
virtual t_size playback_order_get_count ()=0
 Retrieves number of available playback order modes.
virtual const char * playback_order_get_name (t_size p_index)=0
virtual GUID playback_order_get_guid (t_size p_index)=0
virtual t_size playback_order_get_active ()=0
 Retrieves index of active playback order mode.
virtual void playback_order_set_active (t_size p_index)=0
 Sets index of active playback order mode.
virtual void queue_remove_mask (bit_array const &p_mask)=0
virtual void queue_add_item_playlist (t_size p_playlist, t_size p_item)=0
virtual void queue_add_item (metadb_handle_ptr p_item)=0
virtual t_size queue_get_count ()=0
virtual void queue_get_contents (pfc::list_base_t< t_playback_queue_item > &p_out)=0
virtual t_size queue_find_index (t_playback_queue_item const &p_item)=0
 Returns index (0-based) on success, infinite on failure (item not in queue).
virtual void register_callback (class playlist_callback *p_callback, unsigned p_flags)=0
virtual void register_callback (class playlist_callback_single *p_callback, unsigned p_flags)=0
virtual void unregister_callback (class playlist_callback *p_callback)=0
 Unregisters a playlist callback (playlist_callback version).
virtual void unregister_callback (class playlist_callback_single *p_callback)=0
 Unregisters a playlist callback (playlist_callback_single version).
virtual void modify_callback (class playlist_callback *p_callback, unsigned p_flags)=0
 Modifies flags indicating which calback methods are requested (playlist_callback version).
virtual void modify_callback (class playlist_callback_single *p_callback, unsigned p_flags)=0
 Modifies flags indicating which calback methods are requested (playlist_callback_single version).
virtual bool playlist_execute_default_action (t_size p_playlist, t_size p_item)=0
 Executes default doubleclick/enter action for specified item on specified playlist (starts playing the item unless overridden by a lock to do something else).
void queue_flush ()
 Helper; removes all items from the playback queue.
bool queue_is_active ()
 Helper; returns whether there are items in the playback queue.
bool highlight_playing_item ()
 Helper; highlights currently playing item; returns true on success or false on failure (not playing or currently played item has been removed from playlist since playback started).
bool remove_playlist (t_size p_playlist)
 Helper; removes single playlist of specified index.
bool remove_playlist_switch (t_size p_playlist)
 Helper; removes single playlist of specified index, and switches to another playlist when possible.
bool playlist_is_item_selected (t_size p_playlist, t_size p_item)
 Helper; returns whether specified item on specified playlist is selected or not.
bool playlist_get_item_handle (metadb_handle_ptr &p_out, t_size p_playlist, t_size p_item)
 Helper; retrieves metadb_handle of the specified playlist item. Returns true on success, false on failure (invalid parameters).
metadb_handle_ptr playlist_get_item_handle (t_size playlist, t_size item)
 Helper; retrieves metadb_handle of the specified playlist item; throws pfc::exception_invalid_params() on failure.
bool playlist_move_selection (t_size p_playlist, int p_delta)
void playlist_get_selection_mask (t_size p_playlist, bit_array_var &out)
 Retrieves selection map of specific playlist, using bit_array_var interface.
void playlist_get_items (t_size p_playlist, pfc::list_base_t< metadb_handle_ptr > &out, const bit_array &p_mask)
void playlist_get_all_items (t_size p_playlist, pfc::list_base_t< metadb_handle_ptr > &out)
void playlist_get_selected_items (t_size p_playlist, pfc::list_base_t< metadb_handle_ptr > &out)
void playlist_clear (t_size p_playlist)
 Clears contents of specified playlist (removes all items from it).
bool playlist_add_items (t_size playlist, const pfc::list_base_const_t< metadb_handle_ptr > &data, const bit_array &p_selection)
void playlist_clear_selection (t_size p_playlist)
void playlist_remove_selection (t_size p_playlist, bool p_crop=false)
bool playlist_update_content (t_size playlist, metadb_handle_list_cref content, bool bUndoBackup)
t_size activeplaylist_get_item_count ()
void activeplaylist_enum_items (enum_items_callback &p_callback, const bit_array &p_mask)
t_size activeplaylist_get_focus_item ()
bool activeplaylist_get_name (pfc::string_base &p_out)
bool activeplaylist_reorder_items (const t_size *order, t_size count)
void activeplaylist_set_selection (const bit_array &affected, const bit_array &status)
bool activeplaylist_remove_items (const bit_array &mask)
bool activeplaylist_replace_item (t_size p_item, const metadb_handle_ptr &p_new_item)
void activeplaylist_set_focus_item (t_size p_item)
t_size activeplaylist_insert_items (t_size p_base, const pfc::list_base_const_t< metadb_handle_ptr > &data, const bit_array &p_selection)
void activeplaylist_ensure_visible (t_size p_item)
bool activeplaylist_rename (const char *p_name, t_size p_name_len)
void activeplaylist_undo_backup ()
bool activeplaylist_undo_restore ()
bool activeplaylist_redo_restore ()
bool activeplaylist_is_item_selected (t_size p_item)
bool activeplaylist_get_item_handle (metadb_handle_ptr &item, t_size p_item)
metadb_handle_ptr activeplaylist_get_item_handle (t_size p_item)
void activeplaylist_move_selection (int p_delta)
void activeplaylist_get_selection_mask (bit_array_var &out)
void activeplaylist_get_items (pfc::list_base_t< metadb_handle_ptr > &out, const bit_array &p_mask)
void activeplaylist_get_all_items (pfc::list_base_t< metadb_handle_ptr > &out)
void activeplaylist_get_selected_items (pfc::list_base_t< metadb_handle_ptr > &out)
void activeplaylist_clear ()
bool activeplaylist_add_items (const pfc::list_base_const_t< metadb_handle_ptr > &data, const bit_array &p_selection)
bool 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)
bool activeplaylist_insert_items_filter (t_size p_base, const pfc::list_base_const_t< metadb_handle_ptr > &p_data, bool p_select)
bool 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)
bool activeplaylist_insert_locations (t_size p_base, const pfc::list_base_const_t< const char * > &p_urls, bool p_select, HWND p_parentwnd)
bool playlist_add_items_filter (t_size p_playlist, const pfc::list_base_const_t< metadb_handle_ptr > &p_data, bool p_select)
bool activeplaylist_add_items_filter (const pfc::list_base_const_t< metadb_handle_ptr > &p_data, bool p_select)
bool playlist_add_locations (t_size p_playlist, const pfc::list_base_const_t< const char * > &p_urls, bool p_select, HWND p_parentwnd)
bool activeplaylist_add_locations (const pfc::list_base_const_t< const char * > &p_urls, bool p_select, HWND p_parentwnd)
void reset_playing_playlist ()
void activeplaylist_clear_selection ()
void activeplaylist_remove_selection (bool p_crop=false)
void activeplaylist_item_format_title (t_size p_item, titleformat_hook *p_hook, pfc::string_base &out, const service_ptr_t< titleformat_object > &p_script, titleformat_text_filter *p_filter, play_control::t_display_level p_playback_info_level)
void playlist_set_selection_single (t_size p_playlist, t_size p_item, bool p_state)
void activeplaylist_set_selection_single (t_size p_item, bool p_state)
t_size playlist_get_selection_count (t_size p_playlist, t_size p_max)
t_size activeplaylist_get_selection_count (t_size p_max)
bool playlist_get_focus_item_handle (metadb_handle_ptr &p_item, t_size p_playlist)
bool activeplaylist_get_focus_item_handle (metadb_handle_ptr &item)
t_size find_playlist (const char *p_name, t_size p_name_length=~0)
t_size find_or_create_playlist (const char *p_name, t_size p_name_length=~0)
t_size find_or_create_playlist_unlocked (const char *p_name, t_size p_name_length=~0)
t_size create_playlist_autoname (t_size p_index=~0)
bool activeplaylist_sort_by_format (const char *spec, bool p_sel_only)
t_uint32 activeplaylist_lock_get_filter_mask ()
bool activeplaylist_is_undo_available ()
bool activeplaylist_is_redo_available ()
bool activeplaylist_execute_default_action (t_size p_item)
void remove_items_from_all_playlists (const pfc::list_base_const_t< metadb_handle_ptr > &p_data)
void active_playlist_fix ()
bool get_all_items (pfc::list_base_t< metadb_handle_ptr > &out)
void playlist_activate_delta (int p_delta)
void playlist_activate_next ()
void playlist_activate_previous ()
t_size playlist_get_selected_count (t_size p_playlist, bit_array const &p_mask)
t_size activeplaylist_get_selected_count (bit_array const &p_mask)
bool playlist_find_item (t_size p_playlist, metadb_handle_ptr p_item, t_size &p_result)
bool playlist_find_item_selected (t_size p_playlist, metadb_handle_ptr p_item, t_size &p_result)
t_size playlist_set_focus_by_handle (t_size p_playlist, metadb_handle_ptr p_item)
bool activeplaylist_find_item (metadb_handle_ptr p_item, t_size &p_result)
t_size activeplaylist_set_focus_by_handle (metadb_handle_ptr p_item)

Static Public Member Functions

static void g_make_selection_move_permutation (t_size *p_output, t_size p_count, const bit_array &p_selection, int p_delta)

Static Public Attributes

static const GUID class_guid

Detailed Description

This service provides methods for all sorts of playlist interaction.
All playlist_manager methods are valid only from main app thread.
Usage: static_api_ptr_t<playlist_manager>.


Member Typedef Documentation

Reimplemented from service_base.

Reimplemented in playlist_manager_v2.

Reimplemented in playlist_manager_v2.


Member Function Documentation

void playlist_manager::active_playlist_fix (  ) 
bool playlist_manager::activeplaylist_add_items ( const pfc::list_base_const_t< metadb_handle_ptr > &  data,
const bit_array p_selection 
)
bool playlist_manager::activeplaylist_add_items_filter ( const pfc::list_base_const_t< metadb_handle_ptr > &  p_data,
bool  p_select 
)
bool playlist_manager::activeplaylist_add_locations ( const pfc::list_base_const_t< const char * > &  p_urls,
bool  p_select,
HWND  p_parentwnd 
)
void playlist_manager::activeplaylist_clear (  ) 
void playlist_manager::activeplaylist_clear_selection (  ) 
void playlist_manager::activeplaylist_ensure_visible ( t_size  p_item  ) 
void playlist_manager::activeplaylist_enum_items ( enum_items_callback p_callback,
const bit_array p_mask 
)
bool playlist_manager::activeplaylist_execute_default_action ( t_size  p_item  ) 
bool playlist_manager::activeplaylist_find_item ( metadb_handle_ptr  p_item,
t_size p_result 
)
void playlist_manager::activeplaylist_get_all_items ( pfc::list_base_t< metadb_handle_ptr > &  out  ) 
t_size playlist_manager::activeplaylist_get_focus_item (  ) 
bool playlist_manager::activeplaylist_get_focus_item_handle ( metadb_handle_ptr item  ) 
t_size playlist_manager::activeplaylist_get_item_count (  ) 
metadb_handle_ptr playlist_manager::activeplaylist_get_item_handle ( t_size  p_item  ) 
bool playlist_manager::activeplaylist_get_item_handle ( metadb_handle_ptr item,
t_size  p_item 
)
void playlist_manager::activeplaylist_get_items ( pfc::list_base_t< metadb_handle_ptr > &  out,
const bit_array p_mask 
)
bool playlist_manager::activeplaylist_get_name ( pfc::string_base p_out  ) 
t_size playlist_manager::activeplaylist_get_selected_count ( bit_array const &  p_mask  )  [inline]
void playlist_manager::activeplaylist_get_selected_items ( pfc::list_base_t< metadb_handle_ptr > &  out  ) 
t_size playlist_manager::activeplaylist_get_selection_count ( t_size  p_max  ) 
void playlist_manager::activeplaylist_get_selection_mask ( bit_array_var out  ) 
t_size playlist_manager::activeplaylist_insert_items ( t_size  p_base,
const pfc::list_base_const_t< metadb_handle_ptr > &  data,
const bit_array p_selection 
)
bool playlist_manager::activeplaylist_insert_items_filter ( t_size  p_base,
const pfc::list_base_const_t< metadb_handle_ptr > &  p_data,
bool  p_select 
)
bool playlist_manager::activeplaylist_insert_locations ( t_size  p_base,
const pfc::list_base_const_t< const char * > &  p_urls,
bool  p_select,
HWND  p_parentwnd 
)
bool playlist_manager::activeplaylist_is_item_selected ( t_size  p_item  ) 
bool playlist_manager::activeplaylist_is_redo_available (  ) 
bool playlist_manager::activeplaylist_is_undo_available (  ) 
void playlist_manager::activeplaylist_item_format_title ( t_size  p_item,
titleformat_hook p_hook,
pfc::string_base out,
const service_ptr_t< titleformat_object > &  p_script,
titleformat_text_filter p_filter,
play_control::t_display_level  p_playback_info_level 
)
t_uint32 playlist_manager::activeplaylist_lock_get_filter_mask (  ) 
void playlist_manager::activeplaylist_move_selection ( int  p_delta  ) 
bool playlist_manager::activeplaylist_redo_restore (  ) 
bool playlist_manager::activeplaylist_remove_items ( const bit_array mask  ) 
void playlist_manager::activeplaylist_remove_selection ( bool  p_crop = false  ) 
bool playlist_manager::activeplaylist_rename ( const char *  p_name,
t_size  p_name_len 
)
bool playlist_manager::activeplaylist_reorder_items ( const t_size order,
t_size  count 
)
bool playlist_manager::activeplaylist_replace_item ( t_size  p_item,
const metadb_handle_ptr p_new_item 
)
t_size playlist_manager::activeplaylist_set_focus_by_handle ( metadb_handle_ptr  p_item  ) 
void playlist_manager::activeplaylist_set_focus_item ( t_size  p_item  ) 
void playlist_manager::activeplaylist_set_selection ( const bit_array affected,
const bit_array status 
)
void playlist_manager::activeplaylist_set_selection_single ( t_size  p_item,
bool  p_state 
)
bool playlist_manager::activeplaylist_sort_by_format ( const char *  spec,
bool  p_sel_only 
)
void playlist_manager::activeplaylist_undo_backup (  ) 
bool playlist_manager::activeplaylist_undo_restore (  ) 
virtual t_size playlist_manager::create_playlist ( const char *  p_name,
t_size  p_name_length,
t_size  p_index 
) [pure virtual]

Creates a new playlist.

Parameters:
p_name Name of playlist to create; a UTF-8 encoded string.
p_name_length Length limit of playlist name string, in bytes (actual string may be shorter if null terminator is encountered before). Set this to infinite to use plain null-terminated strings.
p_index Index at which to insert new playlist; set to infinite to put it at the end of playlist list.
Returns:
Actual index of newly inserted playlist, infinite on failure (call from invalid context).
t_size playlist_manager::create_playlist_autoname ( t_size  p_index = ~0  ) 
t_size playlist_manager::find_or_create_playlist ( const char *  p_name,
t_size  p_name_length = ~0 
)
t_size playlist_manager::find_or_create_playlist_unlocked ( const char *  p_name,
t_size  p_name_length = ~0 
)
t_size playlist_manager::find_playlist ( const char *  p_name,
t_size  p_name_length = ~0 
)
static void playlist_manager::g_make_selection_move_permutation ( t_size p_output,
t_size  p_count,
const bit_array p_selection,
int  p_delta 
) [static]
virtual t_size playlist_manager::get_active_playlist (  )  [pure virtual]

Retrieves index of active playlist; infinite if no playlist is active.

bool playlist_manager::get_all_items ( pfc::list_base_t< metadb_handle_ptr > &  out  ) 
virtual bool playlist_manager::get_playing_item_location ( t_size p_playlist,
t_size p_index 
) [pure virtual]

Retrieves playlist position of currently playing item.

Parameters:
p_playlist Receives index of playlist containing currently playing item on success.
p_index Receives index of currently playing item in the playlist that contains it on success.
Returns:
True on success, false on failure (not playing or currently played item has been removed from the playlist it was on when starting).
virtual t_size playlist_manager::get_playing_playlist (  )  [pure virtual]

Retrieves playlist from which items to be played are taken from.

virtual t_size playlist_manager::get_playlist_count (  )  [pure virtual]

Retrieves number of playlists.

bool playlist_manager::highlight_playing_item (  ) 

Helper; highlights currently playing item; returns true on success or false on failure (not playing or currently played item has been removed from playlist since playback started).

virtual void playlist_manager::modify_callback ( class playlist_callback_single p_callback,
unsigned  p_flags 
) [pure virtual]

Modifies flags indicating which calback methods are requested (playlist_callback_single version).

virtual void playlist_manager::modify_callback ( class playlist_callback p_callback,
unsigned  p_flags 
) [pure virtual]

Modifies flags indicating which calback methods are requested (playlist_callback version).

virtual void playlist_manager::on_files_deleted_sorted ( const pfc::list_base_const_t< const char * > &  p_items  )  [pure virtual]

For internal use only; p_items must be sorted by metadb::path_compare; use file_operation_callback static methods instead of calling this directly.

virtual void playlist_manager::on_files_moved_sorted ( const pfc::list_base_const_t< const char * > &  p_from,
const pfc::list_base_const_t< const char * > &  p_to 
) [pure virtual]

For internal use only; p_from must be sorted by metadb::path_compare; use file_operation_callback static methods instead of calling this directly.

virtual t_size playlist_manager::playback_order_get_active (  )  [pure virtual]

Retrieves index of active playback order mode.

virtual t_size playlist_manager::playback_order_get_count (  )  [pure virtual]

Retrieves number of available playback order modes.

virtual GUID playlist_manager::playback_order_get_guid ( t_size  p_index  )  [pure virtual]

Retrieves GUID of specified playback order mode. Used for managing playback modes without relying on names.

Parameters:
p_index Index of playback order mode to query, from 0 to playback_order_get_count() return value - 1.
virtual const char* playlist_manager::playback_order_get_name ( t_size  p_index  )  [pure virtual]

Retrieves name of specified playback order move.

Parameters:
p_index Index of playback order mode to query, from 0 to playback_order_get_count() return value - 1.
Returns:
Null-terminated UTF-8 encoded string containing name of the playback order mode. Returned pointer points to statically allocated string and can be safely stored without having to free it later.
virtual void playlist_manager::playback_order_set_active ( t_size  p_index  )  [pure virtual]

Sets index of active playback order mode.

void playlist_manager::playlist_activate_delta ( int  p_delta  ) 
void playlist_manager::playlist_activate_next (  )  [inline]
void playlist_manager::playlist_activate_previous (  )  [inline]
bool playlist_manager::playlist_add_items ( t_size  playlist,
const pfc::list_base_const_t< metadb_handle_ptr > &  data,
const bit_array p_selection 
)
bool playlist_manager::playlist_add_items_filter ( t_size  p_playlist,
const pfc::list_base_const_t< metadb_handle_ptr > &  p_data,
bool  p_select 
)
bool playlist_manager::playlist_add_locations ( t_size  p_playlist,
const pfc::list_base_const_t< const char * > &  p_urls,
bool  p_select,
HWND  p_parentwnd 
)
void playlist_manager::playlist_clear ( t_size  p_playlist  ) 

Clears contents of specified playlist (removes all items from it).

void playlist_manager::playlist_clear_selection ( t_size  p_playlist  ) 
virtual void playlist_manager::playlist_ensure_visible ( t_size  p_playlist,
t_size  p_item 
) [pure virtual]

Tells playlist renderers to make sure that specified item is visible.

virtual void playlist_manager::playlist_enum_items ( t_size  p_playlist,
enum_items_callback p_callback,
const bit_array p_mask 
) [pure virtual]

Enumerates contents of specified playlist.

virtual bool playlist_manager::playlist_execute_default_action ( t_size  p_playlist,
t_size  p_item 
) [pure virtual]

Executes default doubleclick/enter action for specified item on specified playlist (starts playing the item unless overridden by a lock to do something else).

bool playlist_manager::playlist_find_item ( t_size  p_playlist,
metadb_handle_ptr  p_item,
t_size p_result 
)
bool playlist_manager::playlist_find_item_selected ( t_size  p_playlist,
metadb_handle_ptr  p_item,
t_size p_result 
)
void playlist_manager::playlist_get_all_items ( t_size  p_playlist,
pfc::list_base_t< metadb_handle_ptr > &  out 
)
virtual t_size playlist_manager::playlist_get_focus_item ( t_size  p_playlist  )  [pure virtual]

Retrieves index of focus item on specified playlist; returns infinite when no item has focus.

bool playlist_manager::playlist_get_focus_item_handle ( metadb_handle_ptr p_item,
t_size  p_playlist 
)
virtual t_size playlist_manager::playlist_get_item_count ( t_size  p_playlist  )  [pure virtual]

Retrieves number of items on specified playlist.

metadb_handle_ptr playlist_manager::playlist_get_item_handle ( t_size  playlist,
t_size  item 
)

Helper; retrieves metadb_handle of the specified playlist item; throws pfc::exception_invalid_params() on failure.

bool playlist_manager::playlist_get_item_handle ( metadb_handle_ptr p_out,
t_size  p_playlist,
t_size  p_item 
)

Helper; retrieves metadb_handle of the specified playlist item. Returns true on success, false on failure (invalid parameters).

void playlist_manager::playlist_get_items ( t_size  p_playlist,
pfc::list_base_t< metadb_handle_ptr > &  out,
const bit_array p_mask 
)
virtual bool playlist_manager::playlist_get_name ( t_size  p_playlist,
pfc::string_base p_out 
) [pure virtual]

Retrieves name of specified playlist. Should never fail unless the parameters are invalid.

t_size playlist_manager::playlist_get_selected_count ( t_size  p_playlist,
bit_array const &  p_mask 
)
void playlist_manager::playlist_get_selected_items ( t_size  p_playlist,
pfc::list_base_t< metadb_handle_ptr > &  out 
)
t_size playlist_manager::playlist_get_selection_count ( t_size  p_playlist,
t_size  p_max 
)
void playlist_manager::playlist_get_selection_mask ( t_size  p_playlist,
bit_array_var out 
)

Retrieves selection map of specific playlist, using bit_array_var interface.

virtual t_size playlist_manager::playlist_insert_items ( t_size  p_playlist,
t_size  p_base,
const pfc::list_base_const_t< metadb_handle_ptr > &  data,
const bit_array p_selection 
) [pure virtual]

Inserts new items into specified playlist, at specified position.

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 
)
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 
)
bool playlist_manager::playlist_is_item_selected ( t_size  p_playlist,
t_size  p_item 
)

Helper; returns whether specified item on specified playlist is selected or not.

virtual bool playlist_manager::playlist_is_redo_available ( t_size  p_playlist  )  [pure virtual]

Returns whether a redo restore point is available for specified playlist.

virtual bool playlist_manager::playlist_is_undo_available ( t_size  p_playlist  )  [pure virtual]

Returns whether an undo restore point is available for specified playlist.

virtual void playlist_manager::playlist_item_format_title ( t_size  p_playlist,
t_size  p_item,
titleformat_hook p_hook,
pfc::string_base p_out,
const service_ptr_t< titleformat_object > &  p_script,
titleformat_text_filter p_filter,
playback_control::t_display_level  p_playback_info_level 
) [pure virtual]

Renders information about specified playlist item, using specified titleformatting script parameters.

Parameters:
p_playlist Index of playlist containing item being processed.
p_item Index of item being processed in the playlist containing it.
p_hook Titleformatting script hook to use; see titleformat_hook documentation for more info. Set to NULL when hook functionality is not needed.
p_out String object receiving results.
p_script Compiled titleformatting script to use; see titleformat_object cocumentation for more info.
p_filter Text filter to use; see titleformat_text_filter documentation for more info. Set to NULL when text filter functionality is not needed.
p_playback_info_level Level of playback related information requested. See playback_control::t_display_level documentation for more info.
virtual t_uint32 playlist_manager::playlist_lock_get_filter_mask ( t_size  p_playlist  )  [pure virtual]
virtual bool playlist_manager::playlist_lock_install ( t_size  p_playlist,
const service_ptr_t< playlist_lock > &  p_lock 
) [pure virtual]
virtual bool playlist_manager::playlist_lock_is_present ( t_size  p_playlist  )  [pure virtual]
virtual bool playlist_manager::playlist_lock_query_name ( t_size  p_playlist,
pfc::string_base p_out 
) [pure virtual]
virtual bool playlist_manager::playlist_lock_show_ui ( t_size  p_playlist  )  [pure virtual]
virtual bool playlist_manager::playlist_lock_uninstall ( t_size  p_playlist,
const service_ptr_t< playlist_lock > &  p_lock 
) [pure virtual]
bool playlist_manager::playlist_move_selection ( t_size  p_playlist,
int  p_delta 
)

Moves selected items up/down in the playlist by specified offset.

Parameters:
p_playlist Index of playlist to alter.
p_delta Offset to move items by. Set it to a negative valuye to move up, or to a positive value to move down.
Returns:
True on success, false on failure (e.g. playlist locked).
virtual bool playlist_manager::playlist_redo_restore ( t_size  p_playlist  )  [pure virtual]

Reverts specified playlist to next redo restore point and generates an undo restore point.

Returns:
True on success, false on failure (playlist locked or no restore point available).
virtual bool playlist_manager::playlist_remove_items ( t_size  p_playlist,
const bit_array mask 
) [pure virtual]

Removes specified items from specified playlist. Returns true on success or false on failure (playlist locked).

void playlist_manager::playlist_remove_selection ( t_size  p_playlist,
bool  p_crop = false 
)
virtual bool playlist_manager::playlist_rename ( t_size  p_index,
const char *  p_name,
t_size  p_name_length 
) [pure virtual]

Renames specified playlist.

Parameters:
p_name New name of playlist; a UTF-8 encoded string.
p_name_length Length limit of playlist name string, in bytes (actual string may be shorter if null terminator is encountered before). Set this to infinite to use plain null-terminated strings.
Returns:
True on success, false on failure (playlist locked).
virtual bool playlist_manager::playlist_reorder_items ( t_size  p_playlist,
const t_size p_order,
t_size  p_count 
) [pure virtual]

Reorders items in specified playlist according to specified permutation.

virtual bool playlist_manager::playlist_replace_item ( t_size  p_playlist,
t_size  p_item,
const metadb_handle_ptr p_new_item 
) [pure virtual]

Replaces specified item on specified playlist. Returns true on success or false on failure (playlist locked).

t_size playlist_manager::playlist_set_focus_by_handle ( t_size  p_playlist,
metadb_handle_ptr  p_item 
)
virtual void playlist_manager::playlist_set_focus_item ( t_size  p_playlist,
t_size  p_item 
) [pure virtual]

Sets index of focus item on specified playlist; use infinite to set no focus item.

virtual void playlist_manager::playlist_set_selection ( t_size  p_playlist,
const bit_array p_affected,
const bit_array p_status 
) [pure virtual]

Selects/deselects items on specified playlist.

Parameters:
p_playlist Index of playlist to alter.
p_affected Mask of items to alter.
p_status Mask of selected/deselected state to apply to items specified by p_affected.
void playlist_manager::playlist_set_selection_single ( t_size  p_playlist,
t_size  p_item,
bool  p_state 
)
virtual bool playlist_manager::playlist_sort_by_format ( t_size  p_playlist,
const char *  p_pattern,
bool  p_sel_only 
) [pure virtual]

Sorts specified playlist - entire playlist or selection only - by specified title formatting pattern, or randomizes the order.

Parameters:
p_playlist Index of playlist to alter.
p_pattern Title formatting pattern to sort by (an UTF-8 encoded null-termindated string). Set to NULL to randomize the order of items.
p_sel_only Set to false to sort/randomize whole playlist, or to true to sort/randomize only selection on the playlist.
Returns:
True on success, false on failure (playlist locked etc).
virtual void playlist_manager::playlist_undo_backup ( t_size  p_playlist  )  [pure virtual]

Creates an undo restore point for specified playlist.

virtual bool playlist_manager::playlist_undo_restore ( t_size  p_playlist  )  [pure virtual]

Reverts specified playlist to last undo restore point and generates a redo restore point.

Returns:
True on success, false on failure (playlist locked or no restore point available).
bool playlist_manager::playlist_update_content ( t_size  playlist,
metadb_handle_list_cref  content,
bool  bUndoBackup 
)

Changes contents of the specified playlist to the specified items, trying to reuse existing playlist content as much as possible (preserving selection/focus/etc). Order of items in playlist not guaranteed to be the same as in the specified item list.

Returns:
true if the playlist has been altered, false if there was nothing to update.
virtual void playlist_manager::queue_add_item ( metadb_handle_ptr  p_item  )  [pure virtual]
virtual void playlist_manager::queue_add_item_playlist ( t_size  p_playlist,
t_size  p_item 
) [pure virtual]
virtual t_size playlist_manager::queue_find_index ( t_playback_queue_item const &  p_item  )  [pure virtual]

Returns index (0-based) on success, infinite on failure (item not in queue).

void playlist_manager::queue_flush (  )  [inline]

Helper; removes all items from the playback queue.

virtual void playlist_manager::queue_get_contents ( pfc::list_base_t< t_playback_queue_item > &  p_out  )  [pure virtual]
virtual t_size playlist_manager::queue_get_count (  )  [pure virtual]
bool playlist_manager::queue_is_active (  )  [inline]

Helper; returns whether there are items in the playback queue.

virtual void playlist_manager::queue_remove_mask ( bit_array const &  p_mask  )  [pure virtual]
virtual void playlist_manager::register_callback ( class playlist_callback_single p_callback,
unsigned  p_flags 
) [pure virtual]

Registers a playlist callback; registered object receives notifications about any modifications of active playlist.

Parameters:
p_callback Callback interface to register.
p_flags Flags indicating which callback methods are requested. See playlist_callback_single::flag_* constants for more info. The main purpose of flags parameter is working set optimization by not calling methods that do nothing.
virtual void playlist_manager::register_callback ( class playlist_callback p_callback,
unsigned  p_flags 
) [pure virtual]

Registers a playlist callback; registered object receives notifications about any modifications of any of loaded playlists.

Parameters:
p_callback Callback interface to register.
p_flags Flags indicating which callback methods are requested. See playlist_callback::flag_* constants for more info. The main purpose of flags parameter is working set optimization by not calling methods that do nothing.
void playlist_manager::remove_items_from_all_playlists ( const pfc::list_base_const_t< metadb_handle_ptr > &  p_data  ) 
bool playlist_manager::remove_playlist ( t_size  p_playlist  ) 

Helper; removes single playlist of specified index.

bool playlist_manager::remove_playlist_switch ( t_size  p_playlist  ) 

Helper; removes single playlist of specified index, and switches to another playlist when possible.

virtual bool playlist_manager::remove_playlists ( const bit_array p_mask  )  [pure virtual]

Removes playlists according to specified mask. See also: bit_array.

virtual bool playlist_manager::reorder ( const t_size p_order,
t_size  p_count 
) [pure virtual]

Reorders the playlist list according to specified permutation.

Returns:
True on success, false on failure (call from invalid context).
void playlist_manager::reset_playing_playlist (  ) 
virtual void playlist_manager::set_active_playlist ( t_size  p_index  )  [pure virtual]

Sets active playlist (infinite to set no active playlist).

virtual void playlist_manager::set_playing_playlist ( t_size  p_index  )  [pure virtual]

Sets playlist from which items to be played are taken from.

virtual void playlist_manager::unregister_callback ( class playlist_callback_single p_callback  )  [pure virtual]

Unregisters a playlist callback (playlist_callback_single version).

virtual void playlist_manager::unregister_callback ( class playlist_callback p_callback  )  [pure virtual]

Unregisters a playlist callback (playlist_callback version).


Member Data Documentation

const GUID playlist_manager::class_guid [static]
Initial value:
 
{ 0xd8d51855, 0xd79d, 0x49b8, { 0x97, 0xa8, 0x6, 0x57, 0x85, 0xfa, 0x24, 0x26 } }

Reimplemented in playlist_manager_v2.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated by  doxygen 1.6.2