mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Implemented cStatus::MarksModified()
This commit is contained in:
parent
0055eeeeb8
commit
5ae8d1a7a3
@ -2628,6 +2628,7 @@ J
|
|||||||
for suggesting to change tEventID back to u_int32_t
|
for suggesting to change tEventID back to u_int32_t
|
||||||
for adding the 'aux' member to cEvent
|
for adding the 'aux' member to cEvent
|
||||||
for reporting a possible deadlock when quickly zapping through encrypted channels
|
for reporting a possible deadlock when quickly zapping through encrypted channels
|
||||||
|
for a patch that was used to implement cStatus::MarksModified()
|
||||||
|
|
||||||
Peter Pinnau <vdr@unterbrecher.de>
|
Peter Pinnau <vdr@unterbrecher.de>
|
||||||
for reporting that 'uint32_t' requires including stdint.h in font.h on some systems
|
for reporting that 'uint32_t' requires including stdint.h in font.h on some systems
|
||||||
|
5
HISTORY
5
HISTORY
@ -9162,7 +9162,7 @@ Video Disk Recorder Revision History
|
|||||||
a subdirectory.
|
a subdirectory.
|
||||||
- SVDRP peering can now be limited to the default SVDRP host (see MANUAL for details).
|
- SVDRP peering can now be limited to the default SVDRP host (see MANUAL for details).
|
||||||
|
|
||||||
2018-01-28: Version 2.3.9
|
2018-01-29: Version 2.3.9
|
||||||
|
|
||||||
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
- Updated the Italian OSD texts (thanks to Diego Pierotto).
|
||||||
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
|
- Updated the Finnish OSD texts (thanks to Rolf Ahrenberg).
|
||||||
@ -9247,3 +9247,6 @@ Video Disk Recorder Revision History
|
|||||||
cMenuPathEdit::ApplyChanges() and cReplayControl::Stop() (reported by Matthias Senzel).
|
cMenuPathEdit::ApplyChanges() and cReplayControl::Stop() (reported by Matthias Senzel).
|
||||||
- Fixed a possible deadlock when quickly zapping through encrypted channels (reported
|
- Fixed a possible deadlock when quickly zapping through encrypted channels (reported
|
||||||
by Jörg Wendel).
|
by Jörg Wendel).
|
||||||
|
- The new function cStatus::MarksModified() can be implemented by plugins to get
|
||||||
|
informed about any modifications to the editing marks of the currently played
|
||||||
|
recording (based on a patch from Jörg Wendel).
|
||||||
|
13
menu.c
13
menu.c
@ -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 4.55 2018/01/26 14:34:31 kls Exp $
|
* $Id: menu.c 4.56 2018/01/29 13:59:58 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
@ -2694,8 +2694,15 @@ eOSState cMenuRecordingEdit::RemoveName(void)
|
|||||||
eOSState cMenuRecordingEdit::DeleteMarks(void)
|
eOSState cMenuRecordingEdit::DeleteMarks(void)
|
||||||
{
|
{
|
||||||
if (buttonDeleteMarks && Interface->Confirm(tr("Delete editing marks for this recording?"))) {
|
if (buttonDeleteMarks && Interface->Confirm(tr("Delete editing marks for this recording?"))) {
|
||||||
if (cMarks::DeleteMarksFile(recording))
|
if (cMarks::DeleteMarksFile(recording)) {
|
||||||
SetHelpKeys();
|
SetHelpKeys();
|
||||||
|
if (cControl *Control = cControl::Control(true)) {
|
||||||
|
if (const cRecording *Recording = Control->GetRecording()) {
|
||||||
|
if (strcmp(recording->FileName(), Recording->FileName()) == 0)
|
||||||
|
cStatus::MsgMarksModified(NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
Skins.Message(mtError, tr("Error while deleting editing marks!"));
|
Skins.Message(mtError, tr("Error while deleting editing marks!"));
|
||||||
}
|
}
|
||||||
@ -5811,6 +5818,7 @@ void cReplayControl::MarkToggle(void)
|
|||||||
StateKey.Remove();
|
StateKey.Remove();
|
||||||
ShowTimed(2);
|
ShowTimed(2);
|
||||||
marksModified = true;
|
marksModified = true;
|
||||||
|
cStatus::MsgMarksModified(&marks);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5870,6 +5878,7 @@ void cReplayControl::MarkMove(int Frames, bool MarkRequired)
|
|||||||
m->SetPosition(p);
|
m->SetPosition(p);
|
||||||
Goto(m->Position(), true);
|
Goto(m->Position(), true);
|
||||||
marksModified = true;
|
marksModified = true;
|
||||||
|
cStatus::MsgMarksModified(&marks);
|
||||||
}
|
}
|
||||||
else if (!MarkRequired)
|
else if (!MarkRequired)
|
||||||
Goto(SkipFrames(Frames), !Play);
|
Goto(SkipFrames(Frames), !Play);
|
||||||
|
8
status.c
8
status.c
@ -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: status.c 3.1 2014/01/25 10:47:39 kls Exp $
|
* $Id: status.c 4.1 2018/01/29 13:36:53 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "status.h"
|
#include "status.h"
|
||||||
@ -53,6 +53,12 @@ void cStatus::MsgReplaying(const cControl *Control, const char *Name, const char
|
|||||||
sm->Replaying(Control, Name, FileName, On);
|
sm->Replaying(Control, Name, FileName, On);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void cStatus::MsgMarksModified(const cMarks* Marks)
|
||||||
|
{
|
||||||
|
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
|
||||||
|
sm->MarksModified(Marks);
|
||||||
|
}
|
||||||
|
|
||||||
void cStatus::MsgSetVolume(int Volume, bool Absolute)
|
void cStatus::MsgSetVolume(int Volume, bool Absolute)
|
||||||
{
|
{
|
||||||
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
|
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
|
||||||
|
8
status.h
8
status.h
@ -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: status.h 4.3 2017/06/23 09:08:24 kls Exp $
|
* $Id: status.h 4.4 2018/01/29 13:42:17 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __STATUS_H
|
#ifndef __STATUS_H
|
||||||
@ -59,6 +59,11 @@ protected:
|
|||||||
// a name, Name can be a string that identifies the player type (like, e.g., "DVD").
|
// a name, Name can be a string that identifies the player type (like, e.g., "DVD").
|
||||||
// The full file name of the recording is given in FileName, which may be NULL in case there is no
|
// The full file name of the recording is given in FileName, which may be NULL in case there is no
|
||||||
// actual file involved. If On is false, Name may be NULL.
|
// actual file involved. If On is false, Name may be NULL.
|
||||||
|
virtual void MarksModified(const cMarks *Marks) {}
|
||||||
|
// If the editing marks of the recording that is currently being played
|
||||||
|
// are modified in any way, this function is called with the list of
|
||||||
|
// Marks. If Marks is NULL, the editing marks for the currently played
|
||||||
|
// recording have been deleted entirely.
|
||||||
virtual void SetVolume(int Volume, bool Absolute) {}
|
virtual void SetVolume(int Volume, bool Absolute) {}
|
||||||
// The volume has been set to the given value, either
|
// The volume has been set to the given value, either
|
||||||
// absolutely or relative to the current volume.
|
// absolutely or relative to the current volume.
|
||||||
@ -103,6 +108,7 @@ public:
|
|||||||
static void MsgChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView);
|
static void MsgChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView);
|
||||||
static void MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On);
|
static void MsgRecording(const cDevice *Device, const char *Name, const char *FileName, bool On);
|
||||||
static void MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On);
|
static void MsgReplaying(const cControl *Control, const char *Name, const char *FileName, bool On);
|
||||||
|
static void MsgMarksModified(const cMarks* Marks);
|
||||||
static void MsgSetVolume(int Volume, bool Absolute);
|
static void MsgSetVolume(int Volume, bool Absolute);
|
||||||
static void MsgSetAudioTrack(int Index, const char * const *Tracks);
|
static void MsgSetAudioTrack(int Index, const char * const *Tracks);
|
||||||
static void MsgSetAudioChannel(int AudioChannel);
|
static void MsgSetAudioChannel(int AudioChannel);
|
||||||
|
Loading…
Reference in New Issue
Block a user