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
32 #include "wselectlist.h"
33 #include "timerreceiver.h"
35 #include "wprogressbar.h"
36 #include "osdreceiver.h"
52 class VVideoLiveTV : public Boxx, public TimerReceiver, public OSDReceiver
55 VVideoLiveTV(ChannelList* chanList, ULONG initialChannelNumber, VChannelList* vchannelList);
56 virtual ~VVideoLiveTV();
58 int handleCommand(int command);
59 void processMessage(Message* m);
63 bool channelChange(UCHAR changeType, UINT newData);
64 // changeType = INDEX = (newData is a channel index in the list)
65 // = NUMBER = (newData is a real channel number)
66 // = OFFSET = (newData is UP or DOWN)
68 const static UCHAR INDEX = 1;
69 const static UCHAR NUMBER = 2;
70 const static UCHAR OFFSET = 3;
71 const static UCHAR PREVIOUS = 4;
72 const static UCHAR UP = 1;
73 const static UCHAR DOWN = 2;
75 void timercall(int ref);
77 void drawOSDBitmap(UINT posX, UINT posY, const Bitmap&, const DisplayRegion& region);
79 void clearOSDArea(UINT posX, UINT posY, UINT width, UINT height, const DisplayRegion& region);
87 ChannelList* chanList;
88 VChannelList* vchannelList;
95 UINT currentChannelIndex;
96 UINT previousChannelIndex;
102 void doLeftRight(bool right);
103 void doUpDown(bool down);
104 void doChanUpDown(int which); // UP or DOWN
105 void doKey(int command);
108 void doAudioSelector();
109 void doTeletext(bool subtitle=false);
111 UINT upChannel(UINT index);
112 UINT downChannel(UINT index);
113 void toggleChopSides();
115 void updatePosterBanner();
117 void displayOSD(bool newNowNextData);
121 void setNowNextData();
122 void setSummaryData();
123 void doAudioChannelSymbol();
124 void showUnavailable();
136 WTextbox osdChanName;
147 WProgressBar bufferBar;
148 WSymbol sAspectRatio;
149 WSymbol sAudioChannels;
152 WTextbox textUnavailable;
153 WTVMedia osdposterbanner;
154 WTVMedia radioChannelLogo;
155 WTVMedia osdChannelLogo;