summaryrefslogtreecommitdiff
path: root/README
blob: 1872521ab036c983d98d9124a907236eb457c5d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
This is a "plugin" for the Video Disk Recorder (VDR).

Written by:                  Thomas Maass <mase@setho.org>

Project's homepage:          http://projects.vdr-developer.org/projects/plg-hddarchive

Latest version available at: http://projects.vdr-developer.org/projects/plg-hddarchive

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
any later version.
See the file COPYING for more information.



Requirements
- VDR version >= 2.0.0

- Optional patch to integrate into VDRs original recmenu



Description:
This plugin brings the hdd-archive functionality to VDR.



Installation:
Install and start it like any other plugin.
Setup the archive device and archive mountpoint in the plugin settings.
The optional patch for VDR integrates the archive functionalities into
its original recordings menu.
There is also a patch for Skinnopacity to display an archive symbol.
The symbol isn't part of this patch. Use any 48x48px image. I used an
hdd symbol from my desktop environment. Copy it to
skinnopacity/icons/skinIcons/archive.png.

The script vdr_move_to_hdd.sh can be used with the reccmds.conf to archive
a recording. Change the mountpoint inside and use it with vdr-bg.sh or at:

Archive?: /usr/local/bin/vdr-bg.sh /usr/local/bin/vdr_move_to_hdd.sh

Make sure, that the VDR user has permissions to mount the archive-disk. Setup
/etc/fstab like this. The mountpoint must match with the plugin setup.

/dev/sdb1 /media/archive-hdd auto defaults,user,noauto 0 0

To create an archive-disk, just format it and create a text file named "hdd"
in its root. Write the archive-id in this file (8 characters max. ). This
id is used to identify the archive-disk, so choose a unique one.

After archiving, the recording can be moved or renamed without problems. It is
identified by the .rec directory. The cutmark "%" is removed on the archivedisk.



Plugin services:
Other plugins, especially skins can use plugin services identify an recording
as archive, or play an recording:

Identify an archive:

struct Hddarchive_archiveid_v1_0
{
   const cRecording *recording;
   bool isarchive;
   const char *archiveid;
};

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) {
   //Recording is an archive
}


Play an recording:

struct Hddarchive_play_v1_0
{
   const cRecording *recording;
};

cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive");
Hddarchive_play_v1_0 data;
data.recording = Recording;
if (hddarchivePlugin) {
   hddarchivePlugin->Service("Hddarchive-play_v1.0", &data);
}



How it works:
When archiving, the video files are moved to the archive disk, index and info is copied.
So the recording stays in the recmenu of VDR, but it doesn't take much space. A file "hdd"
is also copied from the archive disk to the recdir. It holds the archive-id and marks the
recording as an archive.
When playing such a recording, the user is prompted to insert the archive disk with the
Id. Then the disk gets mounted, and the files on it are symlinked to the recdir. Then playing
starts. After playing, the symlinks get removed again. The disk gets unmounted after all.