19 track_command_default = 0,
40 virtual void start(
t_track_command p_command = track_command_play,
bool p_paused =
false) = 0;
42 virtual void stop() = 0;
44 virtual bool is_playing() = 0;
46 virtual bool is_paused() = 0;
49 virtual void pause(
bool p_state) = 0;
52 virtual bool get_stop_after_current() = 0;
54 virtual void set_stop_after_current(
bool p_state) = 0;
58 virtual void set_volume(
float p_value) = 0;
61 virtual float get_volume() = 0;
63 virtual void volume_up() = 0;
65 virtual void volume_down() = 0;
67 virtual void volume_mute_toggle() = 0;
70 virtual void playback_seek(
double p_time) = 0;
73 virtual void playback_seek_delta(
double p_delta) = 0;
75 virtual bool playback_can_seek() = 0;
77 virtual double playback_get_position() = 0;
104 if (p_item.
is_empty())
return playback_format_title(p_hook,p_out,p_script,p_filter,p_level);
106 if (get_now_playing(temp)) {
107 if (temp == p_item) {
108 return playback_format_title(p_hook,p_out,p_script,p_filter,p_level);
111 p_item->format_title(p_hook,p_out,p_script,p_filter);
116 double playback_get_length();
118 double playback_get_length_ex();
130 void next() { start(track_command_next); }
137 bool is_muted() {
return get_volume() == volume_mute;}
139 static const int volume_mute = -100;
146 virtual float get_volume_step() = 0;
160 virtual bool custom_volume_is_active() = 0;
163 virtual int custom_volume_get() = 0;
167 virtual void custom_volume_set(
int val) = 0;
169 virtual int custom_volume_min() = 0;
171 virtual int custom_volume_max() = 0;
173 virtual void restart() = 0;
display_level_basic + dynamic track titles on e.g. live streams
For internal use only, do not use.
void toggle_stop_after_current()
Toggles stop-after-current state.
void toggle_pause()
Toggles pause state.
Plays the next track from the current playlist according to the current playback order.
display_level_titles + timing + VBR bitrate display etc
Provides control for various playback-related operations. All methods provided by this interface work...
void play_start(t_track_command p_command=track_command_play, bool p_paused=false)
For internal use only, do not use.
Static info and is_playing/is_paused stats.
Base class for all service classes. Provides interfaces for reference counter and querying for differ...
t_display_level
Type used to indicate level of dynamic playback-related info displayed. Safe to use with <> opereator...
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)
Helper; renders info about any item, including currently playing item info if the item is currently p...
playback_control play_control
No playback-related info.
void play_or_pause()
Starts playback if playback is inactive, otherwise toggles pause.
Plays a random track from the current playlist.
Plays the previous track from the current playlist according to the current playback order...