[Patch] SortRecordings_v3

  • Hallo,


    da es lt. hier ja Pflicht für jedes Mitglied ist einen Sortierpatch zu veröffentlichen, habe ich mich auch mal daran gemacht, selbst einen zu schreiben. Er baut auf den sortrec_v2 aus diesem Thread auf und erweitert ihn um einige Features. Mit diesem Patch gibt es nun folgende Sortiermöglichkeiten:

    • 0 - Sortierung nach Alphabet für das Hauptverzeichnis, für Unterverzeichnisse nach Datum bzw. die verzeichnisabhängige Sortierung
    • 1 - Sortierung nach Datum für das Hauptverzeichnis, für Unterverzeichnisse nach Datum bzw. die verzeichnisabhängige Sortierung
    • 2 - Sortierung nach Alphabet für das Haupt- und alle Unterverzeichnisse
    • 3 - Sortierung nach Datum für das Haupt- und alle Unterverzeichnisse

    Beibehalten wurde die verzeichnisabhängige Sortierung bei Sortierart 0 und 1, d.h. wenn ein Verzeichnisname auf eines der Sonderzeichen ".-$ª·" endet, dann wird dieses Verzeichnis alphabetisch sortiert.


    Zwischen den einzelnen Sortierarten kann man mit der Taste "0" weiterschalten, wobei nach der 3 wieder auf 0 geschaltet wird. Die Sortierart bleibt über VDR-Restarts erhalten (wird in setup.conf gespeichert)


    NEU: Mit der Taste "9" kann man die Sortierreihenfolge zwischen aufsteigend und absteigend hin- und herschalten (Einstellung wird nicht in setp.conf gespeichert).


    Unter Einstellungen->Aufnahmen kann man festlegen, ob Verzeichnisse _vor_ Aufnahmen einsortiert werden sollen (wird auch in setup.conf gespeichert und bleibt damit über Restarts erhalten), ansonsten werden sie alphabetisch einsortiert.


    Voraussetzung ist der liemikuutio-Patch 1.7 oder 1.8 von hier.
    Es sollte auch mit VDR 1.4.0 gehen, entwickelt und getestet habe ich auf VDR 1.4.1



    Viel Spaß beim Sortieren! :]
    FireFly


    PS: wenn man geschnittene Aufnahmen (mit %) bei der ungeschnittenen Aufnahme (ohne %) einsortiert haben möchte, dann kann man das über entsprechende locale-Einstellungen erreichen, z.B. mit "export LC_COLLATE=de_DE@euro" vor dem vdr-Aufruf.

  • hallo,
    wollte gerade die Sortierung unter vdr-1.4.5 testen,
    bekomme aber diesen Error hier.

    Code
    g++ -g -O2 -Wall -Woverloaded-virtual -c -DREMOTE_KBD -DREMOTE_LIRC -DVDR_USER=\"vdr\" -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE -DVIDEODIR=\"/video0\" -DPLUGINDIR=\"./PLUGINS/lib\"  recording.c
    recording.c: In member function 'bool cRecording::Rename(const char*, int*, int*)':
    recording.c:926: error: incompatible types in assignment of 'int' to 'char* [4]'


    Laesst sich das beheben ? gcc (GCC) 4.1.1 (Gentoo 4.1.1-r3)


    Moechte eigentlich nur, dass die mit % markierten Aufzeichnungen vorangestellt werden,
    momentan muss dazu erst die Taste '0' getaetigt werden.
    Laesst sich das auch ohne diesen Patch dauerhaft regeln ?


    mfg

  • Hi!


    Zitat

    Original von holymoly
    Moechte eigentlich nur, dass die mit % markierten Aufzeichnungen vorangestellt werden,
    momentan muss dazu erst die Taste '0' getaetigt werden.
    Laesst sich das auch ohne diesen Patch dauerhaft regeln ?


    Ist etwas was mich auch sehr gestört hat. Deshalb habe ich das für mich so gelöst: [ANNOUNCE] Erweiterung für den "Simple recordings sorting"-Patch im "liemikuutio"-Patch


    Gruß,
    Brougs78

    - -- --- ================================================================ --- -- -
    Antec Fusion, Intel E5200, Asus P5N7A-VM (VDPAU), DD CineS2 v6 + DD DuoFlex CI // yavdr-0.6.1
    - -- --- ================================================================ --- -- -

  • Finally an answer ... :bounce2 ... auch wenn's n bug report ist ...


    Hallo holymoly, die Funktion cRecording::Rename kommt eigentlich aus dem liemkuutio-Patch. Kannst Du es mal nur mit dem liemkuutio (ohne sortrec) probieren? Ansonsten poste doch mal bitte die Zeilen rund um recordings.c:926 (und was steht in Zeile 926?). Durch das Patchen haben die ja überall ne andere Zeilennummer.
    Bei meinem gcc (Suse 10.2, gcc 4.1.2 prerelase) läufts durch...


    Greetings
    Firefly

  • Hier exakt der gleiche Fehler mit dem vdr-1.4.5-liemikuutio-1.13.diff.gz, sortrec_v3, SuSE10 mit gcc4.


    Die betroffene Zeile (Fett) aus recordings.c:



    sortBuffer = NULL;


    Nur mit liemikuutio läufts durch...


    Grüße Christian



    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



    Einmal editiert, zuletzt von CKone ()

  • Zitat

    aber ich schau mal, ob sich da was verändert hat.


    Ja das wär super FireFly.


    Ich bin nämlich gerade dabei deinen Patch für zulu in den Extensions einzubauen bzw. von v2 auf v3 upzudaten. Dachte erst es wär ein Fehler von mir, aufgrund des Postings von holymoly hab ichs dann aber auf plain vdr versucht und da ists genauso...


    Grüße Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



    Einmal editiert, zuletzt von CKone ()

  • Zitat

    Original von FireFly
    ich nutze immer noch den vdr-1.4.4-liemikuutio-1.13.diff.gz mit vdr 1.4.5, aber ich schau mal, ob sich da was verändert hat.


    FireFly


    Der geht auch nicht in Kombination mit deinem Patch, weder mit vdr 1.4.5 noch mit 1.4.4


    Scheint so als hättest du dein Patch für die neuesten gcc optimiert ;)


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



    Einmal editiert, zuletzt von CKone ()

  • Ok, ich kanns reproduzieren und habe den (meinen) Fehler gefunden: ich habe den sortrec-Patch zusammen mit dem optimized-rename-Patch von hier entwickelt und setze sie auch nur zusammen ein. Da sich beide an einer Stelle etwas überschneiden gibts da im optimized-rename ein #ifdef, das aber wohl besser in den sortrec gehört:


    Keine Ahnung, was ich mir dabei gedacht habe, den nicht in den sortrec zu übernehmen :schiel
    Ich werde das noch mal überarbeiten und neue diffs erstellen, aber bis dahin hilft Euch vielleicht das Codestück oben für recording.c. Oder baue doch gleich noch den optimized-rename mit ein ;D


    FireFly

  • Danke FireFly, funzt jetzt, ich glaub ich mach den anderen auch mit rein, sie aber nur gemeinsam an/abwählbar


    Gruß Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



  • So, das Problem war, dass der optimized-Rename (Umbenennen einer Aufnahme ohne komplettes neu-Einlesen aller Aufnahmen) einige Änderungen gemacht hat, auf die der Sortrec dann unterschiedlich angepaßt werden mußte, deshalb war ein Teil im optimzed-Rename drin. Da das optimierte Umbennen aber mittlerweile im liemkuutio drin ist, muß darauf keine Rücksicht mehr genommen werden und der sortrec im Anhang hat keine Abhängigkeiten mehr (außer natürlich liemkuutio).


    Happy sorting
    FireFly

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!