00001
#ifndef VIDEODEVICE_TVCHANNEL_HPP
00002
#define VIDEODEVICE_TVCHANNEL_HPP
00003
00004
#include <qobject.h>
00005
#include <qstring.h>
00006
#include <qvector.h>
00007
00008 class TVChannel:
public QObject
00009 {
00010
public:
00016 enum FrequencyGrid
00017 {
00018
FrequencyGrid_INVALID = -1,
00019
American = 0,
00020
European,
00021
Japanese,
00022
00023
FrequencyGrid_MAX
00024 };
00025
00030 enum TunerNorms {
00031
PAL_BG,
00032
NTSC,
00033
SECAM,
00034
PAL_NC,
00035
PAL_M,
00036
PAL_N,
00037
NTSC_JAPAN,
00038
00039
TunerNorms_MAX,
00040 };
00041
00042
private:
00043
00044
struct FrequencyTableEntry
00045 {
00046 QString Name;
00047
float Frequency;
00048 };
00049
00050
static bool s_TablesFilled;
00051
static QVector<FrequencyTableEntry> s_Channel2BaseFrequency[
FrequencyGrid_MAX];
00052
00053
static void FillTables();
00054
00055
public:
00056 QString
Name;
00057 FrequencyGrid FrequencySystem;
00058 int Channel;
00059 int Finetuning;
00060 TunerNorms ColorSystem;
00061
00062
TVChannel();
00063
TVChannel(
const TVChannel &);
00064
TVChannel &operator = (
const TVChannel &);
00065
00066
float Frequency() const;
00067 static
float Frequency(FrequencyGrid grid,
int channel,
int finetuning);
00068 static uint GetNumberOfChannels(FrequencyGrid grid);
00069 static QString ChannelName(FrequencyGrid grid,
int channel);
00070 };
00071
00072
00073 #endif