Jump to content


Photo

Virgen EPG patch for OpenPLi


  • Please log in to reply
35 replies to this topic

Re: Virgen EPG patch for OpenPLi #21 littlesat

  • PLi® Core member
  • 57,224 posts

+701
Excellent

Posted 28 July 2014 - 06:36

From thr other side.... We are also open source... When someone with programming experience can add it the correct way such as this virgin patch I suggest the pli team feels appreciated...

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Virgen EPG patch for OpenPLi #22 Rob van der Does

  • Senior Member
  • 7,766 posts

+184
Excellent

Posted 28 July 2014 - 06:38

Although it would indeed be a good idea to 'clean up' the EPG-code, IMHO this is not relevant for (not) adding other readers.

As it is now the data is added anyway (via the Cross-plugin), so it could just as well (even better) be done via an embedded reader.



Re: Virgen EPG patch for OpenPLi #23 WanWizard

  • PLi® Core member
  • 70,563 posts

+1,816
Excellent

Posted 28 July 2014 - 06:51

Until someone stands up and says 'I will do this", either from within the team or from outside it, nothing will happen.


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Virgen EPG patch for OpenPLi #24 gorski

  • Senior Member
  • 1,699 posts

+46
Good

Posted 28 July 2014 - 07:15

I believe there is a 'third way'... :D

 

Seriously, why not divide the tasks and it will be palatable then... and fast(er)... ;)

 

Best of luck! :)


<span style='font-family: comic sans ms,cursive'>"Enlightenment is man's emergence from his self-incurred immaturity. Immaturity is the inability to use one's own understanding without the guidance of another. This immaturity is self-incurred if its cause is not lack of understanding, but lack of resolution and courage to use it without the guidance of another. The motto of enlightenment is therefore: Sapere aude! Have courage to use your own understanding!</span><br /> <br /><span style='font-family: comic sans ms,cursive'>Laziness and cowardice are the reasons why such a large proportion of men, even when nature has long emancipated them from alien guidance..." I. Kant, "Political writings" (1784)</span><br /> <br /><span style='font-family: comic sans ms,cursive'><a class='bbc_url' href='<a class='bbc_url' href='http://eserver.org/p...lightenment.txt'>http://eserver.org/p...ent.txt</a>'><a class='bbc_url' href='http://www.english.upenn.edu/~mgamer/Etexts/kant.html</a>'>http://www.english.upenn.edu/~mgamer/Etexts/kant.html</a></a> - the jolly text on Enlightenment, at the basis of Modernity...</span>

Re: Virgen EPG patch for OpenPLi #25 WanWizard

  • PLi® Core member
  • 70,563 posts

+1,816
Excellent

Posted 28 July 2014 - 17:01

Still, that also requires someone (in this case multiple persons even), so that doesn't really help us...


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Virgen EPG patch for OpenPLi #26 gorski

  • Senior Member
  • 1,699 posts

+46
Good

Posted 28 July 2014 - 17:29

Yes, it does, if one has a little pride and spite.... :D


<span style='font-family: comic sans ms,cursive'>"Enlightenment is man's emergence from his self-incurred immaturity. Immaturity is the inability to use one's own understanding without the guidance of another. This immaturity is self-incurred if its cause is not lack of understanding, but lack of resolution and courage to use it without the guidance of another. The motto of enlightenment is therefore: Sapere aude! Have courage to use your own understanding!</span><br /> <br /><span style='font-family: comic sans ms,cursive'>Laziness and cowardice are the reasons why such a large proportion of men, even when nature has long emancipated them from alien guidance..." I. Kant, "Political writings" (1784)</span><br /> <br /><span style='font-family: comic sans ms,cursive'><a class='bbc_url' href='<a class='bbc_url' href='http://eserver.org/p...lightenment.txt'>http://eserver.org/p...ent.txt</a>'><a class='bbc_url' href='http://www.english.upenn.edu/~mgamer/Etexts/kant.html</a>'>http://www.english.upenn.edu/~mgamer/Etexts/kant.html</a></a> - the jolly text on Enlightenment, at the basis of Modernity...</span>

Re: Virgen EPG patch for OpenPLi #27 avp3

  • Senior Member
  • 32 posts

0
Neutral

Posted 30 August 2016 - 13:48

 

Modifications by Lraizer to allow for EPG data to be gathered on UK cable

