Sortrecordings-Patch

VDR-Portal Thread: http://www.vdrportal.de/board/thread.php?threadid=35365

wie wohl viele habe ich meine Aufnahmen in Verzeichnisse und Unterverzeichnisse kopiert. Leider sortiert der VDR Verzeichnisse zwischen die Aufnahmen. Nachdem ich zunächst mit dem Vorsetzen von Leerzeichen (werden machmal durch _ ersetzt) und '-' (geschnittene Aufnahmen mit '%' landen doch wieder davor) die richtige Sortierung erzwingen wollte, hier nun ein kleiner aber feiner Patch.

Vorher:


Nachher:


Hauptsächlich war das Ziel die Verzeichnisse vorn einzusortieren.
Mit diesem Patch sortiert der VDR wie folgt:


Dabei ist der Patch so einfach, dass er schneller abgetippt werden kann als patch auszuführen.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
--- vdrdevel-1.3.24.org/recording.c	2005-05-07 17:25:15.000000000 +0200
+++ vdrdevel-1.3.24/recording.c 2005-06-17 00:24:44.000000000 +0200
@@ -445,8 +445,8 @@
s1 = t;
}
t++;
- }
- if (s1 && s2)
+ } *s1 = 255;
+ if (s1 && s2 && s1 != s && !strchr(".-$ª·", *(s1 - 1)))
memmove(s1 + 1, s2, t - s2 + 1);
return s;
}
@@ -454,7 +454,7 @@
char *cRecording::SortName(void) const
{
if (!sortBuffer) {
- char *s = StripEpisodeName(strdup(FileName() + strlen(VideoDirectory) + 1));
+ char *s = StripEpisodeName(strdup(FileName() + strlen(VideoDirectory) ));
int l = strxfrm(NULL, s, 0) + 1;
sortBuffer = MALLOC(char, l);
strxfrm(sortBuffer, s, l);
Auch wenn ich ihn unter V1.3.24 gestestet und entwickelt habe, sollte er bis V1.2.6 funktionieren, da sich die betroffenen Funktionen seit dem nicht geändert haben.
Update: Auch unter 1.3.27 funktioniert er tadellos.
Update: Auch Verzeichnisse die auf das Zeichen "ª" (Alt-0170) enden werden jetzt alphanumerisch sortiert. Mit dem neuen sortswitch kann dies umgeschaltet werden. Beim Umschalten werden im VDR Messages angezeigt (z.B. 'Filme' wird jetzt nach Name sortiert.).
Update: Auch Verzeichnisse die auf das Zeichen "·" (Alt-0183) enden werden jetzt alphanumerisch sortiert.

Über diesen Command-Hook läßt sich an jedes Unterverzeichnis ein "ª"-Zeichen anhängen beziehungsweise wieder entfernen und somit die Sortierung des Menüs von "nach Datum" zu "nach Name" und zurück zu wechseln.


Downloads:
reccmds.sortswitch.conf
sortswitch (new and improved)

sortrecordings.diff (diff zum Selberpatchen)
11_sortrecordings.dpatch (Patch für Tobi/TomG VDR-Pakete)
vdrdevel_1.3.27-1_i386-sort2.deb (angepasstes TomG Multipatch Paket)


Document made with Nvu