pianod2
multisource multiuser scriptable networked music player
playerwrapper.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include <config.h>
13 
14 #include <memory>
15 
16 #include "mediaplayer.h"
17 
18 #include <ctime>
19 
20 namespace Media {
33  class PlayerWrapper : public Player {
34  std::unique_ptr <Player> inherited;
35  public:
37  PlayerWrapper (std::unique_ptr <Player> &&);
38 
39  // Regulate playback
40  virtual void pause (void) override;
41  virtual void abort (void) override;
42  virtual void setVolume (float volume) override;
43  virtual void cue (void) override;
44  virtual void play (void) override;
45 
46  // Data retrieval functions
47  virtual float trackDuration (void) const override;
48  virtual float playPoint (void) const override;
49  virtual float playRemaining (void) const override;
50  virtual RESPONSE_CODE completionStatus (void) override;
51 
52  virtual State currentState (void) const override;
53 
54  virtual time_t getPauseTimeout (void) override;
55  };
56 }
57 
Base class for playing audio from some source.
Definition: mediaplayer.h:46
State
Definition: mediaplayer.h:48
The Player class is abstract, and is implemented several different ways (ffmpeg, gstreamer,...
Definition: playerwrapper.h:33
virtual float playRemaining(void) const override
Seconds left in playback, or a negative number if unknown.
Definition: playerwrapper.cpp:58
virtual void cue(void) override
Starts thread in paused mode.
Definition: playerwrapper.cpp:41
virtual float playPoint(void) const override
Seconds from start, or a negative value if unknown.
Definition: playerwrapper.cpp:54
PlayerWrapper(Player *)
Definition: playerwrapper.cpp:21
virtual RESPONSE_CODE completionStatus(void) override
Definition: playerwrapper.cpp:62
virtual void pause(void) override
Pause playback. If already paused, do nothing.
Definition: playerwrapper.cpp:29
std::unique_ptr< Player > inherited
Definition: playerwrapper.h:34
virtual void abort(void) override
Don't play the rest of the song.
Definition: playerwrapper.cpp:33
virtual float trackDuration(void) const override
Length of track in seconds, or a negative number if unknown.
Definition: playerwrapper.cpp:50
virtual time_t getPauseTimeout(void) override
When paused, get the time at which the song will expire.
Definition: playerwrapper.cpp:70
virtual void play(void) override
Start playback or resume playback if paused. If already playing, continue.
Definition: playerwrapper.cpp:45
virtual void setVolume(float volume) override
Adjust volume in decibels.
Definition: playerwrapper.cpp:37
virtual State currentState(void) const override
Definition: playerwrapper.cpp:66
enum server_status_t RESPONSE_CODE
Public interface for media players.
Media source, source parameters and player interfaces.
Definition: connection.h:22