Inconsistent application of recording location in timer & instant recordings

Issue #430 new
prl created an issue

When the GUI is in Expert mode (MENU>Setup>System>GUI settings>Setup mode), the recording settings page (MENU>Setup>Recording settings) has three settings for the default recording location for a timer:

  • Default movie location
  • Timer recording location
  • Instant recording location

If a timer is created in the EPG using GREEN Add Timer, it uses the setting for Timer recording location as the default recording location for the timer. However, if the same program is set for recording from the EPG using REC>Add Timer, it uses the setting for Default movie location as the default recording location for the timer. This can be a quite confusing inconsistency if the two settings are for different directories.

A check through all creations of RecordTimerEntry objects found some more similar inconsistencies:

  • Timers created in the IceTV plugin use Default movie location (there is no optional dirname argument, and they default to that value), rather than Timer recording location.
  • Similarly, timers created in the AutoTimer plugin use Default movie location, rather than Timer recording location (checked in https://github.com/beyonwiz/enigma2-plugins/blob/2.3/autotimer/src/AutoTimer.py).
  • Timers created for saving timeshift on a channel change default to Default movie location rather than Instant recording location.

The default timer recording location for other timers appear to be correct.

The basis for deciding whether a timer should use Instant recording location rather than Timer recording location is that the code that generates the "Stop recording"/"Stop timer recording" entries in the RED/REC popup in live TV shows "Stop [instant] recording" in the menu if there are timers in InfoBarInstantRecord.recording, while "Stop timer recording" is shown when there are timers in self.session.nav.RecordTimer.timer_list that are not also in InfoBarInstantRecord.recording.

Timers are placed in InfoBarInstantRecord.recording if they are created from live TV, by one of the RED/REC button "Start recording?" popups:

  • Add recording (stop after current event)
  • Add recording (indefinitely)
  • Add recording (enter recording duration)
  • Add recording (enter recording endtime)

or from the "You seem to be in timeshift./Save timeshift and continue recording" popup menu entry, or from the "You have chosen to save the current timeshift event, but the event has not yet finished./Save timeshift and continue recording" popup menu entry.

Timers created from the "Start recording?" popup use the Instant recording location, but timers started to save timeshift and continue recording use the Default movie location.

When RecordTimerEntry objects are created they should specify a dirname argument and use Components.UsageConfig.defaultMoviePath()/preferredTimerPath()/preferredInstantRecordPath() rather than the config.usage variable as in the creation of RecordTimerEntry objects in Components.Timeshift.InfoBarTimeshift.__evEventInfoChanged()/ptsRecordCurrentEvent().

Replication steps

Set Default movie location, Timer recording location and Instant recording location to three distinct locations, e.g. /media/hdd/movie, /media/hdd/recording and /media/hdd/instant. Create the directories first if they don't already exist.

Create a timer from the EPG using GREEN Add timer. Its Location will be set, correctly, to Timer recording location (i.e. media/hdd/recording in the example).

Create a timer using REC>Add timer, then view the timer created using GREEN Change Timer>Edit Timer. Its Location will be set, incorrectly, to Default movie location (/media/hdd/movie).

Similar tests can be done on the other cases listed above.

Comments (0)

  1. Log in to comment