[oe-commits] org.oe.dreambox enigma: add blindscan plugin, add menu entry
tmbinc commit
openembedded-commits at lists.openembedded.org
Mon Aug 27 20:31:11 UTC 2007
enigma: add blindscan plugin, add menu entry
Author: tmbinc at openembedded.org
Branch: org.openembedded.dreambox
Revision: 582aaec6e28817b5a25aa7f78b7bc6903e7d02d7
ViewMTN: http://monotone.openembedded.org/revision.psp?id=582aaec6e28817b5a25aa7f78b7bc6903e7d02d7
Files:
1
packages/enigma/enigma/add_blindscan_to_menu.diff
packages/enigma/enigma-blindscan.bb
packages/enigma/enigma_cvs.bb
Diffs:
#
# mt diff -r6bb8bd3a3c6a0040c98d125470c7348449d9e310 -r582aaec6e28817b5a25aa7f78b7bc6903e7d02d7
#
#
#
# add_file "packages/enigma/enigma/add_blindscan_to_menu.diff"
# content [5a4f77864b5c79284fe9b3a4ecbbc277f44be3ef]
#
# add_file "packages/enigma/enigma-blindscan.bb"
# content [38ba513a95381c2f41ff44921154c54504632eaf]
#
# patch "packages/enigma/enigma_cvs.bb"
# from [cc9bef81cb96c4ee65a9e962de7bb8b1fda3d307]
# to [4d65656691b26c2647d21839c86ed73c65be9271]
#
============================================================
--- packages/enigma/enigma/add_blindscan_to_menu.diff 5a4f77864b5c79284fe9b3a4ecbbc277f44be3ef
+++ packages/enigma/enigma/add_blindscan_to_menu.diff 5a4f77864b5c79284fe9b3a4ecbbc277f44be3ef
@@ -0,0 +1,195 @@
+Index: src/enigma_scan.cpp
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/enigma_scan.cpp,v
+retrieving revision 1.25
+diff -u -r1.25 enigma_scan.cpp
+--- a/src/enigma_scan.cpp 5 Feb 2006 23:41:01 -0000 1.25
++++ b/src/enigma_scan.cpp 21 Aug 2007 17:08:27 -0000
+@@ -27,6 +27,7 @@
+ #include <scan.h>
+ #include <satfind.h>
+ #include <tpeditwindow.h>
++#include <enigma_plugins.h>
+ #include <lib/base/i18n.h>
+ #include <lib/dvb/edvb.h>
+ #include <lib/dvb/frontend.h>
+@@ -63,6 +64,8 @@
+ CONNECT((new eListBoxEntryMenu(&list, _("Automatic Multisat Scan"), eString().sprintf("(%d) %s", ++entry, _("open automatic multisat transponder scan"))))->selected, eZapScan::sel_multiScan);
+
+ CONNECT((new eListBoxEntryMenu(&list, _("Manual Transponder Scan"), eString().sprintf("(%d) %s", ++entry, _("open manual transponder scan"))))->selected, eZapScan::sel_manualScan);
++ if ( eFrontend::getInstance()->canBlindScan() && eZapPlugins(2).execPluginByName("enigma_blindscan.cfg", true) == "OK" )
++ CONNECT((new eListBoxEntryMenu(&list, _("Satellite Blindscan"), eString().sprintf("(%d) %s", ++entry, _("open transponder blindscan"))))->selected, eZapScan::sel_blindScan);
+ }
+
+ void eZapScan::sel_satfind()
+@@ -111,6 +114,13 @@
+ show();
+ }
+
++void eZapScan::sel_blindScan()
++{
++ hide();
++ eZapPlugins(2).execPluginByName("enigma_blindscan.cfg");
++ show();
++}
++
+ void eZapScan::sel_satconfig()
+ {
+ hide();
+Index: src/enigma_scan.h
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/enigma_scan.h,v
+retrieving revision 1.7
+diff -u -r1.7 enigma_scan.h
+--- a/src/enigma_scan.h 26 Oct 2003 00:41:17 -0000 1.7
++++ b/src/enigma_scan.h 21 Aug 2007 17:08:27 -0000
+@@ -25,6 +25,7 @@
+ void sel_multiScan();
+ void sel_manualScan();
+ void sel_satfind();
++ void sel_blindScan();
+ public:
+ static eLNB* getRotorLNB(int silent);
+ eZapScan();
+Index: src/scan.cpp
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/scan.cpp,v
+retrieving revision 1.92
+diff -u -r1.92 scan.cpp
+--- a/src/scan.cpp 5 Feb 2006 23:41:01 -0000 1.92
++++ b/src/scan.cpp 21 Aug 2007 17:08:27 -0000
+@@ -3,6 +3,7 @@
+ #include <enigma.h>
+
+ #include <enigma_main.h>
++#include <enigma_plugins.h>
+ #include <lib/base/i18n.h>
+ #include <lib/dvb/frontend.h>
+ #include <lib/dvb/si.h>
+@@ -45,6 +46,8 @@
+ new eListBoxEntryMenuItem(list, _("Automatic Multisat Scan"), (void*)3, 0, _("open automatic multisat transponder scan") );
+ new eListBoxEntryMenuItem(list, _("manual scan.."), (void*)1, 0, _("open manual transponder scan") );
+ CONNECT(list->selected, tsSelectType::selected);
++ if ( eFrontend::getInstance()->canBlindScan() && eZapPlugins(2).execPluginByName("enigma_blindscan.cfg", true) == "OK" )
++ new eListBoxEntryMenuItem(list, _("Satellite Blindscan"), (void*)4, 0, _("open transponder blindscan") );
+ }
+
+ void tsSelectType::selected(eListBoxEntryMenu *entry)
+@@ -989,6 +992,22 @@
+ }
+ }
+
++
++struct countTransponders
++{
++ int &m_cnt;
++ countTransponders(int &cnt)
++ :m_cnt(cnt)
++ {
++ m_cnt=0;
++ }
++ void operator()(eTransponder &t)
++ {
++ ++m_cnt;
++ }
++};
++
++
+ int TransponderScan::Exec()
+ {
+ tState state = stateInitial;
+@@ -1335,6 +1354,20 @@
+ state=stateDone;
+ break;
+ }
++ case stateBlind:
++ {
++ int tp_count_old, tp_count_new;
++ eTransponderList::getInstance()->forEachTransponder(countTransponders(tp_count_old));
++ eWindow::globalCancel(eWindow::ON);
++ hide();
++ eZapPlugins(2).execPluginByName("enigma_blindscan.cfg");
++ show();
++ state=stateEnd;
++ eWindow::globalCancel(eWindow::OFF);
++ eTransponderList::getInstance()->forEachTransponder(countTransponders(tp_count_new));
++ ret=tp_count_new > tp_count_old ? 0 : 1;
++ break;
++ }
+ case stateScan:
+ {
+ if ( eSystemInfo::getInstance()->getFEType() == eSystemInfo::feSatellite )
+Index: src/scan.h
+===================================================================
+RCS file: /cvs/tuxbox/apps/tuxbox/b/src/scan.h,v
+retrieving revision 1.38
+diff -u -r1.38 scan.h
+--- a/src/scan.h 20 Feb 2007 21:57:05 -0000 1.38
++++ b/src/scan.h 21 Aug 2007 17:08:27 -0000
+@@ -172,6 +172,7 @@
+ stateManual,
+ stateAutomatic,
+ stateMulti,
++ stateBlind,
+ stateScan,
+ stateMultiScan,
+ stateDone,
+diff -Naur a/include/lib/dvb/frontend.h b/include/lib/dvb/frontend.h
+--- a/include/lib/dvb/frontend.h 2007-08-21 22:04:22.000000000 +0200
++++ b/include/lib/dvb/frontend.h 2007-08-24 00:59:42.000000000 +0200
+@@ -112,6 +112,7 @@
+ voltage,
+ increased;
+ ///////////////////
++ bool m_canBlindScan;
+ #if HAVE_DVB_API_VERSION < 3
+ FrontendParameters front;
+ #else
+@@ -157,6 +158,7 @@
+ static eFrontend *getInstance() { return frontend; }
+
+ int Type() { return type; }
++ int canBlindScan() { return m_canBlindScan; }
+
+ int Status();
+ int Locked() { return Status()&FE_HAS_LOCK; }
+diff -Naur a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp
+--- a/lib/dvb/frontend.cpp 2007-08-21 22:04:22.000000000 +0200
++++ b/lib/dvb/frontend.cpp 2007-08-24 01:00:13.000000000 +0200
+@@ -42,7 +42,7 @@
+ #endif
+ checkRotorLockTimer(eApp), checkLockTimer(eApp),
+ updateTransponderTimer(eApp), sn(0), noRotorCmd(0),
+- idlePowerInput_l(0), idlePowerInput_h(0)
++ idlePowerInput_l(0), idlePowerInput_h(0), m_canBlindScan(false)
+ {
+ CONNECT(rotorTimer1.timeout, eFrontend::RotorStartLoop );
+ CONNECT(rotorTimer2.timeout, eFrontend::RotorRunningLoop );
+@@ -99,6 +99,27 @@
+ curContTone = curVoltage = -1;
+ #endif
+ needreset = 2;
++
++// check if tuner can blindscan
++ if (type == eSystemInfo::feSatellite)
++ {
++ FILE *f=fopen("/proc/bus/nim_sockets", "rt");
++ while (f)
++ {
++ char buffer[128];
++ if (!fgets(buffer, 128, f))
++ {
++ fclose(f);
++ break;
++ }
++ if (strstr(buffer, "Name:") && strstr(buffer, "Alps -S(STV0288)"))
++ {
++ m_canBlindScan=true;
++ fclose(f);
++ break;
++ }
++ }
++ }
+ }
+
+ void eFrontend::checkLock()
============================================================
--- packages/enigma/enigma-blindscan.bb 38ba513a95381c2f41ff44921154c54504632eaf
+++ packages/enigma/enigma-blindscan.bb 38ba513a95381c2f41ff44921154c54504632eaf
@@ -0,0 +1,21 @@
+DEPENDS = "enigma"
+DESCRIPTION = "Enigma Blindscan Plugin"
+MAINTAINER = "Andreas Monzner <ghost at dream-multimedia-tv.de>"
+LICENSE = "GPL"
+
+SRC_URI = "http://sources.dreamboxupdate.com/download/opendreambox/enigma/enigma-blindscan-${PV}.tar.bz2"
+
+PV = "0.1"
+PN = "enigma-blindscan"
+PR = "r0"
+
+PACKAGES = "enigma-blindscan"
+
+S = "${WORKDIR}/enigma-blindscan-${PV}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} = "/usr/lib/tuxbox/plugins/enigma_blindscan.so \
+ /usr/lib/tuxbox/plugins/enigma_blindscan.cfg"
+
+EXTRA_OECONF = "--with-target=native "
============================================================
--- packages/enigma/enigma_cvs.bb cc9bef81cb96c4ee65a9e962de7bb8b1fda3d307
+++ packages/enigma/enigma_cvs.bb 4d65656691b26c2647d21839c86ed73c65be9271
@@ -6,7 +6,7 @@ PN = "enigma"
SRCDATE = "20070615"
PV = "cvs-${SRCDATE}"
PN = "enigma"
-PR = "r0"
+PR = "r1"
SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/enigma;method=ext \
file://enigma.sh \
@@ -19,8 +19,10 @@ SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/
file://disable_boot.diff;patch=1;pnum=1"
# dm600pvr and dm500plus don't have a FP, so they can't really switch of. Show a shutdown pic instead.
-SRC_URI_append_dm600pvr = " http://sources.dreamboxupdate.com/download/opendreambox/enigma/showshutdownpic-${MACHINE}"
-SRC_URI_append_dm500plus = " http://sources.dreamboxupdate.com/download/opendreambox/enigma/showshutdownpic-${MACHINE}"
+SRC_URI_append_dm600pvr = " http://sources.dreamboxupdate.com/download/opendreambox/enigma/showshutdownpic-${MACHINE} \
+ file://add_blindscan_to_menu.diff;patch=1;pnum=1"
+SRC_URI_append_dm500plus = " http://sources.dreamboxupdate.com/download/opendreambox/enigma/showshutdownpic-${MACHINE} \
+ file://add_blindscan_to_menu.diff;patch=1;pnum=1"
S = "${WORKDIR}/enigma"
More information about the Openembedded-commits
mailing list