Add statusinformation for cutter thread via cStatus v2
Commit Message
So.. this is an improved patch now, which also gives the information
about which file has been processed.
Greets,
Christian
@@ -12,6 +12,7 @@
#include "remux.h"
#include "thread.h"
#include "videodir.h"
+#include "status.h"
// --- cCuttingThread --------------------------------------------------------
@@ -189,6 +190,7 @@
error = false;
ended = false;
cRecording Recording(FileName);
+ filename = FileName;
const char *evn = Recording.PrefixFileName('%');
if (evn && RemoveVideoFile(evn) && MakeDirs(evn, true)) {
// XXX this can be removed once RenameVideoFile() follows symlinks (see videodir.c)
@@ -207,6 +209,7 @@
Recording.WriteInfo();
Recordings.AddByName(editedVersionName);
cuttingThread = new cCuttingThread(FileName, editedVersionName);
+ cStatus::MsgCutterRunning(true, filename);
return true;
}
}
@@ -227,6 +230,7 @@
RemoveVideoFile(editedVersionName); //XXX what if this file is currently being replayed?
Recordings.DelByName(editedVersionName);
}
+ cStatus::MsgCutterRunning(false, filename);
}
bool cCutter::Active(void)
@@ -18,6 +18,7 @@
static cCuttingThread *cuttingThread;
static bool error;
static bool ended;
+ static const char* filename;
public:
static bool Start(const char *FileName);
static void Stop(void);
@@ -112,3 +112,9 @@
for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
sm->OsdProgramme(PresentTime, PresentTitle, PresentSubtitle, FollowingTime, FollowingTitle, FollowingSubtitle);
}
+
+void cStatus::MsgCutterRunning(bool Running, const char *FileName)
+{
+ for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
+ sm->CutterRunning(Running, FileName);
+}
@@ -67,6 +67,8 @@
// The OSD displays the single line Text with the current channel information.
virtual void OsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle) {}
// The OSD displays the given programme information.
+ virtual void CutterRunning(bool Running, const char *FileName) {}
+ // Inform if cutting process is running and what file it is processing.
public:
cStatus(void);
virtual ~cStatus();
@@ -86,6 +88,7 @@
static void MsgOsdTextItem(const char *Text, bool Scroll = false);
static void MsgOsdChannel(const char *Text);
static void MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle);
+ static void MsgCutterRunning(bool Running, const char *FileName);
};
#endif //__STATUS_H