Zum RasPi kann ich nichts sagen, hab ich schon länger nicht mehr probiert.
Posts by kls
-
-
Ah, da stand ich wohl auf der Leitung ;-).
Ich habe gehört, dass das recht gut funktionieren soll...
-
Was ist das "Jehova"-Plugin?
-
Kann es sein, dass da der vorherige Patch bereits drin war?
-
Anbei ein korrigierter Patch. Es fehlte das "* 60" bei "Limit += Setup.MarginStart".
Es wird auch noch eine weitere Änderung kommen, damit sehr kurze Events, wo die Vor- und/oder Nachlaufzeit verkürzt wird, trotzdem mit der vollen Vor-/Nachlaufzeit aufgenommen werden. Da bin ich aber noch am testen...
-
Ja, bitte beide verwenden.
-
Hier der Fix für das Problem, das mit dem Patch vdr-2.5.2-fix-pattern-timers-short-events.diff aufgefallen ist. In cSchedule::DropOutdated() wurde die Schleife zu früh beendet, daher konnte es zu doppelten EPG-Einträgen kommen. Der angehängte Fix is unabhängig von dem o.g. Patch notwendig (welcher unverändert genutzt werden kann).
-
Vorsicht mit dem Patch von vorhin! Ich hab gerade bemerkt, dass es damit wohl zu einem mehrfachen Anlegen des gleichen Timers kommen kann.
-
Mit diesem Patch sollten Pattern Timer, die nicht VPS benutzen, besser auf kurze Events reagieren.
-
Hier ein Patch, mit dem vielleicht besser auf verschobene Events reagiert werden kann.
-
Du hast nichts falsch gemacht.
Der Timer 137 wurde der eingeschobenen Sendung 'Philip - Zum Tode des Herzogs von Edinburgh' zugewiesen, weil er diese zu 100% überdeckte, die ursprüngliche Sendung 'Tatort' aber nicht mehr, da sich diese zu weit nach hinten verschoben hatte und aus dem Abdeckungsbereich des Timers hinausragte. Da der Tatort damit aber keinen Timer mehr hatte, erfolgte sogleich ein Respawn und es wurde ein neuer Timer angelegt. Das hätte sich wohl auch schon in der Version 2.5.1 so verhalten. Hauptsache, die Sendung wurde vollständig aufgenommen ;-).
Eventuell sollte in vdr.c Timers->AdjustSpawnedTimers() *vor* Timers->SetEvents(Schedules) aufgerufen werden. Ich baue das mal um und poste einen Patch.
-
Es sollte eigentlich kein neuer Timer entstehen, sondern der bestehende entsprechend verändert werden.
Kannst du bitte die entsprechenden Log-Einträge posten?
-
Apr 7 12:41:40 vdr3-2 vdr[2688]: [2688] timer 135 (12 2340-0020 'kinokino~') set to event Mi. 07.04.2021 23:45-00:00 (VPS: 07.04. 23:45) 'kinokino'
Dieser Timer wurde offensichtlich mit Version 2.5.1 angelegt, daher greift der EPISODE-Fix hier noch nicht.
Das mit der nicht sichtbaren Aufnahme sollte aber damit eigentlich nichts zu tun haben.
Wo war die Aufnahme denn nicht sichtbar? Im VDR-Menü oder woanders?
-
Ist sie das denn nicht?
Kannst du bitte, damit ich das nachvollziehen kann, genau schildern, was du gemacht hast, was passiert ist und was nicht so war, wie du es erwartet hattest?
-
Im Namen der Aufzeichnung soll EPISODE ja auch gar nicht erscheinen, sondern nur der evtl. vorhandene "short text" (aka "Subtitle").
Code- cRecording::cRecording(cTimer *Timer, const cEvent *Event)
- {
- ...
- // set up the actual name:
- const char *Title = Event ? Event->Title() : NULL;
- const char *Subtitle = Event ? Event->ShortText() : NULL;
- if (isempty(Title))
- Title = Timer->Channel()->Name();
- if (isempty(Subtitle))
- Subtitle = " ";
- const char *macroTITLE = strstr(Timer->File(), TIMERMACRO_TITLE);
- const char *macroEPISODE = strstr(Timer->File(), TIMERMACRO_EPISODE);
- if (macroTITLE || macroEPISODE) {
- name = strdup(Timer->File());
- name = strreplace(name, TIMERMACRO_TITLE, Title);
- name = strreplace(name, TIMERMACRO_EPISODE, Subtitle);
-
jsffm Die Frage verstehe ich nicht ganz. Die Änderung soll lediglich das EPISODE-Macro stehen lassen, damit es ggf. später bei der tatsächlichen Aufnahme durch den dann vielleicht vorhandenen "short text" ersetzt werden kann. Falls auch dann noch kein "short text" vorhanden ist wird ein Leerzeichen genommen, damit ein Unterordner entsteht.
Übersehe ich da was?
-
Bitte beim Thema bleiben!
-
Im GIT (git.tvdr.de) gibt es jetzt die VDR Developer Version 2.5.2.
ACHTUNG: Verwendung dieser Version für den Alltagsbetrieb auf eigene Gefahr!
Hier die Änderungen seit Version 2.5.1:
Code- - Fixed strreplace() to handle NULL strings (reported by Jürgen Schneider).
- - Somewhere down the road the 'x' bit of Doxyfile.filter got lost, so the
- Makefile now makes sure it is set before calling doxygen.
- - Using strgetlast() in more places.
- - Fixed a crash in the SVDRP command CLRE in case a non-existing channel number is
- given (reported by Manuel Reimer).
- - Fixed handling $(PKG_CONFIG) in newplugin (thanks to Winfried Köhler).
- - Fixed initializing the cChannel::schedule pointer after reading EPG data with PUTE
- (reported by Manuel Reimer).
- - Fixed VPS handling when spawning a pattern timer, in case Setup.UseVps is false
- (reported by Jürgen Schneider).
- - Increased the number of possible modulation systems in cDevice::GetDevice()
- (reported by Ulf Grüne).
- - Now explicitly triggering respawning of pattern timers.
- - If an event in the Schedules menu is marked with a 'T' or 'I' and the user presses the
- Red button to edit the timer, spawned timers are now preferred over pattern timers
- in case there is more than one timer that will match that event.
- - Made the functions cRecordingInfo::SetData() and cRecordingInfo::SetAux() public
- (thanks to Peter Bieringer).
- - Fixed setting the 'title' of a recording's info to the recording's name if there
- is no info file (the change in version 1.7.28 broke the fallback to the old 'summary.vdr').
- - Now making sure a spawned timer only fully overlaps the given event (reported by
- Jürgen Schneider).
- - Added some missing user command calls for copying, renaming and moving recordings
- (thanks to Peter Bieringer).
- - Improved cSectionSyncer to make sure that no sections are missed, and to allow
- handling partially used segments (as in the EIT) and processing sections in random
- order. Segment syncing is now done with the two member functions Check() and
- Processed(). The old functions Sync() and Repeat() are deprecated and may be
- removed in a future version. See the comments in filter.h for a description on
- how to use these new function.
- - When checking whether a particular recording has already been made by a pattern
- timer, the characters ' ' (blank), ':' and '-' are now ignored, making
- "TITLE - EPISODE" and "TITLE: EPISODE" the same.
- - Decreased the scrambling timeout for CAMs known to decrypt a certain channel, so
- that it won't collide with MAXBROKENTIMEOUT in recorder.c.
- - Fixed scaling subtitles with anti-aliasing (thanks to Peter Bieringer).
- - Improved handling EPG data from the EIT tables:
- + Table 0x4F is now completely ignored.
- + Once a schedule has seen events from 0x5X, tables 0x6X are ignored for that
- schedule.
- + When looking up an event in its schedule, the start time is used for tables 0x6X, and the
- event id for tables 0x4E and 0x5X.
- + When hashing events by event id or start time, existing older entries in the hash
- tables are now deleted before entering the new ones.
- + The function cSchedule::GetEvent() is now deprecated and may be removed in a future
- version. Use GetEventById() and GetEventByTime() instead.
- + On channels that use proper event ids a change of the start time no longer
- causes a new event to be created, but rather modifies the existing one. This
- avoids possible interruptions in VPS recordings in case the event's start time
- is changed while the recording is already going on.
- - The margins for timer recordings are now always limited to the duration of the
- previous and next event.
- - Spawned timers that don't use VPS now automatically adjust their start/stop times
- to changes in the respective event's times.
- - Fixed handling the timer counter in cSchedule::DelEvent().
- - Fixed MakePatternFileName() in case the event doesn't yet have a short text (reported
- by Jürgen Schneider).
- - No longer switching devices for pattern timers (thanks to Helmut Binder).
- - cTimer::TriggerRespawn() now only acts on local timers.
Das mit der automatischen Anpassung der gespawnten Timer an Verschiebungen der Event-Zeiten konnte ich nur theoretisch testen, da solche Fälle ja nicht so oft vorkommen.
Bitte ausgiebig testen!
Bug-Reports etc. bitte hier in diesem Thread posten.
-
mir ist noch aufgefallen das unter vdr-2.5.1 das Plugin epgsync viele Einträge doppelt erstellt.
Am EPG-Handling hat sich in der Version 2.5.1 aber eigentlich nichts geändert.
-
hier fehlt die EPISODE, die Aufzeichnung erfolgt ohne Unterordner.
Kannst du bitte mal folgendes probieren:
Diff- --- timers.c 2021/04/06 08:48:35 5.7
- +++ timers.c 2021/04/06 09:37:55
- @@ -163,7 +163,8 @@
- if (MatchPattern(Pattern, Title, &Before, &Match, &After)) {
- char *Result = strdup(File);
- Result = strreplace(Result, TIMERMACRO_TITLE, Title);
- - Result = strreplace(Result, TIMERMACRO_EPISODE, Episode);
- + if (!isempty(Episode)) // the event might not yet have a "short text", so we leave this to the actual recording
- + Result = strreplace(Result, TIMERMACRO_EPISODE, Episode);
- Result = strreplace(Result, TIMERMACRO_BEFORE, Before);
- Result = strreplace(Result, TIMERMACRO_MATCH, Match);
- Result = strreplace(Result, TIMERMACRO_AFTER, After);