From: Mark Clarkstone Date: Sat, 9 Apr 2016 16:27:52 +0000 (+0100) Subject: mdhelp: move a few long description values to markdown (added dvr_stop_extra and... X-Git-Tag: v4.2.1~688 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=15cf0e2c6540c007242917992f882c1325276da9;p=thirdparty%2Ftvheadend.git mdhelp: move a few long description values to markdown (added dvr_stop_extra and dvr_start_extra properties). mdhelp: cleaned up a few docs --- diff --git a/docs/class/dvrentry.md b/docs/class/dvrentry.md index b80245677..8c9c5d6f6 100644 --- a/docs/class/dvrentry.md +++ b/docs/class/dvrentry.md @@ -8,10 +8,13 @@ DVR entries are used by Tvheadend to keep track of upcoming, finished and failed * When a recording fails or gets aborted the entry is moved to the [Failed Recordings](dvr_failed) tab. + +**Note**: Some entry details are not available/incomplete until the recording +completes or fails, e.g. filesize, total data errors, etc. + --- -The *Details* column gives a quick overview as to the status of each -entry: +**Details** : Gives a quick overview as to the status of each entry. Icon | Description -------------------------------------------|------------- @@ -21,7 +24,3 @@ Icon | Description ![Exclamation icon](icons/exclamation.png) | the program failed to record ![Accept icon](icons/accept.png) | the program recorded successfully - -**Note**: Some entry details are not available/incomplete until the recording -completes or fails, e.g. filesize, total data errors, etc. - diff --git a/docs/markdown/dvr_failed.md b/docs/markdown/dvr_failed.md index 652859199..94818bfa3 100644 --- a/docs/markdown/dvr_failed.md +++ b/docs/markdown/dvr_failed.md @@ -10,31 +10,31 @@ information. --- -###1. Playing a Failed Recording +###Playing a Failed Recording You can play a partial recording by clicking the *Play* link. If your browser supports video playback it should automatically start playing. Note, the *Play* links do not link to an actual file but to a m3u playlist. -###2. Downloading a Recording +###Downloading a Recording Highlight the desired entry then press the *[Download]* button on the menu bar. -###3. Re-recording an Entry/Re-schedule a Failed Recording +###Re-recording an Entry/Re-schedule a Failed Recording You can re-schedule an entry by pressing the *[Re-record]* button on the menu bar. **Note**: Your EPG data must have another matching event to be able to re-schedule the entry. -###4. Moving an Entry +###Moving an Entry Failed recording can be moved to the [Finished Recordings](dvr_finished) tab by highlighting the desired entry and then pressing the *[Move to finished]* button from the menu bar. -###5. Deleting an Entry +###Deleting an Entry Highlight the desired entry(s) then press the *[Delete]* button on the menu bar. diff --git a/docs/markdown/dvr_finished.md b/docs/markdown/dvr_finished.md index ee4e9a6d9..31c8785a7 100644 --- a/docs/markdown/dvr_finished.md +++ b/docs/markdown/dvr_finished.md @@ -6,24 +6,24 @@ This tab shows all your finished recordings. --- -###1. Playing a Recording +###Playing a Recording You can play a recording by clicking the *Play* link. If your browser supports video playback it should automatically start playing. Note, the *Play* links do not link to an actual file but to a m3u playlist. -###2. Downloading a Recording +###Downloading a Recording Highlight the desired entry then press the *[Download]* button on the menu bar. -###3. Editing an Entry +###Editing an Entry You can edit an entry by clicking the *[Edit]* button on the menu bar, note that not all [DVR Entry](class/dvrentry) fields can be edited. -###4. Deleting an Entry. +###Deleting an Entry. Highlight the desired entry(s) then press the *[Delete]* button on the menu bar. diff --git a/docs/markdown/dvr_upcoming.md b/docs/markdown/dvr_upcoming.md index e14815c05..28603157d 100644 --- a/docs/markdown/dvr_upcoming.md +++ b/docs/markdown/dvr_upcoming.md @@ -6,9 +6,9 @@ This tab shows your all upcoming/current recordings. --- -###1. Adding and Editing an Entry +###Adding and Editing an Entry -####1.1. Adding an Entry Using the EPG +####Adding an Entry Using the EPG Using the Electronic Program Guide search functionality, find the program/event you would like to record. For full instructions on how to @@ -23,7 +23,7 @@ using the resultant dialog you can: **Tip**: You can quickly find all matching programs by clicking on the title. -####1.2. Adding an Entry Using Autorec Rules +####Adding an Entry Using Autorec Rules Autorec rules allow you to match events using various options. @@ -32,7 +32,7 @@ Autorec rules allow you to match events using various options. Please see [Autorec](dvr_autorec) for more information. -####1.3. Manual Event Entry/Editing an Entry +####Manual Event Entry/Editing an Entry Use the *[Add]* button to manually to add an entry. To edit an entry, highlight the desired entry within the grid and then press the *[Edit]* button. @@ -45,7 +45,7 @@ of which can also be seen in the grid view: See the [DVR Entries](class/dvrentry) page for a more detailed look at the various entry options. -###2. Deleting an Entry +###Deleting an Entry You can delete or abort an upcoming entry (or an already in-progress recording) by pressing the *[Delete]* or *[Abort]* buttons. diff --git a/docs/property/dvr_start_extra.md b/docs/property/dvr_start_extra.md new file mode 100644 index 000000000..29399c358 --- /dev/null +++ b/docs/property/dvr_start_extra.md @@ -0,0 +1,10 @@ +: + +For example, if a program is to start at 13:00 and you set a padding of +5 minutes, it will start recording at 12:54:30 (including a warm-up +time of 30 seconds (user configurable)). If this isn't +specified, any pre-recording padding as set in the channel or DVR +profile will be used. + +Be sure to check you have enough free tuners available +to record all scheduled recordings if they overlap. diff --git a/docs/property/dvr_status.md b/docs/property/dvr_status.md index f136a1efa..8b2c742b5 100644 --- a/docs/property/dvr_status.md +++ b/docs/property/dvr_status.md @@ -1,7 +1,15 @@ -The *status* column indicates why an entry failed: +: Status | Description -----------------|---------------------------------------------------------- Aborted by user | The recording was interrupted by the user. File missing | The associated file(s) cannot be found on disk. -Time missed | Indicates a recording failed due to one (or more) of the following: Tvheadend wasn't running when the entry/recording was scheduled to start; Tvheadend couldn't create the necessary file(s)/folder(s) to begin recording due to file system issues; The tuner returned no data indicating a signal/external problem; No free tuner was available for use; +Time missed | See below. + +Time missed can be caused by one (or more) of the following: +* No free tuners - usually in-use by other subscription(s). +* No tuners are enabled and/or have no network assigned. +* All available tuners failed to tune (this can indicate a signal, driver or hardware problem). +* The underlying service for the channel is no longer available. +* Tvheadend wasn't running or crashed when a scheduled event/entry was to start. + diff --git a/docs/property/dvr_stop_extra.md b/docs/property/dvr_stop_extra.md new file mode 100644 index 000000000..a89773892 --- /dev/null +++ b/docs/property/dvr_stop_extra.md @@ -0,0 +1,6 @@ +: + +This is extremely useful for those programs you think/know will overrun. +Any value selected here will keep a tuner busy for longer, so be sure +to check you have enough free tuners to record all scheduled recordings +if they overlap. diff --git a/src/dvr/dvr_db.c b/src/dvr/dvr_db.c index bc9ba1b54..1991116a7 100644 --- a/src/dvr/dvr_db.c +++ b/src/dvr/dvr_db.c @@ -2816,12 +2816,27 @@ dvr_entry_prop_status_doc(const struct property *p, const char *lang) return prop_md_doc(tvh_doc_dvr_status_property, lang); } +static char * +dvr_entry_prop_start_extra_doc(const struct property *p, const char *lang) +{ + extern const char *tvh_doc_dvr_start_extra_property[]; + return prop_md_doc(tvh_doc_dvr_start_extra_property, lang); +} + +static char * +dvr_entry_prop_dvr_stop_extra_doc(const struct property *p, const char *lang) +{ + extern const char *tvh_doc_dvr_stop_extra_property[]; + return prop_md_doc(tvh_doc_dvr_stop_extra_property, lang); +} + extern const char *tvh_doc_dvrentry_class[]; const idclass_t dvr_entry_class = { .ic_class = "dvrentry", .ic_caption = N_("DVR Entries"), .ic_event = "dvrentry", + /*.ic_doc = tvh_doc_dvrentry_class,*/ .ic_doc = tvh_doc_dvrentry_class, .ic_changed = dvr_entry_class_changed, .ic_save = dvr_entry_class_save, @@ -2851,13 +2866,8 @@ const idclass_t dvr_entry_class = { .id = "start_extra", .name = N_("Pre-recording padding"), .desc = N_("Start recording earlier than the " - "EPG/timer-defined start time by x minutes: for " - "example, if a program is to start at 13:00 and " - "you set a padding of 5 minutes, it will start " - "recording at 12:54:30 (including a warm-up time " - "of 30 seconds). If this isn't specified, any " - "pre-recording padding as set in the channel or " - "DVR profile will be used."), + "EPG/timer-defined start time by x minutes."), + .doc = dvr_entry_prop_start_extra_doc, .off = offsetof(dvr_entry_t, de_start_extra), .set = dvr_entry_class_start_extra_set, .list = dvr_entry_class_extra_list, @@ -2867,9 +2877,7 @@ const idclass_t dvr_entry_class = { .type = PT_TIME, .id = "start_real", .name = N_("Scheduled start time"), - .desc = N_("The scheduled start time, including any " - "pre-recording padding and a warm-up time of 30 " - "seconds."), + .desc = N_("The scheduled start time, including any padding."), .get = dvr_entry_class_start_real_get, .opts = PO_RDONLY | PO_NOSAVE, }, @@ -2877,7 +2885,8 @@ const idclass_t dvr_entry_class = { .type = PT_TIME, .id = "stop", .name = N_("Stop time"), - .desc = N_("The time the entry stops/stopped being recorded."), + .desc = N_("The time the entry stops/stopped being recorded, " + "including any padding."), .set = dvr_entry_class_stop_set, .off = offsetof(dvr_entry_t, de_stop), }, @@ -2887,6 +2896,7 @@ const idclass_t dvr_entry_class = { .name = N_("Post-recording padding"), .desc = N_("Continue recording for x minutes after scheduled " "stop time."), + .doc = dvr_entry_prop_dvr_stop_extra_doc, .off = offsetof(dvr_entry_t, de_stop_extra), .list = dvr_entry_class_extra_list, .opts = PO_SORTKEY | PO_ADVANCED | PO_DOC_NLIST, @@ -2895,17 +2905,15 @@ const idclass_t dvr_entry_class = { .type = PT_TIME, .id = "stop_real", .name = N_("Scheduled stop time"), - .desc = N_("The scheduled stop time including any post-recording " - "padding."), + .desc = N_("The scheduled stop time."), .get = dvr_entry_class_stop_real_get, .opts = PO_RDONLY | PO_NOSAVE, }, { .type = PT_TIME, .id = "duration", - .name = N_("Duration"), - .desc = N_("The total recording time including pre- and post-" - "recording padding."), + .name = N_("Scheduled Duration"), + .desc = N_("The total scheduled duration."), .get = dvr_entry_class_duration_get, .opts = PO_RDONLY | PO_NOSAVE | PO_DURATION, },