foobar2000 SDK
2015-08-03
|
#include <input.h>
Public Member Functions | |
virtual void | commit (abort_callback &p_abort)=0 |
FB2K_MAKE_SERVICE_INTERFACE (input_info_writer, input_info_reader) | |
virtual void | set_info (t_uint32 p_subsong, const file_info &p_info, abort_callback &p_abort)=0 |
![]() | |
FB2K_MAKE_SERVICE_INTERFACE (input_info_reader, service_base) | |
virtual t_filestats | get_file_stats (abort_callback &p_abort)=0 |
virtual void | get_info (t_uint32 p_subsong, file_info &p_info, abort_callback &p_abort)=0 |
virtual t_uint32 | get_subsong (t_uint32 p_index)=0 |
virtual t_uint32 | get_subsong_count ()=0 |
![]() | |
template<typename outPtr_t > | |
bool | cast (outPtr_t &outPtr) |
virtual int | service_add_ref ()=0 throw () |
virtual bool | service_query (service_ptr_t< service_base > &p_out, const GUID &p_guid) |
template<class T > | |
bool | service_query_t (service_ptr_t< T > &p_out) |
virtual int | service_release ()=0 throw () |
Additional Inherited Members | |
![]() | |
typedef service_base | t_interface |
![]() | |
service_base () | |
~service_base () | |
Class providing interface for writing metadata and replaygain info to files. Also see: file_info.
Instantiating: see input_entry.
Implementing: see input_impl.
|
pure virtual |
Commits pending updates. In case of multisubsong inputs, set_info should queue the update and perform actual file access in commit(). Otherwise, actual writing can be done in set_info() and then Commit() can just do nothing and always succeed.
p_abort | abort_callback object signaling user aborting the operation. WARNING: abort_callback object is provided for consistency; if writing tags actually gets aborted, user will be likely left with corrupted file. Anything calling this should make sure that aborting is either impossible, or gives appropriate warning to the user first. |
input_info_writer::FB2K_MAKE_SERVICE_INTERFACE | ( | input_info_writer | , |
input_info_reader | |||
) |
|
pure virtual |
Tells the service to update file tags with new info for specified subsong.
p_subsong | Subsong to update. Should be always 0 for non-multisubsong-enabled inputs. |
p_info | New info to write. Sometimes not all contents of p_info can be written. Caller will typically read info back after successful write, so e.g. tech infos that change with retag are properly maintained. |
p_abort | abort_callback object signaling user aborting the operation. WARNING: abort_callback object is provided for consistency; if writing tags actually gets aborted, user will be likely left with corrupted file. Anything calling this should make sure that aborting is either impossible, or gives appropriate warning to the user first. |