--- a/data/setup.xml	2014-05-20 23:37:48.000000000 +0100
+++ b/data/setup.xml	2014-05-29 20:05:34.638320494 +0100
@@ -67,6 +67,7 @@
 		<item level="2" text="Enable freesat EPG" description="Use FreeSat EPG information when it is available.">config.epg.freesat</item>
 		<item level="2" text="Enable ViaSat EPG" description="Use ViaSat EPG information when it is available.">config.epg.viasat</item>
 		<item level="2" text="Enable Netmed EPG" description="Use Netmed EPG information when it is available.">config.epg.netmed</item>
+		<item level="2" text="Enable Virgin EPG" description="Use Virgin EPG information when it is available.">config.epg.virgin</item>
 		<item level="2" text="Maintain old EPG data for" description="Configure for how many minutes finished events should remain visible in the EPG. Useful when you need information about an event which has just finished, or has been delayed.">config.epg.histminutes</item>
 	</setup>
 	<setup key="subtitlesetup" title="Subtitle settings">
--- a/lib/dvb/epgcache.cpp	2014-05-20 23:37:48.000000000 +0100
+++ b/lib/dvb/epgcache.cpp	2014-05-22 14:38:18.000000000 +0100
@@ -466,7 +466,21 @@
 					eDebug("[eEPGCache] couldnt initialize schedule other reader!!");
 					return;
 				}
+#ifdef ENABLE_VIRGIN
+				res = demux->createSectionReader( this, data.m_VirginNowNextReader );
+				if ( res )
+				{
+					eDebug("[eEPGCache] couldnt initialize virgin nownext reader!!");
+					return;
+				}
 
+				res = demux->createSectionReader( this, data.m_VirginScheduleReader );
+				if ( res )
+				{
+					eDebug("[eEPGCache] couldnt initialize virgin schedule reader!!");
+					return;
+				}
+#endif
 #ifdef ENABLE_NETMED
 				res = demux->createSectionReader( this, data.m_NetmedScheduleReader );
 				if ( res )
@@ -1553,7 +1567,26 @@
 		m_ScheduleOtherReader->start(mask);
 		isRunning |= SCHEDULE_OTHER;
 	}
-
+#ifdef ENABLE_VIRGIN
+	if (eEPGCache::getInstance()->getEpgSources() & eEPGCache::VIRGIN_NOWNEXT)
+	{
+		mask.pid = 0x2bc;
+		mask.data[0] = 0x4E;
+		mask.mask[0] = 0xFE;
+		m_VirginNowNextReader->connectRead(bind(slot(*this, &eEPGCache::channel_data::readData), (int)eEPGCache::VIRGIN_NOWNEXT), m_VirginNowNextConn);
+		m_VirginNowNextReader->start(mask);
+		isRunning |= VIRGIN_NOWNEXT;
+	}
+	if (eEPGCache::getInstance()->getEpgSources() & eEPGCache::VIRGIN_SCHEDULE)
+	{
+		mask.pid = 0x2bc;
+		mask.data[0] = 0x50;
+		mask.mask[0] = 0xFE;
+		m_VirginScheduleReader->connectRead(bind(slot(*this, &eEPGCache::channel_data::readData), (int)eEPGCache::VIRGIN_SCHEDULE), m_VirginScheduleConn);
+		m_VirginScheduleReader->start(mask);
+		isRunning |= VIRGIN_SCHEDULE;
+	}
+#endif
 #ifdef ENABLE_NETMED
 	if (eEPGCache::getInstance()->getEpgSources() & eEPGCache::NETMED_SCHEDULE)
 	{
@@ -1614,6 +1647,22 @@
 			m_ScheduleOtherReader->stop();
 			m_ScheduleOtherConn=0;
 		}
+#ifdef ENABLE_VIRGIN
+		if ( !(haveData&VIRGIN_NOWNEXT) && (isRunning&VIRGIN_NOWNEXT) )
+		{
+			eDebug("[EPGC] abort non avail virgin nownext reading");
+			isRunning &= ~VIRGIN_NOWNEXT;
+			m_VirginNowNextReader->stop();
+			m_VirginNowNextConn=0;
+		}
+		if ( !(haveData&VIRGIN_SCHEDULE) && (isRunning&VIRGIN_SCHEDULE) )
+		{
+			eDebug("[EPGC] abort non avail virgin schedule reading");
+			isRunning &= ~VIRGIN_SCHEDULE;
+			m_VirginScheduleReader->stop();
+			m_VirginScheduleConn=0;
+		}
+#endif
 #ifdef ENABLE_NETMED
 		if ( !(haveData&NETMED_SCHEDULE) && (isRunning&NETMED_SCHEDULE) )
 		{
@@ -1736,6 +1785,21 @@
 			m_ScheduleOtherReader->stop();
 			m_ScheduleOtherConn=0;
 		}
