1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Fixed sluggish response when manipulating editing marks while a cutting thread is running

This commit is contained in:
Klaus Schmidinger 2012-09-09 09:19:15 +02:00
parent 2ceb19e566
commit e6e9996060
4 changed files with 19 additions and 5 deletions

View File

@ -2886,6 +2886,8 @@ Torsten Lang <info@torstenlang.de>
is stored on the video directory file system within the cRecording data is stored on the video directory file system within the cRecording data
for suppressing setting the "broken link" or "TEI" flags when cutting recordings for suppressing setting the "broken link" or "TEI" flags when cutting recordings
if the editing point merges two seamlessly fitting parts of the same stream if the editing point merges two seamlessly fitting parts of the same stream
for reporting a sluggish response when manipulating editing marks while a cutting
thread is running
Christian Ruppert <idl0r@gentoo.org> Christian Ruppert <idl0r@gentoo.org>
for some improvements to the Makefiles for some improvements to the Makefiles

View File

@ -7191,7 +7191,7 @@ Video Disk Recorder Revision History
turn on adding the source character to channel names whenever they are displayed turn on adding the source character to channel names whenever they are displayed
(suggested by Ludi Kaleni). (suggested by Ludi Kaleni).
2012-09-06: Version 1.7.30 2012-09-07: Version 1.7.30
- Fixed sorting recordings in the top level video directory. - Fixed sorting recordings in the top level video directory.
- Fixed handling control characters in SI data in case of UTF-8 encoded strings - Fixed handling control characters in SI data in case of UTF-8 encoded strings
@ -7226,3 +7226,5 @@ Video Disk Recorder Revision History
- Fixed getting the file size and number of frames of ongoing recordings (only the - Fixed getting the file size and number of frames of ongoing recordings (only the
timestamp of the recording's directory was checked, while it should have been that timestamp of the recording's directory was checked, while it should have been that
of the index file). of the index file).
- Fixed sluggish response when manipulating editing marks while a cutting thread
is running (reported by Torsten Lang).

15
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menu.c 2.58 2012/06/17 11:12:25 kls Exp $ * $Id: menu.c 2.59 2012/09/09 09:19:15 kls Exp $
*/ */
#include "menu.h" #include "menu.h"
@ -4455,6 +4455,7 @@ cReplayControl::cReplayControl(bool PauseLive)
{ {
currentReplayControl = this; currentReplayControl = this;
displayReplay = NULL; displayReplay = NULL;
marksModified = false;
visible = modeOnly = shown = displayFrames = false; visible = modeOnly = shown = displayFrames = false;
lastCurrent = lastTotal = -1; lastCurrent = lastTotal = -1;
lastPlay = lastForward = false; lastPlay = lastForward = false;
@ -4472,6 +4473,10 @@ cReplayControl::~cReplayControl()
Hide(); Hide();
cStatus::MsgReplaying(this, NULL, fileName, false); cStatus::MsgReplaying(this, NULL, fileName, false);
Stop(); Stop();
if (marksModified) {
marks.Save();
marksModified = false;
}
if (currentReplayControl == this) if (currentReplayControl == this)
currentReplayControl = NULL; currentReplayControl = NULL;
} }
@ -4729,7 +4734,7 @@ void cReplayControl::MarkToggle(void)
Goto(Current, true); Goto(Current, true);
} }
ShowTimed(2); ShowTimed(2);
marks.Save(); marksModified = true;
} }
} }
@ -4766,7 +4771,7 @@ void cReplayControl::MarkMove(bool Forward)
} }
m->SetPosition(p); m->SetPosition(p);
Goto(m->Position(), true); Goto(m->Position(), true);
marks.Save(); marksModified = true;
} }
} }
} }
@ -4775,6 +4780,10 @@ void cReplayControl::EditCut(void)
{ {
if (*fileName) { if (*fileName) {
Hide(); Hide();
if (marksModified) {
marks.Save();
marksModified = false;
}
if (!cCutter::Active()) { if (!cCutter::Active()) {
if (!marks.Count()) if (!marks.Count())
Skins.Message(mtError, tr("No editing marks defined!")); Skins.Message(mtError, tr("No editing marks defined!"));

3
menu.h
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menu.h 2.11 2012/06/13 11:23:11 kls Exp $ * $Id: menu.h 2.12 2012/09/07 08:48:34 kls Exp $
*/ */
#ifndef __MENU_H #ifndef __MENU_H
@ -260,6 +260,7 @@ class cReplayControl : public cDvbPlayerControl {
private: private:
cSkinDisplayReplay *displayReplay; cSkinDisplayReplay *displayReplay;
cMarks marks; cMarks marks;
bool marksModified;
bool visible, modeOnly, shown, displayFrames; bool visible, modeOnly, shown, displayFrames;
int lastCurrent, lastTotal; int lastCurrent, lastTotal;
bool lastPlay, lastForward; bool lastPlay, lastForward;