]> git.vomp.tv Git - vompclient.git/blob - vvideolivetv.h
Removal of Message::REDRAW and BoxStack handler for it
[vompclient.git] / vvideolivetv.h
1 /*
2     Copyright 2007 Chris Tallon
3
4     This file is part of VOMP.
5
6     VOMP is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     VOMP is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with VOMP; if not, write to the Free Software
18     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19 */
20
21 #ifndef VVIDEOLIVETV_H
22 #define VVIDEOLIVETV_H
23
24 #include <stdio.h>
25 #include <vector>
26 #include <math.h>
27
28 #include "boxx.h"
29 #include "region.h"
30 #include "wwss.h"
31 #include "vdr.h"
32 #include "wtextbox.h"
33 #include "wselectlist.h"
34 #include "timerreceiver.h"
35 #include "wsymbol.h"
36 #include "wprogressbar.h"
37
38 class VChannelList;
39 class Video;
40 class VChannelList;
41 class BoxStack;
42 class WTextbox;
43 class PlayerLive;
44 class VAudioSelector;
45
46 class VVideoLiveTV : public Boxx, public TimerReceiver
47 {
48   public:
49     VVideoLiveTV(ChannelList* chanList, ULONG initialChannelNumber, VChannelList* vchannelList);
50     ~VVideoLiveTV();
51     int handleCommand(int command);
52     void processMessage(Message* m);
53
54     void go();
55
56     bool channelChange(UCHAR changeType, UINT newData);
57     // changeType = INDEX = (newData is a channel index in the list)
58     //            = NUMBER = (newData is a real channel number)
59     //            = OFFSET = (newData is UP or DOWN)
60
61     const static UCHAR INDEX = 1;
62     const static UCHAR NUMBER = 2;
63     const static UCHAR OFFSET = 3;
64     const static UCHAR PREVIOUS = 4;
65     const static UCHAR UP = 1;
66     const static UCHAR DOWN = 2;
67
68     void timercall(int ref);
69
70   private:
71     BoxStack* boxstack;
72     VDR* vdr;
73     Video* video;
74     PlayerLive* player;
75     bool playing;
76     ChannelList* chanList;
77     VChannelList* vchannelList;
78     EventList* eventList;
79     int numberWidth;
80     int videoMode;
81     ULONG streamType;
82     ULONG preBuffering;
83
84     UINT currentChannelIndex;
85     UINT previousChannelIndex;
86     UINT osdChannelIndex;
87     int keying;
88     int keyingInput[10];
89
90     void doOK();
91     void doLeftRight(bool right);
92     void doUpDown(bool down);
93     void doChanUpDown(int which); // UP or DOWN
94     void doKey(int command);
95     void doEPG();
96     void doSummary();
97     void doAudioSelector();
98     void stop();
99     UINT upChannel(UINT index);
100     UINT downChannel(UINT index);
101     void toggleChopSides();
102
103     void displayOSD(bool newNowNextData);
104     void clearScreen();
105     void setClock();
106     void delData();
107     void setNowNextData();
108     void setSummaryData();
109     void doAudioChannelSymbol();
110     void showUnavailable();
111     
112     VAudioSelector* vas;
113     
114     Wwss wss;
115     Region wssRegion;
116     bool dowss;
117     
118     Boxx osd;
119     WTextbox clock;
120     WTextbox osdChanNum;
121     WTextbox osdChanName;
122     WSelectList sl;
123     Boxx boxRed;
124     Boxx boxGreen;
125     Boxx boxYellow;
126     Boxx boxBlue;
127     WTextbox textRed;
128     WTextbox textGreen;
129     WTextbox textYellow;
130     WTextbox textBlue;
131     WSymbol sAspectRatio;
132     WProgressBar bufferBar;
133     WSymbol sAudioChannels;
134     WTextbox textUnavailable;
135     
136     Boxx summary;
137     WTextbox textSummary;
138     Boxx summaryBlackLine;
139     
140     Region osdSummaryRegion;
141
142 };
143
144 #endif