mirror of
				https://github.com/rofafor/vdr-plugin-femon.git
				synced 2023-10-10 11:36:53 +00:00 
			
		
		
		
	Compare commits
	
		
			28 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 1cfbd0b730 | ||
|  | 152e87d443 | ||
|  | 08223cf6c4 | ||
|  | 84572d2187 | ||
|  | 78554b53b6 | ||
|  | 11554a8d7e | ||
|  | 0d06635520 | ||
|  | eedab47c35 | ||
|  | cba5171a09 | ||
|  | 91d6cb4074 | ||
|  | bf222dc7ff | ||
|  | 33176e9a77 | ||
|  | 0a4e5d912c | ||
|  | 3648b46fa2 | ||
|  | c5267f5390 | ||
|  | 30d7eea514 | ||
|  | 09d17772d2 | ||
|  | ee43f5936f | ||
|  | 10b8463283 | ||
|  | 046c94d39c | ||
|  | c3506e2279 | ||
|  | d0b6944292 | ||
|  | 932f727e91 | ||
|  | e8fa85929a | ||
|  | 70cda8a640 | ||
|  | 655b5a1865 | ||
|  | 2f6b971c92 | ||
|  | 379de93bee | 
							
								
								
									
										33
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										33
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -1,4 +1,3 @@ | |||||||
|  |  | ||||||
| =================================== | =================================== | ||||||
| VDR Plugin 'femon' Revision History | VDR Plugin 'femon' Revision History | ||||||
| =================================== | =================================== | ||||||
| @@ -66,6 +65,7 @@ VDR Plugin 'femon' Revision History | |||||||
|  |  | ||||||
| -  Backported changes and fixes from version 0.1.6. | -  Backported changes and fixes from version 0.1.6. | ||||||
|  |  | ||||||
|  |  | ||||||
| =================================== | =================================== | ||||||
| VDR Plugin 'femon' Revision History | VDR Plugin 'femon' Revision History | ||||||
| =================================== | =================================== | ||||||
| @@ -343,6 +343,7 @@ VDR Plugin 'femon' Revision History | |||||||
|  |  | ||||||
| - Backported from 1.7.2. | - Backported from 1.7.2. | ||||||
|  |  | ||||||
|  |  | ||||||
| =================================== | =================================== | ||||||
| VDR Plugin 'femon' Revision History | VDR Plugin 'femon' Revision History | ||||||
| =================================== | =================================== | ||||||
| @@ -453,3 +454,33 @@ VDR Plugin 'femon' Revision History | |||||||
| - Silenced error log messages when accessing pseudo devices. | - Silenced error log messages when accessing pseudo devices. | ||||||
| - Added a new theme: PearlHD (Thanks to Taipan @ VDRPortal). | - Added a new theme: PearlHD (Thanks to Taipan @ VDRPortal). | ||||||
| - Added the transponder info window support for IPTV devices. | - Added the transponder info window support for IPTV devices. | ||||||
|  |  | ||||||
|  | 2013-02-10: Version 1.7.18 | ||||||
|  |  | ||||||
|  | - Updated for vdr-1.7.37. | ||||||
|  | - Modified how the receiver is detached. | ||||||
|  | - Added Ukrainian translation (Thanks to Yarema aka Knedlyk). | ||||||
|  |  | ||||||
|  | 2013-03-10: Version 1.7.19 | ||||||
|  |  | ||||||
|  | - Updated for vdr-1.7.40. | ||||||
|  | - Updated French translation (Thanks to Bernard Jaulin). | ||||||
|  |  | ||||||
|  |  | ||||||
|  | =================================== | ||||||
|  | VDR Plugin 'femon' Revision History | ||||||
|  | =================================== | ||||||
|  |  | ||||||
|  | 2013-04-01: Version 2.0.0 | ||||||
|  |  | ||||||
|  | - Updated for vdr-2.0.0. | ||||||
|  | - Added Slovak translation (Thanks to Milan Hrala). | ||||||
|  |  | ||||||
|  | 2014-01-10: Version 2.0.1 | ||||||
|  |  | ||||||
|  | - Fixed a crash in SVDRP (Thanks for Lothar Englisch for reporting). | ||||||
|  | - Fixed a memory leak and issues reported by scan-build tool. | ||||||
|  |  | ||||||
|  | 2014-01-18: Version 2.0.2 | ||||||
|  |  | ||||||
|  | - Added initial support for CAMs. | ||||||
|   | |||||||
							
								
								
									
										88
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										88
									
								
								Makefile
									
									
									
									
									
								
							| @@ -2,18 +2,18 @@ | |||||||
