Einen Filter benennen

Ich bin gerade über ein Thema gestolpert, dass ich für sehr nützlich halte und hier im Forum seit über 11 Jahren diskutiert wird - aber offensichtlich noch nicht umgesetzt ist.
Es geht darum Filter zu "benennen".
oder kurz:
Es sammeln sich in der "Filter Dropdown Liste" über die Jahre sehr viele FIlter an, die man aus bestimmten Gründen braucht (bei mir zB "Zeige Files, bei denen Album = TItle ist", "Zeige FIles, bei denen außer den Tags a, b, c noch andere Tags gefüllt sind"). Einige braucht man Monate nicht und muss dann wieder suchen, "wie hatte ich das gelöst" - einige sind sich so ähnlich, dass man beim Nachvollziehen der gespeicherten Filter (um zu suchen, welcher der richtige ist), faszt genau so gut einen neuen Schreiben könnte.

Ich habe die Workarounds gesehen (Filter in separates Verzeichnis schreiben, dort txt Files dazu) - die sind aber in meinen Augen zu umständlich, da kann ich schneller ein Word Dokument mit allen Filtern anlegen und diese per Copy & Paste einfügen - aber: Das ist für mich durch die Brust ins Auge...

Daher:
Gibt es einen Grund (vielleicht kann @Florian etwas dazu sagen), warum dieses Thema nicht angegangen wird?
Steht es auf einer To Do Liste und ist so komplex, dass es in 10 Jahren keine Umsetzung fand?
Gibt es technische "No Gos"?
Oder bin ich einer von wenigen Exoten, die häufig Filter nutzen, so dass sich eine Umsetzung nichht lohnt?
Oder gerät es immer wieder in Vergessenheit?

Ein Beispiel-Thread hierzu findet sich hier:

Ich benutze Filter regelmäßig und finde auch, dass man sie vor dem Anwenden von Aktionen anwenden sollte, damit wirklich nur die Dateien behandelt werden, die geändert werden müssen.

Die Fragen nach dem "Warum" sind immer rückwärts gewandt - und ich meine, dass der Entwickler sich nicht rechtfertigen muss, welche Funktionen er implementiert und welche nicht, speziell bei einem freeware Programm.

Die bisher empfohlene Alternative: Bau dir ein Tool, das den Windows Editor und eine definierte Datei aufruft, in der du die Filterausdrücke und beliebig lange Kommentare ablegst. Da könntest du dann

festhalten.
Es wäre noch ganz schön, wenn die fehlende Funktion hinsichtlich ihrer Benutzerführung beschrieben würde.
Muss man eine Beschreibung eingeben? Wie sucht man in dieser Beschreibung? Wird nach der Beschreibung sortiert? Stehen alle Filter ohne Beschreibung zuerst in der Liste? Oder nur noch Filter mit Beschreibung werden gezeigt, die anderen fallen unter den Tisch? Sollte man dann, wenn man die eigene Nomenklatur nicht mehr so ganz im Kopf hat, nach Filtern filtern können? Ist das oberste Kriterium der Filterausdruck oder die Beschreibung? Wo und wie soll die Beschreibung eingegeben und angezeigt werden?

Ich empfände jedenfalls einen Zwang zur Eingabe einer Beschreibung ungünstig. Und einen Verwurf meiner Filterausdrücke, weil sie keine Beschreibung haben, auch.
Die Kardinalfrage: wie bliebt die aktuelle, sehr schnell zugängliche Filterfunktion erhalten, wenn auch Beschreibungen erfasst werden können sollen?

Ich sehe meine Frage auch überhaupt nicht als Aufforderung zur Rechtfertigung, da verstehst Du mich falsch. Es ist für mich eine von (mehreren) legitimen Optionen, dass der Entwickler sagt, ich sehe keinen Sinn in der Funktion, ich habe keine Lust, sie zu programmieren oder es funktioniert nicht, wie Ihr Euch das vorstellt.

Das ist alles legitim.
Mir geht es darum, dass wenn es eine Aussage gibt, wir die Diskussion, die alle 1, 2 Jahre wieder aufflammt, ein für alle Mal beenden könnten...

na gut. Dabei sieht mir dies:

ziemlich genau nach dem Ablauf einer Rechtfertigung aus.

