2 Copyright 2007 Chris Tallon
4 This file is part of VOMP.
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.
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.
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.
21 #ifndef VVIDEOLIVETV_H
22 #define VVIDEOLIVETV_H
33 #include "wselectlist.h"
34 #include "timerreceiver.h"
36 #include "wprogressbar.h"
37 #include "osdreceiver.h"
48 class VVideoLiveTV : public Boxx, public TimerReceiver, public OSDReceiver
51 VVideoLiveTV(ChannelList* chanList, ULONG initialChannelNumber, VChannelList* vchannelList);
54 int handleCommand(int command);
55 void processMessage(Message* m);
59 bool channelChange(UCHAR changeType, UINT newData);
60 // changeType = INDEX = (newData is a channel index in the list)
61 // = NUMBER = (newData is a real channel number)
62 // = OFFSET = (newData is UP or DOWN)
64 const static UCHAR INDEX = 1;
65 const static UCHAR NUMBER = 2;
66 const static UCHAR OFFSET = 3;
67 const static UCHAR PREVIOUS = 4;
68 const static UCHAR UP = 1;
69 const static UCHAR DOWN = 2;
71 void timercall(int ref);
73 void drawOSDBitmap(UINT posX, UINT posY, const Bitmap&);
75 void clearOSDArea(UINT posX, UINT posY, UINT width, UINT height);
83 ChannelList* chanList;
84 VChannelList* vchannelList;
91 UINT currentChannelIndex;
92 UINT previousChannelIndex;
98 void doLeftRight(bool right);
99 void doUpDown(bool down);
100 void doChanUpDown(int which); // UP or DOWN
101 void doKey(int command);
104 void doAudioSelector();
105 void doTeletext(bool subtitle=false);
107 UINT upChannel(UINT index);
108 UINT downChannel(UINT index);
109 void toggleChopSides();
111 void displayOSD(bool newNowNextData);
115 void setNowNextData();
116 void setSummaryData();
117 void doAudioChannelSymbol();
118 void showUnavailable();
129 WTextbox osdChanName;
139 WSymbol sAspectRatio;
140 WProgressBar bufferBar;
141 WSymbol sAudioChannels;
142 WTextbox textUnavailable;
145 WTextbox textSummary;
146 Boxx summaryBlackLine;
148 Region osdSummaryRegion;