| # Makefile for Frontend Status Monitor plugin | # Makefile for Frontend Status Monitor plugin | ||||||
| # | # | ||||||
|  |  | ||||||
| # Debugging on/off  | # Debugging on/off | ||||||
|  |  | ||||||
| #FEMON_DEBUG = 1 | #FEMON_DEBUG = 1 | ||||||
|  |  | ||||||
| # Strip debug symbols?  Set eg. to /bin/true if not | # Strip debug symbols?  Set eg. to /bin/true if not | ||||||
|  |  | ||||||
| STRIP = strip | STRIP = strip | ||||||
|  |  | ||||||
| # The official name of this plugin. | # The official name of this plugin. | ||||||
| # This name will be used in the '-P...' option of VDR to load the plugin. | # This name will be used in the '-P...' option of VDR to load the plugin. | ||||||
| # By default the main source file also carries this name. | # By default the main source file also carries this name. | ||||||
| # IMPORTANT: the presence of this macro is important for the Make.config |  | ||||||
| # file. So it must be defined, even if it is not used here! |  | ||||||
| # |  | ||||||
| PLUGIN = femon | PLUGIN = femon | ||||||
|  |  | ||||||
| ### The version number of this plugin (taken from the main source file): | ### The version number of this plugin (taken from the main source file): | ||||||
| @@ -21,40 +21,43 @@ PLUGIN = femon | |||||||
| VERSION = $(shell grep 'static const char VERSION\[\] *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g') | VERSION = $(shell grep 'static const char VERSION\[\] *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g') | ||||||
| GITTAG  = $(shell git describe --always 2>/dev/null) | GITTAG  = $(shell git describe --always 2>/dev/null) | ||||||
|  |  | ||||||
| ### The C++ compiler and options: |  | ||||||
|  |  | ||||||
| CXX      ?= g++ |  | ||||||
| CXXFLAGS ?= -fPIC -g -O3 -Wall -Wextra -Wswitch-default -Wfloat-equal -Wundef -Wpointer-arith -Wconversion -Wcast-align -Wredundant-decls -Wno-unused-parameter -Werror=overloaded-virtual -Wno-parentheses |  | ||||||
| LDFLAGS  ?= -Wl,--as-needed |  | ||||||
|  |  | ||||||
| ### The directory environment: | ### The directory environment: | ||||||
|  |  | ||||||
| VDRDIR ?= ../../.. | # Use package data if installed...otherwise assume we're under the VDR source directory: | ||||||
| LIBDIR ?= ../../lib | PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr)) | ||||||
|  | LIBDIR = $(call PKGCFG,libdir) | ||||||
|  | LOCDIR = $(call PKGCFG,locdir) | ||||||
|  | PLGCFG = $(call PKGCFG,plgcfg) | ||||||
|  | # | ||||||
| TMPDIR ?= /tmp | TMPDIR ?= /tmp | ||||||
|  |  | ||||||
| ### Make sure that necessary options are included: | ### The compiler options: | ||||||
|  |  | ||||||
| -include $(VDRDIR)/Make.global | export CFLAGS   = $(call PKGCFG,cflags) | ||||||
|  | export CXXFLAGS = $(call PKGCFG,cxxflags) | ||||||
|  |  | ||||||
|  | ### The version number of VDR's plugin API: | ||||||
|  |  | ||||||
|  | APIVERSION = $(call PKGCFG,apiversion) | ||||||
|  |  | ||||||
| ### Allow user defined options to overwrite defaults: | ### Allow user defined options to overwrite defaults: | ||||||
|  |  | ||||||
| -include $(VDRDIR)/Make.config | -include $(PLGCFG) | ||||||
|  |  | ||||||
| ### The version number of VDR's plugin API (taken from VDR's "config.h"): |  | ||||||
|  |  | ||||||
| APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h) |  | ||||||
|  |  | ||||||
| ### The name of the distribution archive: | ### The name of the distribution archive: | ||||||
|  |  | ||||||
| ARCHIVE = $(PLUGIN)-$(VERSION) | ARCHIVE = $(PLUGIN)-$(VERSION) | ||||||
| PACKAGE = vdr-$(ARCHIVE) | PACKAGE = vdr-$(ARCHIVE) | ||||||
|  |  | ||||||
|  | ### The name of the shared object file: | ||||||
|  |  | ||||||
|  | SOFILE = libvdr-$(PLUGIN).so | ||||||
|  |  | ||||||
| ### Includes and Defines (add further entries here): | ### Includes and Defines (add further entries here): | ||||||
|  |  | ||||||
| INCLUDES += -I$(VDRDIR)/include | INCLUDES += | ||||||
|  |  | ||||||
| DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' | DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' | ||||||
|  |  | ||||||
| ifdef FEMON_DEBUG | ifdef FEMON_DEBUG | ||||||
| DEFINES += -DDEBUG | DEFINES += -DDEBUG | ||||||
| @@ -69,59 +72,64 @@ all-redirect: all | |||||||
|  |  | ||||||
| ### The object files (add further files here): | ### The object files (add further files here): | ||||||
|  |  | ||||||
| OBJS = femon.o femonosd.o femonreceiver.o femoncfg.o femontools.o femonmpeg.o femonac3.o femonaac.o femonlatm.o femonh264.o femonsymbol.o | OBJS = $(PLUGIN).o femonosd.o femonreceiver.o femoncfg.o femontools.o femonmpeg.o femonac3.o femonaac.o femonlatm.o femonh264.o femonsymbol.o | ||||||
|  |  | ||||||
| ### The main target: | ### The main target: | ||||||
|  |  | ||||||
| all: libvdr-$(PLUGIN).so i18n | all: $(SOFILE) i18n | ||||||
|  |  | ||||||
| ### Implicit rules: | ### Implicit rules: | ||||||
|  |  | ||||||
| %.o: %.c Makefile | %.o: %.c | ||||||
| 	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) $< | 	$(CXX) $(CXXFLAGS) -c $(DEFINES) $(INCLUDES) -o $@ $< | ||||||
|  |  | ||||||
| ### Dependencies: | ### Dependencies: | ||||||
|  |  | ||||||
| MAKEDEP = $(CXX) -MM -MG | MAKEDEP = $(CXX) -MM -MG | ||||||
| DEPFILE = .dependencies | DEPFILE = .dependencies | ||||||
| $(DEPFILE): Makefile | $(DEPFILE): Makefile | ||||||
| 	@$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ | 	@$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@ | ||||||
|  |  | ||||||
| -include $(DEPFILE) | -include $(DEPFILE) | ||||||
|  |  | ||||||
| ### Internationalization (I18N): | ### Internationalization (I18N): | ||||||
|  |  | ||||||
| PODIR     = po | PODIR     = po | ||||||
| LOCALEDIR = $(VDRDIR)/locale |  | ||||||
| I18Npo    = $(wildcard $(PODIR)/*.po) | I18Npo    = $(wildcard $(PODIR)/*.po) | ||||||
| I18Nmsgs  = $(addprefix $(LOCALEDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) | I18Nmo    = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file)))) | ||||||
|  | I18Nmsgs  = $(addprefix $(DESTDIR)$(LOCDIR)/, $(addsuffix /LC_MESSAGES/vdr-$(PLUGIN).mo, $(notdir $(foreach file, $(I18Npo), $(basename $(file)))))) | ||||||
| I18Npot   = $(PODIR)/$(PLUGIN).pot | I18Npot   = $(PODIR)/$(PLUGIN).pot | ||||||
|  |  | ||||||
| %.mo: %.po | %.mo: %.po | ||||||
| 	msgfmt -c -o $@ $< | 	msgfmt -c -o $@ $< | ||||||
|  |  | ||||||
| $(I18Npot): $(wildcard *.c) | $(I18Npot): $(wildcard *.c) | ||||||
| 	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name='vdr-$(PLUGIN)' --package-version='$(VERSION)' --msgid-bugs-address='<see README>' -o $@ `ls $^` | 	xgettext -C -cTRANSLATORS --no-wrap --no-location -k -ktr -ktrNOOP --package-name=vdr-$(PLUGIN) --package-version=$(VERSION) --msgid-bugs-address='<see README>' -o $@ `ls $^` | ||||||
|  |  | ||||||
| %.po: $(I18Npot) | %.po: $(I18Npot) | ||||||
| 	msgmerge -U --no-wrap --no-location --backup=none -q $@ $< | 	msgmerge -U --no-wrap --no-location --backup=none -q -N $@ $< | ||||||
| 	@touch $@ | 	@touch $@ | ||||||
|  |  | ||||||
| $(I18Nmsgs): $(LOCALEDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo | $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo | ||||||
| 	@mkdir -p $(dir $@) | 	install -D -m644 $< $@ | ||||||
| 	cp $< $@ |  | ||||||
|  |  | ||||||
| .PHONY: i18n | .PHONY: i18n | ||||||
| i18n: $(I18Nmsgs) $(I18Npot) | i18n: $(I18Nmo) $(I18Npot) | ||||||
|  |  | ||||||
|  | install-i18n: $(I18Nmsgs) | ||||||
|  |  | ||||||
| ### Targets: | ### Targets: | ||||||
|  |  | ||||||
| libvdr-$(PLUGIN).so: $(OBJS) | $(SOFILE): $(OBJS) | ||||||
| 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ | 	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@ | ||||||
| ifndef FEMON_DEBUG | ifndef FEMON_DEBUG | ||||||
| 	@$(STRIP) $@ | 	@$(STRIP) $@ | ||||||
| endif | endif | ||||||
| 	@cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION) |  | ||||||
|  | install-lib: $(SOFILE) | ||||||
|  | 	install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION) | ||||||
|  |  | ||||||
|  | install: install-lib install-i18n | ||||||
|  |  | ||||||
| dist: $(I18Npo) clean | dist: $(I18Npo) clean | ||||||
| 	@-rm -rf $(TMPDIR)/$(ARCHIVE) | 	@-rm -rf $(TMPDIR)/$(ARCHIVE) | ||||||
| @@ -132,7 +140,9 @@ dist: $(I18Npo) clean | |||||||
| 	@echo Distribution package created as $(PACKAGE).tgz | 	@echo Distribution package created as $(PACKAGE).tgz | ||||||
|  |  | ||||||
| clean: | clean: | ||||||
| 	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot | 	@-rm -f $(PODIR)/*.mo $(PODIR)/*.pot | ||||||
|  | 	@-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ | ||||||
|  |  | ||||||
| cppcheck: $(OBJS) | .PHONY: cppcheck | ||||||
| 	@cppcheck --enable=information,style,unusedFunction -v -f $(OBJS:%.o=%.c) | cppcheck: | ||||||
|  | 	@cppcheck --language=c++ --enable=all -v -f $(OBJS:%.o=%.c) | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README
									
									
									
									
									
								
							| @@ -71,13 +71,8 @@ Left/Right    - Switch to next/previous device that provides the current channel | |||||||
|  |  | ||||||
| Installation: | Installation: | ||||||
|  |  | ||||||
| cd /put/your/path/here/VDR/PLUGINS/src |  | ||||||
| tar -xzf /put/your/path/here/vdr-femon-X.Y.Z.tgz | tar -xzf /put/your/path/here/vdr-femon-X.Y.Z.tgz | ||||||
| ln -s femon-X.Y.Z femon | make -C femon-X.Y.Z install | ||||||
| cd /put/your/path/here/VDR |  | ||||||
| make |  | ||||||
| make plugins |  | ||||||
| ./vdr -P femon |  | ||||||
|  |  | ||||||
| Client-server architecture: | Client-server architecture: | ||||||
|  |  | ||||||
| @@ -97,9 +92,6 @@ the local device number. | |||||||
|  |  | ||||||
| Notes: | Notes: | ||||||
|  |  | ||||||
| - The plugin supports only those DVB cards with _one_ frontend, because I |  | ||||||
|   haven't yet figured howto do it without patching the VDR core. |  | ||||||
|  |  | ||||||
| - Disable the stream analyze to speed up heavy zapping sessions. | - Disable the stream analyze to speed up heavy zapping sessions. | ||||||
|  |  | ||||||
| - The signal strength and signal-to-noise ratio values are comparable only | - The signal strength and signal-to-noise ratio values are comparable only | ||||||
|   | |||||||
							
								
								
									
										17
									
								
								femon.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								femon.c
									
									
									
									
									
								
							| @@ -14,15 +14,15 @@ | |||||||
| #include "femonservice.h" | #include "femonservice.h" | ||||||
| #include "femontools.h" | #include "femontools.h" | ||||||
|  |  | ||||||
| #if defined(APIVERSNUM) && APIVERSNUM < 10727 | #if defined(APIVERSNUM) && APIVERSNUM < 20000 | ||||||
| #error "VDR-1.7.27 API version or greater is required!" | #error "VDR-2.0.0 API version or greater is required!" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| #ifndef GITVERSION | #ifndef GITVERSION | ||||||
| #define GITVERSION "" | #define GITVERSION "" | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| static const char VERSION[]       = "1.7.17" GITVERSION; | static const char VERSION[]       = "2.0.2" GITVERSION; | ||||||
| static const char DESCRIPTION[]   = trNOOP("DVB Signal Information Monitor (OSD)"); | static const char DESCRIPTION[]   = trNOOP("DVB Signal Information Monitor (OSD)"); | ||||||
| static const char MAINMENUENTRY[] = trNOOP("Signal Information"); | static const char MAINMENUENTRY[] = trNOOP("Signal Information"); | ||||||
|  |  | ||||||
| @@ -136,7 +136,7 @@ bool cPluginFemon::Service(const char *Id, void *Data) | |||||||
| { | { | ||||||
|   if (strcmp(Id,"FemonService-v1.0") == 0) { |   if (strcmp(Id,"FemonService-v1.0") == 0) { | ||||||
|      if (Data) { |      if (Data) { | ||||||
|         FemonService_v1_0 *data = (FemonService_v1_0*)Data; |         FemonService_v1_0 *data = reinterpret_cast<FemonService_v1_0*>(Data); | ||||||
|         if (!cDevice::ActualDevice()) |         if (!cDevice::ActualDevice()) | ||||||
|            return false; |            return false; | ||||||
|         cDvbDevice *dev = getDvbDevice(cDevice::ActualDevice()); |         cDvbDevice *dev = getDvbDevice(cDevice::ActualDevice()); | ||||||
| @@ -204,11 +204,11 @@ cString cPluginFemon::SVDRPCommand(const char *Command, const char *Option, int | |||||||
|      if (dev2) |      if (dev2) | ||||||
|         dev = dev2; |         dev = dev2; | ||||||
|      } |      } | ||||||
|  |   if (cReplayControl::NowReplaying() || !dev) { | ||||||
|  |      ReplyCode = 550; // Requested action not taken | ||||||
|  |      return cString("Cannot open femon plugin while replaying"); | ||||||
|  |      } | ||||||
|   if (strcasecmp(Command, "OPEN") == 0) { |   if (strcasecmp(Command, "OPEN") == 0) { | ||||||
|      if (cReplayControl::NowReplaying()) { |  | ||||||
|         ReplyCode = 550; // Requested action not taken |  | ||||||
|         return cString("Cannot open femon plugin while replaying"); |  | ||||||
|         } |  | ||||||
|      if (!cFemonOsd::Instance()) |      if (!cFemonOsd::Instance()) | ||||||
|         cRemote::CallPlugin(Name()); |         cRemote::CallPlugin(Name()); | ||||||
|      return cString("Opening femon plugin"); |      return cString("Opening femon plugin"); | ||||||
| @@ -318,6 +318,7 @@ cMenuFemonSetup::cMenuFemonSetup(void) | |||||||
|   themes[eFemonThemePearlHD]       = tr("PearlHD"); |   themes[eFemonThemePearlHD]       = tr("PearlHD"); | ||||||
|  |  | ||||||
|   data = femonConfig; |   data = femonConfig; | ||||||
|  |   SetMenuCategory(mcSetupPlugins); | ||||||
|   Setup(); |   Setup(); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								femonclient/vdr-femonclient-0.0.6.tgz
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								femonclient/vdr-femonclient-0.0.6.tgz
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										108
									
								
								femonosd.c
									
									
									
									
									
								
							
							
						
						
									
										108
									
								
								femonosd.c
									
									
									
									
									
								
							| @@ -434,8 +434,9 @@ void cFemonOsd::DrawInfoWindow(void) | |||||||
|                    OSDDRAWINFORIGHT(trVDR("CoderateH"),    *getCoderate(dtp.CoderateH())); |                    OSDDRAWINFORIGHT(trVDR("CoderateH"),    *getCoderate(dtp.CoderateH())); | ||||||
|                    offset += OSDROWHEIGHT; |                    offset += OSDROWHEIGHT; | ||||||
|                    OSDDRAWINFOLEFT( trVDR("System"),       *getSatelliteSystem(dtp.System())); |                    OSDDRAWINFOLEFT( trVDR("System"),       *getSatelliteSystem(dtp.System())); | ||||||
|                    if (dtp.System()) |                    if (dtp.System()) { | ||||||
|                    OSDDRAWINFORIGHT(trVDR("RollOff"),      *getRollOff(dtp.RollOff())); |                       OSDDRAWINFORIGHT(trVDR("RollOff"),   *getRollOff(dtp.RollOff())); | ||||||
|  |                       } | ||||||
|                    } |                    } | ||||||
|                    break; |                    break; | ||||||
|  |  | ||||||
| @@ -471,8 +472,9 @@ void cFemonOsd::DrawInfoWindow(void) | |||||||
|                    OSDDRAWINFORIGHT(trVDR("Guard"),        *getGuard(dtp.Guard())); |                    OSDDRAWINFORIGHT(trVDR("Guard"),        *getGuard(dtp.Guard())); | ||||||
|                    offset += OSDROWHEIGHT; |                    offset += OSDROWHEIGHT; | ||||||
|                    OSDDRAWINFOLEFT( trVDR("System"),       *getTerrestrialSystem(dtp.System())); |                    OSDDRAWINFOLEFT( trVDR("System"),       *getTerrestrialSystem(dtp.System())); | ||||||
|                    if (dtp.System()) |                    if (dtp.System()) { | ||||||
|                    OSDDRAWINFORIGHT(trVDR("PlpId"),        *cString::sprintf("%d", dtp.PlpId())); |                       OSDDRAWINFORIGHT(trVDR("StreamId"),  *cString::sprintf("%d", dtp.StreamId())); | ||||||
|  |                       } | ||||||
|                    } |                    } | ||||||
|                    break; |                    break; | ||||||
|  |  | ||||||
| @@ -488,7 +490,6 @@ void cFemonOsd::DrawInfoWindow(void) | |||||||
|                          OSDDRAWINFOLEFT(tr("Protocol"),   *data.protocol); |                          OSDDRAWINFOLEFT(tr("Protocol"),   *data.protocol); | ||||||
|                          offset += OSDROWHEIGHT; |                          offset += OSDROWHEIGHT; | ||||||
|                          OSDDRAWINFOLEFT(tr("Bitrate"),    *data.bitrate); |                          OSDDRAWINFOLEFT(tr("Bitrate"),    *data.bitrate); | ||||||
|                          offset += OSDROWHEIGHT; |  | ||||||
|                          } |                          } | ||||||
|                       } |                       } | ||||||
|                    } |                    } | ||||||
| @@ -834,26 +835,83 @@ bool cFemonOsd::DeviceSwitch(int direction) | |||||||
|      cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); |      cChannel *channel = Channels.GetByNumber(cDevice::CurrentChannel()); | ||||||
|      if (channel) { |      if (channel) { | ||||||
|         for (int i = 0; i < cDevice::NumDevices() - 1; i++) { |         for (int i = 0; i < cDevice::NumDevices() - 1; i++) { | ||||||
|            if (direction >= 0) { |             if (direction >= 0) { | ||||||
|               if (++device >= cDevice::NumDevices()) |                if (++device >= cDevice::NumDevices()) | ||||||
|                  device = 0; |                   device = 0; | ||||||
|               } |                } | ||||||
|            else { |             else { | ||||||
|               if (--device < 0) |                if (--device < 0) | ||||||
|                  device = cDevice::NumDevices() - 1; |                   device = cDevice::NumDevices() - 1; | ||||||
|               } |                } | ||||||
|            if (cDevice::GetDevice(device)->ProvidesChannel(channel, 0)) { |             // Collect the current priorities of all CAM slots that can decrypt the channel: | ||||||
|               debug("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, direction, device); |             int NumCamSlots = CamSlots.Count(); | ||||||
|               cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0, true); |             int SlotPriority[NumCamSlots]; | ||||||
|               cControl::Shutdown(); |             int NumUsableSlots = 0; | ||||||
|               cDevice::GetDevice(device)->SwitchChannel(channel, true); |             bool NeedsDetachAllReceivers = false; | ||||||
|               if (cDevice::GetDevice(device) == cDevice::PrimaryDevice()) |             bool InternalCamNeeded = false; | ||||||
|                  cDevice::GetDevice(device)->ForceTransferMode(); |             bool ValidDevice = false; | ||||||
|               cControl::Launch(new cTransferControl(cDevice::GetDevice(device), channel)); |             cCamSlot *s = NULL; | ||||||
|               cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number(), true); |             cDevice *d = cDevice::GetDevice(device); | ||||||
|               return (true); |             if (channel->Ca() >= CA_ENCRYPTED_MIN) { | ||||||
|               } |                for (cCamSlot *CamSlot = CamSlots.First(); CamSlot; CamSlot = CamSlots.Next(CamSlot)) { | ||||||
|            } |                    SlotPriority[CamSlot->Index()] = MAXPRIORITY + 1; // assumes it can't be used | ||||||
|  |                    if (CamSlot->ModuleStatus() == msReady) { | ||||||
|  |                       if (CamSlot->ProvidesCa(channel->Caids())) { | ||||||
|  |                          if (!ChannelCamRelations.CamChecked(channel->GetChannelID(), CamSlot->SlotNumber())) { | ||||||
|  |                             SlotPriority[CamSlot->Index()] = CamSlot->Priority(); | ||||||
|  |                             NumUsableSlots++; | ||||||
|  |                             } | ||||||
|  |                          } | ||||||
|  |                       } | ||||||
|  |                   } | ||||||
|  |                if (!NumUsableSlots) | ||||||
|  |                   InternalCamNeeded = true; // no CAM is able to decrypt this channel | ||||||
|  |                } | ||||||
|  |             for (int j = 0; j < NumCamSlots || !NumUsableSlots; ++j) { | ||||||
|  |                 if (NumUsableSlots && SlotPriority[j] > MAXPRIORITY) | ||||||
|  |                    continue; // there is no CAM available in this slot | ||||||
|  |                 bool HasInternalCam = d->HasInternalCam(); | ||||||
|  |                 if (InternalCamNeeded && !HasInternalCam) | ||||||
|  |                    continue; // no CAM is able to decrypt this channel and the device uses vdr handled CAMs | ||||||
|  |                 if (NumUsableSlots && !HasInternalCam && !CamSlots.Get(j)->Assign(d, true)) | ||||||
|  |                    continue; // CAM slot can't be used with this device | ||||||
|  |                 if (d->ProvidesChannel(channel, 0, &NeedsDetachAllReceivers)) { // this device is basically able to do the job | ||||||
|  |                    debug("%s(%d) device(%d)\n", __PRETTY_FUNCTION__, direction, device); | ||||||
|  |                    if (NumUsableSlots && !HasInternalCam && d->CamSlot() && d->CamSlot() != CamSlots.Get(j)) | ||||||
|  |                       NeedsDetachAllReceivers = true; // using a different CAM slot requires detaching receivers | ||||||
|  |                    if (NumUsableSlots && !HasInternalCam) | ||||||
|  |                       s = CamSlots.Get(j); | ||||||
|  |                    ValidDevice = true; | ||||||
|  |                    break; | ||||||
|  |                    } | ||||||
|  |                 if (!NumUsableSlots) | ||||||
|  |                    break; // no CAM necessary, so just one loop over the devices | ||||||
|  |                 } | ||||||
|  |             // Do the actual switch if valid device found | ||||||
|  |             if (d && ValidDevice) { | ||||||
|  |                cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), 0, true); | ||||||
|  |                cControl::Shutdown(); | ||||||
|  |                if (NeedsDetachAllReceivers) | ||||||
|  |                   d->DetachAllReceivers(); | ||||||
|  |                if (s) { | ||||||
|  |                   if (s->Device() != d) { | ||||||
|  |                      if (s->Device()) | ||||||
|  |                         s->Device()->DetachAllReceivers(); | ||||||
|  |                      if (d->CamSlot()) | ||||||
|  |                         d->CamSlot()->Assign(NULL); | ||||||
|  |                      s->Assign(d); | ||||||
|  |                      } | ||||||
|  |                   } | ||||||
|  |                else if (d->CamSlot() && !d->CamSlot()->IsDecrypting()) | ||||||
|  |                   d->CamSlot()->Assign(NULL); | ||||||
|  |                d->SwitchChannel(channel, true); | ||||||
|  |                if (d == cDevice::PrimaryDevice()) | ||||||
|  |                   d->ForceTransferMode(); | ||||||
|  |                cControl::Launch(new cTransferControl(d, channel)); | ||||||
|  |                cStatus::MsgChannelSwitch(cDevice::PrimaryDevice(), channel->Number(), true); | ||||||
|  |                return (true); | ||||||
|  |                } | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|      } |      } | ||||||
|    return (false); |    return (false); | ||||||
|   | |||||||
| @@ -81,12 +81,12 @@ cFemonReceiver::~cFemonReceiver(void) | |||||||
| void cFemonReceiver::Deactivate(void) | void cFemonReceiver::Deactivate(void) | ||||||
| { | { | ||||||
|   debug("%s()\n", __PRETTY_FUNCTION__); |   debug("%s()\n", __PRETTY_FUNCTION__); | ||||||
|  |   Detach(); | ||||||
|   if (m_Active) { |   if (m_Active) { | ||||||
|      m_Active = false; |      m_Active = false; | ||||||
|      m_Sleep.Signal(); |      m_Sleep.Signal(); | ||||||
|      if (Running()) |      if (Running()) | ||||||
|         Cancel(3); |         Cancel(3); | ||||||
|      Detach(); |  | ||||||
|      } |      } | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -53,6 +53,7 @@ | |||||||
| #include "symbols/format480i.xpm" | #include "symbols/format480i.xpm" | ||||||
| #include "symbols/format480p.xpm" | #include "symbols/format480p.xpm" | ||||||
|  |  | ||||||
|  | static cBitmap bmOnePixel(1, 1, 1); | ||||||
| static cBitmap bmStereo(stereo_xpm); | static cBitmap bmStereo(stereo_xpm); | ||||||
| static cBitmap bmMonoLeft(monoleft_xpm); | static cBitmap bmMonoLeft(monoleft_xpm); | ||||||
| static cBitmap bmMonoRight(monoright_xpm); | static cBitmap bmMonoRight(monoright_xpm); | ||||||
| @@ -134,49 +135,50 @@ bool cFemonSymbolCache::Populate(void) | |||||||
|      Flush(); |      Flush(); | ||||||
|  |  | ||||||
|      // pushing order must follow the enumeration - keep original proportions except for frontend status ones |      // pushing order must follow the enumeration - keep original proportions except for frontend status ones | ||||||
|      cacheM.Append(bmStereo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_STEREO |      cacheM.Append(bmOnePixel.Scaled(yFactorM, yFactorM, antiAliasM));        // SYMBOL_ONEPIXEL | ||||||
|      cacheM.Append(bmMonoLeft.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_LEFT |      cacheM.Append(bmStereo.Scaled(yFactorM, yFactorM, antiAliasM));          // SYMBOL_STEREO | ||||||
|      cacheM.Append(bmMonoRight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MONO_RIGHT |      cacheM.Append(bmMonoLeft.Scaled(yFactorM, yFactorM, antiAliasM));        // SYMBOL_MONO_LEFT | ||||||
|      cacheM.Append(bmDolbyDigital.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD |      cacheM.Append(bmMonoRight.Scaled(yFactorM, yFactorM, antiAliasM));       // SYMBOL_MONO_RIGHT | ||||||
|      cacheM.Append(bmDolbyDigital20.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD20 |      cacheM.Append(bmDolbyDigital.Scaled(yFactorM, yFactorM, antiAliasM));    // SYMBOL_DD | ||||||
|      cacheM.Append(bmDolbyDigital51.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DD51 |      cacheM.Append(bmDolbyDigital20.Scaled(yFactorM, yFactorM, antiAliasM));  // SYMBOL_DD20 | ||||||
|      cacheM.Append(bmMpeg2.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_MPEG2 |      cacheM.Append(bmDolbyDigital51.Scaled(yFactorM, yFactorM, antiAliasM));  // SYMBOL_DD51 | ||||||
|      cacheM.Append(bmH264.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_H264 |      cacheM.Append(bmMpeg2.Scaled(yFactorM, yFactorM, antiAliasM));           // SYMBOL_MPEG2 | ||||||
|      cacheM.Append(bmPal.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_PAL |      cacheM.Append(bmH264.Scaled(yFactorM, yFactorM, antiAliasM));            // SYMBOL_H264 | ||||||
|      cacheM.Append(bmNtsc.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_NTSC |      cacheM.Append(bmPal.Scaled(yFactorM, yFactorM, antiAliasM));             // SYMBOL_PAL | ||||||
|      cacheM.Append(bmEncrypted.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ENCRYPTED |      cacheM.Append(bmNtsc.Scaled(yFactorM, yFactorM, antiAliasM));            // SYMBOL_NTSC | ||||||
|      cacheM.Append(bmSvdrp.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SVDRP |      cacheM.Append(bmEncrypted.Scaled(yFactorM, yFactorM, antiAliasM));       // SYMBOL_ENCRYPTED | ||||||
|      cacheM.Append(bmLock.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_LOCK |      cacheM.Append(bmSvdrp.Scaled(yFactorM, yFactorM, antiAliasM));           // SYMBOL_SVDRP | ||||||
|      cacheM.Append(bmSignal.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SIGNAL |      cacheM.Append(bmLock.Scaled(xFactorM, yFactorM, antiAliasM));            // SYMBOL_LOCK | ||||||
|      cacheM.Append(bmCarrier.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_CARRIER |      cacheM.Append(bmSignal.Scaled(xFactorM, yFactorM, antiAliasM));          // SYMBOL_SIGNAL | ||||||
|      cacheM.Append(bmViterbi.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_VITERBI |      cacheM.Append(bmCarrier.Scaled(xFactorM, yFactorM, antiAliasM));         // SYMBOL_CARRIER | ||||||
|      cacheM.Append(bmSync.Scaled(xFactorM, yFactorM, antiAliasM)); // SYMBOL_SYNC |      cacheM.Append(bmViterbi.Scaled(xFactorM, yFactorM, antiAliasM));         // SYMBOL_VITERBI | ||||||
|      cacheM.Append(bmAspectRatio11.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_1_1 |      cacheM.Append(bmSync.Scaled(xFactorM, yFactorM, antiAliasM));            // SYMBOL_SYNC | ||||||
|      cacheM.Append(bmAspectRatio169.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_16_9 |      cacheM.Append(bmAspectRatio11.Scaled(yFactorM, yFactorM, antiAliasM));   // SYMBOL_AR_1_1 | ||||||
|  |      cacheM.Append(bmAspectRatio169.Scaled(yFactorM, yFactorM, antiAliasM));  // SYMBOL_AR_16_9 | ||||||
|      cacheM.Append(bmAspectRatio2211.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_2_21_1 |      cacheM.Append(bmAspectRatio2211.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_2_21_1 | ||||||
|      cacheM.Append(bmAspectRatio43.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_AR_4_3 |      cacheM.Append(bmAspectRatio43.Scaled(yFactorM, yFactorM, antiAliasM));   // SYMBOL_AR_4_3 | ||||||
|      cacheM.Append(bmDevice.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_DEVICE |      cacheM.Append(bmDevice.Scaled(yFactorM, yFactorM, antiAliasM));          // SYMBOL_DEVICE | ||||||
|      cacheM.Append(bmZero.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ZERO |      cacheM.Append(bmZero.Scaled(yFactorM, yFactorM, antiAliasM));            // SYMBOL_ZERO | ||||||
|      cacheM.Append(bmOne.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_ONE |      cacheM.Append(bmOne.Scaled(yFactorM, yFactorM, antiAliasM));             // SYMBOL_ONE | ||||||
|      cacheM.Append(bmTwo.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_TWO |      cacheM.Append(bmTwo.Scaled(yFactorM, yFactorM, antiAliasM));             // SYMBOL_TWO | ||||||
|      cacheM.Append(bmThree.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_THREE |      cacheM.Append(bmThree.Scaled(yFactorM, yFactorM, antiAliasM));           // SYMBOL_THREE | ||||||
|      cacheM.Append(bmFour.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FOUR |      cacheM.Append(bmFour.Scaled(yFactorM, yFactorM, antiAliasM));            // SYMBOL_FOUR | ||||||
|      cacheM.Append(bmFive.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FIVE |      cacheM.Append(bmFive.Scaled(yFactorM, yFactorM, antiAliasM));            // SYMBOL_FIVE | ||||||
|      cacheM.Append(bmSix.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SIX |      cacheM.Append(bmSix.Scaled(yFactorM, yFactorM, antiAliasM));             // SYMBOL_SIX | ||||||
|      cacheM.Append(bmSeven.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_SEVEN |      cacheM.Append(bmSeven.Scaled(yFactorM, yFactorM, antiAliasM));           // SYMBOL_SEVEN | ||||||
|      cacheM.Append(bmEight.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_EIGHT |      cacheM.Append(bmEight.Scaled(yFactorM, yFactorM, antiAliasM));           // SYMBOL_EIGHT | ||||||
|      cacheM.Append(bmFormat1080.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080 |      cacheM.Append(bmFormat1080.Scaled(yFactorM, yFactorM, antiAliasM));      // SYMBOL_FORMAT_1080 | ||||||
|      cacheM.Append(bmFormat1080i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080i |      cacheM.Append(bmFormat1080i.Scaled(yFactorM, yFactorM, antiAliasM));     // SYMBOL_FORMAT_1080i | ||||||
|      cacheM.Append(bmFormat1080p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_1080p |      cacheM.Append(bmFormat1080p.Scaled(yFactorM, yFactorM, antiAliasM));     // SYMBOL_FORMAT_1080p | ||||||
|      cacheM.Append(bmFormat720.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720 |      cacheM.Append(bmFormat720.Scaled(yFactorM, yFactorM, antiAliasM));       // SYMBOL_FORMAT_720 | ||||||
|      cacheM.Append(bmFormat720i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720i |      cacheM.Append(bmFormat720i.Scaled(yFactorM, yFactorM, antiAliasM));      // SYMBOL_FORMAT_720i | ||||||
|      cacheM.Append(bmFormat720p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_720p |      cacheM.Append(bmFormat720p.Scaled(yFactorM, yFactorM, antiAliasM));      // SYMBOL_FORMAT_720p | ||||||
|      cacheM.Append(bmFormat576.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576 |      cacheM.Append(bmFormat576.Scaled(yFactorM, yFactorM, antiAliasM));       // SYMBOL_FORMAT_576 | ||||||
|      cacheM.Append(bmFormat576i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576i |      cacheM.Append(bmFormat576i.Scaled(yFactorM, yFactorM, antiAliasM));      // SYMBOL_FORMAT_576i | ||||||
|      cacheM.Append(bmFormat576p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_576p |      cacheM.Append(bmFormat576p.Scaled(yFactorM, yFactorM, antiAliasM));      // SYMBOL_FORMAT_576p | ||||||
|      cacheM.Append(bmFormat480.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480 |      cacheM.Append(bmFormat480.Scaled(yFactorM, yFactorM, antiAliasM));       // SYMBOL_FORMAT_480 | ||||||
|      cacheM.Append(bmFormat480i.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480i |      cacheM.Append(bmFormat480i.Scaled(yFactorM, yFactorM, antiAliasM));      // SYMBOL_FORMAT_480i | ||||||
|      cacheM.Append(bmFormat480p.Scaled(yFactorM, yFactorM, antiAliasM)); // SYMBOL_FORMAT_480p |      cacheM.Append(bmFormat480p.Scaled(yFactorM, yFactorM, antiAliasM));      // SYMBOL_FORMAT_480p | ||||||
|  |  | ||||||
|      return true; |      return true; | ||||||
|      } |      } | ||||||
| @@ -197,7 +199,7 @@ bool cFemonSymbolCache::Flush(void) | |||||||
|  |  | ||||||
| cBitmap& cFemonSymbolCache::Get(eSymbols symbolP) | cBitmap& cFemonSymbolCache::Get(eSymbols symbolP) | ||||||
| { | { | ||||||
|   cBitmap *bitmapM = NULL; |   cBitmap *bitmapM = cacheM[SYMBOL_ONEPIXEL]; | ||||||
|  |  | ||||||
|   if (symbolP < cacheM.Size()) |   if (symbolP < cacheM.Size()) | ||||||
|      bitmapM = cacheM[symbolP]; |      bitmapM = cacheM[symbolP]; | ||||||
|   | |||||||
| @@ -12,6 +12,7 @@ | |||||||
| #include <vdr/osd.h> | #include <vdr/osd.h> | ||||||
|  |  | ||||||
| enum eSymbols { | enum eSymbols { | ||||||
|  |   SYMBOL_ONEPIXEL, | ||||||
|   SYMBOL_STEREO, |   SYMBOL_STEREO, | ||||||
|   SYMBOL_MONO_LEFT, |   SYMBOL_MONO_LEFT, | ||||||
|   SYMBOL_MONO_RIGHT, |   SYMBOL_MONO_RIGHT, | ||||||
| @@ -77,8 +78,8 @@ public: | |||||||
|   ~cFemonSymbolCache(); |   ~cFemonSymbolCache(); | ||||||
|   void Refresh(); |   void Refresh(); | ||||||
|   cBitmap& Get(eSymbols symbolP); |   cBitmap& Get(eSymbols symbolP); | ||||||
|   int GetSpacing()  { return int(yFactorM * DEFAULT_SPACING);  } |   int GetSpacing()  { return int(yFactorM * cFemonSymbolCache::DEFAULT_SPACING);  } | ||||||
|   int GetRounding() { return int(yFactorM * DEFAULT_ROUNDING); } |   int GetRounding() { return int(yFactorM * cFemonSymbolCache::DEFAULT_ROUNDING); } | ||||||
| }; | }; | ||||||
|  |  | ||||||
| extern cFemonSymbolCache femonSymbols; | extern cFemonSymbolCache femonSymbols; | ||||||
|   | |||||||
| @@ -88,9 +88,9 @@ cDvbDevice *getDvbDevice(cDevice* device) | |||||||
|  |  | ||||||
| cString getFrontendInfo(cDvbDevice *device) | cString getFrontendInfo(cDvbDevice *device) | ||||||
| { | { | ||||||
|   cString info; |  | ||||||
|   struct dvb_frontend_info value; |   struct dvb_frontend_info value; | ||||||
|   fe_status_t status; |   fe_status_t status; | ||||||
|  |   cString info = ""; | ||||||
|   uint16_t signal = 0; |   uint16_t signal = 0; | ||||||
|   uint16_t snr = 0; |   uint16_t snr = 0; | ||||||
|   uint32_t ber = 0; |   uint32_t ber = 0; | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # Peter Marquardt | # Peter Marquardt | ||||||
| # Andreas Brachold | # Andreas Brachold | ||||||
| @@ -7,10 +7,10 @@ | |||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: Christian Wieninger\n" | "Last-Translator: Christian Wieninger\n" | ||||||
| "Language-Team: German <vdr@linuxtv.org>\n" | "Language-Team: German <vdr@linuxtv.org>\n" | ||||||
| "Language: de\n" | "Language: de\n" | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # Luis Palacios | # Luis Palacios | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: Luis Palacios\n" | "Last-Translator: Luis Palacios\n" | ||||||
| "Language-Team: Spanish <vdr@linuxtv.org>\n" | "Language-Team: Spanish <vdr@linuxtv.org>\n" | ||||||
| "Language: es\n" | "Language: es\n" | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # Arthur Konovalov | # Arthur Konovalov | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: Arthur Konovalov\n" | "Last-Translator: Arthur Konovalov\n" | ||||||
| "Language-Team: Estonian <vdr@linuxtv.org>\n" | "Language-Team: Estonian <vdr@linuxtv.org>\n" | ||||||
| "Language: et\n" | "Language: et\n" | ||||||
|   | |||||||
							
								
								
									
										16
									
								
								po/fi_FI.po
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								po/fi_FI.po
									
									
									
									
									
								
							| @@ -1,14 +1,14 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # Rolf Ahrenberg | # Rolf Ahrenberg | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: Rolf Ahrenberg\n" | "Last-Translator: Rolf Ahrenberg\n" | ||||||
| "Language-Team: Finnish <vdr@linuxtv.org>\n" | "Language-Team: Finnish <vdr@linuxtv.org>\n" | ||||||
| "Language: fi\n" | "Language: fi\n" | ||||||
| @@ -170,7 +170,7 @@ msgid "Nid" | |||||||
| msgstr "Verkko-ID" | msgstr "Verkko-ID" | ||||||
|  |  | ||||||
| msgid "Tid" | msgid "Tid" | ||||||
| msgstr "Lähete-ID" | msgstr "TS-ID" | ||||||
|  |  | ||||||
| msgid "Rid" | msgid "Rid" | ||||||
| msgstr "Radio-ID" | msgstr "Radio-ID" | ||||||
| @@ -387,9 +387,3 @@ msgstr "Mbit/s" | |||||||
|  |  | ||||||
| msgid "kbit/s" | msgid "kbit/s" | ||||||
| msgstr "kbit/s" | msgstr "kbit/s" | ||||||
|  |  | ||||||
| #~ msgid "Information" |  | ||||||
| #~ msgstr "Tiedot" |  | ||||||
|  |  | ||||||
| #~ msgid "Statistics" |  | ||||||
| #~ msgstr "Tilastot" |  | ||||||
|   | |||||||
							
								
								
									
										122
									
								
								po/fr_FR.po
									
									
									
									
									
								
							
							
						
						
									
										122
									
								
								po/fr_FR.po
									
									
									
									
									
								
							| @@ -1,26 +1,28 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # Nicolas Huillard | # Nicolas Huillard | ||||||
|  | # Michaël Nival <mnival@club-internet.fr>, 2010 | ||||||
|  | # Bernard Jaulin <bernard.jaulin@gmail.com>, 2013 | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: NIVAL Micha<68>l <mnival@club-internet.fr>\n" | "Last-Translator: Bernard Jaulin <bernard.jaulin@gmail.com>\n" | ||||||
| "Language-Team: French <vdr@linuxtv.org>\n" | "Language-Team: French <vdr@linuxtv.org>\n" | ||||||
| "Language: fr\n" | "Language: fr\n" | ||||||
| "MIME-Version: 1.0\n" | "MIME-Version: 1.0\n" | ||||||
| "Content-Type: text/plain; charset=ISO-8859-1\n" | "Content-Type: text/plain; charset=UTF-8\n" | ||||||
| "Content-Transfer-Encoding: 8bit\n" | "Content-Transfer-Encoding: 8bit\n" | ||||||
|  |  | ||||||
| msgid "DVB Signal Information Monitor (OSD)" | msgid "DVB Signal Information Monitor (OSD)" | ||||||
| msgstr "Affiche les informations du signal DVB" | msgstr "Moniteur sur le signal DVB" | ||||||
|  |  | ||||||
| msgid "Signal Information" | msgid "Signal Information" | ||||||
| msgstr "Signal DVB" | msgstr "Infos sur le signal DVB" | ||||||
|  |  | ||||||
| msgid "Femon not available" | msgid "Femon not available" | ||||||
| msgstr "Femon n'est pas disponible" | msgstr "Femon n'est pas disponible" | ||||||
| @@ -71,91 +73,91 @@ msgid "Hide main menu entry" | |||||||
| msgstr "Masquer dans le menu principal" | msgstr "Masquer dans le menu principal" | ||||||
|  |  | ||||||
| msgid "Define whether the main menu entry is hidden." | msgid "Define whether the main menu entry is hidden." | ||||||
| msgstr "D<EFBFBD>finit si l'entr<EFBFBD>e doit <EFBFBD>tre masqu<EFBFBD>e dans le menu principal." | msgstr "Définit si l'entrée doit être masquée dans le menu principal." | ||||||
|  |  | ||||||
| msgid "Default display mode" | msgid "Default display mode" | ||||||
| msgstr "Affichage par d<EFBFBD>faut" | msgstr "Affichage par défaut" | ||||||
|  |  | ||||||
| msgid "Define the default display mode at startup." | msgid "Define the default display mode at startup." | ||||||
| msgstr "D<EFBFBD>finit l'affichage par d<EFBFBD>faut au d<EFBFBD>marrage." | msgstr "Définit l'affichage par défaut au démarrage." | ||||||
|  |  | ||||||
| msgid "Define the used OSD skin." | msgid "Define the used OSD skin." | ||||||
| msgstr "D<EFBFBD>finit le skin OSD <EFBFBD> utiliser." | msgstr "Définit le skin OSD à utiliser." | ||||||
|  |  | ||||||
| msgid "Define the used OSD theme." | msgid "Define the used OSD theme." | ||||||
| msgstr "D<EFBFBD>finit le th<EFBFBD>me OSD <EFBFBD> utiliser." | msgstr "Définit le thème OSD à utiliser." | ||||||
|  |  | ||||||
| msgid "Position" | msgid "Position" | ||||||
| msgstr "Position" | msgstr "Position" | ||||||
|  |  | ||||||
| msgid "Define the position of OSD." | msgid "Define the position of OSD." | ||||||
| msgstr "D<EFBFBD>finit la position de l'OSD." | msgstr "Définit la position de l'OSD." | ||||||
|  |  | ||||||
| msgid "Downscale OSD size [%]" | msgid "Downscale OSD size [%]" | ||||||
| msgstr "" | msgstr "Réduit la taille de l'OSD (%)" | ||||||
|  |  | ||||||
| msgid "Define the downscale ratio for OSD size." | msgid "Define the downscale ratio for OSD size." | ||||||
| msgstr "" | msgstr "Définit le ration de réduction de l'OSD." | ||||||
|  |  | ||||||
| msgid "Red limit [%]" | msgid "Red limit [%]" | ||||||
| msgstr "Limite du rouge (%)" | msgstr "Limite du rouge (%)" | ||||||
|  |  | ||||||
| msgid "Define a limit for red bar, which is used to indicate a bad signal." | msgid "Define a limit for red bar, which is used to indicate a bad signal." | ||||||
| msgstr "D<EFBFBD>finit la limite de la barre rouge, qui est utilis<EFBFBD> pour indiquer un mauvais signal." | msgstr "Définit la limite de la barre rouge, qui est utilisé pour indiquer un mauvais signal." | ||||||
|  |  | ||||||
| msgid "Green limit [%]" | msgid "Green limit [%]" | ||||||
| msgstr "Limite du vert (%)" | msgstr "Limite du vert (%)" | ||||||
|  |  | ||||||
| msgid "Define a limit for green bar, which is used to indicate a good signal." | msgid "Define a limit for green bar, which is used to indicate a good signal." | ||||||
| msgstr "D<EFBFBD>finit la limite de la barre rouge, qui est utilis<EFBFBD> pour indiquer un bon signal." | msgstr "Définit la limite de la barre rouge, qui est utilisé pour indiquer un bon signal." | ||||||
|  |  | ||||||
| msgid "OSD update interval [0.1s]" | msgid "OSD update interval [0.1s]" | ||||||
| msgstr "Intervalle de mise <EFBFBD> jour (0,1s)" | msgstr "Intervalle de mise à jour (0,1s)" | ||||||
|  |  | ||||||
| msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load." | msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load." | ||||||
| msgstr "D<EFBFBD>finit l'intervalle de mise <EFBFBD> jour de l'OSD. Un petit intervalle g<EFBFBD>n<EFBFBD>re une charge CPU plus importante." | msgstr "Définit l'intervalle de mise à jour de l'OSD. Un petit intervalle génère une charge CPU plus importante." | ||||||
|  |  | ||||||
| msgid "Analyze stream" | msgid "Analyze stream" | ||||||
| msgstr "Analyser le flux" | msgstr "Analyser le flux" | ||||||
|  |  | ||||||
| msgid "Define whether the DVB stream is analyzed and bitrates calculated." | msgid "Define whether the DVB stream is analyzed and bitrates calculated." | ||||||
| msgstr "D<EFBFBD>finit si le flux DVB est analys<EFBFBD> et le bitrates calcul<EFBFBD>." | msgstr "Définit si le flux DVB est analysé et le taux d'échantillonnage fixe calculé." | ||||||
|  |  | ||||||
| msgid "Calculation interval [0.1s]" | msgid "Calculation interval [0.1s]" | ||||||
| msgstr "Intervalle de calcul (0,1s)" | msgstr "Intervalle de calcul (0,1s)" | ||||||
|  |  | ||||||
| msgid "Define an interval for calculation. The bigger interval generates more stable values." | msgid "Define an interval for calculation. The bigger interval generates more stable values." | ||||||
| msgstr "D<EFBFBD>finit l'intervalle de cacul. Un plus grand intervalle g<EFBFBD>n<EFBFBD>re une valeur plus stable." | msgstr "Définit l'intervalle de cacul. Un plus grand intervalle génère une valeur plus stable." | ||||||
|  |  | ||||||
| msgid "Use SVDRP service" | msgid "Use SVDRP service" | ||||||
| msgstr "Utiliser le service SVDRP" | msgstr "Utiliser le service SVDRP" | ||||||
|  |  | ||||||
| msgid "Define whether the SVDRP service is used in client/server setups." | msgid "Define whether the SVDRP service is used in client/server setups." | ||||||
| msgstr "D<EFBFBD>finit si le service SVDRP est utilis<EFBFBD> en configuration client/serveur." | msgstr "Définit si le service SVDRP est utilisé dans la configuration client/serveur." | ||||||
|  |  | ||||||
| msgid "SVDRP service port" | msgid "SVDRP service port" | ||||||
| msgstr "Port du service SVDRP" | msgstr "Port du service SVDRP" | ||||||
|  |  | ||||||
| msgid "Define the port number of SVDRP service." | msgid "Define the port number of SVDRP service." | ||||||
| msgstr "D<EFBFBD>finit le port d'<EFBFBD>coute du service SVDRP." | msgstr "Définit le port d'écoute du service SVDRP." | ||||||
|  |  | ||||||
| msgid "SVDRP service IP" | msgid "SVDRP service IP" | ||||||
| msgstr "IP du service SVDRP" | msgstr "IP du service SVDRP" | ||||||
|  |  | ||||||
| msgid "Define the IP address of SVDRP service." | msgid "Define the IP address of SVDRP service." | ||||||
| msgstr "D<EFBFBD>finit l'adresse IP du service SVDRP." | msgstr "Définit l'adresse IP du service SVDRP." | ||||||
|  |  | ||||||
| msgid "Help" | msgid "Help" | ||||||
| msgstr "Aide" | msgstr "Aide" | ||||||
|  |  | ||||||
| msgid "Video" | msgid "Video" | ||||||
| msgstr "Vid<EFBFBD>o" | msgstr "Vidéo" | ||||||
|  |  | ||||||
| msgid "Audio" | msgid "Audio" | ||||||
| msgstr "Audio" | msgstr "Audio" | ||||||
|  |  | ||||||
| msgid "Transponder Information" | msgid "Transponder Information" | ||||||
| msgstr "Information transpondeur" | msgstr "Information du transpondeur" | ||||||
|  |  | ||||||
| msgid "Apid" | msgid "Apid" | ||||||
| msgstr "Apid" | msgstr "Apid" | ||||||
| @@ -179,40 +181,40 @@ msgid "Coderate" | |||||||
| msgstr "Coderate" | msgstr "Coderate" | ||||||
|  |  | ||||||
| msgid "Protocol" | msgid "Protocol" | ||||||
| msgstr "" | msgstr "Protocole" | ||||||
|  |  | ||||||
| msgid "Bitrate" | msgid "Bitrate" | ||||||
| msgstr "Bitrate" | msgstr "Taux d'échantillonnage fixe" | ||||||
|  |  | ||||||
| msgid "Stream Information" | msgid "Stream Information" | ||||||
| msgstr "Information flux" | msgstr "Information sur le flux" | ||||||
|  |  | ||||||
| msgid "Video Stream" | msgid "Video Stream" | ||||||
| msgstr "Flux vid<EFBFBD>o" | msgstr "Flux vidéo" | ||||||
|  |  | ||||||
| msgid "Codec" | msgid "Codec" | ||||||
| msgstr "" | msgstr "Codec" | ||||||
|  |  | ||||||
| msgid "Aspect Ratio" | msgid "Aspect Ratio" | ||||||
| msgstr "Proportions d'image" | msgstr "Format de l'image" | ||||||
|  |  | ||||||
| msgid "Frame Rate" | msgid "Frame Rate" | ||||||
| msgstr "Rafra<EFBFBD>chissement" | msgstr "Rafraîchissement" | ||||||
|  |  | ||||||
| msgid "Video Format" | msgid "Video Format" | ||||||
| msgstr "Standard vid<EFBFBD>o" | msgstr "Standard vidéo" | ||||||
|  |  | ||||||
| msgid "Resolution" | msgid "Resolution" | ||||||
| msgstr "R<EFBFBD>solution" | msgstr "Résolution" | ||||||
|  |  | ||||||
| msgid "Audio Stream" | msgid "Audio Stream" | ||||||
| msgstr "Flux audio" | msgstr "Flux audio" | ||||||
|  |  | ||||||
| msgid "Channel Mode" | msgid "Channel Mode" | ||||||
| msgstr "" | msgstr "Mode chaîne" | ||||||
|  |  | ||||||
| msgid "Sampling Frequency" | msgid "Sampling Frequency" | ||||||
| msgstr "Fr<EFBFBD>quence d'<EFBFBD>chantillonage" | msgstr "Fréquence d'échantillonage" | ||||||
|  |  | ||||||
| msgid "AC-3 Stream" | msgid "AC-3 Stream" | ||||||
| msgstr "Flux AC-3" | msgstr "Flux AC-3" | ||||||
| @@ -245,64 +247,64 @@ msgid "Analog" | |||||||
| msgstr "Analogique" | msgstr "Analogique" | ||||||
|  |  | ||||||
| msgid "MPEG-2" | msgid "MPEG-2" | ||||||
| msgstr "" | msgstr "MPEG-2" | ||||||
|  |  | ||||||
| msgid "H.264" | msgid "H.264" | ||||||
| msgstr "" | msgstr "H.264" | ||||||
|  |  | ||||||
| msgid "MPEG-1 Layer I" | msgid "MPEG-1 Layer I" | ||||||
| msgstr "" | msgstr "MPEG-1 Layer I" | ||||||
|  |  | ||||||
| msgid "MPEG-1 Layer II" | msgid "MPEG-1 Layer II" | ||||||
| msgstr "" | msgstr "MPEG-1 Layer II" | ||||||
|  |  | ||||||
| msgid "MPEG-1 Layer III" | msgid "MPEG-1 Layer III" | ||||||
| msgstr "" | msgstr "MPEG-1 Layer III" | ||||||
|  |  | ||||||
| msgid "MPEG-2 Layer I" | msgid "MPEG-2 Layer I" | ||||||
| msgstr "" | msgstr "MPEG-2 Layer I" | ||||||
|  |  | ||||||
| msgid "MPEG-2 Layer II" | msgid "MPEG-2 Layer II" | ||||||
| msgstr "" | msgstr "MPEG-2 Layer II" | ||||||
|  |  | ||||||
| msgid "MPEG-2 Layer III" | msgid "MPEG-2 Layer III" | ||||||
| msgstr "" | msgstr "MPEG-2 Layer III" | ||||||
|  |  | ||||||
| msgid "HE-AAC" | msgid "HE-AAC" | ||||||
| msgstr "" | msgstr "HE-AAC" | ||||||
|  |  | ||||||
| msgid "LATM" | msgid "LATM" | ||||||
| msgstr "" | msgstr "LATM" | ||||||
|  |  | ||||||
| msgid "stereo" | msgid "stereo" | ||||||
| msgstr "" | msgstr "stéréo" | ||||||
|  |  | ||||||
| msgid "joint Stereo" | msgid "joint Stereo" | ||||||
| msgstr "" | msgstr "joint Stereo" | ||||||
|  |  | ||||||
| msgid "dual" | msgid "dual" | ||||||
| msgstr "" | msgstr "double" | ||||||
|  |  | ||||||
| msgid "mono" | msgid "mono" | ||||||
| msgstr "" | msgstr "mono" | ||||||
|  |  | ||||||
| msgid "interlaced" | msgid "interlaced" | ||||||
| msgstr "" | msgstr "entrelacé" | ||||||
|  |  | ||||||
| msgid "progressive" | msgid "progressive" | ||||||
| msgstr "" | msgstr "progressif" | ||||||
|  |  | ||||||
| msgid "reserved" | msgid "reserved" | ||||||
| msgstr "r<EFBFBD>serv<EFBFBD>" | msgstr "réservé" | ||||||
|  |  | ||||||
| msgid "extended" | msgid "extended" | ||||||
| msgstr "" | msgstr "étendu" | ||||||
|  |  | ||||||
| msgid "unknown" | msgid "unknown" | ||||||
| msgstr "inconnu" | msgstr "inconnu" | ||||||
|  |  | ||||||
| msgid "component" | msgid "component" | ||||||
| msgstr "" | msgstr "composant" | ||||||
|  |  | ||||||
| msgid "PAL" | msgid "PAL" | ||||||
| msgstr "PAL" | msgstr "PAL" | ||||||
| @@ -311,10 +313,10 @@ msgid "NTSC" | |||||||
| msgstr "NTSC" | msgstr "NTSC" | ||||||
|  |  | ||||||
| msgid "SECAM" | msgid "SECAM" | ||||||
| msgstr "" | msgstr "SECAM" | ||||||
|  |  | ||||||
| msgid "MAC" | msgid "MAC" | ||||||
| msgstr "" | msgstr "MAC" | ||||||
|  |  | ||||||
| msgid "Hz" | msgid "Hz" | ||||||
| msgstr "Hz" | msgstr "Hz" | ||||||
| @@ -374,7 +376,7 @@ msgid "dB" | |||||||
| msgstr "dB" | msgstr "dB" | ||||||
|  |  | ||||||
| msgid "not indicated" | msgid "not indicated" | ||||||
| msgstr "non indiqu<EFBFBD>" | msgstr "non indiqué" | ||||||
|  |  | ||||||
| msgid "MHz" | msgid "MHz" | ||||||
| msgstr "MHz" | msgstr "MHz" | ||||||
|   | |||||||
| @@ -1,13 +1,13 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # F<>ley Istv<74>n <ifuley at tigercomp dot ro>, 2011 | # F<>ley Istv<74>n <ifuley at tigercomp dot ro>, 2011 | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0200\n" | "PO-Revision-Date: 2010-10-10 10:10+0200\n" | ||||||
| "Last-Translator: F<>ley Istv<74>n <ifuley at tigercomp dot ro>\n" | "Last-Translator: F<>ley Istv<74>n <ifuley at tigercomp dot ro>\n" | ||||||
| "Language-Team: Hungarian <ifuley at tigercomp dot ro>\n" | "Language-Team: Hungarian <ifuley at tigercomp dot ro>\n" | ||||||
|   | |||||||
| @@ -1,15 +1,15 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # Sean Carlos | # Sean Carlos | ||||||
| # Diego Pierotto <vdr-italian@tiscali.it> | # Diego Pierotto <vdr-italian@tiscali.it> | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" | "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" | ||||||
| "Language-Team: Italian <vdr@linuxtv.org>\n" | "Language-Team: Italian <vdr@linuxtv.org>\n" | ||||||
| "Language: it\n" | "Language: it\n" | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # Valdemaras Pipiras | # Valdemaras Pipiras | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n" | "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n" | ||||||
| "Language-Team: Lithuanian <vdr@linuxtv.org>\n" | "Language-Team: Lithuanian <vdr@linuxtv.org>\n" | ||||||
| "Language: lt\n" | "Language: lt\n" | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # Vyacheslav Dikonov | # Vyacheslav Dikonov | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: Vyacheslav Dikonov\n" | "Last-Translator: Vyacheslav Dikonov\n" | ||||||
| "Language-Team: Russian <vdr@linuxtv.org>\n" | "Language-Team: Russian <vdr@linuxtv.org>\n" | ||||||
| "Language: ru\n" | "Language: ru\n" | ||||||
|   | |||||||
							
								
								
									
										390
									
								
								po/sk_SK.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										390
									
								
								po/sk_SK.po
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,390 @@ | |||||||
|  | # VDR plugin language source file. | ||||||
|  | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
|  | # This file is distributed under the same license as the femon package. | ||||||
|  | # Milan Hrala | ||||||
|  | # | ||||||
|  | msgid "" | ||||||
|  | msgstr "" | ||||||
|  | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
|  | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
|  | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
|  | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
|  | "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n" | ||||||
|  | "Language-Team: Slovak <vdr@linuxtv.org>\n" | ||||||
|  | "Language: sk\n" | ||||||
|  | "MIME-Version: 1.0\n" | ||||||
|  | "Content-Type: text/plain; charset=iso-8859-2\n" | ||||||
|  | "Content-Transfer-Encoding: 8bit\n" | ||||||
|  |  | ||||||
|  | msgid "DVB Signal Information Monitor (OSD)" | ||||||
|  | msgstr "DVB Inform<72>cie o sign<67>le (OSD)" | ||||||
|  |  | ||||||
|  | msgid "Signal Information" | ||||||
|  | msgstr "Inform<72>cie o sign<67>le" | ||||||
|  |  | ||||||
|  | msgid "Femon not available" | ||||||
|  | msgstr "Femon nie je k dispoz<6F>cii" | ||||||
|  |  | ||||||
|  | msgid "basic" | ||||||
|  | msgstr "<22>tandardtn<74>" | ||||||
|  |  | ||||||
|  | msgid "transponder" | ||||||
|  | msgstr "Transpond<6E>r" | ||||||
|  |  | ||||||
|  | msgid "stream" | ||||||
|  | msgstr "d<>tov<6F> tok" | ||||||
|  |  | ||||||
|  | msgid "AC-3" | ||||||
|  | msgstr "AC-3" | ||||||
|  |  | ||||||
|  | msgid "Classic" | ||||||
|  | msgstr "Klasick<63>" | ||||||
|  |  | ||||||
|  | msgid "Elchi" | ||||||
|  | msgstr "Elchi" | ||||||
|  |  | ||||||
|  | msgid "ST:TNG" | ||||||
|  | msgstr "ST:TNG" | ||||||
|  |  | ||||||
|  | msgid "DeepBlue" | ||||||
|  | msgstr "tmavo modr<64>" | ||||||
|  |  | ||||||
|  | msgid "Moronimo" | ||||||
|  | msgstr "Moronimo" | ||||||
|  |  | ||||||
|  | msgid "Enigma" | ||||||
|  | msgstr "Enigma" | ||||||
|  |  | ||||||
|  | msgid "EgalsTry" | ||||||
|  | msgstr "EgalsTry" | ||||||
|  |  | ||||||
|  | msgid "Duotone" | ||||||
|  | msgstr "Duotone" | ||||||
|  |  | ||||||
|  | msgid "SilverGreen" | ||||||
|  | msgstr "strieborno zelen<65>" | ||||||
|  |  | ||||||
|  | msgid "PearlHD" | ||||||
|  | msgstr "PearlHD" | ||||||
|  |  | ||||||
|  | msgid "Hide main menu entry" | ||||||
|  | msgstr "Schova<76> polo<6C>ku v hlavnom menu" | ||||||
|  |  | ||||||
|  | msgid "Define whether the main menu entry is hidden." | ||||||
|  | msgstr "Ur<55>ite, <20>i v hlavnom menu bude polo<6C>ka skryt<79>." | ||||||
|  |  | ||||||
|  | msgid "Default display mode" | ||||||
|  | msgstr "<22>tandardn<64> re<72>im zobrazenia" | ||||||
|  |  | ||||||
|  | msgid "Define the default display mode at startup." | ||||||
|  | msgstr "Zadajte predvolen<65> re<72>im zobrazenia pri spusten<65>." | ||||||
|  |  | ||||||
|  | msgid "Define the used OSD skin." | ||||||
|  | msgstr "Zadajte pou<6F>it<69> OSD vzh<7A>ad." | ||||||
|  |  | ||||||
|  | msgid "Define the used OSD theme." | ||||||
|  | msgstr "Definujte pou<6F>it<69> OSD t<>mu." | ||||||
|  |  | ||||||
|  | msgid "Position" | ||||||
|  | msgstr "Poz<6F>cia" | ||||||
|  |  | ||||||
|  | msgid "Define the position of OSD." | ||||||
|  | msgstr "Definujte poz<6F>ciu OSD." | ||||||
|  |  | ||||||
|  | msgid "Downscale OSD size [%]" | ||||||
|  | msgstr "Zmen<65>i<EFBFBD> ve<76>kos<6F> OSD [%]" | ||||||
|  |  | ||||||
|  | msgid "Define the downscale ratio for OSD size." | ||||||
|  | msgstr "Zadajte zmen<65>enie pomeru pre OSD ve<76>kosti." | ||||||
|  |  | ||||||
|  | msgid "Red limit [%]" | ||||||
|  | msgstr "<22>erven<65> limit [%]" | ||||||
|  |  | ||||||
|  | msgid "Define a limit for red bar, which is used to indicate a bad signal." | ||||||
|  | msgstr "Zadajte limit pre <20>erven<65> pruh , ktor<6F> sa pou<6F><75>va na ozna<6E>enie zl<7A>ho sign<67>lu." | ||||||
|  |  | ||||||
|  | msgid "Green limit [%]" | ||||||
|  | msgstr "Zelen<65> limit [%]" | ||||||
|  |  | ||||||
|  | msgid "Define a limit for green bar, which is used to indicate a good signal." | ||||||
|  | msgstr "Zadajte limit pre zelen<65>ho pruhu, ktor<6F> sa pou<6F>ije na ozna<6E>enie dobr<62>ho sign<67>lu." | ||||||
|  |  | ||||||
|  | msgid "OSD update interval [0.1s]" | ||||||
|  | msgstr "OSD aktualiza<7A>n<EFBFBD> interval [0.1s]" | ||||||
|  |  | ||||||
|  | msgid "Define an interval for OSD updates. The smaller interval generates higher CPU load." | ||||||
|  | msgstr "Zadajte interval pre aktualiz<69>cie OSD. Men<65><6E> interval vytv<74>ra vy<76><79>ie za<7A>a<EFBFBD>enie CPU." | ||||||
|  |  | ||||||
|  | msgid "Analyze stream" | ||||||
|  | msgstr "Anal<61>za d<>tov<6F>ho toku" | ||||||
|  |  | ||||||
|  | msgid "Define whether the DVB stream is analyzed and bitrates calculated." | ||||||
|  | msgstr "Zadajte <20>i sa DVB pr<70>d analyzuje a d<>tov<6F> tok vypo<70><6F>ta." | ||||||
|  |  | ||||||
|  | msgid "Calculation interval [0.1s]" | ||||||
|  | msgstr "V<>po<70>tov<6F> interval [0.1s]" | ||||||
|  |  | ||||||
|  | msgid "Define an interval for calculation. The bigger interval generates more stable values." | ||||||
|  | msgstr "Zadajte interval pre v<>po<70>et. V<><56><EFBFBD><EFBFBD> interval vytv<74>ra stabilnej<65>ie hodnoty." | ||||||
|  |  | ||||||
|  | msgid "Use SVDRP service" | ||||||
|  | msgstr "Pou<6F>i<EFBFBD> SVDRP slu<6C>bu" | ||||||
|  |  | ||||||
|  | msgid "Define whether the SVDRP service is used in client/server setups." | ||||||
|  | msgstr "Zadajte <20>i sa pou<6F>ije slu<6C>ba SVDRP v klient / server nastaveniach." | ||||||
|  |  | ||||||
|  | msgid "SVDRP service port" | ||||||
|  | msgstr "Port SVDRP slu<6C>by" | ||||||
|  |  | ||||||
|  | msgid "Define the port number of SVDRP service." | ||||||
|  | msgstr "Zadajte <20><>slo portu slu<6C>by SVDRP." | ||||||
|  |  | ||||||
|  | msgid "SVDRP service IP" | ||||||
|  | msgstr "IP SVDRP slu<6C>by" | ||||||
|  |  | ||||||
|  | msgid "Define the IP address of SVDRP service." | ||||||
|  | msgstr "zadajte IP adresu slu<6C>by SVDRP." | ||||||
|  |  | ||||||
|  | msgid "Help" | ||||||
|  | msgstr "Pomoc" | ||||||
|  |  | ||||||
|  | msgid "Video" | ||||||
|  | msgstr "Video" | ||||||
|  |  | ||||||
|  | msgid "Audio" | ||||||
|  | msgstr "Zvuk" | ||||||
|  |  | ||||||
|  | msgid "Transponder Information" | ||||||
|  | msgstr "Inform<72>cie transpond<6E>ra" | ||||||
|  |  | ||||||
|  | msgid "Apid" | ||||||
|  | msgstr "Apid" | ||||||
|  |  | ||||||
|  | msgid "Dpid" | ||||||
|  | msgstr "Dpid" | ||||||
|  |  | ||||||
|  | msgid "Spid" | ||||||
|  | msgstr "Spid" | ||||||
|  |  | ||||||
|  | msgid "Nid" | ||||||
|  | msgstr "Nid" | ||||||
|  |  | ||||||
|  | msgid "Tid" | ||||||
|  | msgstr "Tid" | ||||||
|  |  | ||||||
|  | msgid "Rid" | ||||||
|  | msgstr "Rid" | ||||||
|  |  | ||||||
|  | msgid "Coderate" | ||||||
|  | msgstr "r<>chlos<6F> k<>dovania" | ||||||
|  |  | ||||||
|  | msgid "Protocol" | ||||||
|  | msgstr "Protokol" | ||||||
|  |  | ||||||
|  | msgid "Bitrate" | ||||||
|  | msgstr "D<>tov<6F> tok" | ||||||
|  |  | ||||||
|  | msgid "Stream Information" | ||||||
|  | msgstr "Inform<72>cie o d<>tovom toku" | ||||||
|  |  | ||||||
|  | msgid "Video Stream" | ||||||
|  | msgstr "Video stopa" | ||||||
|  |  | ||||||
|  | msgid "Codec" | ||||||
|  | msgstr "kodek" | ||||||
|  |  | ||||||
|  | msgid "Aspect Ratio" | ||||||
|  | msgstr "Pomer str<74>n" | ||||||
|  |  | ||||||
|  | msgid "Frame Rate" | ||||||
|  | msgstr "Po<50>et sn<73>mkov" | ||||||
|  |  | ||||||
|  | msgid "Video Format" | ||||||
|  | msgstr "Video form<72>t" | ||||||
|  |  | ||||||
|  | msgid "Resolution" | ||||||
|  | msgstr "Rozl<7A><6C>enie" | ||||||
|  |  | ||||||
|  | msgid "Audio Stream" | ||||||
|  | msgstr "Zvukov<6F> stopa" | ||||||
|  |  | ||||||
|  | msgid "Channel Mode" | ||||||
|  | msgstr "re<72>im kan<61>la" | ||||||
|  |  | ||||||
|  | msgid "Sampling Frequency" | ||||||
|  | msgstr "Vzorkovacia frekvencia" | ||||||
|  |  | ||||||
|  | msgid "AC-3 Stream" | ||||||
|  | msgstr "AC-3 d<>tov<6F> tok" | ||||||
|  |  | ||||||
|  | msgid "Bit Stream Mode" | ||||||
|  | msgstr "re<72>im bitov<6F>ho toku" | ||||||
|  |  | ||||||
|  | msgid "Audio Coding Mode" | ||||||
|  | msgstr "Re<52><65>m k<>dovania zvuku" | ||||||
|  |  | ||||||
|  | msgid "Center Mix Level" | ||||||
|  | msgstr "<22>rove<76> Center mix" | ||||||
|  |  | ||||||
|  | msgid "Surround Mix Level" | ||||||
|  | msgstr "<22>rove<76> Surround mix" | ||||||
|  |  | ||||||
|  | msgid "Dolby Surround Mode" | ||||||
|  | msgstr "Dolby Surround re<72><65>m" | ||||||
|  |  | ||||||
|  | msgid "Low Frequency Effects" | ||||||
|  | msgstr "Basov<6F> efekty" | ||||||
|  |  | ||||||
|  | msgid "Dialogue Normalization" | ||||||
|  | msgstr "<22>tandartn<74> dial<61>g" | ||||||
|  |  | ||||||
|  | msgid "Fixed" | ||||||
|  | msgstr "Pevn<76>" | ||||||
|  |  | ||||||
|  | msgid "Analog" | ||||||
|  | msgstr "Anal<61>g" | ||||||
|  |  | ||||||
|  | msgid "MPEG-2" | ||||||
|  | msgstr "MPEG-2" | ||||||
|  |  | ||||||
|  | msgid "H.264" | ||||||
|  | msgstr "H.264" | ||||||
|  |  | ||||||
|  | msgid "MPEG-1 Layer I" | ||||||
|  | msgstr "MPEG-1 vrstva I" | ||||||
|  |  | ||||||
|  | msgid "MPEG-1 Layer II" | ||||||
|  | msgstr "MPEG-1 vrstva II" | ||||||
|  |  | ||||||
|  | msgid "MPEG-1 Layer III" | ||||||
|  | msgstr "MPEG-1 vrstva III" | ||||||
|  |  | ||||||
|  | msgid "MPEG-2 Layer I" | ||||||
|  | msgstr "MPEG-2 vrstva I" | ||||||
|  |  | ||||||
|  | msgid "MPEG-2 Layer II" | ||||||
|  | msgstr "MPEG-2 vrstva II" | ||||||
|  |  | ||||||
|  | msgid "MPEG-2 Layer III" | ||||||
|  | msgstr "MPEG-2 vrstva III" | ||||||
|  |  | ||||||
|  | msgid "HE-AAC" | ||||||
|  | msgstr "HE-AAC" | ||||||
|  |  | ||||||
|  | msgid "LATM" | ||||||
|  | msgstr "LATM" | ||||||
|  |  | ||||||
|  | msgid "stereo" | ||||||
|  | msgstr "stereo" | ||||||
|  |  | ||||||
|  | msgid "joint Stereo" | ||||||
|  | msgstr "spojen<65> stereo" | ||||||
|  |  | ||||||
|  | msgid "dual" | ||||||
|  | msgstr "dvojit<69>" | ||||||
|  |  | ||||||
|  | msgid "mono" | ||||||
|  | msgstr "mono" | ||||||
|  |  | ||||||
|  | msgid "interlaced" | ||||||
|  | msgstr "prekladan<61>" | ||||||
|  |  | ||||||
|  | msgid "progressive" | ||||||
|  | msgstr "progres<65>vny" | ||||||
|  |  | ||||||
|  | msgid "reserved" | ||||||
|  | msgstr "obsaden<65>" | ||||||
|  |  | ||||||
|  | msgid "extended" | ||||||
|  | msgstr "roz<6F><7A>ren<65>" | ||||||
|  |  | ||||||
|  | msgid "unknown" | ||||||
|  | msgstr "nezn<7A>my" | ||||||
|  |  | ||||||
|  | msgid "component" | ||||||
|  | msgstr "s<><73>as<61>" | ||||||
|  |  | ||||||
|  | msgid "PAL" | ||||||
|  | msgstr "PAL" | ||||||
|  |  | ||||||
|  | msgid "NTSC" | ||||||
|  | msgstr "NTSC" | ||||||
|  |  | ||||||
|  | msgid "SECAM" | ||||||
|  | msgstr "SECAM" | ||||||
|  |  | ||||||
|  | msgid "MAC" | ||||||
|  | msgstr "MAC" | ||||||
|  |  | ||||||
|  | msgid "Hz" | ||||||
|  | msgstr "Hz" | ||||||
|  |  | ||||||
|  | msgid "Complete Main (CM)" | ||||||
|  | msgstr "Kompletne hlavn<76> (CM)" | ||||||
|  |  | ||||||
|  | msgid "Music and Effects (ME)" | ||||||
|  | msgstr "Hudba a efekty (ME)" | ||||||
|  |  | ||||||
|  | msgid "Visually Impaired (VI)" | ||||||
|  | msgstr "zrakovo postihnut<75> (VI)" | ||||||
|  |  | ||||||
|  | msgid "Hearing Impaired (HI)" | ||||||
|  | msgstr "sluchovo postihnut<75> (HI)" | ||||||
|  |  | ||||||
|  | msgid "Dialogue (D)" | ||||||
|  | msgstr "Dial<61>g (D)" | ||||||
|  |  | ||||||
|  | msgid "Commentary (C)" | ||||||
|  | msgstr "Koment<6E>r (C)" | ||||||
|  |  | ||||||
|  | msgid "Emergency (E)" | ||||||
|  | msgstr "Pohotovostn<74> (E)" | ||||||
|  |  | ||||||
|  | msgid "Voice Over (VO)" | ||||||
|  | msgstr "Viacvrstvov<6F> hlas (VO)" | ||||||
|  |  | ||||||
|  | msgid "Karaoke" | ||||||
|  | msgstr "Karaoke" | ||||||
|  |  | ||||||
|  | msgid "Ch1" | ||||||
|  | msgstr "kan<61>l1" | ||||||
|  |  | ||||||
|  | msgid "Ch2" | ||||||
|  | msgstr "kan<61>l2" | ||||||
|  |  | ||||||
|  | msgid "C" | ||||||
|  | msgstr "C" | ||||||
|  |  | ||||||
|  | msgid "L" | ||||||
|  | msgstr "L" | ||||||
|  |  | ||||||
|  | msgid "R" | ||||||
|  | msgstr "R" | ||||||
|  |  | ||||||
|  | msgid "S" | ||||||
|  | msgstr "S" | ||||||
|  |  | ||||||
|  | msgid "SL" | ||||||
|  | msgstr "SL" | ||||||
|  |  | ||||||
|  | msgid "SR" | ||||||
|  | msgstr "SR" | ||||||
|  |  | ||||||
|  | msgid "dB" | ||||||
|  | msgstr "dB" | ||||||
|  |  | ||||||
|  | msgid "not indicated" | ||||||
|  | msgstr "nie je uveden<65>" | ||||||
|  |  | ||||||
|  | msgid "MHz" | ||||||
|  | msgstr "MHz" | ||||||
|  |  | ||||||
|  | msgid "free" | ||||||
|  | msgstr "vo<76>n<EFBFBD>" | ||||||
|  |  | ||||||
|  | msgid "Mbit/s" | ||||||
|  | msgstr "Mbit/s" | ||||||
|  |  | ||||||
|  | msgid "kbit/s" | ||||||
|  | msgstr "kbit/s" | ||||||
|  |  | ||||||
							
								
								
									
										399
									
								
								po/uk_UA.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										399
									
								
								po/uk_UA.po
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,399 @@ | |||||||
|  | # Ukrainian translation. | ||||||
|  | # Copyright (C) 2010 The Claws Mail Team | ||||||
|  | # This file is distributed under the same license as the claws-mail package. | ||||||
|  | # Yarema aka Knedlyk <yupadmin@gmail.com>, 2010. | ||||||
|  | msgid "" | ||||||
|  | msgstr "" | ||||||
|  | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
|  | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
|  | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
|  | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
|  | "Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n" | ||||||
|  | "Language-Team: Ukrainian <translation@linux.org.ua>\n" | ||||||
|  | "Language: uk\n" | ||||||
|  | "MIME-Version: 1.0\n" | ||||||
|  | "Content-Type: text/plain; charset=UTF-8\n" | ||||||
|  | "Content-Transfer-Encoding: 8bit\n" | ||||||
|  | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" | ||||||
|  | "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\n" | ||||||
|  |  | ||||||
|  | msgid "DVB Signal Information Monitor (OSD)" | ||||||
|  | msgstr "Монітор інформації про DVB сигнал" | ||||||
|  |  | ||||||
|  | msgid "Signal Information" | ||||||
|  | msgstr "Інформація про сигнал" | ||||||
|  |  | ||||||
|  | msgid "Femon not available" | ||||||
|  | msgstr "Femon не доступний" | ||||||
|  |  | ||||||
|  | msgid "basic" | ||||||
|  | msgstr "основне" | ||||||
|  |  | ||||||
|  | msgid "transponder" | ||||||
|  | msgstr "транспондер" | ||||||
|  |  | ||||||
|  | msgid "stream" | ||||||
|  | msgstr "потік" | ||||||
|  |  | ||||||
|  | msgid "AC-3" | ||||||
|  | msgstr "AC-3" | ||||||
|  |  | ||||||
|  | msgid "Classic" | ||||||
|  | msgstr "Класичний" | ||||||
|  |  | ||||||
|  | msgid "Elchi" | ||||||
|  | msgstr "Elchi" | ||||||
|  |  | ||||||
|  | msgid "ST:TNG" | ||||||
|  | msgstr "ST:TNG" | ||||||
|  |  | ||||||
|  | msgid "DeepBlue" | ||||||
|  | msgstr "DeepBlue" | ||||||
|  |  | ||||||
|  | msgid "Moronimo" | ||||||
|  | msgstr "Moronimo" | ||||||
|  |  | ||||||
|  | msgid "Enigma" | ||||||
|  | msgstr "Enigma" | ||||||
|  |  | ||||||
|  | msgid "EgalsTry" | ||||||
|  | msgstr "EgalsTry" | ||||||
|  |  | ||||||
|  | msgid "Duotone" | ||||||
|  | msgstr "Duotone" | ||||||
|  |  | ||||||
|  | msgid "SilverGreen" | ||||||
|  | msgstr "SilverGreen" | ||||||
|  |  | ||||||
|  | msgid "PearlHD" | ||||||
|  | msgstr "PearlHD" | ||||||
|  |  | ||||||
|  | msgid "Hide main menu entry" | ||||||
|  | msgstr "Сховати в головному меню" | ||||||
|  |  | ||||||
|  | msgid "Define whether the main menu entry is hidden." | ||||||
|  | msgstr "Визначення, чи приховувати в головному меню" | ||||||
|  |  | ||||||
|  | msgid "Default display mode" | ||||||
|  | msgstr "Типовий режим показу" | ||||||
|  |  | ||||||
|  | msgid "Define the default display mode at startup." | ||||||
|  | msgstr "Визначення типового режиму показу при запуску" | ||||||
|  |  | ||||||
|  | msgid "Define the used OSD skin." | ||||||
|  | msgstr "Визначення шкірки для повідомлень" | ||||||
|  |  | ||||||
|  | msgid "Define the used OSD theme." | ||||||
|  | msgstr "Визначення теми повідомлень" | ||||||
|  |  | ||||||
|  | msgid "Position" | ||||||
|  | msgstr "Позиція" | ||||||
|  |  | ||||||
|  | msgid "Define the position of OSD." | ||||||
|  | msgstr "Визначити позицію показу повідомлень" | ||||||
|  |  | ||||||
|  | msgid "Downscale OSD size [%]" | ||||||
|  | msgstr "Масштаб розміру повідомлень [%]" | ||||||
|  |  | ||||||
|  | msgid "Define the downscale ratio for OSD size." | ||||||
|  | msgstr "Визначити коефіцієнт масштабування розміру повідомлень" | ||||||
|  |  | ||||||
|  | msgid "Red limit [%]" | ||||||
|  | msgstr "Червона границя [%]" | ||||||
|  |  | ||||||
|  | msgid "Define a limit for red bar, which is used to indicate a bad signal." | ||||||
|  | msgstr "Визначення границі червоної поділки, яка показує поганий сигнал." | ||||||
|  |  | ||||||
|  | msgid "Green limit [%]" | ||||||
|  | msgstr "Зелена границя [%]" | ||||||
|  |  | ||||||
|  | msgid "Define a limit for green bar, which is used to indicate a good signal." | ||||||
|  | msgstr "Визначення границі зеленої поділки, яка показує добрий сигнал." | ||||||
|  |  | ||||||
|  | msgid "OSD update interval [0.1s]" | ||||||
|  | msgstr "Інтервал оновлення повідомлень [0.1с]" | ||||||
|  |  | ||||||
|  | msgid "" | ||||||
|  | "Define an interval for OSD updates. The smaller interval generates higher " | ||||||
|  | "CPU load." | ||||||
|  | msgstr "" | ||||||
|  | "Визначення інтервалу оновлення повідомлень. Малий інтервал спричинює більше " | ||||||
|  | "завантаження процесора." | ||||||
|  |  | ||||||
|  | msgid "Analyze stream" | ||||||
|  | msgstr "Аналіз потоку" | ||||||
|  |  | ||||||
|  | msgid "Define whether the DVB stream is analyzed and bitrates calculated." | ||||||
|  | msgstr "Визначення, чи проводити аналіз DVB потоку і обчислення бітрейту" | ||||||
|  |  | ||||||
|  | msgid "Calculation interval [0.1s]" | ||||||
|  | msgstr "Інтервал обчислення [0.1с]" | ||||||
|  |  | ||||||
|  | msgid "" | ||||||
|  | "Define an interval for calculation. The bigger interval generates more " | ||||||
|  | "stable values." | ||||||
|  | msgstr "" | ||||||
|  | "Визначення інтервалу обчислення. Більший інтервал дає стабільніші значення." | ||||||
|  |  | ||||||
|  | msgid "Use SVDRP service" | ||||||
|  | msgstr "Використати SVDRP сервіс" | ||||||
|  |  | ||||||
|  | msgid "Define whether the SVDRP service is used in client/server setups." | ||||||
|  | msgstr "" | ||||||
|  | "Визначення чи буде використовуватися SVDRP сервіс в налаштуваннях клієнта/" | ||||||
|  | "сервера" | ||||||
|  |  | ||||||
|  | msgid "SVDRP service port" | ||||||
|  | msgstr "Порт SVDRP сервісу" | ||||||
|  |  | ||||||
|  | msgid "Define the port number of SVDRP service." | ||||||
|  | msgstr "Визначення номеру порту SVDRP сервісу" | ||||||
|  |  | ||||||
|  | msgid "SVDRP service IP" | ||||||
|  | msgstr "IP сервісу SVDRP" | ||||||
|  |  | ||||||
|  | msgid "Define the IP address of SVDRP service." | ||||||
|  | msgstr "Визначення IP адреси сервісу SVDRP." | ||||||
|  |  | ||||||
|  | msgid "Help" | ||||||
|  | msgstr "Допомога" | ||||||
|  |  | ||||||
|  | msgid "Video" | ||||||
|  | msgstr "Відео" | ||||||
|  |  | ||||||
|  | msgid "Audio" | ||||||
|  | msgstr "Аудіо" | ||||||
|  |  | ||||||
|  | msgid "Transponder Information" | ||||||
|  | msgstr "Інформація про транспондер" | ||||||
|  |  | ||||||
|  | msgid "Apid" | ||||||
|  | msgstr "Apid" | ||||||
|  |  | ||||||
|  | msgid "Dpid" | ||||||
|  | msgstr "Dpid" | ||||||
|  |  | ||||||
|  | msgid "Spid" | ||||||
|  | msgstr "Spid" | ||||||
|  |  | ||||||
|  | msgid "Nid" | ||||||
|  | msgstr "Nid" | ||||||
|  |  | ||||||
|  | msgid "Tid" | ||||||
|  | msgstr "Tid" | ||||||
|  |  | ||||||
|  | msgid "Rid" | ||||||
|  | msgstr "Rid" | ||||||
|  |  | ||||||
|  | msgid "Coderate" | ||||||
|  | msgstr "Шв. кодування" | ||||||
|  |  | ||||||
|  | msgid "Protocol" | ||||||
|  | msgstr "Протокол" | ||||||
|  |  | ||||||
|  | msgid "Bitrate" | ||||||
|  | msgstr "Бітрейт" | ||||||
|  |  | ||||||
|  | msgid "Stream Information" | ||||||
|  | msgstr "Інформація про потік" | ||||||
|  |  | ||||||
|  | msgid "Video Stream" | ||||||
|  | msgstr "Відео потік" | ||||||
|  |  | ||||||
|  | msgid "Codec" | ||||||
|  | msgstr "Кодек" | ||||||
|  |  | ||||||
|  | msgid "Aspect Ratio" | ||||||
|  | msgstr "Співвідношення сторін" | ||||||
|  |  | ||||||
|  | msgid "Frame Rate" | ||||||
|  | msgstr "Частота кадрів" | ||||||
|  |  | ||||||
|  | msgid "Video Format" | ||||||
|  | msgstr "Формат відео" | ||||||
|  |  | ||||||
|  | msgid "Resolution" | ||||||
|  | msgstr "Роздільна здатність" | ||||||
|  |  | ||||||
|  | msgid "Audio Stream" | ||||||
|  | msgstr "Аудіо потік" | ||||||
|  |  | ||||||
|  | msgid "Channel Mode" | ||||||
|  | msgstr "Режим каналу" | ||||||
|  |  | ||||||
|  | msgid "Sampling Frequency" | ||||||
|  | msgstr "Частота" | ||||||
|  |  | ||||||
|  | msgid "AC-3 Stream" | ||||||
|  | msgstr "AC-3 потік" | ||||||
|  |  | ||||||
|  | msgid "Bit Stream Mode" | ||||||
|  | msgstr "Режим бітового потоку:" | ||||||
|  |  | ||||||
|  | msgid "Audio Coding Mode" | ||||||
|  | msgstr "Режим кодування малюнка" | ||||||
|  |  | ||||||
|  | msgid "Center Mix Level" | ||||||
|  | msgstr "Рівень міксування в центрі" | ||||||
|  |  | ||||||
|  | msgid "Surround Mix Level" | ||||||
|  | msgstr "Рівень міксування заповнення" | ||||||
|  |  | ||||||
|  | msgid "Dolby Surround Mode" | ||||||
|  | msgstr "Режим Dolby Surround" | ||||||
|  |  | ||||||
|  | msgid "Low Frequency Effects" | ||||||
|  | msgstr "Ефекти низької частоти" | ||||||
|  |  | ||||||
|  | msgid "Dialogue Normalization" | ||||||
|  | msgstr "Нормалізація гучності" | ||||||
|  |  | ||||||
|  | msgid "Fixed" | ||||||
|  | msgstr "Фіксовано" | ||||||
|  |  | ||||||
|  | msgid "Analog" | ||||||
|  | msgstr "Аналог." | ||||||
|  |  | ||||||
|  | msgid "MPEG-2" | ||||||
|  | msgstr "MPEG-2" | ||||||
|  |  | ||||||
|  | msgid "H.264" | ||||||
|  | msgstr "H.264" | ||||||
|  |  | ||||||
|  | msgid "MPEG-1 Layer I" | ||||||
|  | msgstr "MPEG-1 Layer I" | ||||||
|  |  | ||||||
|  | msgid "MPEG-1 Layer II" | ||||||
|  | msgstr "MPEG-1 Layer II" | ||||||
|  |  | ||||||
|  | msgid "MPEG-1 Layer III" | ||||||
|  | msgstr "MPEG-1 Layer III" | ||||||
|  |  | ||||||
|  | msgid "MPEG-2 Layer I" | ||||||
|  | msgstr "MPEG-2 Layer I" | ||||||
|  |  | ||||||
|  | msgid "MPEG-2 Layer II" | ||||||
|  | msgstr "MPEG-2 Layer II" | ||||||
|  |  | ||||||
|  | msgid "MPEG-2 Layer III" | ||||||
|  | msgstr "MPEG-2 Layer III" | ||||||
|  |  | ||||||
|  | msgid "HE-AAC" | ||||||
|  | msgstr "HE-AAC" | ||||||
|  |  | ||||||
|  | msgid "LATM" | ||||||
|  | msgstr "LATM" | ||||||
|  |  | ||||||
|  | msgid "stereo" | ||||||
|  | msgstr "стерео" | ||||||
|  |  | ||||||
|  | msgid "joint Stereo" | ||||||
|  | msgstr "об’єднане стерео" | ||||||
|  |  | ||||||
|  | msgid "dual" | ||||||
|  | msgstr "дуальний" | ||||||
|  |  | ||||||
|  | msgid "mono" | ||||||
|  | msgstr "моно" | ||||||
|  |  | ||||||
|  | msgid "interlaced" | ||||||
|  | msgstr "черезрядкове" | ||||||
|  |  | ||||||
|  | msgid "progressive" | ||||||
|  | msgstr "прогресивне" | ||||||
|  |  | ||||||
|  | msgid "reserved" | ||||||
|  | msgstr "зарезервовано" | ||||||
|  |  | ||||||
|  | msgid "extended" | ||||||
|  | msgstr "розширено" | ||||||
|  |  | ||||||
|  | msgid "unknown" | ||||||
|  | msgstr "невідомо" | ||||||
|  |  | ||||||
|  | msgid "component" | ||||||
|  | msgstr "компонентно" | ||||||
|  |  | ||||||
|  | msgid "PAL" | ||||||
|  | msgstr "PAL" | ||||||
|  |  | ||||||
|  | msgid "NTSC" | ||||||
|  | msgstr "NTSC" | ||||||
|  |  | ||||||
|  | msgid "SECAM" | ||||||
|  | msgstr "SECAM" | ||||||
|  |  | ||||||
|  | msgid "MAC" | ||||||
|  | msgstr "MAC" | ||||||
|  |  | ||||||
|  | msgid "Hz" | ||||||
|  | msgstr "Гц" | ||||||
|  |  | ||||||
|  | msgid "Complete Main (CM)" | ||||||
|  | msgstr "Заповнення основного (CM)" | ||||||
|  |  | ||||||
|  | msgid "Music and Effects (ME)" | ||||||
|  | msgstr "Музика і ефекти (ME)" | ||||||
|  |  | ||||||
|  | msgid "Visually Impaired (VI)" | ||||||
|  | msgstr "Слабозорі (VI)" | ||||||
|  |  | ||||||
|  | msgid "Hearing Impaired (HI)" | ||||||
|  | msgstr "Погіршений слух (HI)" | ||||||
|  |  | ||||||
|  | msgid "Dialogue (D)" | ||||||
|  | msgstr "Діалог (D)" | ||||||
|  |  | ||||||
|  | msgid "Commentary (C)" | ||||||
|  | msgstr "Коментарі (C)" | ||||||
|  |  | ||||||
|  | msgid "Emergency (E)" | ||||||
|  | msgstr "Аварійне (E)" | ||||||
|  |  | ||||||
|  | msgid "Voice Over (VO)" | ||||||
|  | msgstr "Голос через (VO)" | ||||||
|  |  | ||||||
|  | msgid "Karaoke" | ||||||
|  | msgstr "Караоке" | ||||||
|  |  | ||||||
|  | msgid "Ch1" | ||||||
|  | msgstr "Кан.1" | ||||||
|  |  | ||||||
|  | msgid "Ch2" | ||||||
|  | msgstr "Кан.2" | ||||||
|  |  | ||||||
|  | msgid "C" | ||||||
|  | msgstr "C" | ||||||
|  |  | ||||||
|  | msgid "L" | ||||||
|  | msgstr "L" | ||||||
|  |  | ||||||
|  | msgid "R" | ||||||
|  | msgstr "R" | ||||||
|  |  | ||||||
|  | msgid "S" | ||||||
|  | msgstr "S" | ||||||
|  |  | ||||||
|  | msgid "SL" | ||||||
|  | msgstr "SL" | ||||||
|  |  | ||||||
|  | msgid "SR" | ||||||
|  | msgstr "Симв.шв." | ||||||
|  |  | ||||||
|  | msgid "dB" | ||||||
|  | msgstr "дБ" | ||||||
|  |  | ||||||
|  | msgid "not indicated" | ||||||
|  | msgstr "не вказано" | ||||||
|  |  | ||||||
|  | msgid "MHz" | ||||||
|  | msgstr "МГц" | ||||||
|  |  | ||||||
|  | msgid "free" | ||||||
|  | msgstr "вільний" | ||||||
|  |  | ||||||
|  | msgid "Mbit/s" | ||||||
|  | msgstr "Мбіт/c" | ||||||
|  |  | ||||||
|  | msgid "kbit/s" | ||||||
|  | msgstr "кбіт/с" | ||||||
| @@ -1,14 +1,14 @@ | |||||||
| # VDR plugin language source file. | # VDR plugin language source file. | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg | # Copyright (C) 2007-2014 Rolf Ahrenberg | ||||||
| # This file is distributed under the same license as the femon package. | # This file is distributed under the same license as the femon package. | ||||||
| # Nan Feng VDR <nfgx@21cn.com>, 2009.2 | # Nan Feng VDR <nfgx@21cn.com>, 2009.2 | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: NanFeng <nfgx@21cn.com>\n" | "Last-Translator: NanFeng <nfgx@21cn.com>\n" | ||||||
| "Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n" | "Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n" | ||||||
| "Language: zh_CN\n" | "Language: zh_CN\n" | ||||||
|   | |||||||
| @@ -1,14 +1,14 @@ | |||||||
| # VDR plugin language source file.  | # VDR plugin language source file.  | ||||||
| # Copyright (C) 2007 Rolf Ahrenberg  | # Copyright (C) 2007-2014 Rolf Ahrenberg  | ||||||
| # This file is distributed under the same license as the femon package.  | # This file is distributed under the same license as the femon package.  | ||||||
| # Nan Feng VDR <nfgx@21cn.com>, 2009.2  | # Nan Feng VDR <nfgx@21cn.com>, 2009.2  | ||||||
| # | # | ||||||
| msgid "" | msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: vdr-femon 1.7.17\n" | "Project-Id-Version: vdr-femon 2.0.2\n" | ||||||
| "Report-Msgid-Bugs-To: <see README>\n" | "Report-Msgid-Bugs-To: <see README>\n" | ||||||
| "POT-Creation-Date: 2010-10-10 10:10+0300\n" | "POT-Creation-Date: 2014-01-08 01:18+0200\n" | ||||||
| "PO-Revision-Date: 2010-10-10 10:10+0300\n" | "PO-Revision-Date: 2014-01-08 01:18+0200\n" | ||||||
| "Last-Translator: NanFeng <nfgx@21cn.com>\n" | "Last-Translator: NanFeng <nfgx@21cn.com>\n" | ||||||
| "Language-Team: Chinese (traditional) <vdr@linuxtv.org>\n" | "Language-Team: Chinese (traditional) <vdr@linuxtv.org>\n" | ||||||
| "Language: zh_TW\n" | "Language: zh_TW\n" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user