Genau. Und das ginge ja auch in der Form, dass Dank Diskussion im Forum über das Für und Wider einer Funktion, Vorschlägen aus der Community zu dieser Funktion, ermitteln, welches wohl der geeignetste Kompromiss wäre am Ende die Funktion implementiert wird.
Gerade ist sowas im Dialog zur Dokumentation und zu der Auswahl der Tag-Quellen gelaufen.
Also: frisch ans Werk, Fantasie sprühen lassen - wie soll die Funktion aussehen, damit die "nur Filter"-Benutzer ebenso klar kommen wie die "Filter mit Beschreibung"-Benutzer.

Ich halte bei Filtern ein ähnliches System wie bei Konvertern und Aktionen für sinnvoll.
Während man bei Konvertern und Quick-Aktionen sich entscheiden kann, dass es Sinn macht, eine dauerhafte Aktion anzulegen, fehlt jedoch beim Filter ein Equivalent.

Mit schwebt dabei eine Möglichkeit vor, bestimmte Filterausdrücke dauerhaft in MP3Tag separat aufzubewahren. Das Nachschauen in der Filterliste bringt bei mir ohnehin nichts. Nach einem mehrstündigen Arbeiten mit Mp3Tag kommen im allgemeinen Filterausdrücke im zweistelligen Bereich zu der Liste hinzu. Das sind in der Regel einfache Ad-Hoc-Ausdrücke wie z.B. albumartist HAS beatles, bei denen eine Aufbewahrung ohnehin keinen Sinn ergibt. Darüber hinaus sammeln sich oft bei komplizierteren Ausdrücken Fehlversuche beim Formulieren an, bis man den korrekten gefunden hat. All das macht die Filter-Historie viel zu unübersichtlich, als dass man sie wirklich als Archiv ansehen könnte. Also bleibt nur der Weg mit eiserner Disziplin Filterausdrücke in eine Textdatei zu schreiben und mit Kommentaren zu versehen und möglichst unwichtige oder falsche Filterausdrücke sofort zu löschen. Leider fehlt es mir diesbezüglich an Disziplin und manchmal auch an der Phantasie, dass ich mir aus dem Filterausdruck auf Anhieb ein paar Wochen später keinen Reim mehr machen kann.

Mein Vorschlag also:

  1. Eine Möglichkeit Filterausdrücke wie bei Aktionen dauerhaft speichern zu können.

  2. Für alle gespeicherten Ausdrücke einen Kommentar ermöglichen, der am besten per Tool-Tip beim Überfahren mit der Maus angezeigt wird. Das sähe ich gerne auch bei gespeicherten Aktionen.

2 Likes

Ich sehe das wie @poster: +1

Ein ähnliches/gleiches Vorgehen wie bei den Aktionen wäre sehr hilfreich.
Wenn man auf F3 dann z.B. mit den Anfangsbuchstaben (oder selbstgewählter Numerierung) die zuvor manuell gespeicherten Filter aus einer Liste auswählen und z.B. mit ENTER (oder z.B. F5) anwenden könnte, wäre das schon praktisch.

Bei Aktionen gibt es ja Aktionen und Aktionen(Schnell).
Dann wäre also eine ähnliche Aufteilung sinnig?
Mal Filter nur aus der zuvor gespeicherten und angelegten Liste und andere ad hoc (Filter (Schnell))?
Und dann muss sich der Anwender entscheiden, ob er ggf. einen Filterausdruck erst mal (schnell) ausprobieren will oder ihn (doch) fest speichern will?
Oder kann man vom ad hoc Filter dann im Knopf-Menü eine Funktion Speichern ... finden, die dann die Funktion analog zu Aktionen>Aktionen ... Bearbeiten/Neu öffnet?
Ist es dann zwingend, eine Beschreibung einzugeben?

Da die Filter ja zu länglichen Listen anschwellen können, wäre ich dann für einen eigenen Dialog/ein Fenster, der neben dem MP3tag-Fenster schweben kann und aus dem man dann den Filter auswählen und mit "Anwenden" auf die Liste anwenden kann....
Wobei ... dann kann man eigentlich die ganze Filterleiste unten weglassen und das gleich auch mit dem ad hoc-Eingabefeld in den Dialog auslagern.
Das Fenster ließe sich dann in der Größe anpassen, hätte aber eine 2-spaltige Darstellung mit Filterbeschreibung und Filteranweisung als Spalten.
Das rumschieben, was man so für wichtig erachtet und was weiter unten kommen kann, kann so passieren wie in den Aktionen.
Das An- und Ausschalten des Filters passiert dann mit einem Knopf im Filterdialog.

Ja, könnte ich mir schon vorstellen.

Es gibt keinen technischen und auch keine sonstigen Gründe, die gegen die Umsetzung eines solchen Features sprechen.

