ver. 2.6
thank betacentauri
P.S.Please replace the version on the feed.
Posted by Dimitrij on 13 August 2013 - 12:26
ver. 2.6
thank betacentauri
P.S.Please replace the version on the feed.
Posted by Dimitrij on 27 July 2013 - 15:46
Posted by Dimitrij on 6 July 2013 - 08:27
Not works (in plugin)
ofgwrite_bin = "/usr/lib/enigma2/python/Plugins/Extensions/FullBackup/bin/ofgwrite" os.system('cp %s /tmp' % ofgwrite_bin)
Ok (in telnet)
et9x00 login: root root@et9x00:~# /tmp/ofgwrite /media/hdd/et9x00/ ofgwrite Utility v0.3 Author: Betacentauri Based upon: mtd-utils-native-1.4.9 Use at your own risk! Make always a backup before use! Don't use it if you use multiple ubi volumes in ubi layer! Found kernel file: /media/hdd/et9x00/kernel.bin Found rootfs file: /media/hdd/et9x00/rootfs.bin Found /proc/mtd entries: Device: Size: Erasesize: Name: Image: /dev/mtd1 00600000 00020000 "kernel" -> /media/hdd/et9x00/kernel.bin /dev/mtd2 07900000 00020000 "rootfs" -> /media/hdd/et9x00/rootfs.bin Erasing kernel: flash_erase /dev/mtd1 0 0 Erasing 128 Kibyte @ 5e0000 -- 100 % complete Flashing kernel: nandwrite -pm /dev/mtd1 /media/hdd/et9x00/kernel.bin Writing data to block 0 at offset 0x0 Writing data to block 1 at offset 0x20000 Writing data to block 2 at offset 0x40000 Writing data to block 3 at offset 0x60000 Writing data to block 4 at offset 0x80000 Writing data to block 5 at offset 0xa0000 Writing data to block 6 at offset 0xc0000 Writing data to block 7 at offset 0xe0000 Writing data to block 8 at offset 0x100000 Writing data to block 9 at offset 0x120000 Writing data to block 10 at offset 0x140000 Writing data to block 11 at offset 0x160000 Writing data to block 12 at offset 0x180000 Writing data to block 13 at offset 0x1a0000 Writing data to block 14 at offset 0x1c0000 Writing data to block 15 at offset 0x1e0000 Writing data to block 16 at offset 0x200000 Writing data to block 17 at offset 0x220000 Writing data to block 18 at offset 0x240000 Writing data to block 19 at offset 0x260000 Writing data to block 20 at offset 0x280000 Writing data to block 21 at offset 0x2a0000 Writing data to block 22 at offset 0x2c0000 Writing data to block 23 at offset 0x2e0000 Writing data to block 24 at offset 0x300000 Writing data to block 25 at offset 0x320000 Writing data to block 26 at offset 0x340000 Writing data to block 27 at offset 0x360000 Writing data to block 28 at offset 0x380000 Writing data to block 29 at offset 0x3a0000 Writing data to block 30 at offset 0x3c0000 Writing data to block 31 at offset 0x3e0000 Writing data to block 32 at offset 0x400000 Writing data to block 33 at offset 0x420000 Writing data to block 34 at offset 0x440000 Writing data to block 35 at offset 0x460000 Writing data to block 36 at offset 0x480000 Writing data to block 37 at offset 0x4a0000 Writing data to block 38 at offset 0x4c0000 Writing data to block 39 at offset 0x4e0000 Writing data to block 40 at offset 0x500000 Writing data to block 41 at offset 0x520000 Writing data to block 42 at offset 0x540000 Writing data to block 43 at offset 0x560000 Writing data to block 44 at offset 0x580000 Writing data to block 45 at offset 0x5a0000 Writing data to block 46 at offset 0x5c0000 Writing data to block 47 at offset 0x5e0000 Switching to user mode 2 killall: nmbd: no process killed killall: smbd: no process killed Syncing filesystem Remounting root read-only Erasing rootfs: flash_erase /dev/mtd2 0 0 Erasing 128 Kibyte @ 78e0000 -- 100 % complete Flashing rootfs: ubiformat /dev/mtd2 -f /media/hdd/et9x00/rootfs.bin ubiformat: mtd2 (nand), size 126877696 bytes (121.0 MiB), 968 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes libscan: scanning eraseblock 967 -- 100 % complete ubiformat: 968 eraseblocks are supposedly empty ubiformat: flashing eraseblock 629 -- 100 % complete ubiformat: formatting eraseblock 967 -- 100 % complete Successfully flashed rootfs! Rebooting in 5 seconds...
Posted by Dimitrij on 10 June 2013 - 05:22
Never.
Slogan:
It's just a hobby, so we do not have time for this.
Posted by Dimitrij on 4 June 2013 - 20:41
Ok,patch...
Open instant record menu in MoviePlayer.
--- a/InfoBar.py +++ b/InfoBar.py @@ -136,7 +136,7 @@ InfoBarSeek, InfoBarShowMovies, InfoBarAudioSelection, HelpableScreen, InfoBarNotifications, InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, InfoBarSimpleEventView, InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, Screen, InfoBarTeletextPlugin, - InfoBarServiceErrorPopupSupport, InfoBarExtensions, InfoBarPlugins, InfoBarPiP): + InfoBarServiceErrorPopupSupport, InfoBarExtensions, InfoBarPlugins, InfoBarPiP, InfoBarInstantRecord): ENABLE_RESUME_SUPPORT = True ALLOW_SUSPEND = True @@ -164,7 +164,7 @@ InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, \ InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, \ InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, \ - InfoBarPlugins, InfoBarPiP: + InfoBarPlugins, InfoBarPiP, InfoBarInstantRecord: x.__init__(self) self.servicelist = slist @@ -402,3 +402,10 @@ def ref2HumanName(self, ref): return enigma.eServiceCenter.getInstance().info(ref).getName(ref) + + def instantRecord(self): + for (dlg,flag) in self.session.dialog_stack: + if dlg.__class__.__name__ == "InfoBar": + self.recording = dlg.recording + break + InfoBarInstantRecord.instantRecord(self) \ No newline at end of file --- a/InfoBarGenerics.py +++ b/InfoBarGenerics.py @@ -2105,28 +2105,44 @@ self.session.open(MessageBox, _("Missing ") + "\n" + pirr + "\n" + _("No HDD found or HDD not initialized!"), MessageBox.TYPE_ERROR) return - - common =((_("Add recording (stop after current event)"), "event"), - (_("Add recording (indefinitely)"), "indefinitely"), - (_("Add recording (enter recording duration)"), "manualduration"), - (_("Add recording (enter recording endtime)"), "manualendtime"),) - if self.isInstantRecordRunning(): - title =_("A recording is currently running.\nWhat do you want to do?") - list = ((_("Stop recording"), "stop"),) + common + \ - ((_("Change recording (duration)"), "changeduration"), - (_("Change recording (endtime)"), "changeendtime"),) - if self.isTimerRecordRunning(): - list += ((_("Stop timer recording"), "timer"),) - list += ((_("Do nothing"), "no"),) + if self.__class__.__name__ == "InfoBar": + common =((_("Add recording (stop after current event)"), "event"), + (_("Add recording (indefinitely)"), "indefinitely"), + (_("Add recording (enter recording duration)"), "manualduration"), + (_("Add recording (enter recording endtime)"), "manualendtime"),) + if self.isInstantRecordRunning(): + title =_("A recording is currently running.\nWhat do you want to do?") + list = ((_("Stop recording"), "stop"),) + common + \ + ((_("Change recording (duration)"), "changeduration"), + (_("Change recording (endtime)"), "changeendtime"),) + if self.isTimerRecordRunning(): + list += ((_("Stop timer recording"), "timer"),) + list += ((_("Do nothing"), "no"),) + else: + title=_("Start recording?") + list = common + if self.isTimerRecordRunning(): + list += ((_("Stop timer recording"), "timer"),) + list += ((_("Do not record"), "no"),) + if self.timeshiftEnabled(): + list = list + ((_("Save timeshift file"), "timeshift"), + (_("Save timeshift file in movie directory"), "timeshift_movie")) else: - title=_("Start recording?") - list = common - if self.isTimerRecordRunning(): - list += ((_("Stop timer recording"), "timer"),) - list += ((_("Do not record"), "no"),) - if self.timeshiftEnabled(): - list = list + ((_("Save timeshift file"), "timeshift"), - (_("Save timeshift file in movie directory"), "timeshift_movie")) + if self.isInstantRecordRunning(): + title =_("A recording is currently running.\nWhat do you want to do?") + list = ((_("Stop recording"), "stop"), + (_("Change recording (duration)"), "changeduration"), + (_("Change recording (endtime)"), "changeendtime"),) + if self.isTimerRecordRunning(): + list += ((_("Stop timer recording"), "timer"),) + list += ((_("Do nothing"), "no"),) + else: + if self.isTimerRecordRunning(): + title =_("A timer recording is currently running.\nWhat do you want to do?") + list = ((_("Stop timer recording"), "timer"), + (_("Do nothing"), "no"),) + else: + return self.session.openWithCallback(self.recordQuestionCallback, ChoiceBox,title=title,list=list) from Tools.ISO639 import LanguageCodes
Posted by Dimitrij on 24 May 2013 - 21:08
version 1.3
-Added new option (Style autotimer list: standard/advanced)
* author of the code andyblac (oe-alliance) + my edits
Posted by Dimitrij on 19 May 2013 - 07:47
1)Add zap timers icons...
--- a/EpgList.py +++ b/EpgList.py @@ -61,6 +61,11 @@ LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, 'skin_default/icons/epgclock.png')), LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, 'skin_default/icons/epgclock_prepost.png')), LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, 'skin_default/icons/epgclock_post.png')) ] + self.zap_clocks = [ LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, 'skin_default/icons/zapclock_add.png')), + LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, 'skin_default/icons/zapclock_pre.png')), + LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, 'skin_default/icons/zapclock.png')), + LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, 'skin_default/icons/zapclock_prepost.png')), + LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, 'skin_default/icons/zapclock_post.png')) ] def getEventFromId(self, service, eventid): event = None @@ -148,7 +153,10 @@ return None rec = self.timer.isInTimer(eventId, beginTime, duration, service) if rec is not None: - return self.clocks[rec[1]] + if rec[2]: + return self.zap_clocks[rec[1]] + else: + return self.clocks[rec[1]] else: return None --- a/RecordTimer.py +++ b/RecordTimer.py @@ -736,6 +736,7 @@ def isInTimer(self, eventid, begin, duration, service): time_match = 0 type = 0 + justplay = 0 bt = None end = begin + duration refstr = str(service) @@ -769,7 +770,8 @@ break if check: timer_end = x.end - if x.justplay and (timer_end - x.begin) <= 1: + justplay = x.justplay + if justplay and (timer_end - x.begin) <= 1: timer_end += 60 if x.repeated != 0: if bt is None: @@ -817,7 +819,7 @@ if type == 2: # stop searching if a full recording is found break if time_match: - return (time_match, type) + return (time_match, type, justplay) else: return None
Posted by Dimitrij on 11 May 2013 - 10:13
Version PTS 1.3h
-fix GS if standart "Automatically start timeshift after" enabled
-if PTS enabled->"Automatically start timeshift after" disabled
Posted by Dimitrij on 1 May 2013 - 15:29
Done...
--- a/RecordTimer.py +++ b/RecordTimer.py @@ -768,6 +768,9 @@ check = True break if check: + timer_end = x.end + if x.justplay and (timer_end - x.begin) <= 1: + timer_end += 60 if x.repeated != 0: if bt is None: bt = localtime(begin) @@ -777,7 +780,7 @@ end2 = et.tm_wday * 1440 + et.tm_hour * 60 + et.tm_min if x.repeated & (1 << bday): xbt = localtime(x.begin) - xet = localtime(x.end) + xet = localtime(timer_end) xbegin = bday * 1440 + xbt.tm_hour * 60 + xbt.tm_min xend = bday * 1440 + xet.tm_hour * 60 + xet.tm_min if xend < xbegin: @@ -798,15 +801,15 @@ type = 2 else: if begin < x.begin <= end: - if x.end < end: # recording within event - time_match = x.end - x.begin + if timer_end < end: # recording within event + time_match = timer_end - x.begin type = 3 else: # recording last part of event time_match = end - x.begin type = 1 - elif x.begin <= begin <= x.end: - if x.end < end: # recording first part of event - time_match = x.end - begin + elif x.begin <= begin <= timer_end: + if timer_end < end: # recording first part of event + time_match = timer_end - begin type = 4 else: # recording whole event time_match = end - begin
Posted by Dimitrij on 27 April 2013 - 21:15
Version PTS 1.3g
-add new option "Timeshift save recording (current event until this time)"
*needs to be tested
Posted by Dimitrij on 20 April 2013 - 12:42
So. Do you actually mean it didn't work before and now it does?
Check it out.
changes:
-fix bug
-add localization
-location menu ScanSetup
Posted by Dimitrij on 18 April 2013 - 09:01
Version PTS 1.3c
-fix icon seekstate if PTS not enabled(for standart timeshift)
Posted by Dimitrij on 18 April 2013 - 07:42
littlesat
message Stop timeshift? ->key exit
File "/usr/lib/enigma2/python/Screens/InfoBarGenerics.py", line 1614, in checkTimeshiftRunningCallback if "movie" in answer: TypeError: argument of type 'bool' is not iterable
Maybe so...
def checkTimeshiftRunningCallback(self, returnFunction, answer): + if not answer: + return if "movie" in answer: self.save_timeshift_in_movie_dir = True if "save" in answer: self.save_timeshift_file = True self.saveTimeshiftFiles() returnFunction(answer != "continue")
Posted by Dimitrij on 17 April 2013 - 06:51
The original version here http://www.i-have-a-....readid=153700l
version 1.1
-completely rewritten code
-fixed bugs
-added more options
-rewritten graphical user interface plugin
Posted by Dimitrij on 15 April 2013 - 20:34
In my very original with the alternative solution.
Just change the color.