foobar2000 SDK  2015-08-03
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions
output_entryabstract

#include <output.h>

+ Inheritance diagram for output_entry:

Public Types

enum  { flag_needs_bitdepth_config = 1 << 0, flag_needs_dither_config = 1 << 1, flag_needs_advanced_config = 1 << 2, flag_needs_device_list_prefixes = 1 << 3 }
 
- Public Types inherited from service_base
typedef service_base t_interface
 

Public Member Functions

virtual void advanced_settings_popup (HWND p_parent, POINT p_menupoint)=0
 
virtual void enum_devices (output_device_enum_callback &p_callback)=0
 
virtual t_uint32 get_config_flags ()=0
 
pfc::string8 get_device_name (const GUID &deviceID)
 
bool get_device_name (const GUID &deviceID, pfc::string_base &out)
 
virtual GUID get_guid ()=0
 
virtual const char * get_name ()=0
 
virtual void instantiate (service_ptr_t< output > &p_out, const GUID &p_device, double p_buffer_length, bool p_dither, t_uint32 p_bitdepth)=0
 
- Public Member Functions inherited from service_base
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 ()
 

Static Public Member Functions

static bool g_find (const GUID &outputID, output_entry::ptr &outObj)
 
static output_entry::ptr g_find (const GUID &outputID)
 

Private Member Functions

 FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT (output_entry)
 

Additional Inherited Members

- Protected Member Functions inherited from service_base
 service_base ()
 
 ~service_base ()
 

Detailed Description

Definition at line 127 of file output.h.

Member Enumeration Documentation

anonymous enum
Enumerator
flag_needs_bitdepth_config 
flag_needs_dither_config 
flag_needs_advanced_config 
flag_needs_device_list_prefixes 

Definition at line 144 of file output.h.

Member Function Documentation

virtual void output_entry::advanced_settings_popup ( HWND  p_parent,
POINT  p_menupoint 
)
pure virtual

Pops up advanced settings dialog. This method is optional and not supported if get_config_flag() return value does not have flag_needs_advanced_config set.

Parameters
p_parentParent window for the dialog.
p_menupointPoint in screen coordinates - can be used to display a simple popup menu with options to be checked instead of a full dialog.

Implemented in output_entry_impl_t< T >.

virtual void output_entry::enum_devices ( output_device_enum_callback p_callback)
pure virtual

Enumerates devices supported by this output_entry implementation.

Implemented in output_entry_impl_t< T >.

output_entry::FB2K_MAKE_SERVICE_INTERFACE_ENTRYPOINT ( output_entry  )
private
bool output_entry::g_find ( const GUID outputID,
output_entry::ptr &  outObj 
)
static

Definition at line 32 of file output.cpp.

32  {
33  service_enum_t<output_entry> e; output_entry::ptr obj;
34  while(e.next(obj)) {
35  if (obj->get_guid() == outputID) {
36  outObj = obj; return true;
37  }
38  }
39  return false;
40 }
bool next(service_ptr_t< t_query > &p_out)
Definition: service.h:587
output_entry::ptr output_entry::g_find ( const GUID outputID)
static

Definition at line 42 of file output.cpp.

42  {
43  output_entry::ptr ret;
44  if (!g_find( outputID, ret ) ) throw exception_output_module_not_found();
45  return ret;
46 }
static bool g_find(const GUID &outputID, output_entry::ptr &outObj)
Definition: output.cpp:32
virtual t_uint32 output_entry::get_config_flags ( )
pure virtual

Implemented in output_entry_impl_t< T >.

pfc::string8 output_entry::get_device_name ( const GUID deviceID)

Definition at line 3 of file output.cpp.

3  {
4  pfc::string8 temp;
5  if (!get_device_name(deviceID, temp)) temp = "[unknown device]";
6  return std::move(temp);
7 }
pfc::string8 get_device_name(const GUID &deviceID)
Definition: output.cpp:3
bool output_entry::get_device_name ( const GUID deviceID,
pfc::string_base out 
)

Definition at line 26 of file output.cpp.

26  {
27  output_device_enum_callback_getname cb(deviceID, out);
28  this->enum_devices(cb);
29  return cb.m_got;
30 }
virtual void enum_devices(output_device_enum_callback &p_callback)=0
Enumerates devices supported by this output_entry implementation.
virtual GUID output_entry::get_guid ( )
pure virtual

For internal use by backend. Each output_entry implementation must have its own guid.

Implemented in output_entry_impl_t< T >.

virtual const char* output_entry::get_name ( )
pure virtual

For internal use by backend. Retrieves human-readable name of this output_entry implementation.

Implemented in output_entry_impl_t< T >.

virtual void output_entry::instantiate ( service_ptr_t< output > &  p_out,
const GUID p_device,
double  p_buffer_length,
bool  p_dither,
t_uint32  p_bitdepth 
)
pure virtual

Instantiates output class.

Implemented in output_entry_impl_t< T >.


The documentation for this class was generated from the following files: