foobar2000 SDK  2015-08-03
Public Member Functions | Private Member Functions
playback_control_v3abstract

#include <playback_control.h>

+ Inheritance diagram for playback_control_v3:

Public Member Functions

virtual int custom_volume_get ()=0
 
virtual bool custom_volume_is_active ()=0
 
virtual int custom_volume_max ()=0
 
virtual int custom_volume_min ()=0
 
virtual void custom_volume_set (int val)=0
 
virtual void restart ()=0
 
- Public Member Functions inherited from playback_control_v2
virtual float get_volume_step ()=0
 
- Public Member Functions inherited from playback_control
virtual bool get_now_playing (metadb_handle_ptr &p_out)=0
 
virtual bool get_stop_after_current ()=0
 
virtual float get_volume ()=0
 
bool is_muted ()
 
virtual bool is_paused ()=0
 
virtual bool is_playing ()=0
 
void next ()
 
virtual void pause (bool p_state)=0
 
void play_or_pause ()
 
void play_or_unpause ()
 
void play_start (t_track_command p_command=track_command_play, bool p_paused=false)
 
void play_stop ()
 
virtual bool playback_can_seek ()=0
 
virtual bool playback_format_title (titleformat_hook *p_hook, pfc::string_base &p_out, const service_ptr_t< class titleformat_object > &p_script, titleformat_text_filter *p_filter, t_display_level p_level)=0
 
bool playback_format_title_ex (metadb_handle_ptr p_item, titleformat_hook *p_hook, pfc::string_base &p_out, const service_ptr_t< class titleformat_object > &p_script, titleformat_text_filter *p_filter, t_display_level p_level)
 
double playback_get_length ()
 
double playback_get_length_ex ()
 
virtual double playback_get_position ()=0
 
virtual void playback_seek (double p_time)=0
 
virtual void playback_seek_delta (double p_delta)=0
 
void previous ()
 
virtual void set_stop_after_current (bool p_state)=0
 
virtual void set_volume (float p_value)=0
 
virtual void start (t_track_command p_command=track_command_play, bool p_paused=false)=0
 
virtual void stop ()=0
 
void toggle_pause ()
 
void toggle_stop_after_current ()
 
virtual void volume_down ()=0
 
virtual void volume_mute_toggle ()=0
 
virtual void volume_up ()=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 ()
 

Private Member Functions

 FB2K_MAKE_SERVICE_INTERFACE (playback_control_v3, playback_control_v2)
 

Additional Inherited Members

- Public Types inherited from playback_control
enum  t_display_level { display_level_none, display_level_basic, display_level_titles, display_level_all }
 
enum  t_stop_reason { stop_reason_user = 0, stop_reason_eof, stop_reason_starting_another, stop_reason_shutting_down }
 
enum  t_track_command {
  track_command_default = 0, track_command_play, track_command_next, track_command_prev,
  track_command_settrack, track_command_rand, track_command_resume
}
 
- Public Types inherited from service_base
typedef service_base t_interface
 
- Static Public Attributes inherited from playback_control
static const int volume_mute = -100
 
- Protected Member Functions inherited from service_base
 service_base ()
 
 ~service_base ()
 

Detailed Description

Since
1.2

Definition at line 150 of file playback_control.h.

Member Function Documentation

virtual int playback_control_v3::custom_volume_get ( )
pure virtual

Retrieves the current volume value for the custom volume mode.
The volume units are arbitrary and specified by the device maker; see also: custom_volume_min(), custom_volume_max().

virtual bool playback_control_v3::custom_volume_is_active ( )
pure virtual

Custom volume API - for use with specific output devices only.
Note that custom volume SHOULD NOT EVER be presented as a slider where the user can immediately go to the maximum value.
Custom volume mode dispatches on_volume_changed callbacks on change, though the passed value is meaningless;
the components should query the current value from playback_control_v3.
Note that custom volume mode makes set_volume() / get_volume() meaningless,
but volume_up() / volume_down() / volume_mute_toggle() still work like they should (increment/decrement by one unit).

Returns
whether custom volume mode is active.
virtual int playback_control_v3::custom_volume_max ( )
pure virtual

Returns the maximum custom volume value for the current output device.

virtual int playback_control_v3::custom_volume_min ( )
pure virtual

Returns the minimum custom volume value for the current output device.

virtual void playback_control_v3::custom_volume_set ( int  val)
pure virtual

Sets the current volume value for the custom volume mode.
The volume units are arbitrary and specified by the device maker; see also: custom_volume_min(), custom_volume_max(). CAUTION: you should NOT allow the user to easily go immediately to any value, it might blow their speakers out!

playback_control_v3::FB2K_MAKE_SERVICE_INTERFACE ( playback_control_v3  ,
playback_control_v2   
)
private
virtual void playback_control_v3::restart ( )
pure virtual

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