Generell kann ich sagen, dass jedes Feature welches bisher nicht umgesetzt wurde, vor allem deswegen nicht umgesetzt wurde, weil ich andere Dinge priorisiert habe. Der erste Vorschlag kann durchaus 10+ Jahre her sein, allerdings war ich in diesen Jahren ja auch nicht untätig.

Konkret zum Thema Benennen von Filterausdrücken gibt es bereits in diesem Topic viele verschiedene Vorstellungen der Umsetzung. Wenn man etwas weiter sucht, gibt es auch noch ein paar andere Beiträge, die ihre Vorschläge formulieren. Was alle gemeinsam haben ist, dass sie Impulse (aber keine vollständige Beschreibung) zur möglichen Umsetzung geben.


Meine momentane Idee zur Umsetzung ist die Entwicklung eines generischen Dialogs zur Verwaltung von Formatstrings, der sowohl für den Filter als auch für Konverter und andere verwendet werden kann. Das Ganze könnte ungefähr so aussehen:

In der Liste können über eine Checkbox in der ersten Spalte Einträge markiert werden, die permanent in der Historie behalten werden sollen. Diese werden dann in der jeweiligen Drop-Down Liste vor den temporären Einträgen angezeigt.

Für alle Einträge kann ein optionaler Name, eine optionale Beschreibung und der eigentliche String editiert werden. Falls ein Name oder eine Beschreibung vergeben werden, kann der String evtl. automatisch als permanenter Eintrag markiert werden (für einen temporären würde man sich denke ich nicht die Mühe machen).

Falls ein Name vergeben wird, wird dieser statt/zusätzlich zu dem eigentlichen String in der Drop-Down Liste angezeigt.

Über die Buttons New, Duplicate und Delete können die Einträge verwaltet werden. Die Buttons Move Down und Move Up beeinflussen die Reihenfolge.

Über Utils können noch zusätzliche Funktionen wie Import und Export umgesetzt werden. Das aber vielleicht auch erst zu einem späteren Zeitpunkt.

Das Ganze ist ein Entwurf, d.h., es ist kein Versprechen, dass es genau so umgesetzt wird.


Für einen kleinen Einblick in den Aufwand den so eine Änderung mit sich bringt, habe ich hier mal die einzelnen Schritte zusammengefasst.

Notwendige Arbeitsschritte zur Umsetzung des Dialogs:

  1. Entwurf und Implementierung des Dialogs zum Verwalten von Formatstrings. Das beinhaltet die generische Parametrisierung durch Konfigurationseinstellungen, Ändern der Größe des Dialogs, Umsetzung der oben geschilderten Funktionen, Speichern der vorgenommenen Änderungen.
  2. Migration der existierenden Konfigurationseinstellungen in ein Format welches zusätzliche Informationen wie Name, Beschreibung und Status erlaubt.
  3. Einbindung des neuen Dialogs in das Hilfsmenü für Formatstrings.
  4. Aktualisierung der Drop-Down Listen durch eine möglicherweise veränderten Konfiguration.
  5. Anlegen und Übersetzen neu hinzugefügter Zeichenketten für die Bezeichnung von UI-Elementen.
  6. Test der Implementierung.

Notwendige Arbeitsschritte zur Umsetzung benannter Formatstrings in den Drop-Down Listen:

  1. Darstellung benannter und temporärer Formatstrings in den Drop-Down Listen.
  2. Anpassung der Auswahl von Formatstrings und Unterscheidung zwischen unbenannten und benannten Formatstring.
  3. Anpassung des Speicherns der Historien von Formatstrings, sodass permanente Einträge erhalten bleiben.
  4. Test der Implementierung.

Ich habe in den beiden Listen sicher noch einiges vergessen, das ergibt sich dann meistens in der Implementierung.

2 Likes

Danke für diese Hintergrund-Infos!

Als erster Eindruck: Das Wireframe sieht aus meiner Sicht übersichtlich und funktionell aus.

Ich nehme an, Du hast den "Edit/Ändern" Button oder das entsprechende Icon bewusst weggelassen, weil man neu direkt den "String" ("Format string"?) des angeklickten Eintrags unterhalb der Liste sehen und ändern kann?

Die Description/Beschreibung sieht man erst, wenn man den einzelnen Eintrag angeklickt hat, richtig?
Ist das ein bewusster Entscheid, diese Beschreibung nicht auch in der Gesamtliste als weitere Spalte anzuzeigen?

Den OK-Button würde ich persönlich eher "Save" oder "Apply" nennen, aber das ist ein Detail. So wie Dein Vorschlag nur noch mit Buttons statt mit Icons zu arbeiten.