+#ifdef ENABLE_VIRGIN
+		if (isRunning & VIRGIN_NOWNEXT)
+		{
+			isRunning &= ~VIRGIN_NOWNEXT;
+			m_VirginNowNextReader->stop();
+			m_VirginNowNextConn=0;
+		}
+		if (isRunning & VIRGIN_SCHEDULE)
+		{
+			isRunning &= ~VIRGIN_SCHEDULE;
+			m_VirginScheduleReader->stop();
+			m_VirginScheduleConn=0;
+		}
+
+#endif
 #ifdef ENABLE_NETMED
 		if (isRunning & NETMED_SCHEDULE)
 		{
@@ -1818,6 +1882,16 @@
 			map = 2;
 			break;
 #endif
+#ifdef ENABLE_VIRGIN
+		case VIRGIN_NOWNEXT:
+			reader = m_VirginNowNextReader;
+			map = 0;
+			break;
+		case VIRGIN_SCHEDULE:
+			reader = m_VirginScheduleReader;
+			map = 1;
+			break;
+#endif
 		default:
 			eDebug("[EPGC] unknown source");
 			return;
@@ -1855,6 +1929,16 @@
 				eDebugNoNewLine("netmed schedule other");
 				break;
 #endif
+#ifdef ENABLE_VIRGIN
+			case VIRGIN_NOWNEXT:
+				m_VirginNowNextConn=0;
+				eDebugNoNewLine("virgin nownext");
+				break;
+			case VIRGIN_SCHEDULE:
+				m_VirginScheduleConn=0;
+				eDebugNoNewLine("virgin schedule");
+				break;
+#endif
 			default: eDebugNoNewLine("unknown");break;
 		}
 		eDebug(" finished(%ld)", ::time(0));
--- a/lib/dvb/epgcache.h	2014-05-20 23:37:48.000000000 +0100
+++ b/lib/dvb/epgcache.h	2014-05-22 14:11:10.000000000 +0100
@@ -5,6 +5,7 @@
 #define ENABLE_MHW_EPG 1
 #define ENABLE_FREESAT 1
 #define ENABLE_NETMED 1
+#define ENABLE_VIRGIN 1
 
 #ifndef SWIG
 
@@ -200,6 +201,10 @@
 		ePtr<eConnection> m_stateChangedConn, m_NowNextConn, m_ScheduleConn, m_ScheduleOtherConn, m_ViasatConn;
 		ePtr<iDVBSectionReader> m_NowNextReader, m_ScheduleReader, m_ScheduleOtherReader, m_ViasatReader;
 		tidMap seenSections[4], calcedSections[4];
+#ifdef ENABLE_VIRGIN
+		ePtr<eConnection> m_VirginNowNextConn, m_VirginScheduleConn;
+		ePtr<iDVBSectionReader> m_VirginNowNextReader, m_VirginScheduleReader;
+#endif
 #ifdef ENABLE_NETMED
 		ePtr<eConnection> m_NetmedScheduleConn, m_NetmedScheduleOtherConn;
 		ePtr<iDVBSectionReader> m_NetmedScheduleReader, m_NetmedScheduleOtherReader;
@@ -419,6 +424,10 @@
 	,NETMED_SCHEDULE=512
 	,NETMED_SCHEDULE_OTHER=1024
 #endif
+#ifdef ENABLE_VIRGIN
+	,VIRGIN_NOWNEXT=2048
+	,VIRGIN_SCHEDULE=4096
+#endif
 	,EPG_IMPORT=0x80000000
 	};
 	void setEpgHistorySeconds(time_t seconds);
--- a/lib/python/Components/UsageConfig.py	2014-05-20 23:37:48.000000000 +0100
+++ b/lib/python/Components/UsageConfig.py	2014-05-29 20:10:19.246321389 +0100
@@ -259,6 +259,7 @@
 	config.epg.freesat = ConfigYesNo(default = True)
 	config.epg.viasat = ConfigYesNo(default = True)
 	config.epg.netmed = ConfigYesNo(default = True)
+	config.epg.virgin = ConfigYesNo(default = False)
 	config.misc.showradiopic = ConfigYesNo(default = True)
 	def EpgSettingsChanged(configElement):
 		from enigma import eEPGCache
@@ -273,12 +274,15 @@
 			mask &= ~eEPGCache.VIASAT
 		if not config.epg.netmed.value:
 			mask &= ~(eEPGCache.NETMED_SCHEDULE | eEPGCache.NETMED_SCHEDULE_OTHER)
