self.record_service = None
if self.afterEvent == AFTEREVENT.STANDBY:
if not Screens.Standby.inStandby: # not already in standby
- Notifications.AddNotificationWithCallback(self.sendStandbyNotification, MessageBox, _("A finished record timer wants to set your\nDreambox to standby. Do that now?"), timeout = 20)
+ Notifications.AddNotificationWithCallback(self.sendStandbyNotification, MessageBox, _("A finished record timer wants to set your\nSTB to standby. Do that now?"), timeout = 20)
elif self.afterEvent == AFTEREVENT.DEEPSTANDBY:
if not Screens.Standby.inTryQuitMainloop: # not a shutdown messagebox is open
if Screens.Standby.inStandby: # in standby
RecordTimerEntry.TryQuitMainloop() # start shutdown handling without screen
else:
- Notifications.AddNotificationWithCallback(self.sendTryQuitMainloopNotification, MessageBox, _("A finished record timer wants to shut down\nyour Dreambox. Shutdown now?"), timeout = 20)
+ Notifications.AddNotificationWithCallback(self.sendTryQuitMainloopNotification, MessageBox, _("A finished record timer wants to shut down\nyour STB. Shutdown now?"), timeout = 20)
return True
def setAutoincreaseEnd(self, entry = None):
if self.state == self.StateRunning:
if config.SleepTimer.action.value == "shutdown":
if config.SleepTimer.ask.value and not Screens.Standby.inTryQuitMainloop:
- Notifications.AddNotificationWithCallback(self.shutdown, MessageBox, _("A sleep timer wants to shut down\nyour Dreambox. Shutdown now?"), timeout = 20)
+ Notifications.AddNotificationWithCallback(self.shutdown, MessageBox, _("A sleep timer wants to shut down\nyour STB. Shutdown now?"), timeout = 20)
else:
self.shutdown(True)
elif config.SleepTimer.action.value == "standby":
if config.SleepTimer.ask.value and not Screens.Standby.inStandby:
- Notifications.AddNotificationWithCallback(self.standby, MessageBox, _("A sleep timer wants to set your\nDreambox to standby. Do that now?"), timeout = 20)
+ Notifications.AddNotificationWithCallback(self.standby, MessageBox, _("A sleep timer wants to set your\nSTB to standby. Do that now?"), timeout = 20)
else:
self.standby(True)
])
fi
+ #csh
+AC_DEFINE(BUILD_VUPLUS,1,[Define to 1 for 750])
+
if test "$DVB_API_VERSION"; then
AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes])
AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api])
lib/python/Plugins/SystemPlugins/Videomode/meta/Makefile
lib/python/Plugins/SystemPlugins/WirelessLan/Makefile
lib/python/Plugins/SystemPlugins/WirelessLan/meta/Makefile
+lib/python/Plugins/SystemPlugins/FactoryTest/Makefile
lib/python/Tools/Makefile
lib/service/Makefile
lib/components/Makefile
-config.misc.rcused=0
\ No newline at end of file
+config.misc.rcused=1
\ No newline at end of file
<key id="KEY_RECORD" mapto="instantRecord" flags="m" />
</device>
<device name="dreambox remote control (native)">
+<!-- ikseong insert KEY_RECORD action -->
+ <key id="KEY_RECORD" mapto="instantRecord" flags="m" />
<key id="KEY_RED" mapto="instantRecord" flags="b" />
</device>
</map>
<key id="KEY_ENTER" mapto="ok" flags="m" />
<key id="KEY_EXIT" mapto="back" flags="m" />
<key id="KEY_ESC" mapto="back" flags="m" />
+<!-- ikseong for factory test -->
+ <key id="KEY_SUBTITLE" mapto="test" flags="m" />
+ <key id="KEY_RADIO" mapto="testexit" flags="m" />
+ <key id="KEY_PAUSE" mapto="agingend" flags="m" />
+ <key id="KEY_STOP" mapto="agingfinish" flags="m" />
+ <key id="KEY_GREEN" mapto="agingstart" flags="m" />
</map>
<map context="InfobarMenuActions">
<key id="KEY_VIDEO" mapto="showMovies" flags="m" />
<key id="KEY_RADIO" mapto="showRadio" flags="m" />
<key id="KEY_TV" mapto="showTv" flags="m" />
+<!-- ikseong insert KEY_SUBTITLE action for subtitle hotkey -->
+ <key id="KEY_SUBTITLE" mapto="showSubtitle" flags="m" />
</map>
<map context="InfobarAudioSelectionActions">
<key id="KEY_BLUE" mapto="seekFwd" flags="b" />
<key id="KEY_RED" mapto="seekBackManual" flags="l" />
<key id="KEY_BLUE" mapto="seekFwdManual" flags="l" />
+<!-- ikseong insert KEY_PAUSE, KEY_PLAY, KEY_REWIND, KEY_FASTFORWARD -->
+ <key id="KEY_PAUSE" mapto="pauseService" flags="m" />
+ <key id="KEY_PLAY" mapto="playpauseService" flags="m" />
+ <key id="KEY_REWIND" mapto="seekBack" flags="b" />
+ <key id="KEY_FASTFORWARD" mapto="seekFwd" flags="b" />
+ <key id="KEY_REWIND" mapto="seekBackManual" flags="l" />
+ <key id="KEY_FASTFORWARD" mapto="seekFwdManual" flags="l" />
</device>
<device name="dreambox advanced remote control (native)">
<key id="KEY_PLAY" mapto="playpauseService" flags="m" />
<key id="KEY_BLUE" mapto="seekFwd" flags="b" />
<key id="KEY_RED" mapto="seekBackManual" flags="l" />
<key id="KEY_BLUE" mapto="seekFwdManual" flags="l" />
+<!-- ikseong insert KEY_REWIND, KEY_FASTFORWARD -->
+ <key id="KEY_REWIND" mapto="seekBack" flags="b" />
+ <key id="KEY_FASTFORWARD" mapto="seekFwd" flags="b" />
+ <key id="KEY_REWIND" mapto="seekBackManual" flags="l" />
+ <key id="KEY_FASTFORWARD" mapto="seekFwdManual" flags="l" />
</device>
<device name="dreambox advanced remote control (native)">
<key id="KEY_PREVIOUSSONG" mapto="seekBack" flags="b" />
<device name="dreambox remote control (native)">
<key id="KEY_YELLOW" mapto="timeshiftStart" flags="b" />
<key id="KEY_TV" mapto="timeshiftStop" flags="m" />
+<!-- ikseong insert KEY_PAUSE, KEY_PLAY, KEY_STOP -->
+ <key id="KEY_PLAY" mapto="timeshiftStart" flags="m" />
+ <key id="KEY_PAUSE" mapto="timeshiftStart" flags="m" />
+ <key id="KEY_STOP" mapto="timeshiftStop" flags="m" />
</device>
<device name="dreambox advanced remote control (native)">
<key id="KEY_PLAY" mapto="timeshiftStart" flags="m" />
<device name="dreambox remote control (native)">
<key id="KEY_RED" mapto="timeshiftActivateEnd" flags="b" />
<key id="KEY_YELLOW" mapto="timeshiftActivateEndAndPause" flags="b" />
+<!-- ikseong insert KEY_PAUSE, KEY_PLAY, KEY_REWIND -->
+ <key id="KEY_PLAY" mapto="timeshiftActivateEndAndPause" flags="m" />
+ <key id="KEY_REWIND" mapto="timeshiftActivateEnd" flags="m" />
+ <key id="KEY_PAUSE" mapto="timeshiftActivateEndAndPause" flags="m" />
</device>
<device name="dreambox advanced remote control (native)">
<key id="KEY_PREVIOUSSONG" mapto="timeshiftActivateEnd" flags="m" />
<map context="MoviePlayerActions">
<device name="dreambox remote control (native)">
<key id="KEY_TV" mapto="leavePlayer" flags="m" />
+ <key id="KEY_STOP" mapto="leavePlayer" flags="m" />
+<!-- ikseong insert KEY_SUBTITLE action for subtitle hotkey -->
+ <key id="KEY_SUBTITLE" mapto="showSubtitle" flags="m" />
</device>
<device name="dreambox advanced remote control (native)">
<key id="KEY_TV" mapto="leavePlayer" flags="m" />
<key id="KEY_RADIO" mapto="shift_record" flags="l" />
<key id="KEY_PREVIOUS" mapto="previous" flags="m" />
<key id="KEY_NEXT" mapto="next" flags="m" />
+<!-- ikseong insert KEY_PAUSE, KEY_PLAY, KEY_STOP, KEY_RECORD, KEY_REWIND, KEY_FASTFORWARD -->
+ <key id="KEY_PAUSE" mapto="pause" flags="m" />
+ <key id="KEY_PLAY" mapto="play" flags="m" />
+ <key id="KEY_STOP" mapto="stop" flags="b" />
+ <key id="KEY_STOP" mapto="shift_stop" flags="l" />
+ <key id="KEY_RECORD" mapto="shift_record" flags="l" />
+ <key id="KEY_REWIND" mapto="previous" flags="m" />
+ <key id="KEY_FASTFORWARD" mapto="next" flags="m" />
</device>
<device name="dreambox advanced remote control (native)">
<key id="KEY_PLAYPAUSE" mapto="pause" flags="m" />
from os import system, _exit
system("rm -R /etc/enigma2")
system("cp -R /usr/share/enigma2/defaults /etc/enigma2")
+ system("/usr/bin/showiframe /boot/backdrop.mvi")
_exit(0)
self.session.openWithCallback(msgClosed, FactoryReset)
</code>
+<!-- ikseong modify position as 750S RCU -->
<rcs>
<rc id="0">
<button name="SHIFT" pos="58,21" />
- <button name="POWER" pos="90,21" />
+ <button name="POWER" pos="107,29" />
<button name="DREAMSELECT" pos="54,53" />
<button name="TVSELECT" pos="98,53" />
- <button name="1" pos="37,83" />
- <button name="2" pos="76,83" />
- <button name="3" pos="115,83" />
- <button name="4" pos="37,105" />
- <button name="5" pos="76,105" />
- <button name="6" pos="115,105" />
- <button name="7" pos="37,126" />
- <button name="8" pos="76,126" />
- <button name="9" pos="115,126" />
- <button name="ARROWLEFT" pos="37,148" />
- <button name="0" pos="76,148" />
- <button name="ARROWRIGHT" pos="115,148" />
- <button name="VOL+" pos="30,184" />
- <button name="VOL-" pos="39,208" />
- <button name="MUTE" pos="76,179" />
- <button name="EXIT" pos="76,201" />
- <button name="BOUQUET+" pos="122,184" />
- <button name="BOUQUET-" pos="113,208" />
- <button name="INFO" pos="28,238" />
- <button name="MENU" pos="124,238" />
- <button name="OK" pos="77,266" />
- <button name="UP" pos="77,241" />
- <button name="DOWN" pos="77,291" />
- <button name="LEFT" pos="48,266" />
- <button name="RIGHT" pos="106,266" />
- <button name="HELP" pos="32,298" />
- <button name="PVR" pos="121,298" />
- <button name="RED" pos="34,333" />
- <button name="GREEN" pos="61,335" />
- <button name="YELLOW" pos="90,335" />
- <button name="BLUE" pos="118,333" />
- <button name="REWIND" pos="37,365" />
- <button name="PLAYPAUSE" pos="64,366" />
- <button name="STOP" pos="90,366" />
- <button name="FORWARD" pos="117,365" />
- <button name="TV" pos="40,397" />
- <button name="RADIO" pos="65,399" />
- <button name="TEXT" pos="89,399" />
- <button name="RECORD" pos="113,397" />
+ <button name="SUBTITLE" pos="60,70" />
+ <button name="1" pos="40,80" />
+ <button name="2" pos="71,80" />
+ <button name="3" pos="102,80" />
+ <button name="4" pos="40,108" />
+ <button name="5" pos="71,108" />
+ <button name="6" pos="102,108" />
+ <button name="7" pos="40,136" />
+ <button name="8" pos="71,136" />
+ <button name="9" pos="102,136" />
+ <button name="ARROWLEFT" pos="43,180" />
+ <button name="0" pos="71,164" />
+ <button name="ARROWRIGHT" pos="108,180" />
+ <button name="VOL+" pos="41,310" />
+ <button name="VOL-" pos="42,341" />
+ <button name="MUTE" pos="35,29" />
+ <button name="EXIT" pos="72,310" />
+ <button name="BOUQUET+" pos="105,315" />
+ <button name="BOUQUET-" pos="105,330" />
+ <button name="INFO" pos="75,340" />
+ <button name="MENU" pos="41,367" />
+ <button name="OK" pos="75,252" />
+ <button name="UP" pos="75,235" />
+ <button name="DOWN" pos="75,288" />
+ <button name="LEFT" pos="43,255" />
+ <button name="RIGHT" pos="106,255" />
+ <button name="HELP" pos="105,363" />
+ <button name="PVR" pos="65,370" />
+ <button name="RED" pos="40,202" />
+ <button name="GREEN" pos="65,202" />
+ <button name="YELLOW" pos="89,202" />
+ <button name="BLUE" pos="112,202" />
+ <button name="REWIND" pos="36,385" />
+ <button name="PLAYPAUSE" pos="63,400" />
+ <button name="STOP" pos="82,406" />
+ <button name="FORWARD" pos="105,385" />
+ <button name="TV" pos="41,412" />
+ <button name="RADIO" pos="110,412" />
+ <button name="TEXT" pos="40,70" />
+ <button name="RECORD" pos="64,412" />
</rc>
<rc id="1">
<button name="SHIFT" pos="59,23" />
- <button name="POWER" pos="93,23" />
+ <button name="POWER" pos="107,29" />
<button name="DREAMSELECT" pos="51,55" />
<button name="TVSELECT" pos="97,55" />
- <button name="1" pos="38,81" />
- <button name="2" pos="77,81" />
- <button name="3" pos="113,81" />
- <button name="4" pos="38,102" />
- <button name="5" pos="77,102" />
- <button name="6" pos="113,102" />
- <button name="7" pos="38,122" />
- <button name="8" pos="77,122" />
- <button name="9" pos="113,122" />
- <button name="ARROWLEFT" pos="38,143" />
- <button name="0" pos="77,143" />
- <button name="ARROWRIGHT" pos="113,143" />
- <button name="VOL+" pos="31,181" />
- <button name="VOL-" pos="42,206" />
- <button name="MUTE" pos="76,172" />
- <button name="EXIT" pos="76,194" />
- <button name="BOUQUET+" pos="119,181" />
- <button name="BOUQUET-" pos="111,206" />
- <button name="INFO" pos="27,233" />
- <button name="MENU" pos="125,233" />
- <button name="OK" pos="77,262" />
- <button name="UP" pos="76,235" />
- <button name="DOWN" pos="76,289" />
- <button name="LEFT" pos="45,262" />
- <button name="RIGHT" pos="108,262" />
- <button name="AUDIO" pos="31,295" />
- <button name="VIDEO" pos="121,295" />
- <button name="RED" pos="34,329" />
- <button name="GREEN" pos="62,330" />
- <button name="YELLOW" pos="89,330" />
- <button name="BLUE" pos="118,329" />
- <button name="TV" pos="37,362" />
- <button name="RADIO" pos="62,363" />
- <button name="TEXT" pos="89,363" />
- <button name="HELP" pos="114,362" />
+ <button name="SUBTITLE" pos="64,73" />
+ <button name="1" pos="40,100" />
+ <button name="2" pos="76,100" />
+ <button name="3" pos="102,100" />
+ <button name="4" pos="40,108" />
+ <button name="5" pos="76,108" />
+ <button name="6" pos="102,108" />
+ <button name="7" pos="40,152" />
+ <button name="8" pos="76,152" />
+ <button name="9" pos="102,152" />
+ <button name="ARROWLEFT" pos="43,180" />
+ <button name="0" pos="76,180" />
+ <button name="ARROWRIGHT" pos="108,180" />
+ <button name="VOL+" pos="41,316" />
+ <button name="VOL-" pos="42,350" />
+ <button name="MUTE" pos="35,29" />
+ <button name="EXIT" pos="75,320" />
+ <button name="BOUQUET+" pos="106,316" />
+ <button name="BOUQUET-" pos="105,350" />
+ <button name="INFO" pos="76,342" />
+ <button name="MENU" pos="42,370" />
+ <button name="OK" pos="76,255" />
+ <button name="UP" pos="76,240" />
+ <button name="DOWN" pos="76,288" />
+ <button name="LEFT" pos="43,255" />
+ <button name="RIGHT" pos="106,255" />
+ <button name="RECORD" pos="65,414" />
+ <button name="AUDIO" pos="87,370" />
+ <button name="VIDEO" pos="64,370" />
+ <button name="RED" pos="40,204" />
+ <button name="GREEN" pos="64,204" />
+ <button name="YELLOW" pos="88,204" />
+ <button name="BLUE" pos="112,204" />
+ <button name="TV" pos="42,414" />
+ <button name="RADIO" pos="110,414" />
+ <button name="TEXT" pos="40,72" />
+ <button name="HELP" pos="108,370" />
</rc>
-</rcs>
\ No newline at end of file
+</rcs>
<convert type="ConditionalShowHide" />
</widget>
<!-- Crypt icon (encrypted service?) -->
- <ePixmap position="563,48" zPosition="0" size="107,15" pixmap="skin_default/icons/icons_off.png" />
+ <!-- ikseong
+ <ePixmap position="563,48" zPosition="0" size="107,15" pixmap="skin_default/icons/icons_off.png" /> -->
+ <ePixmap position="563,48" zPosition="0" size="80,15" pixmap="skin_default/icons/icons_off.png" />
<widget source="session.CurrentService" render="Pixmap" pixmap="skin_default/icons/icon_crypt.png" position="563,48" zPosition="1" size="12,16" alphatest="on">
<convert type="ServiceInfo">IsCrypted</convert>
<convert type="ConditionalShowHide" />
<convert type="ConditionalShowHide" />
</widget>
<!-- Audio icon (is there multichannel audio?) -->
+<!-- ikseong
<widget source="session.CurrentService" render="Pixmap" pixmap="skin_default/icons/icon_dolby.png" position="645,48" zPosition="1" size="26,16" alphatest="on">
<convert type="ServiceInfo">IsMultichannel</convert>
<convert type="ConditionalShowHide" />
- </widget>
+ </widget> -->
<!-- Progressbar (current event duration)-->
<ePixmap pixmap="skin_default/progress_bg.png" position="48,77" size="84,7" transparent="1" alphatest="on" />
<widget source="session.Event_Now" render="Progress" pixmap="skin_default/progress_small.png" position="50,78" zPosition="1" size="80,5" transparent="1">
<wizard>
<step id="start" nextstep="introduction">
- <text value="Welcome.\n\nThis start wizard will guide you through the basic setup of your Dreambox.\nPress the OK button on your remote control to move to the next step." />
+ <text value="Welcome.\n\nThis start wizard will guide you through the basic setup of your STB.\nPress the OK button on your remote control to move to the next step." />
+
<code>
self.clearSelectedKeys()
self.selectKey("OK")
</list>
</step>
<step id="finisheddefaultsatlists">
- <text value="Do you want to enable the parental control feature on your dreambox?" />
+ <text value="Do you want to enable the parental control feature on your STB?" />
+
<list>
<listentry caption="Yes" step="parentalsetup" />
<listentry caption="No" step="end" />
config.ParentalControl.setuppin.save()
</code>
- <text value="After the start wizard is completed, you need to protect single services. Refer to your dreambox's manual on how to do that." />
+ <text value="After the start wizard is completed, you need to protect single services. Refer to your STB's manual on how to do that." />
+
</step>
<step id="end" laststep="true">
<condition>
self.condition = self.isLastWizard
</condition>
- <text value="Thank you for using the wizard. Your box is now ready to use.\nPlease press OK to start using your Dreambox." />
+ <text value="Thank you for using the wizard. Your box is now ready to use.\nPlease press OK to start using your STB." />
+
</step>
</wizard>
<text value="Do you want to view a tutorial?" />
<list>
<listentry caption="Yes, view the tutorial" step="next" />
- <listentry caption="No, just start my dreambox" step="end" />
+ <listentry caption="No, just start my STB" step="end" />
</list>
</step>
noinst_LIBRARIES = libenigma_driver.a
libenigma_driver_a_SOURCES = \
- rc.cpp rcinput.cpp rcconsole.cpp avswitch.cpp rfmod.cpp etimezone.cpp misc_options.cpp
+ rc.cpp rcinput.cpp rcconsole.cpp avswitch.cpp rfmod.cpp etimezone.cpp misc_options.cpp memtest.cpp sc_test.cpp
}
} else if (state == iDVBFrontend::stateFailed)
{
+#ifdef BUILD_VUPLUS /* ikseong */
+ if (m_current_frontend_parameters)
+ {
+ eDebug("OURSTATE: lost lock, trying to retune");
+ ourstate = state_tuning;
+ m_frontend->get().tune(*m_current_frontend_parameters);
+ }
+ else
+ {
+ eDebug("OURSTATE: failed");
+ ourstate = state_failed;
+ }
+#else
eDebug("OURSTATE: failed");
ourstate = state_failed;
+#endif
} else
eFatal("state unknown");
openFrontend();
}
+#ifdef BUILD_VUPLUS /* ikseong */
+int frontend0_fd;
+int frontend1_fd;
+#endif
+
int eDVBFrontend::openFrontend()
{
if (m_state != stateClosed)
eWarning("failed! (%s) %m", m_filename);
return -1;
}
+#ifdef BUILD_VUPLUS /* ikseong */
+ else
+ {
+ if (m_dvbid==0)
+ frontend0_fd = m_fd;
+ else if (m_dvbid==1)
+ frontend1_fd = m_fd;
+ }
+#endif
}
}
else
m_tuning = 0;
if (m_state == stateTuning)
{
+#ifdef BUILD_VUPLUS /* ikseong */
+ eDVBFrontend *sec_fe = this;
+ sec_fe->m_data[CSW] = sec_fe->m_data[UCSW] = sec_fe->m_data[TONEBURST] = -1; // reset diseqc
+#endif
m_state = stateFailed;
m_stateChanged(this);
}
{
case gOpcode::flush:
// if (update)
+#ifndef BUILD_VUPLUS /* ikseong */
lcd->update();
+#else
+ ;
+#endif
default:
gDC::exec(o);
break;
void eDBoxLCD::update()
{
+#ifdef BUILD_VUPLUS /* ikseong */
+ return ;
+#endif
if (!is_oled || is_oled == 2)
{
unsigned char raw[132*8];
# when YUV is not enabled, don't let the user select it
if config.av.yuvenabled.value:
colorformat_choices["yuv"] = _("YPbPr")
-
- config.av.colorformat = ConfigSelection(choices=colorformat_choices, default="rgb")
+# ikseong
+ config.av.colorformat = ConfigSelection(choices=colorformat_choices, default="cvbs")
config.av.aspectratio = ConfigSelection(choices={
"4_3_letterbox": _("4:3 Letterbox"),
"4_3_panscan": _("4:3 PanScan"),
from os import system, listdir, statvfs, popen, makedirs, stat, major, minor, path, access
-from Tools.Directories import SCOPE_HDD, resolveFilename
+# ikseong
+from Tools.Directories import SCOPE_HDD, resolveFilename, fileExists
+
from Tools.CList import CList
from SystemInfo import SystemInfo
import time
return ret
def diskSize(self):
- line = readFile(self.sysfsPath('size'))
+ # ikseong
+ try:
+ line = readFile(self.sysfsPath('size'))
+ except:
+ harddiskmanager.removeHotplugPartition(self.device)
+ print "error remove",self.device
+ return -1
try:
cap = int(line)
except:
return "%d.%03d GB" % (cap/1000, cap%1000)
def model(self):
- if self.device[:2] == "hd":
- return readFile('/proc/ide/' + self.device + '/model')
- elif self.device[:2] == "sd":
- vendor = readFile(self.sysfsPath('device/vendor'))
- model = readFile(self.sysfsPath('device/model'))
- return vendor + '(' + model + ')'
- else:
- assert False, "no hdX or sdX"
+ # ikseong
+ try:
+ if self.device[:2] == "hd":
+ return readFile('/proc/ide/' + self.device + '/model')
+ elif self.device[:2] == "sd":
+ vendor = readFile(self.sysfsPath('device/vendor'))
+ model = readFile(self.sysfsPath('device/model'))
+ return vendor + '(' + model + ')'
+ else:
+ assert False, "no hdX or sdX"
+ except:
+ harddiskmanager.removeHotplugPartition(self.device)
+ print "error remove",self.device
+ return -1
def free(self):
try:
return (res >> 8)
def createMovieFolder(self):
+# ikseong
try:
+ if not fileExists("/hdd", 0):
+ print "not found /hdd"
+ system("ln -s /media/hdd /hdd")
+#
makedirs(resolveFilename(SCOPE_HDD))
except OSError:
return -1
idle_time = t - self.last_access
stats = self.readStats()
+ # ikseong
+ if stats == -1:
+ self.setIdleTime(0)
+ return
print "nr_read", stats[0], "nr_write", stats[1]
l = sum(stats)
print "sum", l, "prev_sum", self.last_stat
self.addHotplugPartition(part)
def getAutofsMountpoint(self, device):
- return "/autofs/%s/" % (device)
+ return "/media/%s/" % (device)
+
def addHotplugPartition(self, device, physdev = None):
if not physdev:
def HDDList(self):
list = [ ]
for hd in self.hdd:
+ # ikseong
+ if hd.model() == -1:
+ continue
hdd = hd.model() + " - " + hd.bus()
cap = hd.capacity()
if cap != "":
value = self.getValue(self.LOCK)
if self.type == self.SNR_DB:
- if value != 0x12345678:
+# ikseong
+# if value != 0x12345678:
+ if value is not None and value != 0x12345678:
self.setText("%3.02f dB" % (value / 100.0))
else:
self.setText("")
self.target = None
self.settings = ConfigSubsection()
self.settings.name = ConfigText(fixed_size = False, visible_width = 40)
- self.settings.authormode = ConfigSelection(choices = [("menu_linked", _("Linked titles with a DVD menu")), ("just_linked", _("Direct playback of linked titles without menu")), ("menu_seperate", _("Seperate titles with a main menu")), ("data_ts", _("Dreambox format data DVD (HDTV compatible)"))])
+ self.settings.authormode = ConfigSelection(choices = [("menu_linked", _("Linked titles with a DVD menu")), ("just_linked", _("Direct playback of linked titles without menu")), ("menu_seperate", _("Seperate titles with a main menu")), ("data_ts", _("STB format data DVD (HDTV compatible)"))])
self.settings.titlesetmode = ConfigSelection(choices = [("single", _("Simple titleset (compatibility for legacy players)")), ("multi", _("Complex (allows mixing audio tracks and aspects)"))], default="multi")
self.settings.output = ConfigSelection(choices = [("iso", _("Create DVD-ISO")), ("dvd", _("Burn DVD"))])
self.settings.isopath = ConfigText(fixed_size = False, visible_width = 40)
tool = "genisoimage"
isopathfile = getISOfilename(self.project.settings.isopath.getValue(), volName)
burnargs = [ "-o", isopathfile ]
- burnargs += [ "-dvd-video", "-publisher", "Dreambox", "-V", volName, self.workspace + "/dvd" ]
+ burnargs += [ "-dvd-video", "-publisher", "STB", "-V", volName, self.workspace + "/dvd" ]
BurnTask(self, burnargs, tool)
RemoveDVDFolder(self)
burnargs += ["-iso-level", "4", "-allow-limited-size" ]
elif self.project.settings.dataformat.getValue() == "udf":
burnargs += ["-udf", "-allow-limited-size" ]
- burnargs += [ "-publisher", "Dreambox", "-V", volName, "-follow-links", self.workspace ]
+ burnargs += [ "-publisher", "STB", "-V", volName, "-follow-links", self.workspace ]
BurnTask(self, burnargs, tool)
RemoveDVDFolder(self)
burnargs = [ "-Z", "/dev/" + harddiskmanager.getCD(), "-dvd-compat" ]
if getSize(imagepath)/(1024*1024) > self.project.MAX_SL:
burnargs += [ "-use-the-force-luke=4gms", "-speed=1", "-R" ]
- burnargs += [ "-dvd-video", "-publisher", "Dreambox", "-V", volName, imagepath ]
+ burnargs += [ "-dvd-video", "-publisher", "STB", "-V", volName, imagepath ]
tool = "growisofs"
BurnTask(self, burnargs, tool)
if source is None:
return None
if not source.getPath().endswith(".ts"):
- self.session.open(MessageBox,text = _("You can only burn Dreambox recordings!"), type = MessageBox.TYPE_ERROR)
+ self.session.open(MessageBox,text = _("You can only burn STB recordings!"), type = MessageBox.TYPE_ERROR)
return None
t = self.project.addService(source)
try:
t = self.current_edit_title
t.titleEditDone(cutlist)
if t.VideoType != 0:
- self.session.openWithCallback(self.DVDformatCB,MessageBox,text = _("The DVD standard doesn't support H.264 (HDTV) video streams. Do you want to create a Dreambox format data DVD (which will not play in stand-alone DVD players) instead?"), type = MessageBox.TYPE_YESNO)
+ self.session.openWithCallback(self.DVDformatCB,MessageBox,text = _("The DVD standard doesn't support H.264 (HDTV) video streams. Do you want to create a STB format data DVD (which will not play in stand-alone DVD players) instead?"), type = MessageBox.TYPE_YESNO)
else:
self.updateTitleList()
<author>Dream Multimedia</author>
<name>DVDPlayer</name>
<packagename>enigma2-plugin-extensions-dvdplayer</packagename>
- <shortdescription>DVDPlayer plays your DVDs on your Dreambox.</shortdescription>
- <description>DVDPlayer plays your DVDs on your Dreambox.\nWith the DVDPlayer you can play your DVDs on your Dreambox from a DVD or even from an iso file or video_ts folder on your harddisc or network.</description>
+ <shortdescription>DVDPlayer plays your DVDs on your STB.</shortdescription>
+ <description>DVDPlayer plays your DVDs on your STB.\nWith the DVDPlayer you can play your DVDs on your Dreambox from a DVD or even from an iso file or video_ts folder on your harddisc or network.</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_dvdplayer.jpg" />
</info>
<info language="de">
<author>Dream Multimedia</author>
<name>DVDPlayer</name>
<packagename>enigma2-plugin-extensions-dvdplayer</packagename>
- <shortdescription>Spielen Sie Ihre DVDs mit dem DVDPlayer auf Ihrer Dreambox ab.</shortdescription>
- <description>Spielen Sie Ihre DVDs mit dem DVDPlayer auf Ihrer Dreambox ab.\nMit dem DVDPlayer können Sie Ihre DVDs auf Ihrer Dreambox abspielen. Dabei ist es egal ob Sie von DVD, iso-Datei oder sogar direkt von einer video_ts Ordnerstruktur von Ihrer Festplatte oder dem Netzwerk abspielen.
+ <shortdescription>Spielen Sie Ihre DVDs mit dem DVDPlayer auf Ihrer STB ab.</shortdescription>
+ <description>Spielen Sie Ihre DVDs mit dem DVDPlayer auf Ihrer STB ab.\nMit dem DVDPlayer können Sie Ihre DVDs auf Ihrer Dreambox abspielen. Dabei ist es egal ob Sie von DVD, iso-Datei oder sogar direkt von einer video_ts Ordnerstruktur von Ihrer Festplatte oder dem Netzwerk abspielen.
</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_dvdplayer.jpg" />
</info>
self.seek_target = None
- from Plugins.SystemPlugins.Hotplug.plugin import hotplugNotifier
- hotplugNotifier.append(self.hotplugCB)
+# ikseong
+# from Plugins.SystemPlugins.Hotplug.plugin import hotplugNotifier
+# hotplugNotifier.append(self.hotplugCB)
class MoviePlayerActionMap(NumberActionMap):
def __init__(self, player, contexts = [ ], actions = { }, prio=0):
"prevBouquet": (self.switchToPlayList, _("switch to playlist")),
"nextBouquet": (self.switchToFileList, _("switch to filelist")),
"delete": (self.deletePlaylistEntry, _("delete playlist entry")),
- "shift_stop": (self.clear_playlist, _("clear playlist")),
- "shift_record": (self.playlist.PlayListShuffle, _("shuffle playlist")),
+#ikseong
+# "shift_stop": (self.clear_playlist, _("clear playlist")),
+# "shift_record": (self.playlist.PlayListShuffle, _("shuffle playlist")),
+ "shift_stop": self.clear_playlist,
+ "shift_record": self.playlist.PlayListShuffle,
"subtitles": (self.subtitleSelection, _("Subtitle selection")),
}, -2)
if config.mediaplayer.saveDirOnExit.getValue():
config.mediaplayer.defaultDir.setValue(self.filelist.getCurrentDirectory())
config.mediaplayer.defaultDir.save()
- from Plugins.SystemPlugins.Hotplug.plugin import hotplugNotifier
- hotplugNotifier.remove(self.hotplugCB)
+# ikseong
+# from Plugins.SystemPlugins.Hotplug.plugin import hotplugNotifier
+# hotplugNotifier.remove(self.hotplugCB)
del self["coverArt"].picload
self.close()
currPlay = self.session.nav.getCurrentService()
sTagAudioCodec = currPlay.info().getInfoString(iServiceInformation.sTagAudioCodec)
print "[__evAudioDecodeError] audio-codec %s can't be decoded by hardware" % (sTagAudioCodec)
- self.session.open(MessageBox, _("This Dreambox can't decode %s streams!") % sTagAudioCodec, type = MessageBox.TYPE_INFO,timeout = 20 )
+ self.session.open(MessageBox, _("This STB can't decode %s streams!") % sTagAudioCodec, type = MessageBox.TYPE_INFO,timeout = 20 )
def __evVideoDecodeError(self):
currPlay = self.session.nav.getCurrentService()
sTagVideoCodec = currPlay.info().getInfoString(iServiceInformation.sTagVideoCodec)
print "[__evVideoDecodeError] video-codec %s can't be decoded by hardware" % (sTagVideoCodec)
- self.session.open(MessageBox, _("This Dreambox can't decode %s streams!") % sTagVideoCodec, type = MessageBox.TYPE_INFO,timeout = 20 )
+ self.session.open(MessageBox, _("This STB can't decode %s streams!") % sTagVideoCodec, type = MessageBox.TYPE_INFO,timeout = 20 )
def __evPluginError(self):
currPlay = self.session.nav.getCurrentService()
<packagename>enigma2-plugin-systemplugins-commoninterfaceassignment</packagename>
<shortdescription>Assigning providers/services/caids to a dedicated CI module</shortdescription>
<description>With the CommonInterfaceAssignment extension it is possible to use different CI modules
- in your Dreambox and assign to each of them dedicated providers/services or caids.\n
+ in your STB and assign to each of them dedicated providers/services or caids.\n
So it is then possible to watch a scrambled service while recording another one.
</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_ciassignment.jpg" />
appname = _("Slot %d") %(slot+1) + " - " + _("init modules")
elif state == 2:
appname = _("Slot %d") %(slot+1) + " - " + eDVBCI_UI.getInstance().getAppName(slot)
+ # ikseong
+ else :
+ appname = _("Slot %d") %(slot+1) + " - " + _("no module found")
+ #
self.list.append( (appname, ConfigNothing(), 0, slot) )
else:
self.list.append( (_("no CI slots found") , ConfigNothing(), 1, -1) )
self.enableVKeyIcon()
self.showKeypad()
elif current == self.AnonCrashlogEntry:
- self["status"].setText(_("Adds enigma2 settings and dreambox model informations like SN, rev... if enabled."))
+ self["status"].setText(_("Adds enigma2 settings and STB model informations like SN, rev... if enabled."))
self.disableVKeyIcon()
elif current == self.NetworkEntry:
self["status"].setText(_("Adds network configuration if enabled."))
if crashlog.startswith("enigma2_crash_") and crashlog.endswith(".log"):
print "[CrashlogAutoSubmit] - found crashlog: ",os.path.basename(crashlog)
crashLogFilelist.append('/media/hdd/' + crashlog)
-
- if len(crashLogFilelist):
- if config.plugins.crashlogautosubmit.sendmail.value == "send":
- Notifications.AddNotificationWithCallback(handleAnswer, ChoiceBox, title=_("Crashlogs found!\nSend them to Dream Multimedia?"), list = list)
- elif config.plugins.crashlogautosubmit.sendmail.value == "send_always":
- send_mail()
- else:
- print "[CrashlogAutoSubmit] - no crashlogs found."
-
+# ikseong
+# if len(crashLogFilelist):
+# if config.plugins.crashlogautosubmit.sendmail.value == "send":
+# session.openWithCallback(handleAnswer, ChoiceBox, title=_("Crashlogs found!\nSend them to Dream Multimedia ?"), list = list)
+# elif config.plugins.crashlogautosubmit.sendmail.value == "send_always":
+# send_mail()
+# else:
+# print "[CrashlogAutoSubmit] - no crashlogs found."
+#
+ print "block to handle Crashlogs "
def getMailExchange(host):
print "[CrashlogAutoSubmit] - getMailExchange"
SkinSelector SatelliteEquipmentControl Videomode VideoTune Hotplug \
DefaultServicesScanner NFIFlash DiseqcTester CommonInterfaceAssignment \
CrashlogAutoSubmit CleanupWizard VideoEnhancement WirelessLan NetworkWizard \
- TempFanControl
+ TempFanControl FactoryTest
install_PYTHON = \
__init__.py
def feed_failed(self, failure_instance):
print "[feed_failed] " + str(failure_instance)
- self["infolabel"].text = _("Could not connect to Dreambox .NFI Image Feed Server:") + "\n" + failure_instance.getErrorMessage() + "\n\n" + _("Please check your network settings!")
+ self["infolabel"].text = _("Could not connect to STB .NFI Image Feed Server:") + "\n" + failure_instance.getErrorMessage() + "\n\n" + _("Please check your network settings!")
self.downloading(False)
def feed_finished(self, feedhtml):
def dmesg_cleared(self, answer):
self.container.appClosed.remove(self.dmesg_cleared)
- self.msgbox = self.session.open(MessageBox, _("Please disconnect all USB devices from your Dreambox and (re-)attach the target USB stick (minimum size is 64 MB) now!"), MessageBox.TYPE_INFO)
+ self.msgbox = self.session.open(MessageBox, _("Please disconnect all USB devices from your STB and (re-)attach the target USB stick (minimum size is 64 MB) now!"), MessageBox.TYPE_INFO)
hotplugNotifier.append(self.hotplugCB)
def hotplugCB(self, dev, action):
wizardfd.write("image: "+self["feedlist"].getNFIname()+'\n')
wizardfd.write("configuration: "+self.backup_file+'\n')
wizardfd.close()
- self.session.open(MessageBox, _("To update your Dreambox firmware, please follow these steps:\n1) Turn off your box with the rear power switch and plug in the bootable USB stick.\n2) Turn mains back on and hold the DOWN button on the front panel pressed for 10 seconds.\n3) Wait for bootup and follow instructions of the wizard."), type = MessageBox.TYPE_INFO)
+ self.session.open(MessageBox, _("To update your STB firmware, please follow these steps:\n1) Turn off your box with the rear power switch and plug in the bootable USB stick.\n2) Turn mains back on and hold the DOWN button on the front panel pressed for 10 seconds.\n3) Wait for bootup and follow instructions of the wizard."), type = MessageBox.TYPE_INFO)
def closeCB(self):
try:
<author>Dream Multimedia</author>
<name>NFIFlash</name>
<packagename>enigma2-plugin-systemplugins-nfiflash</packagename>
- <shortdescription>Restore your Dreambox with a USB stick.</shortdescription>
- <description>With the NFIFlash extension it is possible to prepare a USB stick with an Dreambox image.\n
- It is then possible to flash your Dreambox with the image on that stick.
+ <shortdescription>Restore your STB with a USB stick.</shortdescription>
+ <description>With the NFIFlash extension it is possible to prepare a USB stick with an STB image.\n
+ It is then possible to flash your STB with the image on that stick.
</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_nfiflash_en.jpg" />
</info>
<author>Dream Multimedia</author>
<name>NFIFlash</name>
<packagename>enigma2-plugin-systemplugins-nfiflash</packagename>
- <shortdescription>Wiederherstellen Ihrer Dreambox mittels USB-Stick.</shortdescription>
- <description>Mit der NFIFlash Erweiterung können Sie ein Dreambox Image auf einen USB-Stick laden.\
- Mit diesem USB-Stick ist es dann möglich Ihre Dreambox zu flashen.
+ <shortdescription>Wiederherstellen Ihrer STB mittels USB-Stick.</shortdescription>
+ <description>Mit der NFIFlash Erweiterung können Sie ein STB Image auf einen USB-Stick laden.\
+ Mit diesem USB-Stick ist es dann möglich Ihre STB zu flashen.
</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_nfiflash_de.jpg" />
</info>
def go(self):
if self.update:
- self.session.openWithCallback(self.doUpdate, MessageBox, _("Do you want to update your Dreambox?\nAfter pressing OK, please wait!"))
+ self.session.openWithCallback(self.doUpdate, MessageBox, _("Do you want to update your STB?\nAfter pressing OK, please wait!"))
else:
self.close()
def go(self):
if self.update:
- self.session.openWithCallback(self.doUpdate, MessageBox, _("Do you want to update your Dreambox?\nAfter pressing OK, please wait!"))
+ self.session.openWithCallback(self.doUpdate, MessageBox, _("Do you want to update your STB?\nAfter pressing OK, please wait!"))
else:
self.close()
<packagename>enigma2-plugin-systemplugins-skinselector</packagename>
<shortdescription>SkinSelector shows a menu with selectable skins.</shortdescription>
<description>The SkinSelector shows a menu with selectable skins.\n
- It's now easy to change the look and feel of your Dreambox.
+ It's now easy to change the look and feel of your STB.
</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_skinselector_en.jpg" />
</info>
<packagename>enigma2-plugin-systemplugins-skinselector</packagename>
<shortdescription>Der SkinSelector zeigt Ihnen ein Menu mit auswählbaren Skins.</shortdescription>
<description>Die SkinSelector Erweiterung zeigt Ihnen ein Menu mit auswählbaren Skins.\n
- Sie können nun einfach das Aussehen der grafischen Oberfläche Ihrer Dreambox verändern.
+ Sie können nun einfach das Aussehen der grafischen Oberfläche Ihrer STB verändern.
</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_skinselector_de.jpg" />
</info>
<text value="Do you want to restore your settings?" />
<list>
<listentry caption="Yes, restore the settings now" step="restore" />
- <listentry caption="No, just start my dreambox" step="end" />
+ <listentry caption="No, just start my STB" step="end" />
</list>
<code>
self.clearSelectedKeys()
</step>
<step id="welcome">
- <text value="Welcome to the Image upgrade wizard. The wizard will assist you in upgrading the firmware of your Dreambox by providing a backup facility for your current settings and a short explanation of how to upgrade your firmware." />
+ <text value="Welcome to the Image upgrade wizard. The wizard will assist you in upgrading the firmware of your STB by providing a backup facility for your current settings and a short explanation of how to upgrade your firmware." />
<list>
<listentry caption="OK, guide me through the upgrade process" step="backupquestion" />
<listentry caption="Exit the wizard" step="end" />
</step>
<step id="upgrade">
- <text value="You need a PC connected to your dreambox. If you need further instructions, please visit the website http://www.dm7025.de.\nYour dreambox will now be halted. After you have performed the update instructions from the website, your new firmware will ask you to restore your settings." />
+ <text value="You need a PC connected to your STB. If you need further instructions, please visit the website http://www.dm7025.de.\nYour STB will now be halted. After you have performed the update instructions from the website, your new firmware will ask you to restore your settings." />
<list>
<listentry caption="Yes, perform a shutdown now." step="shutdown" />
<listentry caption="No, do nothing." step="end" />
from enigma import quitMainloop
quitMainloop(1)
</code>
- <text value="Your dreambox is shutting down. Please stand by..." />
+ <text value="Your STB is shutting down. Please stand by..." />
</step>
<step id="end" laststep="true">
<author>Dream Multimedia</author>
<name>SoftwareManager</name>
<packagename>enigma2-plugin-systemplugins-softwaremanager</packagename>
- <shortdescription>SoftwareManager manages your Dreambox software.</shortdescription>
- <description>The SoftwareManager manages your Dreambox software.\n
+ <shortdescription>SoftwareManager manages your STB software.</shortdescription>
+ <description>The SoftwareManager manages your STB software.\n
It's easy to update your receiver's software, install or remove extensions or even backup and restore your system settings.
</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_softwaremanager_en.jpg" />
<author>Dream Multimedia</author>
<name>SoftwareManager</name>
<packagename>enigma2-plugin-systemplugins-softwaremanager</packagename>
- <shortdescription>Der SoftwareManager verwaltet Ihre Dreambox Software.</shortdescription>
- <description>Der SoftwareManager verwaltet Ihre Dreambox Software.\n
- Sie können nun einfach Ihre Dreambox-Software aktualisieren, neue Erweiterungen installieren oder entfernen,
+ <shortdescription>Der SoftwareManager verwaltet Ihre STB Software.</shortdescription>
+ <description>Der SoftwareManager verwaltet Ihre STB Software.\n
+ Sie können nun einfach Ihre STB-Software aktualisieren, neue Erweiterungen installieren oder entfernen,
oder ihre Einstellungen sichern und wiederherstellen.
</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_softwaremanager_de.jpg" />
self.text = ""
self.backupdirs = ' '.join( config.plugins.configurationbackup.backupdirs.value )
if self.menu == 0:
- self.list.append(("install-extensions", _("Manage extensions"), _("\nManage extensions or plugins for your Dreambox" ) + self.oktext, None))
- self.list.append(("software-update", _("Software update"), _("\nOnline update of your Dreambox software." ) + self.oktext, None))
- self.list.append(("software-restore", _("Software restore"), _("\nRestore your Dreambox with a new firmware." ) + self.oktext, None))
- self.list.append(("system-backup", _("Backup system settings"), _("\nBackup your Dreambox settings." ) + self.oktext, None))
- self.list.append(("system-restore",_("Restore system settings"), _("\nRestore your Dreambox settings." ) + self.oktext, None))
+ self.list.append(("install-extensions", _("Manage extensions"), _("\nManage extensions or plugins for your STB" ) + self.oktext, None))
+ self.list.append(("software-update", _("Software update"), _("\nOnline update of your STB software." ) + self.oktext, None))
+ self.list.append(("software-restore", _("Software restore"), _("\nRestore your STB with a new firmware." ) + self.oktext, None))
+ self.list.append(("system-backup", _("Backup system settings"), _("\nBackup your STB settings." ) + self.oktext, None))
+ self.list.append(("system-restore",_("Restore system settings"), _("\nRestore your STB settings." ) + self.oktext, None))
self.list.append(("ipkg-install", _("Install local extension"), _("\nScan for local extensions and install them." ) + self.oktext, None))
for p in plugins.getPlugins(PluginDescriptor.WHERE_SOFTWAREMANAGER):
if p.__call__.has_key("SoftwareSupported"):
currentEntry = current[0]
if self.menu == 0:
if (currentEntry == "software-update"):
- self.session.openWithCallback(self.runUpgrade, MessageBox, _("Do you want to update your Dreambox?")+"\n"+_("\nAfter pressing OK, please wait!"))
+ self.session.openWithCallback(self.runUpgrade, MessageBox, _("Do you want to update your STB?")+"\n"+_("\nAfter pressing OK, please wait!"))
elif (currentEntry == "software-restore"):
self.session.open(ImageWizard)
elif (currentEntry == "install-extensions"):
self.close()
def runExecuteFinished(self):
- self.session.openWithCallback(self.ExecuteReboot, MessageBox, _("Install or remove finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
+ self.session.openWithCallback(self.ExecuteReboot, MessageBox, _("Install or remove finished.") +" "+_("Do you want to reboot your STB?"), MessageBox.TYPE_YESNO)
def ExecuteReboot(self, result):
if result is None:
elif cmd == 2:
info = args['package']
else:
- info = _("Dreambox software because updates are available.")
+ info = _("STB software because updates are available.")
self.list.append(self.buildEntryComponent(action,info))
self['list'].setList(self.list)
self.session.openWithCallback(self.runUpgradeFinished, Ipkg, cmdList = self.cmdList)
def runUpgradeFinished(self):
- self.session.openWithCallback(self.UpgradeReboot, MessageBox, _("Installation finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
+ self.session.openWithCallback(self.UpgradeReboot, MessageBox, _("Installation finished.") +" "+_("Do you want to reboot your STB?"), MessageBox.TYPE_YESNO)
def UpgradeReboot(self, result):
if result is None:
self.session.openWithCallback(self.runRemoveFinished, Ipkg, cmdList = self.cmdList)
def runRemoveFinished(self):
- self.session.openWithCallback(self.RemoveReboot, MessageBox, _("Remove finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
+ self.session.openWithCallback(self.RemoveReboot, MessageBox, _("Remove finished.") +" "+_("Do you want to reboot your STB?"), MessageBox.TYPE_YESNO)
def RemoveReboot(self, result):
if result is None:
self["slider"] = self.slider
self.activityslider = Slider(0, 100)
self["activityslider"] = self.activityslider
- self.status = StaticText(_("Upgrading Dreambox... Please wait"))
+ self.status = StaticText(_("Upgrading STB... Please wait"))
self["status"] = self.status
self.package = StaticText()
self["package"] = self.package
else:
self.activityTimer.stop()
self.activityslider.setValue(0)
- error = _("your dreambox might be unusable now. Please consult the manual for further assistance before rebooting your dreambox.")
+ error = _("your STB might be unusable now. Please consult the manual for further assistance before rebooting your STB.")
if self.packages == 0:
error = _("No packages were upgraded yet. So you can check your network and try again.")
if self.updating:
- error = _("Your dreambox isn't connected to the internet properly. Please check it and try again.")
+ error = _("Your STB isn't connected to the internet properly. Please check it and try again.")
self.status.setText(_("Error") + " - " + error)
#print event, "-", param
pass
def exit(self):
if not self.ipkg.isRunning():
if self.packages != 0 and self.error == 0:
- self.session.openWithCallback(self.exitAnswer, MessageBox, _("Upgrade finished.") +" "+_("Do you want to reboot your Dreambox?"))
+ self.session.openWithCallback(self.exitAnswer, MessageBox, _("Upgrade finished.") +" "+_("Do you want to reboot your STB?"))
else:
self.close()
self.session.openWithCallback(self.runRemoveFinished, Ipkg, cmdList = self.cmdList)
def runRemoveFinished(self):
- self.session.openWithCallback(self.RemoveReboot, MessageBox, _("Remove finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
+ self.session.openWithCallback(self.RemoveReboot, MessageBox, _("Remove finished.") +" "+_("Do you want to reboot your STB?"), MessageBox.TYPE_YESNO)
def RemoveReboot(self, result):
if result is None:
self.session.openWithCallback(self.runUpgradeFinished, Ipkg, cmdList = self.cmdList)
def runUpgradeFinished(self):
- self.session.openWithCallback(self.UpgradeReboot, MessageBox, _("Upgrade finished.") +" "+_("Do you want to reboot your Dreambox?"), MessageBox.TYPE_YESNO)
+ self.session.openWithCallback(self.UpgradeReboot, MessageBox, _("Upgrade finished.") +" "+_("Do you want to reboot your STB?"), MessageBox.TYPE_YESNO)
def UpgradeReboot(self, result):
if result is None:
<author>Dream Multimedia</author>
<name>Erweiterte A/V Einstellungen</name>
<packagename>enigma2-plugin-systemplugins-videoenhancement</packagename>
- <shortdescription>Erweiterte A/V Einstellungen für Ihre Dreambox.</shortdescription>
- <description>Erweiterte A/V Einstellungen für Ihre Dreambox.</description>
+ <shortdescription>Erweiterte A/V Einstellungen für Ihre STB.</shortdescription>
+ <description>Erweiterte A/V Einstellungen für Ihre STB.</description>
<screenshot src="http://www.dreamboxupdate.com/preview/plugin_videoenhancement_de.jpg" />
</info>
#set previous tv service
self.close(None)
+ # ikseong - for add bouquet
+ def cancel(self):
+ self.closeRadio()
+
def __evServiceStart(self):
service = self.session.nav.getCurrentService()
if service:
def statusCallback(self, status, progress):
print "statusCallback:", status, progress
if status == DreamInfoHandler.STATUS_DONE:
- self["text"].setText(_("The installation of the default settings is finished. You can now continue configuring your Dreambox by pressing the OK button on the remote control."))
+ self["text"].setText(_("The installation of the default settings is finished. You can now continue configuring your STB by pressing the OK button on the remote control."))
self.markDone()
self.disableKeys = False
ScanPath(path = "dmpkg", with_subdirs = True),
ScanPath(path = "", with_subdirs = False),
],
- name = "Dream-Package",
+ name = "STB-Package",
description = _("Install settings, skins, software..."),
openfnc = filescan_open, )
print "add dreampackage scanner plugin"
-plugins.addPlugin(PluginDescriptor(name="Dream-Package", where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan, internal = True))
+plugins.addPlugin(PluginDescriptor(name="STB-Package", where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan, internal = True))
print "added"
wizardManager.registerWizard(DefaultWizard, config.misc.defaultchosen.value, priority = 6)
"showMovies": (self.showMovies, _("Play recorded movies...")),
"showRadio": (self.showRadio, _("Show the radio player...")),
"showTv": (self.showTv, _("Show the tv player...")),
+ # ikseong action for subtitle hotkey
+ "showSubtitle":(self.showSubtitle, _("Show the Subtitle...")),
}, prio=2)
self.allowPiP = True
if service is not None:
self.session.open(MoviePlayer, service)
+ # ikseong action for subtitle hotkey
+ def showSubtitle(self):
+ from Screens.Subtitles import Subtitles
+ self.session.open(Subtitles)
+
class MoviePlayer(InfoBarBase, InfoBarShowHide, \
InfoBarMenu, \
InfoBarSeek, InfoBarShowMovies, InfoBarAudioSelection, HelpableScreen, InfoBarNotifications,
self["actions"] = HelpableActionMap(self, "MoviePlayerActions",
{
+ # ikseong action for subtitle hotkey
+ "showSubtitle":(self.showSubtitle, _("Show the Subtitle...")),
"leavePlayer": (self.leavePlayer, _("leave movie player..."))
})
self.returning = False
elif self.returning:
self.close()
+
+ # ikseong action for subtitle hotkey
+ def showSubtitle(self):
+ from Screens.Subtitles import Subtitles
+ self.session.open(Subtitles)
dir = preferredInstantRecordPath()
if not dir or not fileExists(dir, 'w'):
dir = defaultMoviePath()
+# ikseong
+ if not fileExists("/hdd", 0):
+ print "not found /hdd"
+ system("ln -s /media/hdd /hdd")
+#
try:
stat = os_stat(dir)
except:
from Screen import Screen
-from Components.ActionMap import ActionMap
+# ikseong
+from Components.ActionMap import ActionMap,NumberActionMap
from Components.Language import language
from Components.config import config
from Components.Sources.List import List
png = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "countries/missing.png"))
res = (index, name, png)
return res
+# ikseong
+from Plugins.SystemPlugins.FactoryTest.plugin import FactoryTest
class LanguageSelection(Screen):
def __init__(self, session):
self.updateList()
self.onLayoutFinish.append(self.selectActiveLanguage)
-
- self["actions"] = ActionMap(["OkCancelActions"],
+# ikseong
+ self["actions"] = NumberActionMap(["OkCancelActions","NumberActions"],
{
"ok": self.save,
"cancel": self.cancel,
+ "1": self.keyNumberGlobal,
+ "2": self.keyNumberGlobal,
+ "3": self.keyNumberGlobal,
+ "4": self.keyNumberGlobal,
+ "5": self.keyNumberGlobal,
+ "6": self.keyNumberGlobal,
+ "7": self.keyNumberGlobal,
+ "8": self.keyNumberGlobal,
+ "9": self.keyNumberGlobal,
+ "0": self.keyNumberGlobal,
}, -1)
+ self.testkey=0
+
+# ikseong
+ def keyNumberGlobal(self, number):
+ self.testkey = self.testkey * 10 + number
+ if self.testkey > 10000:
+ self.testkey = self.testkey%10000
+ if self.testkey == 4599:
+ self.session.open(FactoryTest)
+ print "testkey", self.testkey
def selectActiveLanguage(self):
activeLanguage = language.getActiveLanguage()
self["statuspic"].hide()
self.oktext = _("Press OK on your remote control to continue.")
- self.reboottext = _("Your Dreambox will restart after pressing OK on your remote control.")
+ self.reboottext = _("Your STB will restart after pressing OK on your remote control.")
self.errortext = _("No working wireless network interface found.\n Please verify that you have attached a compatible WLAN device or enable your local network interface.")
self["WizardActions"] = HelpableActionMap(self, "WizardActions",
def loadDescription(self):
if self["menulist"].getCurrent()[1] == 'edit':
- self["description"].setText(_("Edit the network configuration of your Dreambox.\n" ) + self.oktext )
+ self["description"].setText(_("Edit the network configuration of your STB.\n" ) + self.oktext )
if self["menulist"].getCurrent()[1] == 'test':
- self["description"].setText(_("Test the network configuration of your Dreambox.\n" ) + self.oktext )
+ self["description"].setText(_("Test the network configuration of your STB.\n" ) + self.oktext )
if self["menulist"].getCurrent()[1] == 'dns':
- self["description"].setText(_("Edit the Nameserver configuration of your Dreambox.\n" ) + self.oktext )
+ self["description"].setText(_("Edit the Nameserver configuration of your STB.\n" ) + self.oktext )
if self["menulist"].getCurrent()[1] == 'scanwlan':
self["description"].setText(_("Scan your network for wireless Access Points and connect to them using your selected wireless device.\n" ) + self.oktext )
if self["menulist"].getCurrent()[1] == 'wlanstatus':
self.status = True
self.updateColors()
- self["pretext"] = Label(_("Shutdown Dreambox after"))
+ self["pretext"] = Label(_("Shutdown STB after"))
self["aftertext"] = Label(_("minutes"))
self["actions"] = NumberActionMap(["SleepTimerEditorActions", "TextEntryActions", "KeyboardInputActions"],
def select(self):
if self.status:
- time = int(self["input"].getText())
- config.SleepTimer.defaulttime.setValue(time)
- config.SleepTimer.defaulttime.save()
- config.SleepTimer.action.save()
- self.session.nav.SleepTimer.setSleepTime(time)
- self.session.openWithCallback(self.close, MessageBox, _("The sleep timer has been activated."), MessageBox.TYPE_INFO)
+# ikseong
+ if self["input"].getText()=='':
+ self.session.nav.SleepTimer.clear()
+ self.session.openWithCallback(self.close, MessageBox, _("The sleep timer is invalid."), MessageBox.TYPE_INFO)
+ else:
+ time = int(self["input"].getText())
+ config.SleepTimer.defaulttime.setValue(time)
+ config.SleepTimer.defaulttime.save()
+ config.SleepTimer.action.save()
+ self.session.nav.SleepTimer.setSleepTime(time)
+ self.session.openWithCallback(self.close, MessageBox, _("The sleep timer has been activated."), MessageBox.TYPE_INFO)
else:
self.session.nav.SleepTimer.clear()
self.session.openWithCallback(self.close, MessageBox, _("The sleep timer has been disabled."), MessageBox.TYPE_INFO)
def keyNumberGlobal(self, number):
- self["input"].number(number)
+# ikseong
+ if self["input"].getText() == '' :
+ inputtime=0
+ else:
+ inputtime= int(self["input"].getText())*10 +number
+ if inputtime < 10000 :
+ self["input"].number(number)
def selectLeft(self):
self["input"].left()
from Tools.ISO639 import LanguageCodes
+# ikseong for subtitle hotkey
+from Screens.InfoBar import InfoBar
+
class Subtitles(Screen, ConfigListScreen):
def __init__(self, session, infobar=None):
Screen.__init__(self, session)
self.list = []
ConfigListScreen.__init__(self, self.list)
- self.infobar = infobar or self.session.infobar
+# ikseong for subtitle hotkey
+ if self.session.infobar is None:
+ if InfoBar.instance:
+ self.infobar = InfoBar.instance
+ else:
+ self.infobar = self.session.infobar
+#
self.fillList()
self.__event_tracker = ServiceEventTracker(screen=self, eventmap=
from Screens.MessageBox import MessageBox
if self.settings.afterEvent.getValue() == "deepstandby":
if not Screens.Standby.inTryQuitMainloop:
- Notifications.AddNotificationWithCallback(self.sendTryQuitMainloopNotification, MessageBox, _("A sleep timer wants to shut down\nyour Dreambox. Shutdown now?"), timeout = 20)
+ Notifications.AddNotificationWithCallback(self.sendTryQuitMainloopNotification, MessageBox, _("A sleep timer wants to shut down\nyour STB. Shutdown now?"), timeout = 20)
elif self.settings.afterEvent.getValue() == "standby":
if not Screens.Standby.inStandby:
- Notifications.AddNotificationWithCallback(self.sendStandbyNotification, MessageBox, _("A sleep timer wants to set your\nDreambox to standby. Do that now?"), timeout = 20)
+ Notifications.AddNotificationWithCallback(self.sendStandbyNotification, MessageBox, _("A sleep timer wants to set your\nSTB to standby. Do that now?"), timeout = 20)
def sendStandbyNotification(self, answer):
if answer:
from xml.sax import make_parser
from xml.sax.handler import ContentHandler
+# ikseong
+from Plugins.SystemPlugins.FactoryTest.plugin import FactoryTest
+
class WizardSummary(Screen):
skin = """
<screen position="0,0" size="132,64">
self.timeoutTimer = eTimer()
self.timeoutTimer.callback.append(self.timeoutCounterFired)
+ # ikseong - for memory test
+ self.memorytestmode = 0
+ self.testkey = 0
+
self["text"] = Label()
if showConfig:
"7": self.keyNumberGlobal,
"8": self.keyNumberGlobal,
"9": self.keyNumberGlobal,
- "0": self.keyNumberGlobal
+ "0": self.keyNumberGlobal,
+# ikseong
+ "test":self.testmode
}, -1)
self["VirtualKB"] = NumberActionMap(["VirtualKeyboardActions"],
self.configInstance.run()
self.finished()
+# ikseong
+ def testmode(self):
+ print "testmode ",self.memorytestmode
+ if self.memorytestmode == 0:
+ self.memorytestmode = 1
+ else:
+ self.memorytestmode = 0
+
def keyNumberGlobal(self, number):
+ if self.memorytestmode == 1:
+ self.testkey = self.testkey * 10 + number
+ if self.testkey > 10000:
+ self.testkey = self.testkey%10000
+ if self.testkey == 4599:
+ self.session.open(FactoryTest)
+ print "testkey", self.testkey
+ return
if (self.wizard[self.currStep]["config"]["screen"] != None):
self.configInstance.keyNumberGlobal(number)
KEYIDS["KEY_9"]: ("9",),
KEYIDS["KEY_EXIT"]: ("EXIT",),
KEYIDS["KEY_STOP"]: ("TV", "SHIFT"),
- KEYIDS["KEY_RECORD"]: ("RECORD",)
+ KEYIDS["KEY_RECORD"]: ("RECORD",),
+# ikseong for subtitle hotkey
+ KEYIDS["KEY_SUBTITLE"]: ("SUBTITLE",)
},
{
KEYIDS["BTN_0"]: ("UP", "fp"),
KEYIDS["KEY_9"]: ("9",),
KEYIDS["KEY_EXIT"]: ("EXIT",),
KEYIDS["KEY_STOP"]: ("TV", "SHIFT"),
- KEYIDS["KEY_RECORD"]: ("RADIO", "SHIFT")
+# ikseong
+# KEYIDS["KEY_RECORD"]: ("RADIO", "SHIFT"),
+ KEYIDS["KEY_RECORD"]: ("RECORD",),
+# ikseong for subtitle hotkey
+ KEYIDS["KEY_SUBTITLE"]: ("SUBTITLE",)
}
]
#include <lib/dvb_ci/dvbci_ui.h>
#include <lib/python/python.h>
#include <lib/gdi/picload.h>
+#include <lib/driver/memtest.h>
+#include <lib/driver/sc_test.h>
%}
%feature("ref") iObject "$this->AddRef(); /* eDebug(\"AddRef (%s:%d)!\", __FILE__, __LINE__); */ "
#define DEBUG
+#define BUILD_VUPLUS
typedef long time_t;
%include "typemaps.i"
%include "std_string.i"
%include <lib/dvb/db.h>
%include <lib/python/python.h>
%include <lib/gdi/picload.h>
+%include <lib/driver/memtest.h>
+%include <lib/driver/sc_test.h>
/************** eptr **************/
/************** signals **************/
/************************************************/
+#ifdef BUILD_VUPLUS /* ikseong */
+#define CRASH_EMAILADDR "crashlog"
+#else
#define CRASH_EMAILADDR "crashlog@dream-multimedia-tv.de"
+#endif
#define STDBUFFER_SIZE 512
#define RINGBUFFER_SIZE 16384
static char ringbuffer[RINGBUFFER_SIZE];
eRect usable_area = eRect(100, 70, my_dc->size().width() - 150, 100);
char text[512];
+#ifdef BUILD_VUPLUS /* ikseong */
+ snprintf(text, 512, "We are really sorry. Your STB encountered "
+#else
snprintf(text, 512, "We are really sorry. Your Dreambox encountered "
+#endif
"a software problem, and needs to be restarted. "
"Please send the logfile created in /hdd/ to %s.\n"
+#ifdef BUILD_VUPLUS /* ikseong */
+ "Your STB restarts in 10 seconds!\n"
+#else
"Your Dreambox restarts in 10 seconds!\n"
+#endif
"Component: %s",
crash_emailaddr, crash_component);