1 Like

Danke!

Ja, Änderungen würden dann automatisch übernommen werden.

Ja, ich dachte dass der Name an sich schon eine Erklärung liefert und man bei genauerem Interesse dann den Eintrag auswählen kann und sich seine Notizen zum dem Eintrag ansehen kann. Nachdem die Formatstrings und eine Beschreibung oft lang sind, habe ich an die Anzeige von nur einem der beiden gedacht.

So, jetzt ist es doch etwas anders geworden als oben skizziert.

Ich habe mit Mp3tag v3.14b nun einen Dialog zum Verwalten der Liste eingebaut. Damit können die Einträge nun bearbeitet, gelöscht und umgeordnet werden.

Des weiteren ist es möglich einen optionalen Namen und eine optionale Beschreibung anzugeben. Das soll der Übersicht dienen und eine Dokumentationsmöglichkeit für komplexe Ausdrücke bieten.

Eine automatische Bereinigung der Liste ist nicht vorgesehen, d.h., es werden alle Einträge beibehalten. Allerdings ist über die Möglichkeit der Mehrfachauswahl ein einfaches Löschen nicht mehr benötigter Ausdrücke möglich.

Über die Checkbox für jeden Filter kann der jeweilige Eintrag als "Favorit" gekennzeichnet werden. Damit erscheint dessen Name (und falls keiner vergeben, der Ausdruck selbst) in dem Hilfsmenü als separater Eintrag zum schnellen Zugriff.

Es gibt auch ein paar Tastaturkürzel:

Strg + A Alle auswählen
Strg + Shift + A Auswahl umkehren
Strg + N Neuer Eintrag
Entf Ausgewählte Einträge löschen
Leertaste Ausgewählte Einträge als Favorit markieren/abwählen
Strg + E Alle Einträge als Favorit markieren
Strg + D Einträge als Favorit abwählen

Die bisherigen Einträge im Hilfsmenü zum Entfernen einzelner Einträge und zum Leeren der Liste habe ich entsprechend entfernt.

Ich hoffe das ist eine hilfreiche Ergänzung der Funktionalität und freue mich über Feedback.

1 Like

Also ich finde diese neuen Möglichkeit zur Filter-Verwaltung sehr gut. :+1:

Einen kleinen Fehler habe ich vermutlich noch gefunden:
ManagaFilterHistory

In der ersten Spalte markierte Einträge werden bei Move Down & Move Up irgendwie stehen gelassen. Oder verstehe ich das Prinzip noch nicht?

2 Likes

Danke für die Mühe. Ich sehe diese Lösung funktional als eine klare Verbesserung.
Vielleicht sollte optisch noch etwas gefeilt werden. Die Platzierung der Favoriten unterhalb der schon recht langen Liste der Tagfelder erscheint mir nicht ideal.
Vielleicht sollte man dem Punkt "Filterliste bearbeiten" mit Favoriten einen eigenen Menüpunkt geben.

Das folgt zwar der schon vom Menüpunkt "Aktionen" bekannten Methodik. Dennoch bin ich als erstes gleich in die Falle getappt und habe mit der Checkbox Einträge für von mir beabsichtigtes Löschen ausgewählt.

2 Likes

Danke für den Hinweis! Das ist so nicht gedacht und die Markierung sollte mitwandern. Ich werde das zur nächsten Version beheben.

Ich habe die direkte Platzierung am Ende der Liste gewählt da so die Auswahl per Tastatur recht effektiv sein kann, falls der Fokus auf dem Filterfeld liegt: Strg+Leertaste ruft das Hilfsmenü auf und Pfeiltaste nach oben wählt direkt den untersten Filter-Favorit aus.

Die länge der Liste der Tagfelder variiert dabei auch je nach Konfiguration. Sie enthält jeweils die für das Tag Panel konfigurierten Felder, bei einer Standard-Installation also 10 Einträge.
Wahrscheinlich wird das Feature der Filter-Favoriten aber wiederum von Nutzern bevorzugt, die auch mehrere Einträge im Tag Panel konfiguriert haben.

Und da beißt sich dann wohl auch die Katze in den Schwanz.
Ich habe da eine etwas längere Liste, benutze aber diese Liste eigentlich nie. Mir war auch bisher nicht bewusst, dass die sich an den definierten Feldern des Tagpanels orientiert. Die Tagfelder für den Filterausdruck schreibe ich manuell.

Das ist in Mp3tag v3.14d nun behoben. Danke nochmals für den Hinweis!

1 Like