diff --git a/.gitignore b/.gitignore
index 82a60602d..7a616e898 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,7 @@ INSTALL
*.lo
*.a
*.la
+.*.swp
### binaries that fall out of the build
lib/sectionsdclient/sectionsdcontrol
@@ -31,3 +32,5 @@ src/neutrino
src/nhttpd/web/*.js.gz
src/zapit/src/pzapit
src/zapit/src/udpstreampes
+src/drivertool
+src/gui/svn_version.h
diff --git a/configure.ac b/configure.ac
index 65470d086..4ceecf734 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_INIT(tuxbox-neutrino,1.0.1)
-AM_INIT_AUTOMAKE(tuxbox-neutrino,1.0.1)
+AM_INIT_AUTOMAKE([1.0.1 nostdinc])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
TUXBOX_APPS
@@ -126,6 +126,9 @@ if test "$STB_HAL_INC"; then
AC_DEFINE(USE_STB_HAL, 1,[use libstb-hal])
fi
+AC_ARG_ENABLE(cleanup,
+ [ --enable-cleanup enable cleanup on exit],
+ [AC_DEFINE(EXIT_CLEANUP,1,[enable cleanup on exit])])
AC_CHECK_HEADERS(coolstream/nevis_ir.h)
@@ -198,7 +201,7 @@ data/lcd/clock/Makefile
data/locale/Makefile
data/scripts/Makefile
data/themes/Makefile
-src/sectionsd/Makefile
+src/eitd/Makefile
src/timerd/Makefile
src/zapit/Makefile
src/zapit/lib/Makefile
diff --git a/cross-configure.cool b/cross-configure.cool
index e8117eb56..b35b48763 100755
--- a/cross-configure.cool
+++ b/cross-configure.cool
@@ -1,6 +1,6 @@
#!/bin/sh
-PREFIX=/opt/newcross/arm-cx2450x-linux-gnueabi/arm-cx2450x-linux-gnueabi/sys-root/usr
+PREFIX=/opt/arm/arm-cx2450x-linux-gnueabi/arm-cx2450x-linux-gnueabi/sys-root/usr
CCPATH=
HOST=arm-cx2450x-linux-gnueabi
@@ -12,11 +12,11 @@ export RANLIB=$CCPATH$HOST-ranlib
export OBJDUMP=$CCPATH$HOST-objdump
export STRIP=$CCPATH$HOST-strip
-export CFLAGS="-Wall -Werror -g0 -O2 \
+export CFLAGS="-Wall -Werror -g0 -O2 -fno-strict-aliasing \
-D__KERNEL_STRICT_NAMES -DUSE_NEVIS_GXA \
-I"$PWD"/include -I"$PWD"/include/linux/dvb -I"$PREFIX"/include/freetype2"
-export CXXFLAGS="-Wall -Werror -g0 -O2 \
+export CXXFLAGS="-Wall -Werror -g0 -O2 -fno-strict-aliasing \
-D__KERNEL_STRICT_NAMES -DUSE_NEVIS_GXA \
-I"$PWD"/include -I"$PWD"/include/linux/dvb -I"$PREFIX"/include/freetype2"
diff --git a/cross-configure.cool.debug b/cross-configure.cool.debug
new file mode 100755
index 000000000..6ce9ebed1
--- /dev/null
+++ b/cross-configure.cool.debug
@@ -0,0 +1,31 @@
+#!/bin/sh
+
+PREFIX=/opt/newcross/arm-cx2450x-linux-gnueabi/arm-cx2450x-linux-gnueabi/sys-root/usr
+CCPATH=
+HOST=arm-cx2450x-linux-gnueabi
+
+export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig
+export CC=$CCPATH$HOST-gcc
+export AR=$CCPATH$HOST-ar
+export NM=$CCPATH$HOST-nm
+export RANLIB=$CCPATH$HOST-ranlib
+export OBJDUMP=$CCPATH$HOST-objdump
+export STRIP=$CCPATH$HOST-strip
+
+export CFLAGS=" -Wall -Wextra -Wshadow -Werror -g -ggdb3 \
+ -D__KERNEL_STRICT_NAMES -DUSE_NEVIS_GXA \
+ -I"$PWD"/include -I"$PWD"/include/linux/dvb -I"$PREFIX"/include/freetype2"
+
+export CXXFLAGS=" -Wall -Wextra -Wshadow -Werror -g -ggdb3 \
+ -D__KERNEL_STRICT_NAMES -DUSE_NEVIS_GXA \
+ -I"$PWD"/include -I"$PWD"/include/linux/dvb -I"$PREFIX"/include/freetype2"
+
+export LDFLAGS="-L"$PREFIX"/lib -lcurl -lssl -lcrypto -ldl"
+
+export DVB_API_VERSION=3
+export FREETYPE_CONFIG=$PREFIX/bin/freetype-config
+export CURL_CONFIG=$PREFIX/bin/curl-config
+
+./autogen.sh
+./configure --prefix=${PREFIX} --build=i386-pc-linux-gnu --host=$HOST --without-driver --with-target=cdk --with-targetprefix="" "$*"
+
diff --git a/data/Makefile.am b/data/Makefile.am
index f5f5e5cf1..7519719cd 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -5,4 +5,4 @@ SUBDIRS += lcd
endif
configdir = $(CONFIGDIR)
-config_DATA = cables.xml satellites.xml encoding.conf tobackup.conf
+config_DATA = cables.xml satellites.xml encoding.conf tobackup.conf providermap.xml
diff --git a/data/cables.xml b/data/cables.xml
index f56dd0ef2..3ef2d5188 100644
--- a/data/cables.xml
+++ b/data/cables.xml
@@ -2,7 +2,8 @@
-
+
+
@@ -13,29 +14,27 @@
-
+
-
+
-
+
-
-
-
+
+
-
@@ -221,6 +220,7 @@
+
@@ -253,6 +253,12 @@
+
+
+
+
+
+
@@ -502,7 +508,31 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1280,4 +1310,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/icons/Makefile.am b/data/icons/Makefile.am
index 3e5c281ab..5cdd35240 100644
--- a/data/icons/Makefile.am
+++ b/data/icons/Makefile.am
@@ -185,6 +185,8 @@ install_DATA = \
suomi.png \
svenska.png \
timer.png \
+ tuner_1.png \
+ tuner_2.png \
up.png \
upnp.png \
via_green.png \
diff --git a/data/icons/tuner_1.png b/data/icons/tuner_1.png
new file mode 100644
index 000000000..41cc06b5f
Binary files /dev/null and b/data/icons/tuner_1.png differ
diff --git a/data/icons/tuner_2.png b/data/icons/tuner_2.png
new file mode 100644
index 000000000..7749a9993
Binary files /dev/null and b/data/icons/tuner_2.png differ
diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale
index 655822dcd..d27c6f72f 100644
--- a/data/locale/deutsch.locale
+++ b/data/locale/deutsch.locale
@@ -194,6 +194,10 @@ bouqueteditor.savingchanges Änderungen werden gespeichert. Bitte warten ...
bouqueteditor.switch Kanal aufnehmen/entfernen
bouqueteditor.switchmode TV/Radio
bouquetlist.head Bouquets
+bouquetname.hdtv HD Kanäle
+bouquetname.new Neue Kanäle
+bouquetname.other Unbekannter Provider
+bouquetname.removed Gelöschte Kanäle
cablesetup.provider Kabelanbieter
channellist.current_tp Aktueller Transponder
channellist.edit Bearbeiten
@@ -205,16 +209,24 @@ channellist.foot Kanalinformationen
channellist.foot_freq Tuning-Parameter
channellist.foot_next Nachfolgesendung
channellist.foot_off aus
+channellist.foot_sort_alpha Sortiert[alpha]
+channellist.foot_sort_freq Sortiert[freq]
+channellist.foot_sort_sat Sortiert[sat]
channellist.head Alle Kanäle
channellist.history Verlauf
-channellist.make_hdlist Erzeuge "HD"- Bouquet
+channellist.keep_numbers Dauerhafte Kanalnummern
+channellist.make_hdlist Erzeuge Bouquet mit HD-Kanälen
+channellist.make_newlist Erzeuge Bouquet mit neuen Kanälen
+channellist.make_removedlist Erzeuge Bouquet mit gelöschten Kanälen
channellist.new_zap_mode Quickzap in Liste
channellist.nonefound Es wurden keine Kanäle gefunden!\nFühren Sie bitte eine Kanalsuche durch\n(MENU-Taste -> Service)
channellist.provs Anbieter
channellist.recording_not_possible Aufnahme nicht möglich!
+channellist.reset_flags Entferne Kanal-Markierung "Neu"
channellist.sats Satelliten
channellist.since seit
channellist.start Start
+ci.clock CI Takt (Mhz)
ci.empty Kein CAM im Slot
ci.init_failed CAM-Init fehlgeschlagen
ci.init_ok CAM-Init beendet
@@ -234,7 +246,7 @@ colorchooser.red rot
colormenu.background Hintergrundfarbe
colormenu.contrast_fonts Schriftkontrast
colormenu.fade Menüs faden
-colormenu.font Neutrino Schriftart
+colormenu.font Neutrino-HD Schriftart
colormenu.font_ttx Teletext Schriftart
colormenu.hd_preset LCD
colormenu.menucolors Menüfarben
@@ -343,10 +355,9 @@ extra.key_timeshift Timeshift
extra.key_unlock Entsperrtaste
extra.ladirection Breitengrad-Ausrichtung
extra.latitude Breitengrad
-extra.loadconfig Neutrino-Einstellungen: Laden von
+extra.loadconfig Neutrino-HD Einstellungen: Laden von
extra.loadkeys Lade Tastenbelegung von
extra.lodirection Längengrad-Ausrichtung
-extra.logo Logonummer
extra.longitude Längengrad
extra.menu_left_exit "links" = Menü zurück
extra.north Norden
@@ -355,10 +366,8 @@ extra.rotor_swap Rotor dreht Ost/West
extra.rounded_corners Eckendarstellung
extra.rounded_corners_off eckig
extra.rounded_corners_on abgerundet
-extra.saveconfig Neutrino-Einstellungen: Sichern als
+extra.saveconfig Neutrino-HD Einstellungen: Sichern als
extra.savekeys Speichere Tastenbelegung als
-extra.scan_fast Schnell
-extra.scan_full Total
extra.scrambled_message Verschlüsselung melden
extra.show_mute_icon Mute-Icon bei Lautstärke 0
extra.sms_channel SMS-Modus Kanal
@@ -377,8 +386,10 @@ extra.tp_mod_32 QAM/32
extra.tp_mod_64 QAM/64
extra.tp_pol Polarisation
extra.tp_pol_h H
+extra.tp_pol_l L
+extra.tp_pol_r R
extra.tp_rate Symbolrate
-extra.update_dir Update-Verzeichnis
+extra.update_dir Lokales Update-Verzeichnis
extra.use_gotoxx Benutze gotoXX
extra.volume_pos Lautstärkeanzeige
extra.west Westen
@@ -386,11 +397,9 @@ extra.zap_cycle Zap nur in Bouquet
extra.zapit_fe_timeout Tuning Timeout (1=10ms)
extra.zapit_hvoltage High (13.5/ 18.5) Voltage
extra.zapit_make_bouquet Kanalliste auffüllen
-extra.zapit_menu Zapit-Einstellungen
extra.zapit_motor_speed Rotor Drehzeit (10 = 1°/ sec)
extra.zapit_scanpids PIDs scannen/nutzen
extra.zapit_sdt_changed Kanalliste wird neu geladen.
-extra.zapit_write_names Schreibe Kanalname
fan_speed CPU-Lüftergeschwindigkeit
favorites.addchannel Der aktuelle Kanal wird dem Bouquet \n"Meine Favoriten" hinzugefügt. \nDie Speicherung benötigt einen Moment...
favorites.bouquetname Meine Favoriten
@@ -425,7 +434,7 @@ filesystem.is.utf8.option.utf8 UTF-8
flashupdate.actionreadflash lese Flash
flashupdate.cantopenfile kann Datei nicht öffnen
flashupdate.cantopenmtd kann das MTD-Device nicht öffnen
-flashupdate.checkupdate nach neuer Version suchen
+flashupdate.checkupdate Nach Updates suchen
flashupdate.currentversion_sep Installierte Version
flashupdate.currentversiondate Datum
flashupdate.currentversiontime Uhrzeit
@@ -466,13 +475,14 @@ flashupdate.ready fertig
flashupdate.reallyflashmtd Wollen Sie den Flashvorgang wirklich durchführen?\n\nFalls ein Fehler auftritt oder das Image nicht\nfunktionfähig ist, wird Ihre Box nicht mehr booten.\n\nImagename: %s\nZiel: %s
flashupdate.savesuccess Das Image wurde erfolgreich unter dem\nDateinamen %s gespeichert.
flashupdate.selectimage Verfügbare Images/Files
+flashupdate.settings Update-Einstellungen
flashupdate.squashfs.noversion Bei Updates werden Versionsüberprüfungen derzeit nur über Web-Updates unterstützt.\nWollen Sie das ausgewählte Image wirklich installieren?
flashupdate.titlereadflash Flash auslesen
flashupdate.titlewriteflash Flash schreiben
flashupdate.updatemode Updatemodus
flashupdate.updatemode_internet Internet
-flashupdate.updatemode_manual manuell (ftp)
-flashupdate.url_file Konfigfile
+flashupdate.updatemode_manual von lokalem Update-Verzeichnis
+flashupdate.url_file Internet Konfigurations-Datei
flashupdate.versioncheck Versionsüberprüfung
flashupdate.writeflash ganzes Flashimage einspielen
flashupdate.writeflashmtd einzelne Partition einspielen
@@ -513,8 +523,6 @@ fontsize.infobar_small Klein
fontsize.menu Menütext
fontsize.menu_info Menüinfo
fontsize.menu_title Menütitel
-gtxalpha.alpha1 Alpha 1
-gtxalpha.alpha2 Alpha 2
hdd_10min 10 min.
hdd_1min 1 min.
hdd_20min 20 min.
@@ -593,7 +601,7 @@ keybindingmenu.mode_left_right_key_tv_zap Umschalten
keybindingmenu.modechange Moduswechsel
keybindingmenu.pagedown Seite weiter
keybindingmenu.pageup Seite zurück
-keybindingmenu.poweroff Umschalter
+keybindingmenu.poweroff Standby EIN/AUS
keybindingmenu.quickzap Schnellumschaltung
keybindingmenu.remotecontrol_hardware Hardware
keybindingmenu.remotecontrol_hardware_coolstream Coolstream
@@ -625,7 +633,6 @@ lcd_info_line_clock Uhrzeit
lcdcontroler.brightness normale
lcdcontroler.brightnessdeepstandby Deep-Standby
lcdcontroler.brightnessstandby Standby
-lcdcontroler.contrast Kontrast
lcdmenu.dim_brightness nach Dimm-Timeout
lcdmenu.dim_time Dimm-Timeout
lcdmenu.head VFD Einstellungen
@@ -729,9 +736,11 @@ miscsettings.infobar_disp_log Logo
miscsettings.infobar_logo_hdd_dir Logo Verz.
miscsettings.infobar_sat_display Kabel-/Satellitenanbieter
miscsettings.infobar_show Info bei EPG Änderungen
+miscsettings.infobar_show_dd_available DD-Verfügbarkeit anzeigen
miscsettings.infobar_show_res Auflösung anzeigen
miscsettings.infobar_show_res_simple einfach
-miscsettings.infobar_show_var_hdd Füllstandanzeige (var & hdd)
+miscsettings.infobar_show_sysfs_hdd Füllstandanzeige (sysFS & hdd)
+miscsettings.infobar_show_tuner Aktiven Tuner anzeigen
miscsettings.radiotext Radiotext
miscsettings.shutdown_count Komplett ausschalten nach
miscsettings.shutdown_count_hint1 Zeit (in Minuten), nach der vom Standby in
@@ -948,7 +957,7 @@ networkmenu.setuponstartup Beim Start Netzwerk setzen
networkmenu.show Aktive Einstellungen zeigen
networkmenu.ssid Netzwerkname
networkmenu.test Netzwerk testen
-neutrino_starting Neutrino wird gestartet...
+neutrino_starting Neutrino-HD wird gestartet...
nfs.alreadymounted Verzeichnis bereits gemountet.
nfs.automount Beim Start mounten
nfs.dir Verzeichnis/Freigabe
@@ -1011,7 +1020,6 @@ personalize.button_red Rot
personalize.button_yellow Gelb
personalize.disabled deaktiviert
personalize.enabled aktiviert
-personalize.features Erweiterungen
personalize.head Menüs anpassen
personalize.help Hilfe
personalize.help_line1 Die Personalisierung ermöglicht es, die wichtigsten
@@ -1033,7 +1041,6 @@ personalize.pinhint Personalisierungs PIN Code eingeben
personalize.pinprotect ja
personalize.pinstatus mit PIN
personalize.plugins Plugins
-personalize.setupmenuwithpin Einstellungen-Menü mit PIN
personalize.usermenu_preferred_buttons Bevorzugte Tasten zuweisen
personalize.usermenu_show_cancel Zeige Schalter "Abbrechen"
personalize.visible sichtbar
@@ -1121,6 +1128,7 @@ reset_confirm Sind Sie sich sicher?
reset_settings Einstellungen auf Standardwerte
satsetup.auto_scan Automatisch einen gewählten %s
satsetup.auto_scan_all Automatisch alle Satelliten
+satsetup.cable_nid Netzwerk ID
satsetup.comm_input Committed Input
satsetup.diseqc DiSEqC
satsetup.diseqc10 DiSEqC 1.0
@@ -1142,18 +1150,28 @@ satsetup.fastscan_prov_telesat TéléSAT
satsetup.fastscan_prov_tvv TV Vlaanderen
satsetup.fastscan_sd nur SD
satsetup.fastscan_type Scantyp
+satsetup.fe_mode Tuner Modus
+satsetup.fe_mode_alone independent
+satsetup.fe_mode_loop loop
+satsetup.fe_mode_single single
+satsetup.fe_mode_twin twin
+satsetup.fe_setup Setup tuner
satsetup.lofh LNB High Offset
satsetup.lofl LNB Low Offset
satsetup.lofs LNB Switch Offset
+satsetup.logical_numbers Nutze logische Nummern
satsetup.manual_scan Manueller Frequenzscan
satsetup.minidiseqc Mini-DiSEqC
satsetup.motor_pos Rotor-Position
satsetup.nodiseqc Kein DiSEqC
+satsetup.reset_numbers Reset Kanalnummern
satsetup.sat_setup LNB-Konfiguration
satsetup.satellite Satellit
+satsetup.select_sat Auswahl Satellit
satsetup.smatvremote SMATV Remote Tuning
satsetup.uncomm_input Uncommitted
satsetup.usals_repeat USALS wiederholen
+satsetup.use_bat Benutze BAT
satsetup.use_fta_flag nur FTA Kanäle
satsetup.use_nit Auswertung NIT
satsetup.use_usals Benutze USALS
@@ -1211,8 +1229,8 @@ servicemenu.head Service
servicemenu.imageinfo Imageinfo
servicemenu.reload Kanallisten neu laden
servicemenu.reload_hint Kanallisten werden neu geladen,\nbitte warten...
-servicemenu.restart Neutrino neu starten
-servicemenu.restart_hint Neutrino wird neu gestartet...
+servicemenu.restart Neutrino-HD neu starten
+servicemenu.restart_hint Neutrino-HD wird neu gestartet...
servicemenu.restart_refused_recording Aufnahme läuft. Neustart nicht möglich.
servicemenu.scants Kanalsuche
servicemenu.update Software-Aktualisierung
@@ -1220,8 +1238,8 @@ settings.backup Image-Einstellungen: Sichern
settings.backup_failed Sicherung fehlgeschlagen!
settings.help Hilfe
settings.menu_pos Menüposition
-settings.missingoptionsconffile Die Neutrino-Einstellungen wurden erweitert.\nDie neuen Werte werden auf Standard gesetzt.
-settings.noconffile Die Neutrino-Einstellungen wurden nicht\ngefunden. Es werden Standardwerte benutzt.
+settings.missingoptionsconffile Die Neutrino-HD Einstellungen wurden erweitert.\nDie neuen Werte werden auf Standard gesetzt.
+settings.noconffile Die Neutrino-HD Einstellungen wurden nicht\ngefunden. Es werden Standardwerte benutzt.
settings.pos_bottom_left unten links
settings.pos_bottom_right unten rechts
settings.pos_default_center oben Mitte
@@ -1249,7 +1267,7 @@ streaminfo.head Tech. Information
streaminfo.not_available nicht verfügbar
streaminfo.resolution Auflösung
streaminfo.signal Empfangssignal
-streaming.busy Ein oder mehrere Aufnahmeprozesse sind aktiv.\nSollte die Aufnahme eigentlich beendet sein,\nschafft ein Neustart von Neutrino Abhilfe.
+streaming.busy Ein oder mehrere Aufnahmeprozesse sind aktiv.\nSollte die Aufnahme eigentlich beendet sein,\nschafft ein Neustart von Neutrino-HD Abhilfe.
streaming.dir_not_writable Das Aufnahmeverzeichnis ist nicht beschreibbar.\nAufnahmen sind daher nicht möglich.
streaming.write_error Die Aufnahme wurde leider abgebrochen,\nda ein Fehler beim Schreiben der Daten auftrat.
stringinput.caps Groß-/Kleinbuchstaben
@@ -1373,7 +1391,6 @@ videomenu.auto Automatisch
videomenu.brightness Helligkeit
videomenu.cinch Cinch
videomenu.contrast Kontrast
-videomenu.csync Sync.-Korrektur
videomenu.dbdr MPEG2 Filter
videomenu.dbdr_both deBlock & deRing
videomenu.dbdr_deblock deBlock
diff --git a/data/locale/english.locale b/data/locale/english.locale
index 0f6cff618..dd3f53163 100644
--- a/data/locale/english.locale
+++ b/data/locale/english.locale
@@ -194,6 +194,10 @@ bouqueteditor.savingchanges Saving changes. Please wait ...
bouqueteditor.switch add/remove
bouqueteditor.switchmode TV/Radio
bouquetlist.head Bouquets
+bouquetname.hdtv HD channels
+bouquetname.new New channels
+bouquetname.other Unknown provider
+bouquetname.removed Removed channels
cablesetup.provider cable provider
channellist.current_tp Current transponder
channellist.edit Edit
@@ -205,16 +209,24 @@ channellist.foot Channel Information
channellist.foot_freq Sat/Freq Info
channellist.foot_next next Event
channellist.foot_off off
+channellist.foot_sort_alpha sorted[alpha]
+channellist.foot_sort_freq sorted[freq]
+channellist.foot_sort_sat sorted[sat]
channellist.head All Services
channellist.history History
+channellist.keep_numbers Persistent channel numbers
channellist.make_hdlist Create list of HD channels
+channellist.make_newlist Create list of new channels
+channellist.make_removedlist Create list of removed channels
channellist.new_zap_mode Quickzap in list
channellist.nonefound No channels were found!\nPlease execute a scan\n(MENU-key -> service)
channellist.provs Providers
channellist.recording_not_possible Recording not possible!
+channellist.reset_flags Reset 'new' channel flag
channellist.sats Satellites
channellist.since since
channellist.start starts
+ci.clock CI clock (Mhz)
ci.empty No CAM in slot
ci.init_failed CAM init failed
ci.init_ok CAM init complete
@@ -343,10 +355,9 @@ extra.key_timeshift Timeshift
extra.key_unlock Unlock key
extra.ladirection LaDirection
extra.latitude Latitude
-extra.loadconfig Neutrino-Settings: Load from
+extra.loadconfig Neutrino-HD Settings: Load from
extra.loadkeys Load keys from
extra.lodirection LoDirection
-extra.logo Logo number
extra.longitude Longitude
extra.menu_left_exit "Left" = menu back
extra.north North
@@ -355,10 +366,8 @@ extra.rotor_swap Swap rotor east/west
extra.rounded_corners Shape of corners
extra.rounded_corners_off angular
extra.rounded_corners_on rounded
-extra.saveconfig Neutrino-Settings: Save as
+extra.saveconfig Neutrino-HD Settings: Save as
extra.savekeys Save keys as
-extra.scan_fast Fast
-extra.scan_full Full
extra.scrambled_message Scrambled Message
extra.show_mute_icon mute-icon at volume 0
extra.sms_channel sms-mode channel
@@ -377,8 +386,10 @@ extra.tp_mod_32 QAM/32
extra.tp_mod_64 QAM/64
extra.tp_pol Polarization
extra.tp_pol_h H
+extra.tp_pol_l L
+extra.tp_pol_r R
extra.tp_rate Symbol rate
-extra.update_dir Directory for updates
+extra.update_dir Local update directory
extra.use_gotoxx Use gotoXX
extra.volume_pos Volumebar
extra.west West
@@ -386,11 +397,9 @@ extra.zap_cycle Zap cycle
extra.zapit_fe_timeout Tune timeout (1 = 10 msec)
extra.zapit_hvoltage 18V for rotor moving
extra.zapit_make_bouquet Make Remaining Channels list
-extra.zapit_menu Zapit options
extra.zapit_motor_speed Motor moving speed (10 = 1deg/sec)
extra.zapit_scanpids Scan/Use pids
extra.zapit_sdt_changed Channels changed, reload settings.
-extra.zapit_write_names Write channel names
fan_speed CPU Fan speed
favorites.addchannel The current channel will be added \nto the bouquet "My Favorites". \n This will take a few seconds...
favorites.bouquetname My Favorites
@@ -425,7 +434,7 @@ filesystem.is.utf8.option.utf8 UTF-8
flashupdate.actionreadflash reading
flashupdate.cantopenfile can't open file
flashupdate.cantopenmtd can't open mtd-device
-flashupdate.checkupdate search for new version
+flashupdate.checkupdate Check for updates
flashupdate.currentversion_sep Current version
flashupdate.currentversiondate Date
flashupdate.currentversiontime Time
@@ -466,12 +475,13 @@ flashupdate.ready ready
flashupdate.reallyflashmtd Do you really want to flash?\n\nIf a error occurs or the image is not\nvalid, the box will not boot after flashing.\n\nImagename: %s\nTarget: %s
flashupdate.savesuccess The image was successfully saved \nunder %s.
flashupdate.selectimage Available Images/Files
+flashupdate.settings Update settings
flashupdate.squashfs.noversion SquashFS version checks are currently only supported when updating over the web.\nAre you sure that you wish to install this image?
flashupdate.titlereadflash Reading Flash
flashupdate.titlewriteflash Writing Flash
flashupdate.updatemode Updatemode
flashupdate.updatemode_internet internet
-flashupdate.updatemode_manual manual (ftp)
+flashupdate.updatemode_manual from local update directory
flashupdate.url_file config file
flashupdate.versioncheck checking version
flashupdate.writeflash Write whole image
@@ -513,8 +523,6 @@ fontsize.infobar_small Small
fontsize.menu Menutext
fontsize.menu_info Menu Info
fontsize.menu_title Menu Title
-gtxalpha.alpha1 Alpha 1
-gtxalpha.alpha2 Alpha 2
hdd_10min 10 min.
hdd_1min 1 min.
hdd_20min 20 min.
@@ -625,7 +633,6 @@ lcd_info_line_clock clock
lcdcontroler.brightness normal Brightness
lcdcontroler.brightnessdeepstandby DeepStandby Brightness
lcdcontroler.brightnessstandby Standby Brightness
-lcdcontroler.contrast Contrast
lcdmenu.dim_brightness Brightness after dim timeout
lcdmenu.dim_time Dim timeout
lcdmenu.head VFD Settings
@@ -729,9 +736,11 @@ miscsettings.infobar_disp_log Logo
miscsettings.infobar_logo_hdd_dir Logo dir
miscsettings.infobar_sat_display Satellite display on infobar
miscsettings.infobar_show show Info on EPG change
+miscsettings.infobar_show_dd_available show DD availability
miscsettings.infobar_show_res show resolution on infobar
miscsettings.infobar_show_res_simple simple
-miscsettings.infobar_show_var_hdd Fill level (var & hdd )
+miscsettings.infobar_show_sysfs_hdd Fill level (sysFS & hdd)
+miscsettings.infobar_show_tuner Display active tuner
miscsettings.radiotext Radiotext
miscsettings.shutdown_count In standby, switch off after
miscsettings.shutdown_count_hint1 time (in minutes) to switch from standby
@@ -943,12 +952,13 @@ networkmenu.ntptitle Time-Syncronisation
networkmenu.password Key
networkmenu.reset_settings_now Do you want restore the previous settings?
networkmenu.select_if Interface
+networkmenu.services Network services
networkmenu.setupnow Apply network settings now
networkmenu.setuponstartup Setup network on startup
networkmenu.show Show active Network settings
networkmenu.ssid Network name
networkmenu.test Test network now
-neutrino_starting Neutrino starting...
+neutrino_starting Neutrino-HD starting...
nfs.alreadymounted directory already mounted
nfs.automount Mount on startup
nfs.dir directory/share
@@ -1011,7 +1021,6 @@ personalize.button_red red
personalize.button_yellow yellow
personalize.disabled Disabled
personalize.enabled Enabled
-personalize.features Features menue
personalize.head Personalization
personalize.help Help
personalize.help_line1 Personalization makes it possible to adapt the most
@@ -1033,7 +1042,6 @@ personalize.pinhint Enter the Personalization PIN Code
personalize.pinprotect Yes
personalize.pinstatus Require PIN
personalize.plugins Plugins
-personalize.setupmenuwithpin Settings Menu with PIN
personalize.usermenu_preferred_buttons Assigning of preferred keys
personalize.usermenu_show_cancel Show "Cancel"-Button
personalize.visible Visible
@@ -1121,6 +1129,7 @@ reset_confirm Are you sure ?
reset_settings Reset settings to defaults
satsetup.auto_scan Auto-Scan selected %s
satsetup.auto_scan_all Auto-Scan multiple Satellites
+satsetup.cable_nid Network ID
satsetup.comm_input Commited input
satsetup.diseqc DiSEqC
satsetup.diseqc10 DiSEqC 1.0
@@ -1142,18 +1151,28 @@ satsetup.fastscan_prov_telesat TéléSAT
satsetup.fastscan_prov_tvv TV Vlaanderen
satsetup.fastscan_sd SD only
satsetup.fastscan_type Scan type
+satsetup.fe_mode Tuner mode
+satsetup.fe_mode_alone independent
+satsetup.fe_mode_loop loop
+satsetup.fe_mode_single single
+satsetup.fe_mode_twin twin
+satsetup.fe_setup Setup tuner
satsetup.lofh LNB High Offset
satsetup.lofl LNB Low Offset
satsetup.lofs LNB switch Offset
+satsetup.logical_numbers Use logical numbers
satsetup.manual_scan Manual frequency scan
satsetup.minidiseqc Mini-DiSEqC
satsetup.motor_pos Rotor position
satsetup.nodiseqc no DiSEqC
+satsetup.reset_numbers Reset channel numbers
satsetup.sat_setup Setup satellites input / LNB
satsetup.satellite Satellite
+satsetup.select_sat Select satellites
satsetup.smatvremote SMATV Remote Tuning
satsetup.uncomm_input Uncommited input
satsetup.usals_repeat USALS command repeat
+satsetup.use_bat Use BAT
satsetup.use_fta_flag just free Channels
satsetup.use_nit Use NIT
satsetup.use_usals Use usals for all
@@ -1220,8 +1239,8 @@ settings.backup Image-Settings: Backup
settings.backup_failed Backup failed!
settings.help Help
settings.menu_pos Menu position
-settings.missingoptionsconffile The neutrino-settings have been updated.\nNew Options will be set to default.
-settings.noconffile No neutrino-settings found.\nUsing defaults.
+settings.missingoptionsconffile The Neutrino-HD settings have been updated.\nNew Options will be set to default.
+settings.noconffile No Neutrino-HD settings found.\nUsing defaults.
settings.pos_bottom_left bottom left
settings.pos_bottom_right bottom right
settings.pos_default_center top center
@@ -1249,7 +1268,7 @@ streaminfo.head Stream-Information
streaminfo.not_available not available
streaminfo.resolution Resolution
streaminfo.signal Receipt signal
-streaming.busy One or several recording processes are active.\nIf you encounter this message and no recording is active, please restart Neutrino.
+streaming.busy One or several recording processes are active.\nIf you encounter this message and no recording is active, please restart Neutrino-HD.
streaming.dir_not_writable The recording directory is not writable.\nRecording will not work.
streaming.write_error The recording was aborted,\nsince an error occured during the writing process.
stringinput.caps caps / no caps
@@ -1373,7 +1392,6 @@ videomenu.auto Auto
videomenu.brightness Brightness
videomenu.cinch Cinch
videomenu.contrast Contrast
-videomenu.csync sync correction
videomenu.dbdr MPEG2 de-block/de-ring
videomenu.dbdr_both de-block+de-ring
videomenu.dbdr_deblock de-block
diff --git a/data/providermap.xml b/data/providermap.xml
new file mode 100644
index 000000000..807012f04
--- /dev/null
+++ b/data/providermap.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/satellites.xml b/data/satellites.xml
index 83b5dd895..da0d9bc18 100755
--- a/data/satellites.xml
+++ b/data/satellites.xml
@@ -1406,6 +1406,7 @@
+
@@ -1575,18 +1576,23 @@
+
+
+
+
+
@@ -1616,7 +1622,7 @@
-
+
diff --git a/lib/controldclient/Makefile.am b/lib/controldclient/Makefile.am
deleted file mode 100644
index 56165105b..000000000
--- a/lib/controldclient/Makefile.am
+++ /dev/null
@@ -1,10 +0,0 @@
-INCLUDES = \
- -I$(top_srcdir)/lib \
- -I$(top_srcdir)/lib/connection \
- -I$(top_srcdir)/lib/libeventserver
-
-AM_CPPFLAGS = -fno-rtti -fno-exceptions
-
-lib_LTLIBRARIES = libcontroldclient.la
-
-libcontroldclient_la_SOURCES = controldclient.cpp
diff --git a/lib/controldclient/controldMsg.h b/lib/controldclient/controldMsg.h
deleted file mode 100644
index e68d6f112..000000000
--- a/lib/controldclient/controldMsg.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- Neutrino-GUI - DBoxII-Project
-
- Copyright (C) 2001 Steffen Hehn 'McClean'
- Homepage: http://dbox.cyberphoria.org/
-
- License: GPL
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef __controldMsg__
-#define __controldMsg__
-
-#include
-#include
-
-#define CONTROLD_UDS_NAME "/tmp/controld.sock"
-
-
-class CControldMsg : public CBasicMessage
-{
-
- public:
-
- static const CBasicMessage::t_version ACTVERSION = 2;
-
- enum commands
- {
- CMD_SHUTDOWN = 1,
- CMD_SAVECONFIG,
-
- CMD_SETVOLUME,
- CMD_GETVOLUME,
-
- CMD_SETVOLUME_AVS,
- CMD_GETVOLUME_AVS,
-
- CMD_SETMUTE,
- CMD_GETMUTESTATUS,
-
- CMD_SETVIDEOFORMAT,
- CMD_GETVIDEOFORMAT,
-
- CMD_SETVIDEOOUTPUT,
- CMD_GETVIDEOOUTPUT,
-
- CMD_SETVCROUTPUT,
- CMD_GETVCROUTPUT,
-
- CMD_SETBOXTYPE,
- CMD_GETBOXTYPE,
-
- CMD_SETSCARTMODE,
- CMD_GETSCARTMODE,
-
- CMD_GETASPECTRATIO,
-
- CMD_SETVIDEOPOWERDOWN,
- CMD_GETVIDEOPOWERDOWN,
-
- CMD_REGISTEREVENT,
- CMD_UNREGISTEREVENT,
-
- CMD_EVENT,
-
- CMD_SETCSYNC,
- CMD_GETCSYNC,
- CMD_SETVIDEOMODE,
- CMD_GETVIDEOMODE
-
- };
-
- struct commandVolume
- {
- unsigned char volume;
- CControld::volume_type type;
- };
-
- struct commandMute
- {
- bool mute;
- CControld::volume_type type;
- };
-
- struct commandVideoFormat
- {
- unsigned char format;
- };
-
- struct commandVideoOutput
- {
- unsigned char output;
- };
-
- struct commandVCROutput
- {
- unsigned char vcr_output;
- };
-
- struct commandBoxType
- {
- CControld::tuxbox_maker_t boxtype;
- };
-
- struct commandScartMode
- {
- unsigned char mode;
- };
-
- struct commandVideoPowerSave
- {
- bool powerdown;
- };
-
- //response structures
-
- struct responseVideoFormat
- {
- unsigned char format;
- };
-
- struct responseAspectRatio
- {
- unsigned char aspectRatio;
- };
-
- struct responseVideoOutput
- {
- unsigned char output;
- };
-
- struct responseVCROutput
- {
- unsigned char vcr_output;
- };
-
- struct responseBoxType
- {
- CControld::tuxbox_maker_t boxtype;
- };
-
- struct responseScartMode
- {
- unsigned char mode;
- };
-
- struct commandCsync
- {
- unsigned char csync;
- };
-
- struct responseVideoPowerSave
- {
- bool videoPowerSave;
- };
-
-};
-
-#endif
diff --git a/lib/controldclient/controldclient.cpp b/lib/controldclient/controldclient.cpp
deleted file mode 100644
index f0c44520f..000000000
--- a/lib/controldclient/controldclient.cpp
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- Neutrino-GUI - DBoxII-Project
-
- Copyright (C) 2001 Steffen Hehn 'McClean'
- Homepage: http://dbox.cyberphoria.org/
-
- Kommentar:
-
- Diese GUI wurde von Grund auf neu programmiert und sollte nun vom
- Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert
- auf der Client-Server Idee, diese GUI ist also von der direkten DBox-
- Steuerung getrennt. Diese wird dann von Daemons uebernommen.
-
-
- License: GPL
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#include
-
-#include
-#include
-
-
-unsigned char CControldClient::getVersion () const
-{
- return CControldMsg::ACTVERSION;
-}
-
-const char * CControldClient::getSocketName() const
-{
- return CONTROLD_UDS_NAME;
-}
-
-void CControldClient::shutdown()
-{
- send(CControldMsg::CMD_SHUTDOWN);
- close_connection();
-}
-
-void CControldClient::setBoxType(CControld::tuxbox_maker_t type)
-{
- CControldMsg::commandBoxType msg2;
-
- msg2.boxtype = type;
-
- send(CControldMsg::CMD_SETBOXTYPE, (char*)&msg2, sizeof(msg2));
-
- close_connection();
-}
-
-CControld::tuxbox_maker_t CControldClient::getBoxType()
-{
- CControldMsg::responseBoxType rmsg;
-
- send(CControldMsg::CMD_GETBOXTYPE);
-
- if (!receive_data((char*)&rmsg, sizeof(rmsg)))
- rmsg.boxtype = CControld::TUXBOX_MAKER_UNKNOWN;
-
- close_connection();
-
- return rmsg.boxtype;
-}
-
-void CControldClient::setScartMode(bool mode)
-{
- CControldMsg::commandScartMode msg2;
-
- msg2.mode = mode;
-
- send(CControldMsg::CMD_SETSCARTMODE, (char*)&msg2, sizeof(msg2));
-
- close_connection();
-}
-
-char CControldClient::getScartMode()
-{
- CControldMsg::responseScartMode rmsg;
- send(CControldMsg::CMD_GETSCARTMODE);
- receive_data((char*)&rmsg, sizeof(rmsg));
- close_connection();
-
- return rmsg.mode;
-}
-
-void CControldClient::setVolume(const char volume, const CControld::volume_type volume_type)
-{
- CControldMsg::commandVolume msg2;
- msg2.type = volume_type;
- msg2.volume = volume;
- send(CControldMsg::CMD_SETVOLUME, (char*)&msg2, sizeof(msg2));
- close_connection();
-}
-
-char CControldClient::getVolume(const CControld::volume_type volume_type)
-{
- CControldMsg::commandVolume rmsg;
- rmsg.type = volume_type;
- send(CControldMsg::CMD_GETVOLUME, (char*)&rmsg, sizeof(rmsg));
- receive_data((char*)&rmsg, sizeof(rmsg));
- close_connection();
-
- return rmsg.volume;
-}
-
-void CControldClient::setVideoFormat(char format)
-{
- CControldMsg::commandVideoFormat msg2;
-
- msg2.format = format;
-
- send(CControldMsg::CMD_SETVIDEOFORMAT, (char*)&msg2, sizeof(msg2));
-
- close_connection();
-}
-
-char CControldClient::getAspectRatio()
-{
- CControldMsg::responseAspectRatio rmsg;
-
- send(CControldMsg::CMD_GETASPECTRATIO);
-
- receive_data((char*)&rmsg, sizeof(rmsg));
-
- close_connection();
-
- return rmsg.aspectRatio;
-}
-
-char CControldClient::getVideoFormat()
-{
- CControldMsg::responseVideoFormat rmsg;
-
- send(CControldMsg::CMD_GETVIDEOFORMAT);
-
- bool success = receive_data((char*)&rmsg, sizeof(rmsg));
-
- close_connection();
-
- return success ? rmsg.format : 2; /* default value is 2 (cf. controld.cpp) */
-}
-
-void CControldClient::setVideoOutput(char output)
-{
- CControldMsg::commandVideoOutput msg2;
-
- msg2.output = output;
-
- send(CControldMsg::CMD_SETVIDEOOUTPUT, (char*)&msg2, sizeof(msg2));
-
- close_connection();
-}
-
-void CControldClient::setVCROutput(char output)
-{
- CControldMsg::commandVCROutput msg2;
-
- msg2.vcr_output = output;
-
- send(CControldMsg::CMD_SETVCROUTPUT, (char*)&msg2, sizeof(msg2));
-
- close_connection();
-}
-
-char CControldClient::getVideoOutput()
-{
- CControldMsg::responseVideoOutput rmsg;
-
- send(CControldMsg::CMD_GETVIDEOOUTPUT);
-
- bool success = receive_data((char*)&rmsg, sizeof(rmsg));
-
- close_connection();
-
- return success ? rmsg.output : 1; /* default value is 1 (cf. controld.cpp) */
-}
-
-char CControldClient::getVCROutput()
-{
- CControldMsg::responseVCROutput rmsg;
-
- send(CControldMsg::CMD_GETVCROUTPUT);
-
- bool success = receive_data((char*)&rmsg, sizeof(rmsg));
-
- close_connection();
-
- return success ? rmsg.vcr_output : 1; /* default value is 1 (cf. controld.cpp) */
-}
-
-void CControldClient::Mute(const CControld::volume_type volume_type)
-{
- setMute(true,volume_type);
-}
-
-void CControldClient::UnMute(const CControld::volume_type volume_type)
-{
- setMute(false,volume_type);
-}
-
-void CControldClient::setMute(const bool mute, const CControld::volume_type volume_type)
-{
- CControldMsg::commandMute msg;
- msg.mute = mute;
- msg.type = volume_type;
- send(CControldMsg::CMD_SETMUTE, (char*)&msg, sizeof(msg));
- close_connection();
-}
-
-bool CControldClient::getMute(const CControld::volume_type volume_type)
-{
- CControldMsg::commandMute rmsg;
- rmsg.type = volume_type;
- send(CControldMsg::CMD_GETMUTESTATUS, (char*)&rmsg, sizeof(rmsg));
- receive_data((char*)&rmsg, sizeof(rmsg));
- close_connection();
- return rmsg.mute;
-}
-
-void CControldClient::registerEvent(unsigned int eventID, unsigned int clientID, const char * const udsName)
-{
- CEventServer::commandRegisterEvent msg2;
-
- msg2.eventID = eventID;
- msg2.clientID = clientID;
- strcpy(msg2.udsName, udsName);
-
- send(CControldMsg::CMD_REGISTEREVENT, (char*)&msg2, sizeof(msg2));
-
- close_connection();
-}
-
-void CControldClient::unRegisterEvent(unsigned int eventID, unsigned int clientID)
-{
- CEventServer::commandUnRegisterEvent msg2;
-
- msg2.eventID = eventID;
- msg2.clientID = clientID;
-
- send(CControldMsg::CMD_UNREGISTEREVENT, (char*)&msg2, sizeof(msg2));
-
- close_connection();
-}
-
-void CControldClient::videoPowerDown(bool powerdown)
-{
- CControldMsg::commandVideoPowerSave msg2;
-
- msg2.powerdown = powerdown;
-
- send(CControldMsg::CMD_SETVIDEOPOWERDOWN, (char*)&msg2, sizeof(msg2));
-
- close_connection();
-}
-
-bool CControldClient::getVideoPowerDown()
-{
- CControldMsg::responseVideoPowerSave msg;
- send(CControldMsg::CMD_GETVIDEOPOWERDOWN);
- receive_data((char*) &msg, sizeof(msg));
- close_connection();
- return msg.videoPowerSave;
-}
-
-void CControldClient::saveSettings()
-{
- send(CControldMsg::CMD_SAVECONFIG);
- close_connection();
-}
-
-void CControldClient::setRGBCsync(char val)
-{
- CControldMsg::commandCsync msg;
- msg.csync = val;
- send(CControldMsg::CMD_SETCSYNC, (char*) &msg, sizeof(msg));
- close_connection();
-}
-
-char CControldClient::getRGBCsync()
-{
- CControldMsg::commandCsync msg;
- send(CControldMsg::CMD_GETCSYNC);
- receive_data((char*) &msg, sizeof(msg));
- close_connection();
- return msg.csync;
-}
-char CControldClient::getVideoMode()
-{
- CControldMsg::responseVideoFormat rmsg;
- send(CControldMsg::CMD_GETVIDEOMODE);
- bool success = receive_data((char*)&rmsg, sizeof(rmsg));
- close_connection();
- return success ? rmsg.format : 1; /* default value is 2 (cf. controld.cpp) */
-}
-void CControldClient::setVideoMode(char format)
-{
- CControldMsg::commandVideoFormat msg2;
- msg2.format = format;
- send(CControldMsg::CMD_SETVIDEOMODE, (char*)&msg2, sizeof(msg2));
- close_connection();
-}
-
diff --git a/lib/controldclient/controldclient.h b/lib/controldclient/controldclient.h
deleted file mode 100644
index 7a9ded911..000000000
--- a/lib/controldclient/controldclient.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- Neutrino-GUI - DBoxII-Project
-
- Copyright (C) 2001 Steffen Hehn 'McClean'
- Homepage: http://dbox.cyberphoria.org/
-
- License: GPL
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef __controldclient__
-#define __controldclient__
-
-#include
-#include
-
-
-#define VCR_STATUS_OFF 0
-#define VCR_STATUS_ON 1
-#define VCR_STATUS_16_9 2
-
-class CControldClient:private CBasicClient
-{
- private:
- virtual unsigned char getVersion () const;
- virtual const char * getSocketName() const;
-
- public:
-
- enum events
- {
- EVT_VOLUMECHANGED,
- EVT_MUTECHANGED,
- EVT_MODECHANGED,
- EVT_VCRCHANGED
- };
-
- //VideoFormat
- static const char VIDEOFORMAT_AUTO = 0;
- static const char VIDEOFORMAT_16_9 = 1;
- static const char VIDEOFORMAT_4_3 = 2;
- static const char VIDEOFORMAT_4_3_PS = 3;
-
- //VideoOutput
- static const char VIDEOOUTPUT_COMPOSITE = 0;
- static const char VIDEOOUTPUT_RGB = 1;
- static const char VIDEOOUTPUT_SVIDEO = 2;
- static const char VIDEOOUTPUT_YUV_VBS = 3;
- static const char VIDEOOUTPUT_YUV_CVBS = 4;
-
- //mute
- static const bool VOLUME_MUTE = true;
- static const bool VOLUME_UNMUTE = false;
-
- //scartmode
- static const char SCARTMODE_ON = 1;
- static const char SCARTMODE_OFF = 0;
-
- /*
- setVolume(volume_type) : Setzen der Lautstaerke
- Parameter: 0..100 - 0=leise 100=laut
- volume_type : device AVS/OST/UNKOWN(=last used)
- */
- void setVolume(const char volume, const CControld::volume_type volume_type = CControld::TYPE_UNKNOWN);
- char getVolume(const CControld::volume_type volume_type = CControld::TYPE_UNKNOWN);
-
- /*
- setMute(bool, volume_type) : setzen von Mute
- Parameter: mute == true : ton aus
- mute == false : ton an
- volume_type : device AVS/OST/UNKOWN(=last used)
- */
- void setMute(const bool mute, const CControld::volume_type volume_type = CControld::TYPE_UNKNOWN);
- bool getMute(const CControld::volume_type volume_type = CControld::TYPE_UNKNOWN);
-
- /*
- Mute(volume_type) : Ton ausschalten
- Parameter: volume_type : device AVS/OST/UNKOWN(=last used)
- */
- void Mute(const CControld::volume_type volume_type = CControld::TYPE_UNKNOWN);
-
- /*
- UnMute(bool) : Ton wieder einschalten
- Parameter: volume_type : device AVS/OST/UNKOWN(=last used)
-
- */
- void UnMute(const CControld::volume_type volume_type = CControld::TYPE_UNKNOWN);
-
-
- /*
- setVideoFormat(char) : Setzten des Bildformates ( 4:3 / 16:9 )
- Parameter: VIDEOFORMAT_AUTO = auto
- VIDEOFORMAT_4_3 = 4:3
- VIDEOFORMAT_16_9 = 16:9
- */
- void setVideoFormat(char);
- char getVideoFormat();
- /*
- getAspectRatio : Aktueller Wert aus dem Bitstream
- 0: 4:3
- 1: 16:9
- 2: 2:2.1
- */
- char getAspectRatio();
-
- /*
- setVideoOutput(char) : Setzten des Videooutputs ( composite (= cvbs) / svideo / rgb+cvbs / yuv+vbs / yuv+cvbs )
- Parameter: VIDEOOUTPUT_COMPOSITE = cvbs (composite) video
- VIDEOOUTPUT_SVIDEO = svideo
- VIDEOOUTPUT_RGB = rgb+cvbs
- VIDEOOUTPUT_YUV_VBS = yuv+vbs
- VIDEOOUTPUT_YUV_CVBS = yuv+cvbs
- */
- void setVideoOutput(char);
- char getVideoOutput();
-
- /*
- setVCROutput(char) : Setzen des Videooutputs fuer VCR ( composite / svideo )
- Parameter: VIDEOOUTPUT_COMPOSITE = cvbs
- VIDEOOUTPUT_SVIDEO = svideo
- */
- void setVCROutput(char);
- char getVCROutput();
-
- /*
- setBoxType(CControldClient::tuxbox_vendor_t) : Setzten des Boxentyps ( nokia / sagem / philips )
- */
- void setBoxType(const CControld::tuxbox_maker_t);
- CControld::tuxbox_maker_t getBoxType();
-
- /*
- setScartMode(char) : Scartmode ( an / aus )
- Parameter: SCARTMODE_ON = auf scartinput schalten
- SCARTMODE_OFF = wieder dvb anzeigen
-
-
- */
- void setScartMode(bool);
- char getScartMode();
-
-
- /*
- die dBox in standby bringen
- */
- void videoPowerDown(bool);
-
- /*
- standby abfragen
- */
- bool getVideoPowerDown();
-
- /*
- die Dbox herunterfahren
- */
- void shutdown();
-
-
- /*
- ein beliebiges Event anmelden
- */
- void registerEvent(unsigned int eventID, unsigned int clientID, const char * const udsName);
-
- /*
- ein beliebiges Event abmelden
- */
- void unRegisterEvent(unsigned int eventID, unsigned int clientID);
-
- void saveSettings();
-
- /*
- setzen der sync correction im RGB mode des saa7126 (csync) 0=aus, 31=max
- */
-
- void setRGBCsync(char csync);
- /*
- lesen der sync correction im RGB mode des saa7126 (csync) 0=aus, 31=max
- */
- char getRGBCsync();
- void setVideoMode(char);
- char getVideoMode();
-};
-
-#endif
diff --git a/lib/controldclient/controldtypes.h b/lib/controldclient/controldtypes.h
deleted file mode 100644
index 1025b0494..000000000
--- a/lib/controldclient/controldtypes.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- Neutrino-GUI - DBoxII-Project
-
- Copyright (C) 2001 Steffen Hehn 'McClean'
- Homepage: http://dbox.cyberphoria.org/
-
- License: GPL
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef __controldtypes__
-#define __controldtypes__
-
-class CControld
-{
-public:
-
- //BoxType /* cf. driver/include/tuxbox/tuxbox_info.h */
- typedef enum tuxbox_maker
- {
- TUXBOX_MAKER_UNKNOWN = 0,
- TUXBOX_MAKER_NOKIA = 1,
- TUXBOX_MAKER_PHILIPS = 2,
- TUXBOX_MAKER_SAGEM = 3,
- TUXBOX_MAKER_DREAM_MM = 4,
- TUXBOX_MAKER_TECHNOTREND = 5
- } tuxbox_maker_t;
-
- enum volume_type
- {
- TYPE_OST=0,
- TYPE_AVS=1,
- TYPE_LIRC=2,
- TYPE_UNKNOWN
- };
-
- const static int no_video_formats = 5;
-
- typedef enum video_format
- {
- FORMAT_CVBS = 0,
- FORMAT_RGB = 1,
- FORMAT_SVIDEO = 2,
- FORMAT_YUV_VBS = 3,
- FORMAT_YUV_CVBS = 4
- } t_video_format;
-
-};
-#endif
diff --git a/lib/libconfigfile/configfile.cpp b/lib/libconfigfile/configfile.cpp
index 8d7677456..52830b3c0 100644
--- a/lib/libconfigfile/configfile.cpp
+++ b/lib/libconfigfile/configfile.cpp
@@ -95,7 +95,7 @@ bool CConfigFile::saveConfig(const char * const filename)
if (configFile != NULL)
{
- for (ConfigDataMap::const_iterator it = configData.begin(); it != configData.end(); it++)
+ for (ConfigDataMap::const_iterator it = configData.begin(); it != configData.end(); ++it)
{
configFile << it->first << "=" << it->second << std::endl;
}
@@ -391,8 +391,10 @@ void CConfigFile::setInt32Vector(const std::string & key, const std::vector::const_iterator it = vec.begin(); ; )
{
+ if (it == vec.end())
+ break;
s << (*it);
- it++;
+ ++it;
if (it == vec.end())
break;
s << delimiter;
@@ -406,8 +408,10 @@ void CConfigFile::setStringVector(const std::string & key, const std::vector::const_iterator it = vec.begin(); ; )
{
+ if (it == vec.end())
+ break;
configData[key] += *it;
- it++;
+ ++it;
if (it == vec.end())
break;
configData[key] += delimiter;
diff --git a/lib/libcoolstream/ca_cs.h b/lib/libcoolstream/ca_cs.h
index 638762b83..b2aa613ca 100644
--- a/lib/libcoolstream/ca_cs.h
+++ b/lib/libcoolstream/ca_cs.h
@@ -5,12 +5,14 @@
/* */
/* (C) 2010 CoolStream International Ltd. */
/* */
+/* $Id:: $ */
/*******************************************************************************/
#ifndef __CA_CS_H_
#define __CA_CS_H_
#include
#include "cs_types.h"
+#include
enum CA_INIT_MASK {
CA_INIT_SC = 1,
@@ -21,24 +23,33 @@ enum CA_INIT_MASK {
enum CA_SLOT_TYPE {
CA_SLOT_TYPE_SMARTCARD,
CA_SLOT_TYPE_CI,
- CA_SLOT_TYPE_ALL,
+ CA_SLOT_TYPE_ALL
};
enum CA_MESSAGE_FLAGS {
CA_MESSAGE_EMPTY = (1 << 0),
- CA_MESSAGE_HAS_PARAM1_DATA = (1 << 1), // Free after use!
+ CA_MESSAGE_HAS_PARAM1_DATA = (1 << 1), /// Free after use!
CA_MESSAGE_HAS_PARAM1_INT = (1 << 2),
CA_MESSAGE_HAS_PARAM1_PTR = (1 << 3),
CA_MESSAGE_HAS_PARAM2_INT = (1 << 4),
CA_MESSAGE_HAS_PARAM2_PTR = (1 << 5),
CA_MESSAGE_HAS_PARAM2_DATA = (1 << 6),
- CA_MESSAGE_HAS_PARAM3_DATA = (1 << 7), // Free after use!
+ CA_MESSAGE_HAS_PARAM3_DATA = (1 << 7), /// Free after use!
CA_MESSAGE_HAS_PARAM3_INT = (1 << 8),
CA_MESSAGE_HAS_PARAM3_PTR = (1 << 9),
CA_MESSAGE_HAS_PARAM4_INT = (1 << 10),
CA_MESSAGE_HAS_PARAM4_PTR = (1 << 11),
CA_MESSAGE_HAS_PARAM4_DATA = (1 << 12),
- CA_MESSAGE_HAS_PARAM_LONG = (1 << 13),
+ CA_MESSAGE_HAS_PARAM5_INT = (1 << 13),
+ CA_MESSAGE_HAS_PARAM5_PTR = (1 << 14),
+ CA_MESSAGE_HAS_PARAM5_DATA = (1 << 15),
+ CA_MESSAGE_HAS_PARAM6_INT = (1 << 16),
+ CA_MESSAGE_HAS_PARAM6_PTR = (1 << 17),
+ CA_MESSAGE_HAS_PARAM6_DATA = (1 << 18),
+ CA_MESSAGE_HAS_PARAM1_LONG = (1 << 19),
+ CA_MESSAGE_HAS_PARAM2_LONG = (1 << 20),
+ CA_MESSAGE_HAS_PARAM3_LONG = (1 << 21),
+ CA_MESSAGE_HAS_PARAM4_LONG = (1 << 22)
};
enum CA_MESSAGE_MSGID {
@@ -55,11 +66,13 @@ enum CA_MESSAGE_MSGID {
CA_MESSAGE_MSG_MMI_CLOSE,
CA_MESSAGE_MSG_INTERNAL,
CA_MESSAGE_MSG_PMT_ARRIVED,
+ CA_MESSAGE_MSG_CAPMT_ARRIVED,
CA_MESSAGE_MSG_CAT_ARRIVED,
CA_MESSAGE_MSG_ECM_ARRIVED,
CA_MESSAGE_MSG_EMM_ARRIVED,
CA_MESSAGE_MSG_CHANNEL_CHANGE,
- CA_MESSAGE_MSG_EXIT,
+ CA_MESSAGE_MSG_GUI_READY,
+ CA_MESSAGE_MSG_EXIT
};
typedef struct CA_MESSAGE {
@@ -68,13 +81,17 @@ typedef struct CA_MESSAGE {
int Slot;
u32 Flags;
union {
- u8 *Data[4];
- u32 Param[4];
- void *Ptr[4];
- u64 ParamLong;
+ u8 *Data[8];
+ u32 Param[8];
+ void *Ptr[8];
+ u64 ParamLong[4];
} Msg;
} CA_MESSAGE;
+typedef std::vector CaIdVector;
+typedef std::vector::iterator CaIdVectorIterator;
+typedef std::vector::const_iterator CaIdVectorConstIterator;
+
#define CA_MESSAGE_SIZE sizeof(CA_MESSAGE)
#define CA_MESSAGE_ENTRIES 256
#define CA_MESSAGE_ENTRIES_CI 128
@@ -84,36 +101,64 @@ typedef struct CA_MESSAGE {
#define CS_CA_PDATA void
#endif
+/// CA module class
class cCA : public OpenThreads::Thread {
private:
+ /// Static instance of the CA module
static cCA *inst;
- //
+ /// Private constructor (singleton method)
cCA(void);
- //
+ /// Private data for the CA module
CS_CA_PDATA *privateData;
enum CA_INIT_MASK initMask;
bool exit;
bool started;
bool guiReady;
+ /// Thread method
virtual void run(void);
public:
+ /// Returns the number of CI slots
u32 GetNumberCISlots(void);
- u32 GetNumberSmartCardSlots(void); //
+ /// Returns the number of Smartcard slots
+ u32 GetNumberSmartCardSlots(void);
+ /// Singleton
static cCA *GetInstance(void);
+ /// Send PMT to a individual or to all available modules
bool SendPMT(int Unit, unsigned char *Data, int Len, enum CA_SLOT_TYPE SlotType = CA_SLOT_TYPE_ALL);
+ /// Sends a message to the CA thread
bool SendMessage(const CA_MESSAGE *Msg);
+ /// Sets which modules to initialize. It is only
+ /// possible to change this once!
void SetInitMask(enum CA_INIT_MASK InitMask);
+ /// Sets the frequency (in Hz) of the TS stream input (only valid for CI)
+ void SetTSClock(u32 Speed);
+ /// Start the CA module
bool Start(void);
+ /// Stops the CA module
void Stop(void);
+ /// Notify that the GUI is ready to receive messages
+ /// (CA messages coming from a module)
void Ready(bool Set);
+ /// Resets a module (if possible)
void ModuleReset(enum CA_SLOT_TYPE, u32 Slot);
+ /// Checks if a module is present
bool ModulePresent(enum CA_SLOT_TYPE, u32 Slot);
+ /// Returns the module name in array Name
void ModuleName(enum CA_SLOT_TYPE, u32 Slot, char *Name);
+ /// Notify the module we want to enter menu
void MenuEnter(enum CA_SLOT_TYPE, u32 Slot);
+ /// Notify the module with our answer (choice nr)
void MenuAnswer(enum CA_SLOT_TYPE, u32 Slot, u32 choice);
+ /// Notify the module with our answer (binary)
void InputAnswer(enum CA_SLOT_TYPE, u32 Slot, u8 * Data, int Len);
+ /// Notify the module we closed the menu
void MenuClose(enum CA_SLOT_TYPE, u32 Slot);
+ /// Get the supported CAIDs
+ int GetCAIDS(CaIdVector & Caids);
+ /// Send a CA-PMT object and Raw unparsed PMT to the CA layer
+ bool SendCAPMT(u64 Source, u8 DemuxSource, u8 DemuxMask, const unsigned char *CAPMT, u32 CAPMTLen, const unsigned char *RawPMT, u32 RawPMTLen);
+ /// Virtual destructor
virtual ~cCA();
};
-#endif //__CA_H_
+#endif ///__CA_H_
diff --git a/lib/libcoolstream/cs_api.h b/lib/libcoolstream/cs_api.h
index 11696daf3..294b08c26 100644
--- a/lib/libcoolstream/cs_api.h
+++ b/lib/libcoolstream/cs_api.h
@@ -30,7 +30,7 @@ enum CS_LOG_MODULE {
CS_LOG_POWER_CLK,
CS_LOG_MEM,
CS_LOG_API,
- CS_LOG_CA,
+ CS_LOG_CA
};
// Initialization
diff --git a/lib/libdvbsub/Makefile.am b/lib/libdvbsub/Makefile.am
index e70a168f8..f77cb2709 100644
--- a/lib/libdvbsub/Makefile.am
+++ b/lib/libdvbsub/Makefile.am
@@ -1,6 +1,8 @@
INCLUDES = \
- -I$(top_srcdir)/src/zapit/include \
- -I$(top_srcdir)/src
+ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/src \
+ -I$(top_srcdir)/src/zapit/include
if BOXTYPE_COOL
INCLUDES += -I$(top_srcdir)/lib/libcoolstream
diff --git a/lib/libeventserver/eventserver.cpp b/lib/libeventserver/eventserver.cpp
index c37f4dfda..e34c9f52f 100644
--- a/lib/libeventserver/eventserver.cpp
+++ b/lib/libeventserver/eventserver.cpp
@@ -31,7 +31,7 @@
#include "eventserver.h"
-void CEventServer::registerEvent2(const unsigned int eventID, const unsigned int ClientID, const std::string udsName)
+void CEventServer::registerEvent2(const unsigned int eventID, const unsigned int ClientID, const std::string &udsName)
{
strcpy(eventData[eventID][ClientID].udsName, udsName.c_str());
}
@@ -64,7 +64,7 @@ void CEventServer::sendEvent(const unsigned int eventID, const initiators initia
{
eventClientMap notifyClients = eventData[eventID];
- for(eventClientMap::iterator pos = notifyClients.begin(); pos != notifyClients.end(); pos++)
+ for(eventClientMap::iterator pos = notifyClients.begin(); pos != notifyClients.end(); ++pos)
{
//allen clients ein event schicken
eventClient client = pos->second;
diff --git a/lib/libeventserver/eventserver.h b/lib/libeventserver/eventserver.h
index f68233fe9..16a581ca2 100644
--- a/lib/libeventserver/eventserver.h
+++ b/lib/libeventserver/eventserver.h
@@ -68,7 +68,7 @@ class CEventServer
unsigned int dataSize;
};
- void registerEvent2(const unsigned int eventID, const unsigned int ClientID, const std::string udsName);
+ void registerEvent2(const unsigned int eventID, const unsigned int ClientID, const std::string &udsName);
void registerEvent(const int fd);
void unRegisterEvent2(const unsigned int eventID, const unsigned int ClientID);
void unRegisterEvent(const int fd);
diff --git a/lib/libmd5sum/Makefile.am b/lib/libmd5sum/Makefile.am
index 58b5fea8f..cb8658fe8 100644
--- a/lib/libmd5sum/Makefile.am
+++ b/lib/libmd5sum/Makefile.am
@@ -5,5 +5,8 @@ noinst_LIBRARIES = libtuxbox-md5sum.a
AM_CPPFLAGS =
+INCLUDES = \
+ -I$(top_builddir) \
+ -I$(top_srcdir)
libtuxbox_md5sum_a_SOURCES = libmd5sum.c md5.c
diff --git a/lib/libmd5sum/libmd5sum.c b/lib/libmd5sum/libmd5sum.c
index f6894d495..784861f43 100644
--- a/lib/libmd5sum/libmd5sum.c
+++ b/lib/libmd5sum/libmd5sum.c
@@ -1,16 +1,15 @@
-#include "libmd5sum.h"
-#include
-#include
-
#ifdef HAVE_CONFIG_H
# include
#endif
-
-#include "md5.h"
-#include "getline.h"
+#include
+#include
#include
#include
+#include "libmd5sum.h"
+#include "md5.h"
+#include "getline.h"
+
#define STREQ(a, b) (strcmp ((a), (b)) == 0)
static int have_read_stdin;
diff --git a/lib/libnet/network_interfaces.cpp b/lib/libnet/network_interfaces.cpp
index 3b87a0ee3..f97b2b9fe 100644
--- a/lib/libnet/network_interfaces.cpp
+++ b/lib/libnet/network_interfaces.cpp
@@ -24,6 +24,7 @@
#include