[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