summaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
authorThomas Maass <mase@mase1.setho.org>2013-10-21 17:55:03 +0200
committerThomas Maass <mase@mase1.setho.org>2013-10-21 17:55:03 +0200
commit526f69027750591f7196e0c3bd311936dc2610c5 (patch)
tree5e61f9ad96bf37eb3b211f23bf8471c62a424b0f /patches
parente8d1ca5ff467ab26c94513ca671f7ea626d9a9c4 (diff)
downloadvdr-plugin-hddarchive-526f69027750591f7196e0c3bd311936dc2610c5.tar.gz
vdr-plugin-hddarchive-526f69027750591f7196e0c3bd311936dc2610c5.tar.bz2
Removed archive functions from cMyMenuRecordingItem.
They are now called, when a cRecording is used. Removed support for VDR < 2.1.2. Fixed Play service. Fixed VDR patch. Added Skinnopacity patch.
Diffstat (limited to 'patches')
-rw-r--r--patches/skinnopacity-hddarchive.patch74
-rw-r--r--patches/vdr-2.1.1-hddarchive-0.0.1.patch71
-rw-r--r--patches/vdr-hddarchive.patch (renamed from patches/vdr-2.0.3-hddarchive-0.0.1.patch)43
3 files changed, 108 insertions, 80 deletions
diff --git a/patches/skinnopacity-hddarchive.patch b/patches/skinnopacity-hddarchive.patch
new file mode 100644
index 0000000..098ab49
--- /dev/null
+++ b/patches/skinnopacity-hddarchive.patch
@@ -0,0 +1,74 @@
+--- menuitem.c 2013-10-19 19:59:29.867915217 +0200
++++ menuitem.c 2013-10-19 19:56:14.335920540 +0200
+@@ -1,4 +1,5 @@
+ #include "menuitem.h"
++#include "services/hddarchive.h"
+ #include <string>
+ #include <sstream>
+ #include <algorithm>
+@@ -1154,7 +1155,6 @@
+
+ void cNopacityRecordingMenuItem::DrawRecordingNewIcon(void) {
+ int iconNewSize = height/3;
+-
+ cImage *imgIcon = imgCache->GetSkinIcon("skinIcons/newrecording", iconNewSize, iconNewSize);
+ if (imgIcon) {
+ int iconX = pixmapIcon->ViewPort().Width() - iconNewSize;
+@@ -1175,6 +1175,16 @@
+ }
+ }
+
++void cNopacityRecordingMenuItem::DrawRecordingArchiveIcon(void) {
++ int iconArchiveSize = height/3;
++ cImage *imgIcon = imgCache->GetSkinIcon("skinIcons/archive", iconArchiveSize, iconArchiveSize);
++ if (imgIcon) {
++ int iconX = pixmapIcon->ViewPort().Width() - iconArchiveSize;
++ int iconY = height/2;
++ pixmapIcon->DrawImage(cPoint(iconX, iconY), *imgIcon);
++ }
++}
++
+ void cNopacityRecordingMenuItem::DrawFolderIcon(void) {
+ cImage *imgIcon = imgCache->GetSkinIcon("skinIcons/recfolder", posterWidth, posterHeight);
+ if (imgIcon) {
+@@ -1243,9 +1253,19 @@
+ DrawFolderNewSeen();
+ SetTextShort();
+ } else {
++ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive");
++ Hddarchive_archiveid_v1_0 data;
++ data.recording = Recording;
++ data.isarchive = false;
++ if (hddarchivePlugin) {
++ hddarchivePlugin->Service("Hddarchive-archiveid_v1.0", &data);
++ }
+ DrawPoster();
+ DrawRecDateTime();
+- if (Recording->IsNew()) {
++ if (data.isarchive) {
++ DrawRecordingArchiveIcon();
++ }
++ else if (Recording->IsNew()) {
+ DrawRecordingNewIcon();
+ }
+ if (Recording->IsEdited()) {
+--- menuitem.h 2013-10-19 19:59:29.867915217 +0200
++++ menuitem.h 2013-10-19 19:56:14.335920540 +0200
+@@ -173,6 +173,7 @@
+ void SetTextShortRecording(void);
+ void DrawBackground(void);
+ void DrawRecordingNewIcon(void);
++ void DrawRecordingArchiveIcon(void);
+ void DrawRecordingEditedIcon(void);
+ void DrawFolderIcon(void);
+ void DrawRecDateTime(void);
+--- services/hddarchive.h 1970-01-01 01:00:00.000000000 +0100
++++ services/hddarchive.h 2013-10-19 19:46:57.000000000 +0200
+@@ -0,0 +1,7 @@
++struct Hddarchive_archiveid_v1_0
++{
++ const cRecording *recording;
++ bool isarchive;
++ char *archiveid;
++};
++
diff --git a/patches/vdr-2.1.1-hddarchive-0.0.1.patch b/patches/vdr-2.1.1-hddarchive-0.0.1.patch
deleted file mode 100644
index 0226094..0000000
--- a/patches/vdr-2.1.1-hddarchive-0.0.1.patch
+++ /dev/null
@@ -1,71 +0,0 @@
---- vdr-2.1.1-orig/menu.c 2013-08-21 12:45:11.000000000 +0200
-+++ vdr-2.1.1/menu.c 2013-09-20 15:33:04.629102337 +0200
-@@ -51,6 +51,18 @@
- #define CHNUMWIDTH (numdigits(Channels.MaxNumber()) + 1)
- #define CHNAMWIDTH (min(MAXCHNAMWIDTH, Channels.MaxShortChannelNameLength() + 1))
-
-+struct Hddarchive_archiveid_v1_0
-+{
-+ const cRecording *recording;
-+ bool isarchive;
-+ const char *archiveid;
-+};
-+
-+struct Hddarchive_play_v1_0
-+{
-+ cMenuRecordingItem *item;
-+};
-+
- // --- cMenuEditCaItem -------------------------------------------------------
-
- class cMenuEditCaItem : public cMenuEditIntItem {
-@@ -2348,6 +2360,13 @@
- if (ri->IsDirectory())
- Open();
- else {
-+ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive");
-+ Hddarchive_play_v1_0 data;
-+ data.item = ri;
-+ if (hddarchivePlugin) {
-+ hddarchivePlugin->Service("Hddarchive-play_v1.0", &data);
-+ return osEnd;
-+ }
- cReplayControl::SetRecording(ri->Recording()->FileName());
- return osReplay;
- }
-@@ -2374,6 +2393,17 @@
- if (HasSubMenu() || Count() == 0)
- return osContinue;
- cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
-+ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive");
-+ Hddarchive_archiveid_v1_0 data;
-+ data.recording = ri->Recording();
-+ data.isarchive = false;
-+ if (hddarchivePlugin) {
-+ hddarchivePlugin->Service("Hddarchive-archiveid_v1.0", &data);
-+ if (data.isarchive) {
-+ Skins.Message(mtError, tr("Cannot delete archived recording!"));
-+ return osContinue;
-+ }
-+ }
- if (ri && !ri->IsDirectory()) {
- if (Interface->Confirm(tr("Delete recording?"))) {
- cRecordControl *rc = cRecordControls::GetRecordControl(ri->Recording()->FileName());
-@@ -4854,7 +4884,16 @@
- if (*fileName) {
- Hide();
- if (!cCutter::Active()) {
-- if (!marks.Count())
-+ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive");
-+ Hddarchive_archiveid_v1_0 data;
-+ data.recording = GetRecording();
-+ data.isarchive = false;
-+ if (hddarchivePlugin) {
-+ hddarchivePlugin->Service("Hddarchive-archiveid_v1.0", &data);
-+ }
-+ if (data.isarchive)
-+ Skins.Message(mtError, tr("Cannot edit archived recording!"));
-+ else if (!marks.Count())
- Skins.Message(mtError, tr("No editing marks defined!"));
- else if (!marks.GetNumSequences())
- Skins.Message(mtError, tr("No editing sequences defined!"));
diff --git a/patches/vdr-2.0.3-hddarchive-0.0.1.patch b/patches/vdr-hddarchive.patch
index 55cbef7..5f470d7 100644
--- a/patches/vdr-2.0.3-hddarchive-0.0.1.patch
+++ b/patches/vdr-hddarchive.patch
@@ -1,6 +1,6 @@
---- vdr-2.0.3-orig/menu.c 2013-04-27 12:32:28.000000000 +0200
-+++ vdr-2.0.3/menu.c 2013-09-22 18:22:19.440344000 +0200
-@@ -51,6 +51,18 @@
+--- menu.c.orig 2013-10-16 11:15:36.000000000 +0200
++++ menu.c 2013-10-21 16:09:59.030298758 +0200
+@@ -50,6 +50,18 @@
#define CHNUMWIDTH (numdigits(Channels.MaxNumber()) + 1)
#define CHNAMWIDTH (min(MAXCHNAMWIDTH, Channels.MaxShortChannelNameLength() + 1))
@@ -13,19 +13,44 @@
+
+struct Hddarchive_play_v1_0
+{
-+ cMenuRecordingItem *item;
++ const cRecording *recording;
+};
+
// --- cMenuEditCaItem -------------------------------------------------------
class cMenuEditCaItem : public cMenuEditIntItem {
-@@ -2348,6 +2360,13 @@
+@@ -2522,7 +2534,23 @@
+ level = Level;
+ name = NULL;
+ totalEntries = newEntries = 0;
+- SetText(Recording->Title('\t', true, Level));
++ // replace newindicator with '#' for archives
++ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive");
++ Hddarchive_archiveid_v1_0 data;
++ data.recording = Recording;
++ data.isarchive = false;
++ if (hddarchivePlugin) {
++ hddarchivePlugin->Service("Hddarchive-archiveid_v1.0", &data);
++ }
++ if (data.isarchive && (level < 0 || level == recording->HierarchyLevels())) {
++ char *text = strdup(recording->Title('\t', true, level));
++ int nipos = strlen(strrchr(recording->Title('\t', true, level), '\t') + 1);
++ text[strlen(recording->Title('\t', true, level)) - nipos - 2] = '#';
++ SetText(text);
++ free(text);
++ }
++ else
++ SetText(Recording->Title('\t', true, Level));
+ if (*Text() == '\t')
+ name = strdup(Text() + 2); // 'Text() + 2' to skip the two '\t'
+ }
+@@ -2693,6 +2721,13 @@
if (ri->IsDirectory())
Open();
else {
+ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive");
+ Hddarchive_play_v1_0 data;
-+ data.item = ri;
++ data.recording = ri->Recording();
+ if (hddarchivePlugin) {
+ hddarchivePlugin->Service("Hddarchive-play_v1.0", &data);
+ return osEnd;
@@ -33,7 +58,7 @@
cReplayControl::SetRecording(ri->Recording()->FileName());
return osReplay;
}
-@@ -2374,6 +2393,17 @@
+@@ -2719,6 +2754,17 @@
if (HasSubMenu() || Count() == 0)
return osContinue;
cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
@@ -51,10 +76,10 @@
if (ri && !ri->IsDirectory()) {
if (Interface->Confirm(tr("Delete recording?"))) {
cRecordControl *rc = cRecordControls::GetRecordControl(ri->Recording()->FileName());
-@@ -4832,7 +4862,16 @@
+@@ -5213,7 +5302,16 @@
if (*fileName) {
Hide();
- if (!cCutter::Active()) {
+ if (!RecordingsHandler.GetUsage(fileName)) {
- if (!marks.Count())
+ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive");
+ Hddarchive_archiveid_v1_0 data;