summaryrefslogtreecommitdiff
path: root/bdplayer.h
blob: d47fe5f63a39946de654a8c475ba59c6f8ace583 (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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
 * bdplayer.h: A player for BluRay discs
 *
 * See the README file for copyright information and how to reach the author.
 *
 */

#ifndef _BDPLAYER_H
#define _BDPLAYER_H

#include <vdr/player.h>
#include <vdr/tools.h>

class cBDPlayer;

class cBDControl : public cControl {
private:
  static int active;
  cBDPlayer *player;
  cString disc_name;

  cBDControl();
  cBDControl(cBDPlayer *Player);

  void Play();
  void Pause();
  void SkipSeconds(int seconds);
  void SkipChapters(int chapters);
  void Goto(int seconds);

  cSkinDisplayReplay *displayReplay;
  bool visible, modeOnly, shown;
  int lastCurrent, lastTotal;
  bool lastPlay, lastForward;
  int lastSpeed;
  time_t timeoutShow;
  bool timeSearchActive, timeSearchHide;
  int timeSearchTime, timeSearchPos;
  int chapterSeekTime;

  void TimeSearchDisplay(void);
  void TimeSearchProcess(eKeys Key);
  void TimeSearch(void);
  void ShowTimed(int Seconds = 0);
  void ShowMode(void);
  bool ShowProgress(bool Initial);

public:
  static cControl *Create(const char *Path);
  static bool Active(void) { return active > 0; }

  virtual ~cBDControl();

  bool Visible(void) { return visible; }

  virtual void Show(void);
  virtual void Hide(void);

  virtual cString GetHeader(void);
  virtual eOSState ProcessKey(eKeys Key);
};

#endif //_BDPLAYER_H