Skip to content
  • Kategorien
  • Aktuell
  • Tags
  • Beliebt
  • Benutzer
  • Gruppen
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
MediathekView Logo

MediathekView-Forum

  1. Übersicht
  2. Fragen, Hilfe, Kritik
  3. Synchronisation Filmlistestand

Synchronisation Filmlistestand

Geplant Angeheftet Gesperrt Verschoben Fragen, Hilfe, Kritik
21 Beiträge 6 Kommentatoren 1.6k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • G Offline
    G Offline
    Goddert
    antwortete auf styroll am zuletzt editiert von
    #7

    @styroll

    Wiese sollten da Probleme bestehen? Wenn ich vermeide Dateien mit OS-spezifischen Konfigurationen zu kopieren, sehe ich keine grossen Probleme.
    Wichtig ist eben, dass darin nicht auch Informationen zum Stand der Filmliste drin stehen. Dann muss ich diese Dateien mit Skripten auseinanderpflücken. Nicht unmöglich aber lästig.

    MenchenSuedM 1 Antwort Letzte Antwort
    • MenchenSuedM Offline
      MenchenSuedM Offline
      MenchenSued Globaler Moderator
      antwortete auf Goddert am zuletzt editiert von MenchenSued
      #8

      @Goddert
      Die Frage ist doch, was Du unter “Synchronisieren” verstehst. Die XML-Datei enthält neben OS spezifischen Dingen (z.B. Pfade) auch die Abos und Filter. Die history.txt enthält die bereits zum Laden markierten bzw. herunter geladenen Dateien und dann gibt es noch downloadAbos.txt, die die Abotreffer enthält. Die filme.json wird spätestens beim Aktualisieren ersetzt. Die alte Datei kann also nur dazu diesen, die neuen Filme zu erkennen. Wenn diese Funktion nicht gebraucht wird, dann braucht die filme.json auch nicht kopiert zu werden.


      MediathekView 14.3.0 nightly (4.3.2025), Linux Mint 21.3, VLC 3.0.16

      G 1 Antwort Letzte Antwort
      • G Offline
        G Offline
        Goddert
        antwortete auf MenchenSued am zuletzt editiert von Goddert
        #9

        @MenchenSued

        Korrekt. Ich hab mich nicht klar ausgedrückt.

        Aktueller Zustand:
        2 Mediathekview-Installationen, eine unter macOS und eine unter Windows. Im Idealfall sind beide Konfigurationssets bezüglich OS-unabghängiger Informationen (Abos, Filter, Sets, etc.) identisch. Ausser dem Filmlistenstand.

        Definition Filmlistenstand: Auf selbem OS: Filmliste von Zeitpunkt A. Liste mit den Filmen als “gesehene Filme” markiert.
        Wenn die Filmlisten auf beiden OS von unterschiedlichen Zeitpunkten sind ist der Filmlistenstand unterschiedlich. Die Listen der als “gesehen” markierten Filme muss nicht notwendigerweise unterschiedlich sein, kann aber. Ist aber ein Attribut des Filmlistenstands

        Problemstellung:
        Die Installation der Mediathekview unter macOS mit der Installation unter Windows so abzugleichen, dass nach Abgleich der Filmlistenstand auf beiden OS identisch ist.

        Annahmen:
        Da die jar-Files sich wohl nicht ändern, vermute ich mal, dass die Informationen bzgl. des Filmlistenstands entweder innerhalb der Konfigurationsfiles oder als Konfigurationfiles selbst abgelegt sind.

        Um eben nicht OS-abhängige Informationen in den Konfigurationsfiles zu kompromitieren, wären es natürlich wünschenswert nur die notwendigen Informationen auszutauschen, um das obige Problem zu lösen. (das ist dann eher ein technisches Problem. Skript …) Bleibt die Frage der Informationsidentifizierung.

        So wie ich deine Antwort oben verstehe enthält history.txt nur zum Herunterladen markierte oder schon heruntergeladene Dateien. Also keine notwendige Info für den Filmlistenstand.

        Filme.json enthält wohl die zuletzt geladene Filmliste. Es sollte also eigentlich ein Datumsabgleich des Modifikations- oder Erstellungsdatums reichen, um die aktuellste Version der Filmliste aus beiden OS zu identifizieren, korrekt?

        Fehlt nur noch der Status der “gesehenen Filme”, richtig? Ideal wäre die aktuellste Liste der “gesehenen” Filme. Wie die richtige der beiden Listen der als “gesehen” markierten Filme identifiziert werden kann, hängt davon ab wie die Information abgelegt ist.

        1 Antwort Letzte Antwort
        • vitussonV Offline
          vitussonV Offline
          vitusson
          schrieb am zuletzt editiert von
          #10

          Ich habe damit noch nicht gearbeitet, aber kann man das nicht mit der portablen Version hinbekommen auf zwei verschieden Systemen zu operieren?

          G 1 Antwort Letzte Antwort
          • G Offline
            G Offline
            Goddert
            antwortete auf vitusson am zuletzt editiert von
            #11

            @vitusson
            Die Portabilitätsfunktion hat nichts mit Betriebssysteminteroperabilität zu tun, sondern sorgt nur dafür, dass du deine Mediathekview mit dir herumtragen kannst und auf einem gleichen Betriebssystem mit deinen zuvor bearbeiteten Daten nutzen kannst.

            @alle
            Also der Lackmustest hat ergeben, dass die “gelesen”-Markierung im File history.txt verzeichnet wird, eins zu eins für jeden als gelesen markierten Film eine Zeile.
            Stellt sich natürlich die Frage warum das mit dem hin- und herschieben von filme.json und history.txt nicht so klappt wie ich das gerne hätte…
            After all, tomorrow is another day

            vitussonV 1 Antwort Letzte Antwort
            • herbivoreH Offline
              herbivoreH Offline
              herbivore
              schrieb am zuletzt editiert von
              #12

              Hallo @Goddert,

              als gelesen werden alle Filme aus der neu einzulesenden Filmliste markiert, die in der Datei filme.json im Einstellungsverzeichnis bereits vorhanden sind. Alle anderen Filme aus der neu einzulesenden Filmliste werden als ungelesen markiert. Das hat mit history.txt nichts (oder höchstens marginal) zu tun. In history.txt sind nur die bereits heruntergeladenen Videos eingetragen.

              Damit die Gelesen-Markierungen stimmen, musst du vor dem Einlesen der neuen Filmliste also darauf achten, dass sich im Einstellungsverzeichnis die jeweils neueste filme.json befindet. Das wäre automatisch der Fall, wenn du (was aus anderen Gründen, wie z.B. einer vollständigen history.txt, nötig ist) immer das gesamte Konfigurationsverzeichnis von dem OS, auf dem du die bisher letzte Filmliste eingelesen hast, auf das OS kopierst, auf dem du die neue Filmliste einlesen willst.

              Das klappt natürlich nur, wenn die Umgebungen auf beiden OS ähnlich genug sind, also insbesondere die Pfade auf beiden Seiten gleich sind. Ist das nicht der Fall, müsste man sich mit einem kleinen Script behelfen, dass nicht nur kopiert, sondern die nötige Anpassungen an den (Pfad-)Einstellungen vornimmt.

              herbivore

              G 1 Antwort Letzte Antwort
              • MenchenSuedM Offline
                MenchenSuedM Offline
                MenchenSued Globaler Moderator
                schrieb am zuletzt editiert von
                #13

                Ergänzen sollte man noch, dass die automatische Aktualisierung nicht aktiv sein darf, denn wenn MV gestartet wird und die filme.json älter als drei Stunden ist, wird sie sofort wieder überschrieben.


                MediathekView 14.3.0 nightly (4.3.2025), Linux Mint 21.3, VLC 3.0.16

                1 Antwort Letzte Antwort
                • vitussonV Offline
                  vitussonV Offline
                  vitusson
                  antwortete auf Goddert am zuletzt editiert von
                  #14

                  @Goddert sagte in Synchronisation Filmlistestand:

                  @vitusson
                  Die Portabilitätsfunktion hat nichts mit Betriebssysteminteroperabilität zu tun, sondern sorgt nur dafür, dass du deine Mediathekview mit dir herumtragen kannst und auf einem gleichen Betriebssystem mit deinen zuvor bearbeiteten Daten nutzen kannst.

                  Ich weiß durchaus was das heißt, aber Danke für den paternalistischen Ton.

                  Das kannst du aber auch für 3 Betriebssysteme auf den Stick packen. Aber wenn du nichts ausprobieren willst, bleib halt bei deinem Dual-Gewurschtel. EOT von mir.

                  G 1 Antwort Letzte Antwort
                  • G Offline
                    G Offline
                    Goddert
                    antwortete auf vitusson am zuletzt editiert von Goddert
                    #15

                    @vitusson

                    Es war sicherlich nicht meine Absicht in paternlistischem Ton zu schreiben. Wenn das so rübergekommen ist, sorry.

                    Du wirst sicher mit mir übereinstimmen, dass es wenig Sinn macht 2 portable Versionen auf einen Stick zu packen, wenn ich an dem jeweiligen Ort immer nur ein Betriebssystem zur Verfügung habe. Ort A: Windows und Ort B: macOS und diese beiden haben unterschiedliche Filmlistenstände. Warum soll ich denn die portable macOS Version zu Ort A hintragen, wenn ich sie nicht nutzen kann. Das ist ja der Grund warum ich das Dual-Gewurschtel brauche …

                    1 Antwort Letzte Antwort
                    • G Offline
                      G Offline
                      Goddert
                      antwortete auf herbivore am zuletzt editiert von
                      #16

                      @herbivore

                      Dein erster Absatz: (stimme ich grösstenteils überein)
                      Was meinst du mit “heruntergeladenenen Videos”? Per Download/Abspiel-Set heruntergeladene Einträge? Nicht die Option “Film als gesehen markieren”, richtig? Dein: “oder höchstens marginal” war hingegen wichtig 🙂 (siehe unten)

                      Dein zweiter Absatz: (stimme ich grösstenteils überein)
                      Ok, wobei ich gerne das Kopieren des kompletten Verzeichnis vermeiden würde (wegen der vielen potenziellen Fehler und den zu schreibenden Skripten wegen der OS-abhängigen Konfigurationen)

                      Dein dritter Absatz: (Korrekt)

                      Mein Ablauf ist recht einfach: Morgens fahr ich zu Ort A (Windows). filme.json ist vom Abend zuvor unter macOS, ein paar Filme sind als gesehen markiert (wegen Übersicht und aus Desinteresse). Kein Download/Abspielen.
                      Jetzt “synchronisiere” ich die Konfiguration irgendwie (Wunsch…), starte Mediathekview unter Windows und würde gerne dieselbe Filmliste vom Abend zuvor unter macOS sehen mit denselben Filmen als “gesehen” markiert. Irgendwann aktualisiere ich dann die Filmliste, markiere ein paar Filme als “gelesen” und schliesse Mediathekview.
                      Abends fahr dann ich zu Ort B (macOS) und das Spiel beginnt von vorne nur in die andere Richtung.

                      @MenchenSued

                      Korrekt. Ist bei mir immer aus, du kennst mein Internet nicht … tiefstes Land 🙂


                      Wie geschrieben, habe ich einige Tests gemacht.

                      Vorbedingungen:

                      • Blacklist ist ausgeschaltet
                      • Filmliste wird nie automatisch geladen, sondern nur manuell. Vorhandene Filmliste ist nicht notwendigerweise die aktuellste.
                      • mit “gesehen” markieren ist die Benutzung der Kontextmenüoption “Film als gesehen markieren” gemeint.
                      • mit “Download”/“Herunterladen” ist der Start eines Sets zum Abspielen, Downloads etc. gemeint.
                      • Kein Filter ist aktiviert.

                      Test 1:

                      • history.txt gelöscht
                      • film.json vorhanden
                      • Mediathekview gestartet
                      • Mediathekview Interface Filmliste: 0 “gesehene” Filme, xxx Filme ungesehen
                      • Mediathekview Statuszeile: xxx Filme
                      • Mediathekview beendet
                      • History.txt vorhanden (0 Bytes)
                      • filme.json unverändert

                      Test 2:

                      • Mediathekview gestartet
                      • Filmliste heruntergeladen (aktualisiert).
                      • Mediathekview Interface Filmliste: 0 “gesehene” Filme, yyy Filme ungesehen
                      • Mediathekview Statuszeile: yyy Filme
                      • Mediathekview beendet.
                      • History.txt vorhanden (0 Bytes)
                      • filme.json verändert

                      Test 3:

                      • Mediathekview gestartet
                      • Einen Film A im Kontextmenu als gesehen markiert
                      • Mediathekview Interface Filmliste: 1 “gesehenen” Film, yyy-1 Filme ungesehen
                      • Mediathekview Statuszeile: yyy Filme, 0 Download
                      • Mediathekview beendet
                      • history.txt enthält genau eine Zeile mit dem als gesehen markierten Film
                      • filme.json unverändert

                      Test 4:

                      • Mediathekview gestartet
                      • Einen Film B mittels Downloadbutton per Set heruntergeladen
                      • Mediathekview Interface Filmliste: 2 “gesehene” Filme, yyy-2 Filme ungesehen
                      • Mediathekview Statuszeile: yyy Filme
                      • Mediathekview beendet
                      • history.txt enthält genau zwei Zeilen. Eine Zeile mit dem als gesehen markierten Film A und eine zweite - Zeile mit dem “heruntergeladenenen” Film.
                      • filme.json unverändert

                      Test:

                      • filme.json gelöscht
                      • Mediathekview gestartet
                      • Mediathekview Interface Filmliste: 0 “gesehene” Filme, 0 Filme ungesehen
                      • Mediathekview Statuszeile: 0 Filme
                      • Mediathekview beendet

                      Schlussfolgerungen:

                      • Markierung eines Films als “Gesehen” mittels Kontextmenu veranlaßt Mediathekview den Film in history.txt einzutragen.

                      • Der “Download”/“Abspielen” eines Films mittels Set veranlaßt Mediathekview den Film als “Gesehen” zu markieren und ihn in history.txt einzutragen (unabhängig davon, ob er dort schon eingetragen war)

                      • Kleiner aber feiner Unterschied: Ich kann einen Film als “Gesehen markieren” ohne ihn herunterzuladen/abzuspielen. Das macht die Markierung als “Gesehen” atomarer als den Download/das Abspielen mit Set. Wichtig, weil ich in der Regel Filme nicht herunterlade/abspiele sondern als “gesehen” markiere und dieser Status wichtig für mich ist (ich blende “gesehene” Filme normalerweise mittels Filter aus)

                      • Ohne filme.json keine Filme in Mediathekview (ziemlich offensichtlich, schon klar)

                      Nebensächlichkeiten:

                      • Jeder “Download” eines Films erzeugt einen neuen Eintrag des Films in history.txt (auch mehrmals denselben Film)
                      • Das Markieren eines Films als “ungelesen” löscht alle Einträge eines Films in history.txt

                      Die anderen Konfigurationsdateien erfahren keine substanziellen Änderungen. Es sollten folglich filme.json und history.txt reichen, um den Filmlistenstand zu trasferieren. Der Fehler warum es bisher nicht klappte sitzt höchstwahrscheinlich vor dem Schirm.

                      Ich denke wir haben jetzt alle Details. Ich probier weiter aus und berichte dann über das Endergebnis.

                      1 Antwort Letzte Antwort
                      • D Online
                        D Online
                        DerReisende77 Entwickler
                        schrieb am zuletzt editiert von
                        #17

                        Um Klarheit für alle Beteiligten zu schaffen:

                        1. Es ist nicht möglich, gemeinsame Konfigurationsdateien für MV Windows und MV macOS zu verwenden.
                        2. history.txt speichert Filme, die gedownloadet wurden ODER “als gesehen” markiert wurden.
                        3. downloadAbos.txt speichert Filme, die über ein Abo geladen wurden.
                        4. der gleichzeitige Betrieb von zwei Instanzen MV wird Chaos und Zerstörung über die Konfiguration bringen

                        Warum ist die gemeinsame abwechselnde Nutzung unter Windows und macOS nicht möglich?
                        history.txt und downloadAbos.txt sind wie die Dateiendung es schon ausdrückt Textdateien. Diese werden je nach Betriebssystem mit einer unterschiedlichen Kodierung abgespeichert. Unter macOS ist es UTF-8 und unter einem deutschen Windows ISO8859-1. Um also diese Dateien abwechselnd verwenden zu können müssten sie jedes Mal korrekt konvertiert werden. Ich könnte MV so umprogrammieren dass diese Dateien nur in einem Format geschrieben werden. Das wird aber die vorhandenen Daten zerstören da man das encoding einer vorhandenen Datei nicht ermitteln sondern nur erraten kann.
                        Nach MV 13.3 steht auf dem Plan, diese Textdateien abzuschaffen und durch eine Datenbank zu ersetzen. Dann hätte sich das Problem mit der Austauschbarkeit erledigt. Dies könnte für 13.4 schon erfolgen.

                        Warum bringt die gleichzeitige Nutzung der Dateien Chaos und Zerstörung über meine Konfigurationsdateien?
                        Derzeit liest MV die o.g. Dateien beim Start in den Speicher und schreibt Änderungen komplett wieder in die Datei. Beim gleichzeitigem Betrieb würde deshalb ein ping pong Effekt entstehen und immer wieder Daten verloren gehen. Weiterhin kann java Dateien nicht zuverlässig sperren so dass im schlimmsten Falle das Windows MV eine halbe Datei liest und die macOS MV Version gerade anfängt die Datei neu zu schreiben. Das Ergebnis ist dann Mist.
                        Aus diesem Grund verweigert MV auch den Start einer zweiten Instanz wenn eine vorhandene erkannt wird.

                        MV ist als single user Programm damals konzipiert worden.

                        HTH

                        Open source developers do NOT have to:

                        • Make your issue a priority, just because you say so.
                        • Give you any sort of "timetable", or explanation for why it´s "taking too long".

                        Check your entitlement. Nobody owes you anything.

                        styrollS 1 Antwort Letzte Antwort
                        • styrollS Offline
                          styrollS Offline
                          styroll
                          antwortete auf DerReisende77 am zuletzt editiert von styroll
                          #18

                          @DerReisende77 sagte: downloadAbos.txt speichert Filme, die über ein Abo geladen wurden.

                          Zumindest zwei Personen in diesem Thread müssten jetzt wieder an Pferde denken…

                          Es erscheinen in diesem File zusätzlich auch Einträge aus Abos, die man gelöscht hat, aber eben nicht die Einträge, die ein Abo gefunden hat…

                          (Kann man alles selber ausprobieren und nachvollziehen – “XMLTXT”-Dateien sind ja ziemlich Klartext, nicht Binäres.)

                          D 2 Antworten Letzte Antwort
                          • D Online
                            D Online
                            DerReisende77 Entwickler
                            antwortete auf styroll am zuletzt editiert von
                            #19

                            @styroll Ok du hast Recht, es wird auch ein Abo was manuell aus den Downloads gelöscht wurde dort mit abgelegt. mea culpa. Ist aber auch logisch sonst würde es beim nächsten Start wieder auftauchen.
                            Ansonsten muß ich es nicht ausprobieren, ich kann den Code lesen den ich mit- oder selbst geschrieben habe. Und daher weiß ich auch dass es sich bei beiden genannten Dateien auch nicht um XML sondern um Textdateien handelt…

                            Open source developers do NOT have to:

                            • Make your issue a priority, just because you say so.
                            • Give you any sort of "timetable", or explanation for why it´s "taking too long".

                            Check your entitlement. Nobody owes you anything.

                            styrollS 1 Antwort Letzte Antwort
                            • D Online
                              D Online
                              DerReisende77 Entwickler
                              antwortete auf styroll am zuletzt editiert von DerReisende77
                              #20

                              @styroll sagte in Synchronisation Filmlistestand:

                              Es erscheinen in diesem File zusätzlich auch Einträge aus Abos, die man gelöscht hat, aber eben nicht die Einträge, die ein Abo gefunden hat…

                              if (daten.getAboHistoryController().urlPruefen(film.getUrlHistory())) {
                                              // ist schon mal geladen worden
                                              continue;
                                          }
                              

                              Deine Aussage stimmt also so nicht. Kannst Du gerne auch in ListeDownloads.java, Funktion abosSuchen(…) nachlesen (Zeile 337ff im develop branch). getAboHistoryController() ist für downloadAbos.txtzuständig.

                              Ich befürchte jedoch deinen Beitrag beim ersten Mal falsch interpretiert zu haben. In der XML-File (du wirst mediathek.xml meinen) stehen die Abo-Definitionen drin als auch die noch nicht abgearbeiteten Downloads drin.
                              Ist ein Download fertig bzw. gelöscht worden wandert er in history.txt und/oder downloadAbos.txt. Dann ist er auch nicht mehr in mediathek.xmldrin.
                              Und ja, grundsätzlich hast Du Recht mit Deiner Aussage das Downloads, die aus einem Abo-Suchlauf resultieren, nicht in mediathek.xmlauftauchen, da sie nach einer Änderung der Filmliste aktiv neu gesucht werden.

                              Ansonsten sind meine Ausführungen oben korrekt.

                              Open source developers do NOT have to:

                              • Make your issue a priority, just because you say so.
                              • Give you any sort of "timetable", or explanation for why it´s "taking too long".

                              Check your entitlement. Nobody owes you anything.

                              1 Antwort Letzte Antwort
                              • styrollS Offline
                                styrollS Offline
                                styroll
                                antwortete auf DerReisende77 am zuletzt editiert von styroll
                                #21

                                @DerReisende77 sagte: Ok du hast Recht, es wird auch ein Abo was manuell aus den Downloads gelöscht wurde dort mit abgelegt.

                                Sorry, ich hab bloss eine völlig korrekte Aussage (zur Funktion der Datei “downloadAbos.txt”) von dir zitiert, diese noch ergänzt und an zwei andere Personen (vgl. mein entsprechender Link) adressiert. Die Ausssage ging also nicht an dich.

                                Fälschlicherweise habe ich XML statt TXT geschrieben (hab ich korrigiert), was dich verständlicherweise verwirrt hat (es ging also nie um “mediathek.xml”)…

                                1 Antwort Letzte Antwort

                                • 1
                                • 2

                                34

                                Online

                                6.6k

                                Benutzer

                                6.1k

                                Themen

                                39.0k

                                Beiträge
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Kategorien
                                • Aktuell
                                • Tags
                                • Beliebt
                                • Benutzer
                                • Gruppen