summaryrefslogtreecommitdiff
path: root/control.h
blob: cea46396d05b8917e7594a1cc6d7b91609ac4696 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
//////////////////////////////////////////////////////////////////////////////
///                                                                        ///
/// This file is part of the VDR mpv plugin and licensed under AGPLv3      ///
///                                                                        ///
/// See the README file for copyright information                          ///
///                                                                        ///
//////////////////////////////////////////////////////////////////////////////

#ifndef __MPV_CONTROL_H
#define __MPV_CONTROL_H

#include <vdr/player.h>
#include "player.h"
#include "status.h"

class cMpvControl:public cControl
{
  private:
    cMpvPlayer *Player;                 // our player
    cSkinDisplayReplay *DisplayReplay;  // our osd display
    void ShowProgress();                // display progress bar
    void Hide();                        // hide replay control
    bool infoVisible;                   // RecordingInfo visible
    int LastPlayerCurrent;              // the lasz cuurent time the osd was rendered with
    cMarks ChapterMarks;                // chapter marks
    time_t timeoutShow;                 // timeout shown control
    cMpvStatus *VolumeStatus;           // observe hte VDR volume and adjust mpv volume

    void TimeSearch();
    void TimeSearchDisplay();
    void TimeSearchProcess(eKeys Key);
    bool timeSearchActive, timeSearchHide;
    int timeSearchTime, timeSearchPos;

  public:
    cMpvControl(string filename, bool Shuffle=false);
    virtual ~cMpvControl();
    virtual eOSState ProcessKey(eKeys); // handle keyboard input
    cMarks *Marks() { return &ChapterMarks; }
    void UpdateMarks();
};

#endif