diff options
author | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2007-08-26 18:00:00 +0200 |
---|---|---|
committer | Klaus Schmidinger <kls (at) cadsoft (dot) de> | 2007-08-26 18:00:00 +0200 |
commit | 46c882c04d5200cc97262b15db2e4841b305664d (patch) | |
tree | 5883630e3561fc1c16beb50c2d680fc73b8b457f /svdrp.c | |
parent | e5a2aa41c9762bda4ce7b987aba1bcfa1cee6f70 (diff) | |
download | vdr-patch-lnbsharing-46c882c04d5200cc97262b15db2e4841b305664d.tar.gz vdr-patch-lnbsharing-46c882c04d5200cc97262b15db2e4841b305664d.tar.bz2 |
Version 1.5.9vdr-1.5.9
- Fixed handling locale directories with a large number of entries (thanks to
Anssi Hannula).
- Updated Turkish language texts (thanks to Oktay Yolgeçen).
- Fixed stripping the context in I18nTranslate() (reported by Christian
Wieninger).
- Fixed detecting whether a particular locale is actually supported.
- Added a note about LANG having to be set to a valid locale in INSTALL
(suggested by Matthias Fechner).
- Fixed some compiler warnings with gcc-4.2.0 (thanks to Matthias Schwarzott).
- Fixed setting the locale file name in i18n-to-gettext.pl (thanks to Matthias
Schwarzott).
- Changed the default for LOCDIR in Makefile and Make.config.template to
"./locale", so that internationalization works by default when running VDR
from within its source directory (suggested by Anssi Hannula).
- Added the new i18n macro trVDR(), which can be used by plugins to mark
texts they want to reuse from VDR's core translations (suggested by Matthias
Becker).
- VDR now uses the default configuration directory as defined in the CONFDIR
varable in the Makefile (thanks to Thomas Schmidt).
- The SVDRP command LSTC can now list the channels with group separators if the
option ':groups' is given (thanks to Andreas Mair).
- Added a missing error report to cCuttingThread::Action() (thanks to Udo
Richter).
- There can now be more than one OSD at the same time. At any given time,
however, only one of them can be active (and thus visible). This is to
allow displaying things like subtitles in an easy way. A cOsd therefore
now has a "Level", and only the OSD with the smallest level will be
displayed. The level 0 OSD is special, and there can only be one with
this level. If there is more than one OSD with a particular level, only
the one that was created first will be displayed.
Plugins that provide an OSD need to adjust their cOsdProvider::CreateOsd()
function to hand through the Level.
- Fixed checking for ttDolbyLast in cDevice::SetCurrentAudioTrack() (thanks
to Marco Schlüßler).
Diffstat (limited to 'svdrp.c')
-rw-r--r-- | svdrp.c | 15 |
1 files changed, 10 insertions, 5 deletions
@@ -10,7 +10,7 @@ * and interact with the Video Disk Recorder - or write a full featured * graphical interface that sits on top of an SVDRP connection. * - * $Id: svdrp.c 1.102 2007/06/23 13:14:59 kls Exp $ + * $Id: svdrp.c 1.103 2007/08/25 09:28:26 kls Exp $ */ #include "svdrp.h" @@ -216,10 +216,12 @@ const char *HelpPages[] = { "HITK [ <key> ]\n" " Hit the given remote control key. Without option a list of all\n" " valid key names is given.", - "LSTC [ <number> | <name> ]\n" + "LSTC [ :groups | <number> | <name> ]\n" " List channels. Without option, all channels are listed. Otherwise\n" " only the given channel is listed. If a name is given, all channels\n" - " containing the given string as part of their name are listed.", + " containing the given string as part of their name are listed.\n" + " If ':groups' is given, all channels are listed including group\n" + " separators. The channel number of a group separator is always 0.", "LSTE [ <channel> ] [ now | next | at <time> ]\n" " List EPG data. Without any parameters all data of all channels is\n" " listed. If a channel is given (either by number or by channel ID),\n" @@ -862,7 +864,8 @@ void cSVDRP::CmdHITK(const char *Option) void cSVDRP::CmdLSTC(const char *Option) { - if (*Option) { + bool WithGroupSeps = strcasecmp(Option, ":groups") == 0; + if (*Option && !WithGroupSeps) { if (isnumber(Option)) { cChannel *channel = Channels.GetByNumber(strtol(Option, NULL, 10)); if (channel) @@ -889,7 +892,9 @@ void cSVDRP::CmdLSTC(const char *Option) } else if (Channels.MaxNumber() >= 1) { for (cChannel *channel = Channels.First(); channel; channel = Channels.Next(channel)) { - if (!channel->GroupSep()) + if (WithGroupSeps) + Reply(channel->Next() ? -250: 250, "%d %s", channel->GroupSep() ? 0 : channel->Number(), *channel->ToText()); + else if (!channel->GroupSep()) Reply(channel->Number() < Channels.MaxNumber() ? -250 : 250, "%d %s", channel->Number(), *channel->ToText()); } } |