mirror of
https://github.com/rofafor/vdr-plugin-femon.git
synced 2023-10-10 11:36:53 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e53fa8521 | ||
|
|
9514ed5387 |
13
HISTORY
13
HISTORY
@@ -81,3 +81,16 @@ VDR Plugin 'femon' Revision History
|
|||||||
2004-06-11: Version 0.1.3
|
2004-06-11: Version 0.1.3
|
||||||
|
|
||||||
- Added "AC-3 Stream Information" display mode (Thanks to Lothar Englisch).
|
- Added "AC-3 Stream Information" display mode (Thanks to Lothar Englisch).
|
||||||
|
|
||||||
|
2004-06-24: Version 0.1.4
|
||||||
|
|
||||||
|
- Added some new symbols and beautified the old ones.
|
||||||
|
- Added audio track selection feature.
|
||||||
|
- Added preliminary device switching feature (disabled at the moment).
|
||||||
|
|
||||||
|
2004-08-18: Version 0.1.5
|
||||||
|
|
||||||
|
- Fixed OSDSTATUSWIN_XC define.
|
||||||
|
- Added preliminary NTSC support (make NTSC_SYSTEM=1 plugins).
|
||||||
|
- Fixed "Setup/OSD/Use Small Fonts" bug (Thanks to Winni for reporting this one).
|
||||||
|
- Added patches directory: CA system names by Lauri Tischler.
|
||||||
|
|||||||
6
Makefile
6
Makefile
@@ -11,7 +11,7 @@ PLUGIN = femon
|
|||||||
|
|
||||||
### The version number of this plugin (taken from the main source file):
|
### The version number of this plugin (taken from the main source file):
|
||||||
|
|
||||||
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g')
|
VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).h | awk '{ print $$6 }' | sed -e 's/[";]//g')
|
||||||
|
|
||||||
### The C++ compiler and options:
|
### The C++ compiler and options:
|
||||||
|
|
||||||
@@ -44,6 +44,10 @@ INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include
|
|||||||
|
|
||||||
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
|
DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
|
||||||
|
|
||||||
|
ifdef NTSC_SYSTEM
|
||||||
|
DEFINES += -DNTSC_SYSTEM
|
||||||
|
endif
|
||||||
|
|
||||||
### The object files (add further files here):
|
### The object files (add further files here):
|
||||||
|
|
||||||
OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femoni18n.o
|
OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femoni18n.o
|
||||||
|
|||||||
34
README
34
README
@@ -18,7 +18,6 @@ DVB Frontend Status Monitor is a plugin that displays some signal information
|
|||||||
parameters of the current tuned channel on OSD. You can zap through all your
|
parameters of the current tuned channel on OSD. You can zap through all your
|
||||||
channels and the plugin should be monitoring always the right frontend. The
|
channels and the plugin should be monitoring always the right frontend. The
|
||||||
transponder and stream information are also available in advanced display modes.
|
transponder and stream information are also available in advanced display modes.
|
||||||
User can switch between different display modes by pressing 'OK' key.
|
|
||||||
|
|
||||||
The plugin is based on a neat console frontend status monitor application
|
The plugin is based on a neat console frontend status monitor application
|
||||||
called 'femon' by Johannes Stezenbach (see DVB-apps/szap/femon.c for further
|
called 'femon' by Johannes Stezenbach (see DVB-apps/szap/femon.c for further
|
||||||
@@ -31,8 +30,8 @@ Metzler Brothers.
|
|||||||
Terminology:
|
Terminology:
|
||||||
|
|
||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
|## Channel Name ############################# DD 16:9 PAL ##|
|
|## Channel Name ######################### [DD][AR][VF][A][D]|
|
||||||
|[=====Signal Strength in % =============|=================]|
|
|[=====Signal Strength in % ==============|=================]|
|
||||||
|[=====Signal-to-Noise Ratio in % ========|=================]|
|
|[=====Signal-to-Noise Ratio in % ========|=================]|
|
||||||
| STR: #0000 (0%) BER: #00000000 Video: 0 Mbit/s |
|
| STR: #0000 (0%) BER: #00000000 Video: 0 Mbit/s |
|
||||||
| SNR: #0000 (0%) UNC: #00000000 Audio: 0 kbit/s |
|
| SNR: #0000 (0%) UNC: #00000000 Audio: 0 kbit/s |
|
||||||
@@ -44,7 +43,7 @@ SNR - Signal-to-noise ratio
|
|||||||
BER - Bit error rate
|
BER - Bit error rate
|
||||||
UNC - Uncorrected blocks
|
UNC - Uncorrected blocks
|
||||||
Video - Calculated video bitrate in Mbit/s
|
Video - Calculated video bitrate in Mbit/s
|
||||||
Audio - Calculated audio / AC-3 bitrate in kbit/s (only first PID)
|
Audio - Calculated audio / AC-3 bitrate in kbit/s
|
||||||
|
|
||||||
LOCK - Everything's working...
|
LOCK - Everything's working...
|
||||||
SIGNAL - Found something above the noise level
|
SIGNAL - Found something above the noise level
|
||||||
@@ -52,15 +51,31 @@ CARRIER - Found a DVB signal
|
|||||||
VITERBI - FEC (forward error correction) is stable
|
VITERBI - FEC (forward error correction) is stable
|
||||||
SYNC - Found sync bytes
|
SYNC - Found sync bytes
|
||||||
|
|
||||||
|
DD - AC-3 stream (optional)
|
||||||
|
AR - Aspect Ratio: 1:1/4:3/16:9/2.21:1 (optional)
|
||||||
|
VF - Video format: PAL/NTSC (optional)
|
||||||
|
A - Audio track: 1..2 (optional)
|
||||||
|
D - Device number: 0..3 (optional)
|
||||||
|
|
||||||
|
Controls:
|
||||||
|
|
||||||
|
ChanUp/ChanDn - Switch channel up/down
|
||||||
|
Up/Down - Switch channel up/down
|
||||||
|
0-9 - Select channel
|
||||||
|
Ok - Switch between display modes: basic, transponder, stream, AC-3
|
||||||
|
Right/Left - Switch to next/previous device that provides the current channel
|
||||||
|
Green - Select language (APID)
|
||||||
|
Back - Exit plugin
|
||||||
|
|
||||||
Installation:
|
Installation:
|
||||||
|
|
||||||
cd /put/your/path/here/VDR/PLUGINS/src
|
cd /put/your/path/here/VDR/PLUGINS/src
|
||||||
tar -xzf /put/your/path/here/vdr-femon-X.Y.Z.tar.gz
|
tar -xzf /put/your/path/here/vdr-femon-X.Y.Z.tgz
|
||||||
ln -s femon-X.Y.Z femon
|
ln -s femon-X.Y.Z femon
|
||||||
cd /put/your/path/here/VDR
|
cd /put/your/path/here/VDR
|
||||||
make
|
make
|
||||||
make plugins
|
make plugins
|
||||||
./vdr -Pfemon
|
./vdr -P femon
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
|
|
||||||
@@ -71,3 +86,10 @@ Notes:
|
|||||||
ttxtsubs, but closing and reopening the femon plugin might help temporarily as
|
ttxtsubs, but closing and reopening the femon plugin might help temporarily as
|
||||||
well. Btw., this same thing happens with OSDTeletext plugin too :)
|
well. Btw., this same thing happens with OSDTeletext plugin too :)
|
||||||
- Disable the stream analyze to speed up heavy zapping sessions.
|
- Disable the stream analyze to speed up heavy zapping sessions.
|
||||||
|
- The signal strength and signal-to-noise ratio values are comparable only
|
||||||
|
between the same brand/model frontends. Due to a lack of proper frontend
|
||||||
|
specifications those values cannot be calculated into any real unit.
|
||||||
|
- Shrinked OSD is available for NTSC users: make NTSC_SYSTEM=1
|
||||||
|
- The device switching feature is still non-functional.
|
||||||
|
|
||||||
|
"Femon - A real womon who lives according to her natural feminine inclinations."
|
||||||
|
|||||||
2
femon.c
2
femon.c
@@ -12,7 +12,7 @@
|
|||||||
#include "femonosd.h"
|
#include "femonosd.h"
|
||||||
#include "femon.h"
|
#include "femon.h"
|
||||||
|
|
||||||
#if VDRVERSNUM < 10307
|
#if VDRVERSNUM && VDRVERSNUM < 10307
|
||||||
#error "You don't exist! Go away!"
|
#error "You don't exist! Go away!"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
2
femon.h
2
femon.h
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <vdr/plugin.h>
|
#include <vdr/plugin.h>
|
||||||
|
|
||||||
static const char *VERSION = "0.1.3";
|
static const char *VERSION = "0.1.5";
|
||||||
static const char *DESCRIPTION = "DVB Signal Information Monitor (OSD)";
|
static const char *DESCRIPTION = "DVB Signal Information Monitor (OSD)";
|
||||||
static const char *MAINMENUENTRY = "Signal Information";
|
static const char *MAINMENUENTRY = "Signal Information";
|
||||||
|
|
||||||
|
|||||||
128
femonosd.c
128
femonosd.c
@@ -12,6 +12,12 @@
|
|||||||
#include "femonreceiver.h"
|
#include "femonreceiver.h"
|
||||||
#include "femonosd.h"
|
#include "femonosd.h"
|
||||||
|
|
||||||
|
#include "symbols/dev0.xpm"
|
||||||
|
#include "symbols/dev1.xpm"
|
||||||
|
#include "symbols/dev2.xpm"
|
||||||
|
#include "symbols/dev3.xpm"
|
||||||
|
#include "symbols/apid1.xpm"
|
||||||
|
#include "symbols/apid2.xpm"
|
||||||
#include "symbols/ar11.xpm"
|
#include "symbols/ar11.xpm"
|
||||||
#include "symbols/ar169.xpm"
|
#include "symbols/ar169.xpm"
|
||||||
#include "symbols/ar2211.xpm"
|
#include "symbols/ar2211.xpm"
|
||||||
@@ -25,10 +31,12 @@
|
|||||||
#define FRONTEND_DEVICE "/dev/dvb/adapter%d/frontend%d"
|
#define FRONTEND_DEVICE "/dev/dvb/adapter%d/frontend%d"
|
||||||
#define CHANNELINPUT_TIMEOUT 1000
|
#define CHANNELINPUT_TIMEOUT 1000
|
||||||
|
|
||||||
#define SCREENWIDTH 720 // in pixels
|
#ifdef NTSC_SYSTEM
|
||||||
#define SCREENHEIGHT 576 // in pixels
|
#define OSDHEIGHT 420 // in pixels
|
||||||
#define OSDWIDTH 600 // in pixels
|
#else
|
||||||
#define OSDHEIGHT 480 // in pixels
|
#define OSDHEIGHT 480 // in pixels
|
||||||
|
#endif
|
||||||
|
#define OSDWIDTH 600 // in pixels
|
||||||
#define OSDINFOHEIGHT (m_Font->Height() * 11) // in pixels (11 rows)
|
#define OSDINFOHEIGHT (m_Font->Height() * 11) // in pixels (11 rows)
|
||||||
#define OSDSTATUSHEIGHT (m_Font->Height() * 6) // in pixels (6 rows)
|
#define OSDSTATUSHEIGHT (m_Font->Height() * 6) // in pixels (6 rows)
|
||||||
|
|
||||||
@@ -36,12 +44,18 @@
|
|||||||
#define OSDINFOWIN_X(col) ((col == 4) ? 470 : (col == 3) ? 300 : (col==2) ? 180 : 15)
|
#define OSDINFOWIN_X(col) ((col == 4) ? 470 : (col == 3) ? 300 : (col==2) ? 180 : 15)
|
||||||
#define OSDSTATUSWIN_Y(offset) (femonConfig.position ? offset : (OSDHEIGHT - OSDSTATUSHEIGHT + offset))
|
#define OSDSTATUSWIN_Y(offset) (femonConfig.position ? offset : (OSDHEIGHT - OSDSTATUSHEIGHT + offset))
|
||||||
#define OSDSTATUSWIN_X(col) ((col == 7) ? 475 : (col == 6) ? 410 : (col == 5) ? 275 : (col == 4) ? 220 : (col == 3) ? 125 : (col==2) ? 70 : 15)
|
#define OSDSTATUSWIN_X(col) ((col == 7) ? 475 : (col == 6) ? 410 : (col == 5) ? 275 : (col == 4) ? 220 : (col == 3) ? 125 : (col==2) ? 70 : 15)
|
||||||
#define OSDSTATUSWIN_XC(col,txt) (((col - 1) * SCREENWIDTH / 6) + ((SCREENWIDTH / 6 - m_Font->Width(txt)) / 2))
|
#define OSDSTATUSWIN_XC(col,txt) (((col - 1) * OSDWIDTH / 5) + ((OSDWIDTH / 5 - m_Font->Width(txt)) / 2))
|
||||||
#define BARWIDTH(x) (OSDWIDTH * x / 100)
|
#define BARWIDTH(x) (OSDWIDTH * x / 100)
|
||||||
#define SPACING 5
|
#define SPACING 5
|
||||||
|
|
||||||
#define clrBackground clrGray50 // this should be tied somehow into current theme
|
#define clrBackground clrGray50 // this should be tied somehow into current theme
|
||||||
|
|
||||||
|
cBitmap cFemonOsd::bmDevice0(dev0_xpm);
|
||||||
|
cBitmap cFemonOsd::bmDevice1(dev1_xpm);
|
||||||
|
cBitmap cFemonOsd::bmDevice2(dev2_xpm);
|
||||||
|
cBitmap cFemonOsd::bmDevice3(dev3_xpm);
|
||||||
|
cBitmap cFemonOsd::bmApid1(apid1_xpm);
|
||||||
|
cBitmap cFemonOsd::bmApid2(apid2_xpm);
|
||||||
cBitmap cFemonOsd::bmAspectRatio_1_1(ar11_xpm);
|
cBitmap cFemonOsd::bmAspectRatio_1_1(ar11_xpm);
|
||||||
cBitmap cFemonOsd::bmAspectRatio_16_9(ar169_xpm);
|
cBitmap cFemonOsd::bmAspectRatio_16_9(ar169_xpm);
|
||||||
cBitmap cFemonOsd::bmAspectRatio_2_21_1(ar2211_xpm);
|
cBitmap cFemonOsd::bmAspectRatio_2_21_1(ar2211_xpm);
|
||||||
@@ -68,8 +82,15 @@ cFemonOsd::cFemonOsd(void)
|
|||||||
m_BER = 0;
|
m_BER = 0;
|
||||||
m_UNC = 0;
|
m_UNC = 0;
|
||||||
m_DisplayMode = femonConfig.displaymode;
|
m_DisplayMode = femonConfig.displaymode;
|
||||||
m_Font = cFont::GetFont(fontSml);
|
|
||||||
m_Mutex = new cMutex();
|
m_Mutex = new cMutex();
|
||||||
|
if (Setup.UseSmallFont == 0) {
|
||||||
|
// Dirty hack to force the small fonts...
|
||||||
|
Setup.UseSmallFont = 1;
|
||||||
|
m_Font = cFont::GetFont(fontSml);
|
||||||
|
Setup.UseSmallFont = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
m_Font = cFont::GetFont(fontSml);
|
||||||
}
|
}
|
||||||
|
|
||||||
cFemonOsd::~cFemonOsd(void)
|
cFemonOsd::~cFemonOsd(void)
|
||||||
@@ -93,7 +114,7 @@ void cFemonOsd::DrawStatusWindow(void)
|
|||||||
int snr = m_SNR / 655;
|
int snr = m_SNR / 655;
|
||||||
int signal = m_Signal / 655;
|
int signal = m_Signal / 655;
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
int x = OSDWIDTH - SPACING;
|
int x = OSDWIDTH;
|
||||||
int y = 0;
|
int y = 0;
|
||||||
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
|
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
|
||||||
|
|
||||||
@@ -103,7 +124,48 @@ void cFemonOsd::DrawStatusWindow(void)
|
|||||||
m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(offset), OSDWIDTH, OSDSTATUSWIN_Y(offset+m_Font->Height()-1), clrWhite);
|
m_Osd->DrawRectangle(0, OSDSTATUSWIN_Y(offset), OSDWIDTH, OSDSTATUSWIN_Y(offset+m_Font->Height()-1), clrWhite);
|
||||||
m_Osd->DrawText(OSDSTATUSWIN_X(1), OSDSTATUSWIN_Y(offset), buf, clrBlack, clrWhite, m_Font);
|
m_Osd->DrawText(OSDSTATUSWIN_X(1), OSDSTATUSWIN_Y(offset), buf, clrBlack, clrWhite, m_Font);
|
||||||
if (m_Receiver) {
|
if (m_Receiver) {
|
||||||
int value = m_Receiver->VideoFormat();
|
int value = cDevice::ActualDevice()->CardIndex();
|
||||||
|
if (value == 0) {
|
||||||
|
x -= bmDevice0.Width() + SPACING;
|
||||||
|
y = (m_Font->Height() - bmDevice0.Height()) / 2;
|
||||||
|
if (y < 0) y = 0;
|
||||||
|
m_Osd->DrawBitmap(x, OSDSTATUSWIN_Y(offset+y), bmDevice0, clrBlack, clrWhite);
|
||||||
|
}
|
||||||
|
else if (value == 1) {
|
||||||
|
x -= bmDevice1.Width() + SPACING;
|
||||||
|
y = (m_Font->Height() - bmDevice1.Height()) / 2;
|
||||||
|
if (y < 0) y = 0;
|
||||||
|
m_Osd->DrawBitmap(x, OSDSTATUSWIN_Y(offset+y), bmDevice1, clrBlack, clrWhite);
|
||||||
|
}
|
||||||
|
else if (value == 2) {
|
||||||
|
x -= bmDevice2.Width() + SPACING;
|
||||||
|
y = (m_Font->Height() - bmDevice2.Height()) / 2;
|
||||||
|
if (y < 0) y = 0;
|
||||||
|
m_Osd->DrawBitmap(x, OSDSTATUSWIN_Y(offset+y), bmDevice2, clrBlack, clrWhite);
|
||||||
|
}
|
||||||
|
else if (value == 3) {
|
||||||
|
x -= bmDevice3.Width() + SPACING;
|
||||||
|
y = (m_Font->Height() - bmDevice3.Height()) / 2;
|
||||||
|
if (y < 0) y = 0;
|
||||||
|
m_Osd->DrawBitmap(x, OSDSTATUSWIN_Y(offset+y), bmDevice3, clrBlack, clrWhite);
|
||||||
|
}
|
||||||
|
value = -1;
|
||||||
|
const char **AudioTracks = cDevice::PrimaryDevice()->GetAudioTracks(&value);
|
||||||
|
if (AudioTracks) {
|
||||||
|
if (value == 0) {
|
||||||
|
x -= bmApid1.Width() + SPACING;
|
||||||
|
y = (m_Font->Height() - bmApid1.Height()) / 2;
|
||||||
|
if (y < 0) y = 0;
|
||||||
|
m_Osd->DrawBitmap(x, OSDSTATUSWIN_Y(offset+y), bmApid1, clrBlack, clrWhite);
|
||||||
|
}
|
||||||
|
else if (value == 1) {
|
||||||
|
x -= bmApid2.Width() + SPACING;
|
||||||
|
y = (m_Font->Height() - bmApid2.Height()) / 2;
|
||||||
|
if (y < 0) y = 0;
|
||||||
|
m_Osd->DrawBitmap(x, OSDSTATUSWIN_Y(offset+y), bmApid2, clrBlack, clrWhite);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
value = m_Receiver->VideoFormat();
|
||||||
if (value == VF_PAL) {
|
if (value == VF_PAL) {
|
||||||
x -= bmPAL.Width() + SPACING;
|
x -= bmPAL.Width() + SPACING;
|
||||||
y = (m_Font->Height() - bmPAL.Height()) / 2;
|
y = (m_Font->Height() - bmPAL.Height()) / 2;
|
||||||
@@ -258,7 +320,7 @@ void cFemonOsd::DrawInfoWindow(void)
|
|||||||
m_Osd->DrawText(OSDINFOWIN_X(4), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
m_Osd->DrawText(OSDINFOWIN_X(4), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
||||||
offset += m_Font->Height();
|
offset += m_Font->Height();
|
||||||
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("CA"), clrWhite, clrBackground, m_Font);
|
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("CA"), clrWhite, clrBackground, m_Font);
|
||||||
snprintf(buf, sizeof(buf), "%d", channel->Ca());
|
snprintf(buf, sizeof(buf), "%X", channel->Ca());
|
||||||
m_Osd->DrawText(OSDINFOWIN_X(2), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
m_Osd->DrawText(OSDINFOWIN_X(2), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
||||||
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), tr("Tpid"), clrWhite, clrBackground, m_Font);
|
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), tr("Tpid"), clrWhite, clrBackground, m_Font);
|
||||||
snprintf(buf, sizeof(buf), "%d", channel->Tpid());
|
snprintf(buf, sizeof(buf), "%d", channel->Tpid());
|
||||||
@@ -500,7 +562,9 @@ void cFemonOsd::DrawInfoWindow(void)
|
|||||||
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
||||||
offset += m_Font->Height();
|
offset += m_Font->Height();
|
||||||
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Audio Stream"), clrYellow, clrBackground, m_Font);
|
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Audio Stream"), clrYellow, clrBackground, m_Font);
|
||||||
snprintf(buf, sizeof(buf), "#%d", channel->Apid1());
|
value = -1;
|
||||||
|
cDevice::PrimaryDevice()->GetAudioTracks(&value);
|
||||||
|
snprintf(buf, sizeof(buf), "#%d", (value > 0 ? channel->Apid2() : channel->Apid1()));
|
||||||
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
||||||
offset += m_Font->Height();
|
offset += m_Font->Height();
|
||||||
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Bitrate"), clrWhite, clrBackground, m_Font);
|
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("Bitrate"), clrWhite, clrBackground, m_Font);
|
||||||
@@ -724,9 +788,8 @@ void cFemonOsd::ChannelSwitch(const cDevice * device, int channelNumber)
|
|||||||
eOSState cFemonOsd::ProcessKey(eKeys Key)
|
eOSState cFemonOsd::ProcessKey(eKeys Key)
|
||||||
{
|
{
|
||||||
eOSState state = cOsdObject::ProcessKey(Key);
|
eOSState state = cOsdObject::ProcessKey(Key);
|
||||||
|
|
||||||
if (state == osUnknown) {
|
if (state == osUnknown) {
|
||||||
switch (Key & ~k_Repeat) {
|
switch (Key) {
|
||||||
case k0:
|
case k0:
|
||||||
if ((m_Number == 0) && (m_OldNumber != 0)) {
|
if ((m_Number == 0) && (m_OldNumber != 0)) {
|
||||||
m_Number = m_OldNumber;
|
m_Number = m_OldNumber;
|
||||||
@@ -765,6 +828,49 @@ eOSState cFemonOsd::ProcessKey(eKeys Key)
|
|||||||
break;
|
break;
|
||||||
case kBack:
|
case kBack:
|
||||||
return osEnd;
|
return osEnd;
|
||||||
|
case kGreen:
|
||||||
|
{
|
||||||
|
int CurrentAudioTrack = -1;
|
||||||
|
const char **AudioTracks = cDevice::PrimaryDevice()->GetAudioTracks(&CurrentAudioTrack);
|
||||||
|
if (AudioTracks) {
|
||||||
|
const char **at = &AudioTracks[CurrentAudioTrack];
|
||||||
|
if (!*++at)
|
||||||
|
at = AudioTracks;
|
||||||
|
cDevice::PrimaryDevice()->SetAudioTrack(at - AudioTracks);
|
||||||
|
if (femonConfig.analyzestream) {
|
||||||
|
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
|
||||||
|
if (m_Receiver)
|
||||||
|
delete m_Receiver;
|
||||||
|
m_Receiver = new cFemonReceiver(channel->Ca(), channel->Vpid(), (at - AudioTracks) ? channel->Apid2() : channel->Apid1(), channel->Dpid1());
|
||||||
|
cDevice::ActualDevice()->AttachReceiver(m_Receiver);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case kRight:
|
||||||
|
case kLeft:
|
||||||
|
{
|
||||||
|
int device = cDevice::ActualDevice()->DeviceNumber();
|
||||||
|
if (device >= 0) {
|
||||||
|
cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel());
|
||||||
|
for (int i = 0; i < cDevice::NumDevices() - 1; i++) {
|
||||||
|
if (NORMALKEY(Key) == kRight) {
|
||||||
|
if (++device >= cDevice::NumDevices()) device = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (--device < 0) device = cDevice::NumDevices() - 1;
|
||||||
|
}
|
||||||
|
if (cDevice::GetDevice(device)->ProvidesChannel(channel)) {
|
||||||
|
//cStatus::MsgChannelSwitch(cDevice::GetDevice(device), 0);
|
||||||
|
//implement some tuning mechanism here
|
||||||
|
//cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel->Vpid(), channel->Apid1(), channel->Apid2(), channel->Dpid1(), channel->Dpid2()));
|
||||||
|
//cStatus::MsgChannelSwitch(cDevice::GetDevice(device), channel->Number());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
case kUp|k_Repeat:
|
case kUp|k_Repeat:
|
||||||
case kUp:
|
case kUp:
|
||||||
case kDown|k_Repeat:
|
case kDown|k_Repeat:
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
#include <vdr/thread.h>
|
#include <vdr/thread.h>
|
||||||
#include <vdr/status.h>
|
#include <vdr/status.h>
|
||||||
#include <vdr/channels.h>
|
#include <vdr/channels.h>
|
||||||
|
#include <vdr/transfer.h>
|
||||||
|
|
||||||
class cFemonOsd : public cOsdObject, public cThread, public cStatus {
|
class cFemonOsd : public cOsdObject, public cThread, public cStatus {
|
||||||
private:
|
private:
|
||||||
@@ -35,7 +36,8 @@ private:
|
|||||||
int m_DisplayMode;
|
int m_DisplayMode;
|
||||||
const cFont *m_Font;
|
const cFont *m_Font;
|
||||||
cMutex* m_Mutex;
|
cMutex* m_Mutex;
|
||||||
static cBitmap bmDD, bmDD20, bmDD51, bmPAL, bmNTSC, bmAspectRatio_1_1, bmAspectRatio_16_9, bmAspectRatio_2_21_1, bmAspectRatio_4_3;
|
static cBitmap bmDevice0, bmDevice1, bmDevice2, bmDevice3, bmApid1, bmApid2, bmDD, bmDD20, bmDD51;
|
||||||
|
static cBitmap bmPAL, bmNTSC, bmAspectRatio_1_1, bmAspectRatio_16_9, bmAspectRatio_2_21_1, bmAspectRatio_4_3;
|
||||||
void DrawStatusWindow(void);
|
void DrawStatusWindow(void);
|
||||||
void DrawInfoWindow(void);
|
void DrawInfoWindow(void);
|
||||||
|
|
||||||
|
|||||||
52
patches/ca_system_names.diff
Normal file
52
patches/ca_system_names.diff
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
--- femonosd.c.orig 2004-08-19 19:42:32.000000000 +0300
|
||||||
|
+++ femonosd.c 2004-08-19 20:02:31.000000000 +0300
|
||||||
|
@@ -320,7 +320,48 @@
|
||||||
|
m_Osd->DrawText(OSDINFOWIN_X(4), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
||||||
|
offset += m_Font->Height();
|
||||||
|
m_Osd->DrawText(OSDINFOWIN_X(1), OSDINFOWIN_Y(offset), tr("CA"), clrWhite, clrBackground, m_Font);
|
||||||
|
- snprintf(buf, sizeof(buf), "%X", channel->Ca());
|
||||||
|
+ value = channel->Ca();
|
||||||
|
+ switch (value >> 8) {
|
||||||
|
+ case 0x0:
|
||||||
|
+ if (value)
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "Fixed");
|
||||||
|
+ else
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "Free to Air");
|
||||||
|
+ break;
|
||||||
|
+ case 0x1:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "SECA/Mediaguard");
|
||||||
|
+ break;
|
||||||
|
+ case 0x5:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "Viaccess");
|
||||||
|
+ break;
|
||||||
|
+ case 0x6:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "Irdeto");
|
||||||
|
+ break;
|
||||||
|
+ case 0x9:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "NDS/Videoguard");
|
||||||
|
+ break;
|
||||||
|
+ case 0xB:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "Conax");
|
||||||
|
+ break;
|
||||||
|
+ case 0xD:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "CryptoWorks");
|
||||||
|
+ break;
|
||||||
|
+ case 0xE:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "PowerVu");
|
||||||
|
+ break;
|
||||||
|
+ case 0x17:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "BetaCrypt");
|
||||||
|
+ break;
|
||||||
|
+ case 0x18:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "NagraVision");
|
||||||
|
+ break;
|
||||||
|
+ case 0x4A:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%s", "SkyCrypt");
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ snprintf(buf, sizeof(buf), "%X", value);
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
m_Osd->DrawText(OSDINFOWIN_X(2), OSDINFOWIN_Y(offset), buf, clrYellow, clrBackground, m_Font);
|
||||||
|
m_Osd->DrawText(OSDINFOWIN_X(3), OSDINFOWIN_Y(offset), tr("Tpid"), clrWhite, clrBackground, m_Font);
|
||||||
|
snprintf(buf, sizeof(buf), "%d", channel->Tpid());
|
||||||
23
symbols/apid1.xpm
Normal file
23
symbols/apid1.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * apid1_xpm[] = {
|
||||||
|
"32 18 2 1",
|
||||||
|
". c #FFFFFF",
|
||||||
|
"+ c #000000",
|
||||||
|
"++++++++++++++++++++++++++++++++",
|
||||||
|
"+..............................+",
|
||||||
|
"+..............++.......++.....+",
|
||||||
|
"+............++++....+++++.....+",
|
||||||
|
"+..........+++.++....+++++.....+",
|
||||||
|
"+........+++...++.......++.....+",
|
||||||
|
"+...+++++++....++.......++.....+",
|
||||||
|
"+...++++++.....++.......++.....+",
|
||||||
|
"+...++..++.....++.......++.....+",
|
||||||
|
"+...++..++.....++.......++.....+",
|
||||||
|
"+...++++++.....++.......++.....+",
|
||||||
|
"+...+++++++....++.......++.....+",
|
||||||
|
"+........+++...++.......++.....+",
|
||||||
|
"+..........+++.++.......++.....+",
|
||||||
|
"+............++++.......++.....+",
|
||||||
|
"+.............+++.......++.....+",
|
||||||
|
"+..............................+",
|
||||||
|
"++++++++++++++++++++++++++++++++"};
|
||||||
23
symbols/apid2.xpm
Normal file
23
symbols/apid2.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * apid2_xpm[] = {
|
||||||
|
"32 18 2 1",
|
||||||
|
". c #FFFFFF",
|
||||||
|
"+ c #000000",
|
||||||
|
"++++++++++++++++++++++++++++++++",
|
||||||
|
"+..............................+",
|
||||||
|
"+..............++.....++++.....+",
|
||||||
|
"+............++++...+++++++....+",
|
||||||
|
"+..........+++.++...++....++...+",
|
||||||
|
"+........+++...++.........++...+",
|
||||||
|
"+...+++++++....++.........++...+",
|
||||||
|
"+...++++++.....++........+++...+",
|
||||||
|
"+...++..++.....++.......+++....+",
|
||||||
|
"+...++..++.....++......+++.....+",
|
||||||
|
"+...++++++.....++.....+++......+",
|
||||||
|
"+...+++++++....++....+++.......+",
|
||||||
|
"+........+++...++...+++........+",
|
||||||
|
"+..........+++.++...++.........+",
|
||||||
|
"+............++++...++++++++...+",
|
||||||
|
"+.............+++...++++++++...+",
|
||||||
|
"+..............................+",
|
||||||
|
"++++++++++++++++++++++++++++++++"};
|
||||||
@@ -1,23 +1,23 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * ar11_xpm[] = {
|
static char * ar11_xpm[] = {
|
||||||
"21 18 2 1",
|
"26 18 2 1",
|
||||||
". c #FFFFFF",
|
". c #FFFFFF",
|
||||||
"+ c #000000",
|
"+ c #000000",
|
||||||
".....................",
|
"++++++++++++++++++++++++++",
|
||||||
".....................",
|
"+........................+",
|
||||||
"....++...........++..",
|
"+......++..........++....+",
|
||||||
"...+++..........+++..",
|
"+...+++++.......+++++....+",
|
||||||
"..++++....++...++++..",
|
"+...+++++.......+++++....+",
|
||||||
"..++++...++++..++++..",
|
"+......++...++.....++....+",
|
||||||
"....++...++++....++..",
|
"+......++...++.....++....+",
|
||||||
"....++....++.....++..",
|
"+......++..........++....+",
|
||||||
"....++...........++..",
|
"+......++..........++....+",
|
||||||
"....++...........++..",
|
"+......++..........++....+",
|
||||||
"....++....++.....++..",
|
"+......++..........++....+",
|
||||||
"....++...++++....++..",
|
"+......++..........++....+",
|
||||||
"....++...++++....++..",
|
"+......++..........++....+",
|
||||||
"....++....++.....++..",
|
"+......++..........++....+",
|
||||||
"....++...........++..",
|
"+......++...++.....++....+",
|
||||||
"....++...........++..",
|
"+......++...++.....++....+",
|
||||||
".....................",
|
"+........................+",
|
||||||
"....................."};
|
"++++++++++++++++++++++++++"};
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * ar169_xpm[] = {
|
static char * ar169_xpm[] = {
|
||||||
"36 18 2 1",
|
"38 18 2 1",
|
||||||
". c #FFFFFF",
|
". c #FFFFFF",
|
||||||
"+ c #000000",
|
"+ c #000000",
|
||||||
"....................................",
|
"++++++++++++++++++++++++++++++++++++++",
|
||||||
"....................................",
|
"+....................................+",
|
||||||
"....++....+++++............+++++....",
|
"+......++.....++++..........++++.....+",
|
||||||
"...+++...+++++++..........+++++++...",
|
"+...+++++....+++++++.......++++++....+",
|
||||||
"..++++..+++...+++...++...+++...+++..",
|
"+...+++++....++...++......++...+++...+",
|
||||||
"..++++..++.....++..++++..++.....++..",
|
"+......++...++........++..++....++...+",
|
||||||
"....++..++.........++++..++.....++..",
|
"+......++...++........++..++....++...+",
|
||||||
"....++..++..........++...+++...+++..",
|
"+......++...++............++....++...+",
|
||||||
"....++..++.++++...........++++++++..",
|
"+......++...++.+++.........+++++++...+",
|
||||||
"....++..++++++++...........+++++++..",
|
"+......++...+++++++.........+++.++...+",
|
||||||
"....++..+++...+++...++..........++..",
|
"+......++...++....++............++...+",
|
||||||
"....++..++.....++..++++.........++..",
|
"+......++...++....++............++...+",
|
||||||
"....++..++.....++..++++..++.....++..",
|
"+......++...++....++............++...+",
|
||||||
"....++..+++...+++...++...+++...+++..",
|
"+......++...+++...++......++...++....+",
|
||||||
"....++...+++++++..........+++++++...",
|
"+......++....++++++...++..+++++++....+",
|
||||||
"....++....+++++............+++++....",
|
"+......++.....++++....++...+++++.....+",
|
||||||
"....................................",
|
"+....................................+",
|
||||||
"...................................."};
|
"++++++++++++++++++++++++++++++++++++++"};
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * ar2211_xpm[] = {
|
static char * ar2211_xpm[] = {
|
||||||
"43 18 2 1",
|
"52 18 2 1",
|
||||||
". c #FFFFFF",
|
". c #FFFFFF",
|
||||||
"+ c #000000",
|
"+ c #000000",
|
||||||
"...........................................",
|
"++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||||
"...........................................",
|
"+..................................................+",
|
||||||
"....++++........++++......++...........++..",
|
"+.....++++..........++++........++...........++....+",
|
||||||
"...++++++......++++++....+++..........+++..",
|
"+...+++++++.......+++++++....+++++........+++++....+",
|
||||||
"..+++..+++....+++..+++..++++....++...++++..",
|
"+...++....++......++....++...+++++........+++++....+",
|
||||||
"..++....++....++....++..++++...++++..++++..",
|
"+.........++............++......++...++......++....+",
|
||||||
"..++....++....++....++....++...++++....++..",
|
"+.........++............++......++...++......++....+",
|
||||||
".......+++.........+++....++....++.....++..",
|
"+........+++...........+++......++...........++....+",
|
||||||
"......+++.........+++.....++...........++..",
|
"+.......+++...........+++.......++...........++....+",
|
||||||
".....+++.........+++......++...........++..",
|
"+......+++...........+++........++...........++....+",
|
||||||
"....+++.........+++.......++....++.....++..",
|
"+.....+++...........+++.........++...........++....+",
|
||||||
"...+++.........+++........++...++++....++..",
|
"+....+++...........+++..........++...........++....+",
|
||||||
"..+++.........+++.........++...++++....++..",
|
"+...+++...........+++...........++...........++....+",
|
||||||
"..++....++.++.++....++....++....++.....++..",
|
"+...++............++............++...........++....+",
|
||||||
"..++++++++.++.++++++++....++...........++..",
|
"+...++++++++..++..++++++++......++...++......++....+",
|
||||||
"..++++++++.++.++++++++....++...........++..",
|
"+...++++++++..++..++++++++......++...++......++....+",
|
||||||
"...........................................",
|
"+..................................................+",
|
||||||
"..........................................."};
|
"++++++++++++++++++++++++++++++++++++++++++++++++++++"};
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * ar43_xpm[] = {
|
static char * ar43_xpm[] = {
|
||||||
"32 18 2 1",
|
"31 18 2 1",
|
||||||
". c #FFFFFF",
|
". c #FFFFFF",
|
||||||
"+ c #000000",
|
"+ c #000000",
|
||||||
"................................",
|
"+++++++++++++++++++++++++++++++",
|
||||||
"................................",
|
"+.............................+",
|
||||||
"....++..++............++++++....",
|
"+.........++.........+++++....+",
|
||||||
"....++..++...........++++++++...",
|
"+........+++........+++++++...+",
|
||||||
"...+++..++.....++...+++....+++..",
|
"+.......++++.......++....++...+",
|
||||||
"...++...++....++++..++......++..",
|
"+......++.++...++..++....++...+",
|
||||||
"...++...++....++++..++......++..",
|
"+.....++..++...++........++...+",
|
||||||
"..+++...++.....++..........+++..",
|
"+.....++..++............++....+",
|
||||||
"..++....++..............+++++...",
|
"+....++...++..........+++.....+",
|
||||||
"..++....++..............+++++...",
|
"+...++....++..........++++....+",
|
||||||
"..++++++++++...++..........+++..",
|
"+...+++++++++...........+++...+",
|
||||||
"..++++++++++..++++..++......++..",
|
"+...+++++++++............++...+",
|
||||||
"........++....++++..++......++..",
|
"+.........++.......++....++...+",
|
||||||
"........++.....++...+++....+++..",
|
"+.........++.......++...+++...+",
|
||||||
"........++...........++++++++...",
|
"+.........++...++...++++++....+",
|
||||||
"........++............++++++....",
|
"+.........++...++....++++.....+",
|
||||||
"................................",
|
"+.............................+",
|
||||||
"................................"};
|
"+++++++++++++++++++++++++++++++"};
|
||||||
|
|||||||
23
symbols/dev0.xpm
Normal file
23
symbols/dev0.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * dev0_xpm[] = {
|
||||||
|
"29 18 2 1",
|
||||||
|
". c #FFFFFF",
|
||||||
|
"+ c #000000",
|
||||||
|
"+++++++++++++++++++++++++++++",
|
||||||
|
"+...........................+",
|
||||||
|
"+.......+..+.......++++.....+",
|
||||||
|
"+.......+..+......++++++....+",
|
||||||
|
"+.......+..+......++..++....+",
|
||||||
|
"+....+++++++++...++....++...+",
|
||||||
|
"+....+++++++++...++....++...+",
|
||||||
|
"+......+..+......++....++...+",
|
||||||
|
"+......+..+......++....++...+",
|
||||||
|
"+......+..+......++....++...+",
|
||||||
|
"+......+..+......++....++...+",
|
||||||
|
"+...+++++++++....++....++...+",
|
||||||
|
"+...+++++++++....++....++...+",
|
||||||
|
"+.....+..+........++..++....+",
|
||||||
|
"+.....+..+........++++++....+",
|
||||||
|
"+.....+..+.........++++.....+",
|
||||||
|
"+...........................+",
|
||||||
|
"+++++++++++++++++++++++++++++"};
|
||||||
23
symbols/dev1.xpm
Normal file
23
symbols/dev1.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * dev1_xpm[] = {
|
||||||
|
"29 18 2 1",
|
||||||
|
". c #FFFFFF",
|
||||||
|
"+ c #000000",
|
||||||
|
"+++++++++++++++++++++++++++++",
|
||||||
|
"+...........................+",
|
||||||
|
"+.......+..+.........++.....+",
|
||||||
|
"+.......+..+......+++++.....+",
|
||||||
|
"+.......+..+......+++++.....+",
|
||||||
|
"+....+++++++++.......++.....+",
|
||||||
|
"+....+++++++++.......++.....+",
|
||||||
|
"+......+..+..........++.....+",
|
||||||
|
"+......+..+..........++.....+",
|
||||||
|
"+......+..+..........++.....+",
|
||||||
|
"+......+..+..........++.....+",
|
||||||
|
"+...+++++++++........++.....+",
|
||||||
|
"+...+++++++++........++.....+",
|
||||||
|
"+.....+..+...........++.....+",
|
||||||
|
"+.....+..+...........++.....+",
|
||||||
|
"+.....+..+...........++.....+",
|
||||||
|
"+...........................+",
|
||||||
|
"+++++++++++++++++++++++++++++"};
|
||||||
23
symbols/dev2.xpm
Normal file
23
symbols/dev2.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * dev2_xpm[] = {
|
||||||
|
"29 18 2 1",
|
||||||
|
". c #FFFFFF",
|
||||||
|
"+ c #000000",
|
||||||
|
"+++++++++++++++++++++++++++++",
|
||||||
|
"+...........................+",
|
||||||
|
"+.......+..+.......++++.....+",
|
||||||
|
"+.......+..+.....+++++++....+",
|
||||||
|
"+.......+..+.....++....++...+",
|
||||||
|
"+....+++++++++.........++...+",
|
||||||
|
"+....+++++++++.........++...+",
|
||||||
|
"+......+..+...........+++...+",
|
||||||
|
"+......+..+..........+++....+",
|
||||||
|
"+......+..+.........+++.....+",
|
||||||
|
"+......+..+........+++......+",
|
||||||
|
"+...+++++++++.....+++.......+",
|
||||||
|
"+...+++++++++....+++........+",
|
||||||
|
"+.....+..+.......++.........+",
|
||||||
|
"+.....+..+.......++++++++...+",
|
||||||
|
"+.....+..+.......++++++++...+",
|
||||||
|
"+...........................+",
|
||||||
|
"+++++++++++++++++++++++++++++"};
|
||||||
23
symbols/dev3.xpm
Normal file
23
symbols/dev3.xpm
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
/* XPM */
|
||||||
|
static char * dev3_xpm[] = {
|
||||||
|
"29 18 2 1",
|
||||||
|
". c #FFFFFF",
|
||||||
|
"+ c #000000",
|
||||||
|
"+++++++++++++++++++++++++++++",
|
||||||
|
"+...........................+",
|
||||||
|
"+.......+..+.......+++++....+",
|
||||||
|
"+.......+..+......+++++++...+",
|
||||||
|
"+.......+..+.....++....++...+",
|
||||||
|
"+....+++++++++...++....++...+",
|
||||||
|
"+....+++++++++.........++...+",
|
||||||
|
"+......+..+...........++....+",
|
||||||
|
"+......+..+.........+++.....+",
|
||||||
|
"+......+..+.........++++....+",
|
||||||
|
"+......+..+...........+++...+",
|
||||||
|
"+...+++++++++..........++...+",
|
||||||
|
"+...+++++++++....++....++...+",
|
||||||
|
"+.....+..+.......++...+++...+",
|
||||||
|
"+.....+..+........++++++....+",
|
||||||
|
"+.....+..+.........++++.....+",
|
||||||
|
"+...........................+",
|
||||||
|
"+++++++++++++++++++++++++++++"};
|
||||||
@@ -1,23 +1,23 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * dolbydigital_xpm[] = {
|
static char * dolbydigital_xpm[] = {
|
||||||
"27 18 2 1",
|
"31 18 2 1",
|
||||||
". c #FFFFFF",
|
". c #FFFFFF",
|
||||||
"+ c #000000",
|
"+ c #000000",
|
||||||
"...........................",
|
"+++++++++++++++++++++++++++++++",
|
||||||
"...........................",
|
"+.............................+",
|
||||||
"..+++++++++++.+++++++++++..",
|
"+...+++++++++++.+++++++++++...+",
|
||||||
"..++.++++++++.++++++++.++..",
|
"+...++.++++++++.++++++++.++...+",
|
||||||
"..++...++++++.++++++...++..",
|
"+...++...++++++.++++++...++...+",
|
||||||
"..++.....++++.++++.....++..",
|
"+...++.....++++.++++.....++...+",
|
||||||
"..++......+++.+++......++..",
|
"+...++......+++.+++......++...+",
|
||||||
"..++.......++.++.......++..",
|
"+...++.......++.++.......++...+",
|
||||||
"..++.......++.++.......++..",
|
"+...++.......++.++.......++...+",
|
||||||
"..++.......++.++.......++..",
|
"+...++.......++.++.......++...+",
|
||||||
"..++.......++.++.......++..",
|
"+...++.......++.++.......++...+",
|
||||||
"..++......+++.+++......++..",
|
"+...++......+++.+++......++...+",
|
||||||
"..++.....++++.++++.....++..",
|
"+...++.....++++.++++.....++...+",
|
||||||
"..++...++++++.++++++...++..",
|
"+...++...++++++.++++++...++...+",
|
||||||
"..++.++++++++.++++++++.++..",
|
"+...++.++++++++.++++++++.++...+",
|
||||||
"..+++++++++++.+++++++++++..",
|
"+...+++++++++++.+++++++++++...+",
|
||||||
"...........................",
|
"+.............................+",
|
||||||
"..........................."};
|
"+++++++++++++++++++++++++++++++"};
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * dolbydigital20_xpm[] = {
|
static char * dolbydigital20_xpm[] = {
|
||||||
"49 18 2 1",
|
"55 18 2 1",
|
||||||
". c #FFFFFF",
|
". c #FFFFFF",
|
||||||
"+ c #000000",
|
"+ c #000000",
|
||||||
".................................................",
|
"+++++++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||||
".................................................",
|
"+.....................................................+",
|
||||||
"..+++++++++++.+++++++++++....++++.......++++++...",
|
"+...+++++++++++.+++++++++++.....++++.........++++.....+",
|
||||||
"..++.++++++++.++++++++.++...++++++.....++++++++..",
|
"+...++.++++++++.++++++++.++...+++++++.......++++++....+",
|
||||||
"..++...++++++.++++++...++..+++..+++....+++..+++..",
|
"+...++...++++++.++++++...++...++....++......++..++....+",
|
||||||
"..++.....++++.++++.....++..++....++....++....++..",
|
"+...++.....++++.++++.....++.........++.....++....++...+",
|
||||||
"..++......+++.+++......++..++....++....++....++..",
|
"+...++......+++.+++......++.........++.....++....++...+",
|
||||||
"..++.......++.++.......++.......+++....++....++..",
|
"+...++.......++.++.......++........+++.....++....++...+",
|
||||||
"..++.......++.++.......++......+++.....++....++..",
|
"+...++.......++.++.......++.......+++......++....++...+",
|
||||||
"..++.......++.++.......++.....+++......++....++..",
|
"+...++.......++.++.......++......+++.......++....++...+",
|
||||||
"..++.......++.++.......++....+++.......++....++..",
|
"+...++.......++.++.......++.....+++........++....++...+",
|
||||||
"..++......+++.+++......++...+++........++....++..",
|
"+...++......+++.+++......++....+++.........++....++...+",
|
||||||
"..++.....++++.++++.....++..+++.........++....++..",
|
"+...++.....++++.++++.....++...+++..........++....++...+",
|
||||||
"..++...++++++.++++++...++..++....++.++.+++..+++..",
|
"+...++...++++++.++++++...++...++............++..++....+",
|
||||||
"..++.++++++++.++++++++.++..++++++++.++.++++++++..",
|
"+...++.++++++++.++++++++.++...++++++++..++..++++++....+",
|
||||||
"..+++++++++++.+++++++++++..++++++++.++..++++++...",
|
"+...+++++++++++.+++++++++++...++++++++..++...++++.....+",
|
||||||
".................................................",
|
"+.....................................................+",
|
||||||
"................................................."};
|
"+++++++++++++++++++++++++++++++++++++++++++++++++++++++"};
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * dolbydigital51_xpm[] = {
|
static char * dolbydigital51_xpm[] = {
|
||||||
"44 18 2 1",
|
"51 18 2 1",
|
||||||
". c #FFFFFF",
|
". c #FFFFFF",
|
||||||
"+ c #000000",
|
"+ c #000000",
|
||||||
"............................................",
|
"+++++++++++++++++++++++++++++++++++++++++++++++++++",
|
||||||
"............................................",
|
"+.................................................+",
|
||||||
"..+++++++++++.+++++++++++..++++++++.....++..",
|
"+...+++++++++++.+++++++++++...+++++++........++...+",
|
||||||
"..++.++++++++.++++++++.++..++++++++....+++..",
|
"+...++.++++++++.++++++++.++...+++++++.....+++++...+",
|
||||||
"..++...++++++.++++++...++..++.........++++..",
|
"+...++...++++++.++++++...++...++..........+++++...+",
|
||||||
"..++.....++++.++++.....++..++.........++++..",
|
"+...++.....++++.++++.....++...++.............++...+",
|
||||||
"..++......+++.+++......++..++...........++..",
|
"+...++......+++.+++......++...++++++.........++...+",
|
||||||
"..++.......++.++.......++..++++++.......++..",
|
"+...++.......++.++.......++...+++++++........++...+",
|
||||||
"..++.......++.++.......++..+++++++......++..",
|
"+...++.......++.++.......++...++...+++.......++...+",
|
||||||
"..++.......++.++.......++.......+++.....++..",
|
"+...++.......++.++.......++.........++.......++...+",
|
||||||
"..++.......++.++.......++........++.....++..",
|
"+...++.......++.++.......++.........++.......++...+",
|
||||||
"..++......+++.+++......++..++....++.....++..",
|
"+...++......+++.+++......++.........++.......++...+",
|
||||||
"..++.....++++.++++.....++..++....++.....++..",
|
"+...++.....++++.++++.....++...++....++.......++...+",
|
||||||
"..++...++++++.++++++...++..+++..+++.++..++..",
|
"+...++...++++++.++++++...++...++...+++.......++...+",
|
||||||
"..++.++++++++.++++++++.++...++++++..++..++..",
|
"+...++.++++++++.++++++++.++...+++++++...++...++...+",
|
||||||
"..+++++++++++.+++++++++++....++++...++..++..",
|
"+...+++++++++++.+++++++++++....+++++....++...++...+",
|
||||||
"............................................",
|
"+.................................................+",
|
||||||
"............................................"};
|
"+++++++++++++++++++++++++++++++++++++++++++++++++++"};
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * ntsc_xpm[] = {
|
static char * ntsc_xpm[] = {
|
||||||
"38 18 2 1",
|
"19 18 2 1",
|
||||||
". c #FFFFFF",
|
". c #FFFFFF",
|
||||||
"+ c #000000",
|
"+ c #000000",
|
||||||
"......................................",
|
"+++++++++++++++++++",
|
||||||
"......................................",
|
"+.................+",
|
||||||
"..++....++.++++++++..+++++....+++++...",
|
"+...++.......++...+",
|
||||||
"..++....++.++++++++.+++++++..+++++++..",
|
"+...+++......++...+",
|
||||||
"..+++...++....++....++...++..++...++..",
|
"+...++++.....++...+",
|
||||||
"..+++...++....++....++...++..++...++..",
|
"+...++++.....++...+",
|
||||||
"..++++..++....++....++.......++.......",
|
"+...++.++....++...+",
|
||||||
"..++++..++....++....++++.....++.......",
|
"+...++..++...++...+",
|
||||||
"..++.++.++....++.....+++++...++.......",
|
"+...++..++...++...+",
|
||||||
"..++.++.++....++.......++++..++.......",
|
"+...++...++..++...+",
|
||||||
"..++..++++....++.........++..++.......",
|
"+...++...++..++...+",
|
||||||
"..++..++++....++....++...++..++...++..",
|
"+...++....++.++...+",
|
||||||
"..++...+++....++....++...++..++...++..",
|
"+...++.....++++...+",
|
||||||
"..++...+++....++....++...++..++...++..",
|
"+...++.....++++...+",
|
||||||
"..++....++....++....+++++++..+++++++..",
|
"+...++......+++...+",
|
||||||
"..++....++....++.....+++++....+++++...",
|
"+...++.......++...+",
|
||||||
"......................................",
|
"+.................+",
|
||||||
"......................................"};
|
"+++++++++++++++++++"};
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
/* XPM */
|
/* XPM */
|
||||||
static char * pal_xpm[] = {
|
static char * pal_xpm[] = {
|
||||||
"30 18 2 1",
|
"18 18 2 1",
|
||||||
". c #FFFFFF",
|
". c #FFFFFF",
|
||||||
"+ c #000000",
|
"+ c #000000",
|
||||||
"..............................",
|
"++++++++++++++++++",
|
||||||
"..............................",
|
"+................+",
|
||||||
"..+++++++....+++++...++.......",
|
"+...++++++++.....+",
|
||||||
"..+++..+++..+++++++..++.......",
|
"+...+++++++++....+",
|
||||||
"..++....++..++...++..++.......",
|
"+...++.....+++...+",
|
||||||
"..++....++.+++...+++.++.......",
|
"+...++......++...+",
|
||||||
"..++....++.++.....++.++.......",
|
"+...++......++...+",
|
||||||
"..++....++.++.....++.++.......",
|
"+...++.....+++...+",
|
||||||
"..++....++.++.....++.++.......",
|
"+...+++++++++....+",
|
||||||
"..+++..+++.+++++++++.++.......",
|
"+...++++++++.....+",
|
||||||
"..+++++++..+++++++++.++.......",
|
"+...++...........+",
|
||||||
"..++.......++.....++.++.......",
|
"+...++...........+",
|
||||||
"..++.......++.....++.++.......",
|
"+...++...........+",
|
||||||
"..++.......++.....++.++.......",
|
"+...++...........+",
|
||||||
"..++.......++.....++.+++++++..",
|
"+...++...........+",
|
||||||
"..++.......++.....++.+++++++..",
|
"+...++...........+",
|
||||||
"..............................",
|
"+................+",
|
||||||
".............................."};
|
"++++++++++++++++++"};
|
||||||
|
|||||||
Reference in New Issue
Block a user