+		if not config.epg.virgin.value:
+			mask &= ~(eEPGCache.VIRGIN_NOWNEXT | eEPGCache.VIRGIN_SCHEDULE)
 		eEPGCache.getInstance().setEpgSources(mask)
 	config.epg.eit.addNotifier(EpgSettingsChanged)
 	config.epg.mhw.addNotifier(EpgSettingsChanged)
 	config.epg.freesat.addNotifier(EpgSettingsChanged)
 	config.epg.viasat.addNotifier(EpgSettingsChanged)
 	config.epg.netmed.addNotifier(EpgSettingsChanged)
+	config.epg.virgin.addNotifier(EpgSettingsChanged)
 
 	config.epg.histminutes = ConfigSelectionNumber(min = 0, max = 120, stepwidth = 15, default = 0, wraparound = True)
 	def EpgHistorySecondsChanged(configElement):

It is very useful for EPG studying.



Re: Virgen EPG patch for OpenPLi #28 WanWizard

  • PLi® Core member
  • 70,563 posts

+1,816
Excellent

Posted 30 August 2016 - 13:56

Might be good to finally brush up my C, haven't written any in over 25 years. ;)

 

So if someone wants to beat me to it, by all means. And while you're at it, add a SKY reader too?


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Virgen EPG patch for OpenPLi #29 littlesat

  • PLi® Core member
  • 57,224 posts

+701
Excellent

Posted 30 August 2016 - 16:29

At least this is the way how epg from providers should be added...

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Virgen EPG patch for OpenPLi #30 Huevos

  • PLi® Contributor
  • 4,693 posts

+167
Excellent

Posted 30 August 2016 - 16:42

At least this is the way how epg from providers should be added...

Yeah right, but OpenTV is far more complicated.



Re: Virgen EPG patch for OpenPLi #31 littlesat

  • PLi® Core member
  • 57,224 posts

+701
Excellent

Posted 30 August 2016 - 19:56

Yep indeed... This does not mean you should deviate from a good structure...

Does someone push a mege request regards virgin to our git... The above patch I would directly merge...

Edited by littlesat, 30 August 2016 - 19:58.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Virgen EPG patch for OpenPLi #32 catastrofus

  • Senior Member
  • 3,481 posts

+43
Good

Posted 30 August 2016 - 20:15

Not C, but C++.

 

This "m_VirginNowNextReader->connectRead(bind(slot(*this, &eEPGCache::channel_data::readData), (int)eEPGCache::VIRGIN_NOWNEXT), m_VirginNowNextConn);" is not C.

 

Might be good to finally brush up my C, haven't written any in over 25 years. ;)

 


2 x vu+ultimo4k ((nb & 9.0r) dvb-c fbc + 1 dvb-s2) + een vu+duo4k ((nb) fallbackclient) met een Synology ds214+ (2 x 6 TB) op DSM 7.1.1 in ziggo oost (voormalig @Home) + A1/A2/A3/HB (TechniSat)
 


Re: Virgen EPG patch for OpenPLi #33 blzr

  • PLi® Core member
  • 2,270 posts

+118
Excellent

Posted 30 August 2016 - 20:28

Does someone push a mege request regards virgin to our git... The above patch I would directly merge...

 

once again? :P

https://github.com/O...fed9ae249faede0


True sarcasm doesn't need green font...

Re: Virgen EPG patch for OpenPLi #34 WanWizard

  • PLi® Core member
  • 70,563 posts

+1,816
Excellent

Posted 30 August 2016 - 20:35

Not C, but C++.

 

"All ten and sixpence" zeggen ze hier. ;)


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.


Re: Virgen EPG patch for OpenPLi #35 littlesat

  • PLi® Core member
  • 57,224 posts

+701
Excellent

Posted 30 August 2016 - 20:37

So de ju... Het zit er al zo'n ruim 2 jaar in????

Edited by littlesat, 30 August 2016 - 20:37.

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: Virgen EPG patch for OpenPLi #36 WanWizard

  • PLi® Core member
  • 70,563 posts

+1,816
Excellent

Posted 30 August 2016 - 20:37

 

My original response was from 2014, before this merge. ;)


Currently in use: VU+ Duo 4K (2xFBC S2), VU+ Solo 4K (1xFBC S2), uClan Usytm 4K Ultimate (S2+T2), Octagon SF8008 (S2+T2), Zgemma H9.2H (S2+T2)

Due to my bad health, I will not be very active at times and may be slow to respond. I will not read the forum or PM on a regular basis.

Many answers to your question can be found in our new and improved wiki.



3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users