diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 83940ded..72030010 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1013,9 +1013,11 @@ Andreas Mair for fixing the type of MBperMinute in cVideoDiskUsage::HasChanged() for reporting a bug in sorting recordings in case two folders have the same name, but one of them ends in an additional digit, as in "abc" and "abc2" - for reporting multiple occurrences of the same directory in the recordings list ini + for reporting multiple occurrences of the same directory in the recordings list in case there are directories that only differ in non-alphanumeric characters for reporting a problem with reduced number of retries in Transfer Mode on SD-FF cards + for fixing multiple occurrences of the same directory in the recordings list in case + there are directories that only differ in non-alphanumeric characters Olivier Jacques ) for translating OSD texts to the French language @@ -2100,6 +2102,7 @@ Thomas G for suggesting to make the 'Allowed' parameter in cMenuEditStrItem() NULL by default, which results in using tr(FileNameChars) for fixing handling "none" color entries in XPM files + for fixing displaying the frame number when setting an editing mark David Woodhouse for his help in replacing the get/put_unaligned() macros from asm/unaligned.h with @@ -2598,6 +2601,8 @@ Halim Sahin for suggesting to make the "Source" item in the "Edit channel" menu wrap around the list of sources for reporting a crash when creating a new channel if the channel list is empty + for reporting that editing marks were generated even if the edited recording resulted + in just one single sequence Denis Knauf for reporting a missing '-' at the next to last line of SVDRP help texts @@ -3141,7 +3146,11 @@ Zoran Turalija Stefan Braun for reporting an endless loop in cTextWrapper::Set() in case the given Width is smaller than one character + for reporting an endless loop in the DrawEllipse() functions for very small ellipses Jochen Dolze for changing cThread::SetIOPriority() from "best effort class" to "idle class" in order to improve overall performance when an editing process is running + +Dominique Dumont + for reporting a crash in the LCARS skin's main menu in case there is no current channel diff --git a/HISTORY b/HISTORY index d8a6da38..b6877ffc 100644 --- a/HISTORY +++ b/HISTORY @@ -7328,7 +7328,7 @@ Video Disk Recorder Revision History + no longer generating an editing mark at the "end" of the edited recording (this was actually generated at the beginning of the last GOP, so that a subsequent edit would have cut off the last GOP) - + no longer generating any editing marks if the edited recording results on just + + no longer generating any editing marks if the edited recording results in just one single sequence + ignoring pairs of editing marks that are placed at exactly the same position of a recording when actually cutting the recording @@ -7794,3 +7794,21 @@ Video Disk Recorder Revision History - Changed cThread::SetIOPriority() from "best effort class" to "idle class" in order to improve overall performance when an editing process is running (thanks to Jochen Dolze). + +2013-05-19: Version 2.0.2 + +- Fixed multiple occurrences of the same directory in the recordings list in case there + are directories that only differ in non-alphanumeric characters (was broken by + "Fixed selecting the last replayed recording in the Recordings menu in case there + are folders and plain recordings with names that differ only in non-alphanumeric + characters" in version 1.7.36). +- Fixed displaying the frame number when setting an editing mark (thanks to Thomas + Günther). +- Fixed no longer generating any editing marks if the edited recording results in just + one single sequence. +- Fixed an error message when parsing SCR values in diseqc.conf. +- Fixed an unexpected RCS version tag in the newplugin script. +- Fixed an endless loop in the DrawEllipse() functions for very small ellipses (reported + by Stefan Braun). +- Fixed a crash in the LCARS skin's main menu in case there is no current channel + (reported by Dominique Dumont). diff --git a/config.h b/config.h index 4150aa73..d99e2d17 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 2.76.1.1 2013/04/05 10:41:32 kls Exp $ + * $Id: config.h 2.76.1.2 2013/04/27 10:18:08 kls Exp $ */ #ifndef __CONFIG_H @@ -22,8 +22,8 @@ // VDR's own version number: -#define VDRVERSION "2.0.1" -#define VDRVERSNUM 20001 // Version * 10000 + Major * 100 + Minor +#define VDRVERSION "2.0.2" +#define VDRVERSNUM 20002 // Version * 10000 + Major * 100 + Minor // The plugin API's version number: diff --git a/cutter.c b/cutter.c index 05bb0f9f..6e5e662e 100644 --- a/cutter.c +++ b/cutter.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: cutter.c 2.25 2013/03/18 09:40:49 kls Exp $ + * $Id: cutter.c 2.25.1.1 2013/05/02 09:21:18 kls Exp $ */ #include "cutter.h" @@ -581,7 +581,7 @@ bool cCuttingThread::ProcessSequence(int LastEndIndex, int BeginIndex, int EndIn } fileSize += Length; // Generate marks at the editing points in the edited recording: - if (numSequences > 0 && Index == BeginIndex) { + if (numSequences > 1 && Index == BeginIndex) { if (toMarks.Count() > 0) toMarks.Add(toIndex->Last()); toMarks.Add(toIndex->Last()); diff --git a/diseqc.c b/diseqc.c index 54fb7203..97da936c 100644 --- a/diseqc.c +++ b/diseqc.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: diseqc.c 2.9 2011/09/17 14:13:31 kls Exp $ + * $Id: diseqc.c 2.9.1.1 2013/05/02 09:33:12 kls Exp $ */ #include "diseqc.h" @@ -192,7 +192,7 @@ const char *cDiseqc::GetScrBank(const char *s) const } return p; } - esyslog("ERROR: more than one scr bank in '%s'", s - 1); + esyslog("ERROR: invalid value for scr bank in '%s'", s - 1); return NULL; } diff --git a/menu.c b/menu.c index 31d25d08..f43dec5d 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 2.82 2013/03/18 09:11:48 kls Exp $ + * $Id: menu.c 2.82.1.2 2013/04/27 10:32:28 kls Exp $ */ #include "menu.h" @@ -2302,14 +2302,12 @@ void cMenuRecordings::Set(bool Refresh) } else delete Item; - if (LastItem) { + if (LastItem || LastDir) { if (CurrentRecording && strcmp(CurrentRecording, recording->FileName()) == 0) - SetCurrent(LastItem); + SetCurrent(LastDir ? LastDir : LastItem); } - if (LastDir) { + if (LastDir) LastDir->IncrementCounter(recording->IsNew()); - LastItem = LastDir; - } } } if (Refresh) @@ -4779,8 +4777,10 @@ void cReplayControl::MarkToggle(void) marks.Add(Current); bool Play, Forward; int Speed; - if (Setup.PauseOnMarkSet || GetReplayMode(Play, Forward, Speed) && !Play) + if (Setup.PauseOnMarkSet || GetReplayMode(Play, Forward, Speed) && !Play) { Goto(Current, true); + displayFrames = true; + } } ShowTimed(2); marksModified = true; diff --git a/newplugin b/newplugin index 31d7d593..1e9e9109 100755 --- a/newplugin +++ b/newplugin @@ -12,7 +12,7 @@ # See the main source file 'vdr.c' for copyright information and # how to reach the author. # -# $Id: newplugin 2.17 2013/01/12 13:46:00 kls Exp $ +# $Id: newplugin 2.17.1.1 2013/05/02 10:04:06 kls Exp $ $PLUGIN_NAME = $ARGV[0] || die "Usage: newplugin \n"; @@ -352,8 +352,8 @@ The next steps you should perform now are: sub CreateFile { - my ($Name, $Content) = @_; - open(FILE, ">$PLUGINDIR/$Name") || die "$Name: V20001 $!\n"; + my ($FileName, $Content) = @_; + open(FILE, ">$PLUGINDIR/$FileName") || die "$FileName: $!\n"; print FILE $Content; close(FILE); } diff --git a/osd.c b/osd.c index cc652b62..45d4419c 100644 --- a/osd.c +++ b/osd.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osd.c 2.38 2013/02/14 15:50:19 kls Exp $ + * $Id: osd.c 2.38.1.1 2013/05/18 12:41:48 kls Exp $ */ #include "osd.h" @@ -639,8 +639,8 @@ void cBitmap::DrawEllipse(int x1, int y1, int x2, int y2, tColor Color, int Quad case 8: cy = y1; rx /= 2; break; default: ; } - int TwoASquare = 2 * rx * rx; - int TwoBSquare = 2 * ry * ry; + int TwoASquare = max(1, 2 * rx * rx); + int TwoBSquare = max(1, 2 * ry * ry); int x = rx; int y = 0; int XChange = ry * ry * (1 - 2 * rx); @@ -1380,8 +1380,8 @@ void cPixmapMemory::DrawEllipse(const cRect &Rect, tColor Color, int Quadrants) case 8: cy = y1; rx /= 2; break; default: ; } - int TwoASquare = 2 * rx * rx; - int TwoBSquare = 2 * ry * ry; + int TwoASquare = max(1, 2 * rx * rx); + int TwoBSquare = max(1, 2 * ry * ry); int x = rx; int y = 0; int XChange = ry * ry * (1 - 2 * rx); diff --git a/skinlcars.c b/skinlcars.c index 72e8302e..3ed8225a 100644 --- a/skinlcars.c +++ b/skinlcars.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: skinlcars.c 2.21 2013/03/09 10:43:34 kls Exp $ + * $Id: skinlcars.c 2.21.1.1 2013/05/19 12:08:52 kls Exp $ */ // "Star Trek: The Next Generation"(R) is a registered trademark of Paramount Pictures, @@ -1340,6 +1340,8 @@ void cSkinLCARSDisplayMenu::DrawLive(const cChannel *Channel) DrawMainFrameUpper(Theme.Color(clrChannelFrameBg)); osd->DrawText(xd00, yd00, tr("LIVE"), Theme.Color(clrChannelFrameBg), Theme.Color(clrBackground), tallFont, xd07 - xd00, yd01 - yd00, taTop | taRight | taBorder); } + if (!Channel) + return; if (initial || Channel != lastChannel) { osd->DrawText(xa00, yt00, itoa(Channel->Number()), Theme.Color(clrChannelFrameFg), Theme.Color(clrChannelFrameBg), tallFont, xa02 - xa00, yt02 - yt00, taTop | taRight | taBorder); osd->DrawText(xa03, yt00, Channel->Name(), Theme.Color(clrChannelName), Theme.Color(clrBackground), tallFont, xd00 - xa03, yd01 - yd00, taTop | taLeft);