foo_uie_tagger_mod

Begonnen von qwert73, 19. September 2008, 13:21:24

Vorheriges Thema - Nächstes Thema

fooamp

Zitat von: fbuser in 26. September 2008, 19:12:25
Zitat von: robin75 in 26. September 2008, 18:50:11
hallo freunde, ohne mich in eurer Diskussion einmischen zu wollen...
leider kann ich das plugin nicht verwenden, weil SERATO (meine dj software) die Comments (mit dem hier besprochenen Tagger gesetzt) nicht lesen kann.
schade!
Sonst hat es meinen Ansprüchen (fast) gereicht.

Danke und Grüße!
Das liegt aber nicht an dem Plugin, da dieses zum Taggen die Foobar-API verwendet. Falls du MP3-Dateien verwendest handelt es sich dabei möglicherweise um eines der häufiger auftretenden Kompatibilitätsprobleme mit verschiedenen Tag-Versionen. Da kann man in Fb2k auch etwas einstellen. Genaueres kann ich dir dazu nicht sagen, da ich selbst keine MP3-Dateien verwende.

Es dürfte sich um ein ähnliches Problem wie das hier gelöste handeln:

http://foobar-users.de/index.php?topic=1531.0

qwert73

#16
Hallo fbuser!

Freut mich, dass Du eine neue Version deines Plugins herausgebracht hast. Nachdem ich bei der ersten Version mich wohl ein wenig harsch und ungestüm ob des Designs der Komponente geäußert habe, habe ich mir nun ein wenig mehr Zeit genommen - die habe ich aber auch gebraucht, um die Funktionsweise vollständig zu begreifen. Das, was bei mir größte Verwirrung ausgelöst und mich fast verückt gemacht hatte, hast Du erfreulicherweise nun beseitigt. Dennoch gab es bei mir bis zum vollständigen Begreifen einige Hürden zu bewältigen: Einiges könnte doch noch ausgebessert werden, um ein einfach zu bedienendes und leicht zu begreifendes Plugin vor sich zu haben. Deswegen also im folgenden einige konstruktive Verbesserungsvorschläge.

Den eigentlichen Klops im Design, der aus meiner Sicht unweigerlich bei den Meisten zu anfänglichen Irritationen führen muss, sehe ich in zwei Punkten:

1. Die Zeile, in der das "Metadata field" eingetragen wird, hat zwei Bedeutungen: Zum einem wird darin festgelegt, welches Feld geschrieben werden soll - zum anderem aber wird auch bestimmt, aus welchem Feld einige derjenigen Werte rekrutiert werden, die in der Tagliste innerhalb der Optionen und schließlich im eigentlichen Panel verfügbar sein sollen.

2. Die Werte innerhalb der Tagliste im Optionsdialog haben mehrere Quellen: a) die Werte, die per Hand eingegeben werden können - b) die Werte aus dem in "Metadata field" festgelegten Tag, die dann bei jeder Auswahl von Tracks in der Playlist erfahren werden und damit die Tagliste langsam anwachsen lassen - c) alle in der Library vorhandenen Werte eines Feldes, welcher nun an einer anderen Stelle unter "Scan library for more tags in field" bestimmt wird.

Ich will jetzt nicht alle Irritationen aufzählen, die bei mir so aufgetreten sind, dafür jedoch einen grundlegenden Mangel benennen, der sich aus den obigen zwei Punkten ganz von alleine ergibt: die von mir oben erwähnten Quellen sind nicht von der Art, dass sie sich hübsch zusammenaddieren ließen, sondern nehmen  je nach Option eine unterschiedliche Bedeutung ein: Mal summieren sich die Werte tatsächlich in der Tagliste, einander Mal schließt die eine Quelle die andere aus. Damit wirkt die Rekrutierung der Werte und die Rolle der Tagliste im Optionsdialog beim erstmaligen Gebrauch undurchsichtig.

Ein Beispiele nur: Ist "Filter on focused tag" aktiviert, so läßt sich die Tagliste in den Optionen zwar weiterhin manuell bearbeiten, die vorgenommenen Änderungen werden aber beim Schließen der Optionen wieder rückgängig gemacht. Ja klar, dass muss so sein - aber bis man weiss wieso, weil man irgendwann die Funktionsweise durchblickt, kann einem schon ganz viel Qualm aus dem Schädel gestiegen sein.

Was hältst Du vom folgenden Basiskonzept, das diese Mängel ausräumen würde?

* In der Zeile "Metadata field" wird nur  bestimmt, welches Feld getaggt wird.

* In "Scan library for more tags"  wird festgelegt ob überhaupt und wenn ja, welche(r) Tag(s) die Liste im Panel aufstellen soll. Da "Filter on focused tag" sich nicht mehr "Metadata field" bezieht,  wäre es eine Unteroption von "Scan library for more tags" und weiß von ihr was es filtern soll.

* Die Tagliste innerhalb der Optionen ist vollkommen entkoppelt von der Liste im Panel. Darin enthalten sind dann nur noch manuell eingefügte Werte, die dauerhaft und unabhängig von der Library zur Verfügung stehen sollen.

* Die gerade genannten vier Elemente sind durch ihre Anordnung im Optionsdialog auf den ersten Blick als zusammengehörig zu erkennen und haben aussagekräftigere Namen wie "Field to edit", "Show all values of field", "Filter by same", "Additional values".








fbuser

#17
Hallo quwert73!

Erst mal vielen Dank, dass du dir soviel Mühe gemacht hast, dich mit dem Plugin zu beschäftigen. Allerdings muss ich deinen Vorschlägen größtenteils widersprechen.

Zitat von: qwert73 in 24. Dezember 2008, 13:33:23Einiges könnte doch noch ausgebessert werden, um ein einfach zu bedienendes und leicht zu begreifendes Plugin vor sich zu haben.
Leicht zu bedienen sollte ein Plugin immer sein. Das leichte Begreifen ist allerdings immer von der Komplexität der Funktionalität abhängig. Je komplexer ein Sachverhalt ist, desto mehr muss man sich damit beschäftigen, um diesen zu verstehen.

Zitat von: qwert73 in 24. Dezember 2008, 13:33:231. Die Zeile, in der das "Metadata field" eingetragen wird, hat zwei Bedeutungen: Zum einem wird darin festgelegt, welches Feld geschrieben werden soll - zum anderem aber wird auch bestimmt, aus welchem Feld einige derjenigen Werte rekrutiert werden, die in der Tagliste innerhalb der Optionen und schließlich im eigentlichen Panel verfügbar sein sollen.
Ich glaube, hier denkst du zu sehr um die Ecke. Der Grundgedanke ist, dass für das zu schreibende Feld eine Werteliste definiert wird, welche bei Bedarf um in diesem Feld bereits vorhandene Werte ergänzt wird.

Zitat von: qwert73 in 24. Dezember 2008, 13:33:232. Die Werte innerhalb der Tagliste im Optionsdialog haben mehrere Quellen:
Darin sehe ich kein Problem, da diese Quellen sich ergänzen. Zumal diese Quellen teilweise optional sind.

Zitat von: qwert73 in 24. Dezember 2008, 13:33:23b) die Werte aus dem in "Metadata field" festgelegten Tag, die dann bei jeder Auswahl von Tracks in der Playlist erfahren werden und damit die Tagliste langsam anwachsen lassen
Das ist zwingend notwendig, da sonst Inkonsistenzen zwischen der Anzeige im Panel und den Werten der selektierten Playlist-Einträge auftreten würden.

Zitat von: qwert73 in 24. Dezember 2008, 13:33:23c) alle in der Library vorhandenen Werte eines Feldes, welcher nun an einer anderen Stelle unter "Scan library for more tags in field" bestimmt wird.
Die Angabe eines Feldes unter "Scan library for more tags in field" ist optional und wird nur benötigt, wenn die Werte aus einem oder mehreren anderen Felden als dem "Metadata field" gelesen werden sollen. Das ist sinnvoll, wenn Felder sich überschneidende Wertemengen besitzen, wie z.B. <artist> und <album artist>.

Zitat von: qwert73 in 24. Dezember 2008, 13:33:23die von mir oben erwähnten Quellen sind nicht von der Art, dass sie sich hübsch zusammenaddieren ließen, sondern nehmen  je nach Option eine unterschiedliche Bedeutung ein: Mal summieren sich die Werte tatsächlich in der Tagliste, einander Mal schließt die eine Quelle die andere aus.
Gerade die von dir genannten Quellen machen genau dies. Die Werte summieren sich in der Tagliste. Eine Ausnahme bildet nur die Option "Filter on focused tag".

Zitat von: qwert73 in 24. Dezember 2008, 13:33:23Ein Beispiele nur: Ist "Filter on focused tag" aktiviert, so läßt sich die Tagliste in den Optionen zwar weiterhin manuell bearbeiten, die vorgenommenen Änderungen werden aber beim Schließen der Optionen wieder rückgängig gemacht. Ja klar, dass muss so sein - aber bis man weiss wieso, weil man irgendwann die Funktionsweise durchblickt, kann einem schon ganz viel Qualm aus dem Schädel gestiegen sein.
Vielen Dank für den Hinweis. Das hatte ich übersehen. In der aktuellen Version ist die Tagliste nicht mehr zugänglich, wenn "Filter on focused tag" aktiviert ist. Zusätzlich habe ich eine Anmerkung in der Hilfe-Datei hinzugefügt, dass die Tagliste durch diese Option komplett überschrieben wird.

Zitat von: qwert73 in 24. Dezember 2008, 13:33:23* In "Scan library for more tags"  wird festgelegt ob überhaupt und wenn ja, welche(r) Tag(s) die Liste im Panel aufstellen soll. Da "Filter on focused tag" sich nicht mehr "Metadata field" bezieht,  wäre es eine Unteroption von "Scan library for more tags" und weiß von ihr was es filtern soll.
Im Normalfall sind das Feld, welches getaggt werden soll und das Feld welches gescannt werden soll identisch. Wenn zwingend eine Angabe für das zu scannende Feld erfolgen soll, müssen dann in der Regel Informationen unnötig doppelt eingegeben werden.

Zitat von: qwert73 in 24. Dezember 2008, 13:33:23* Die Tagliste innerhalb der Optionen ist vollkommen entkoppelt von der Liste im Panel. Darin enthalten sind dann nur noch manuell eingefügte Werte, die dauerhaft und unabhängig von der Library zur Verfügung stehen sollen.
Das verschiebt eigentlich nur den Punkt, an dem eine mögliche Verwirrung auftreten kann. Wenn ich dich richtig verstanden habe, hat es dich verwirrt, dass von dir manuell eingegebene Werte in den Optionen automatisch ergänzt wurden. Wenn ich die von dir beschriebene Trennung durchführe, könnte man dadurch verwirrt werden, dass die manuell eingegebenen Werte im Panel durch zusätzliche Werte ergänzt werden.

So leid es mir tut, aber ich sehe bei den von dir aufgeführten Punkten keinen Handlungsbedarf und werde daher die von dir vorgeschlagenen Änderungen nicht durchführen. Das sollte dich aber nicht davon abhalten, weiter Verbesserungsvorschläge zu machen.

qwert73

Anscheinend haben wir unterschiedliche Vorstellungen von Bedienungskonzepten. So ist das nunmal! :)

Ich fass mich also kurz:

Zitat von: fbuser in 26. Dezember 2008, 01:53:52
Zitat von: qwert73 in 24. Dezember 2008, 13:33:23Ein Beispiele nur: Ist "Filter on focused tag" aktiviert, so läßt sich die Tagliste in den Optionen zwar weiterhin manuell bearbeiten, die vorgenommenen Änderungen werden aber beim Schließen der Optionen wieder rückgängig gemacht. Ja klar, dass muss so sein - aber bis man weiss wieso, weil man irgendwann die Funktionsweise durchblickt, kann einem schon ganz viel Qualm aus dem Schädel gestiegen sein.
Vielen Dank für den Hinweis. Das hatte ich übersehen. In der aktuellen Version ist die Tagliste nicht mehr zugänglich, wenn "Filter on focused tag" aktiviert ist. Zusätzlich habe ich eine Anmerkung in der Hilfe-Datei hinzugefügt, dass die Tagliste durch diese Option komplett überschrieben wird.

Nicht anders ist es doch auch, wenn "Filter on focused tag" deaktiviert, dafür aber unter "Scan library for more tags" ein Feld definiert wird: Die Werte dieses Feldes werden weiterhin automatisch der Tagliste beigefügt - die Werte lassen sich manuell entfernen, erscheinen aber sofort wieder beim Schließen der Optionen. Die Frage ist doch: Wie sinnvoll ist es denn dann, diese Werte einer manuell editierbaren Liste beizufügen? Würde es dann nicht reichen, sie lediglich im Panel selber zu sehen? Das meinte ich mit Entkoppelung  der manuell editierbare Tagliste von der Liste im Panel.

Zitat von: fbuser in 26. Dezember 2008, 01:53:52
Zitat von: qwert73 in 24. Dezember 2008, 13:33:23* In "Scan library for more tags"  wird festgelegt ob überhaupt und wenn ja, welche(r) Tag(s) die Liste im Panel aufstellen soll. Da "Filter on focused tag" sich nicht mehr "Metadata field" bezieht,  wäre es eine Unteroption von "Scan library for more tags" und weiß von ihr was es filtern soll.
Im Normalfall sind das Feld, welches getaggt werden soll und das Feld welches gescannt werden soll identisch. Wenn zwingend eine Angabe für das zu scannende Feld erfolgen soll, müssen dann in der Regel Informationen unnötig doppelt eingegeben werden.

Im jetzigen Design muss diese Information doch auch doppelt eingegeben werden, wenn sofort im Panel alle in der Library vorhandenen Werte eines Feldes, welches getaggt werden soll, zur Verfügung stehen sollen. Ohne "Scan library for more tags" baut sich die Liste im Panel erst allmählich auf durch die fortschreitende Auswahl der Tracks in der Playlist auf.

fbuser

Zitat von: qwert73 in 26. Dezember 2008, 15:14:06
Nicht anders ist es doch auch, wenn "Filter on focused tag" deaktiviert, dafür aber unter "Scan library for more tags" ein Feld definiert wird: Die Werte dieses Feldes werden weiterhin automatisch der Tagliste beigefügt - die Werte lassen sich manuell entfernen, erscheinen aber sofort wieder beim Schließen der Optionen. Die Frage ist doch: Wie sinnvoll ist es denn dann, diese Werte einer manuell editierbaren Liste beizufügen? Würde es dann nicht reichen, sie lediglich im Panel selber zu sehen? Das meinte ich mit Entkoppelung  der manuell editierbare Tagliste von der Liste im Panel.
Ich denke so langsam wird mir klar, was dich stört: Die manuelle Eingabe des Benutzers wird durch einen Automatismus überschrieben, ohne dass der Anwender die Möglichkeit hat dies zu verhindern. Ich sehe den Automatismus hier aber als Unterstützung der manuellen Eingabe. Es müssen nicht alle möglichen Werte manuell eingegeben werden, sondern diese werden durch die Werte der Library ergänzt. Dies führt natürlich dazu, dass gelöschte Werte gegebenenfalls wieder hinzugefügt werden, solange der Library-Scan aktiviert ist und diese Werte noch in der Library vorhanden sind. Dies ist auch sinnvoll, da so versehentlich entfernte Werte wieder hinzugefügt werden. Außerdem ist das die einfachste Möglichkeit die Liste zu bereinigen: Alle Werte löschen und anschließend alle in der Library vorhandenen Werte wieder hinzufügen lassen. Hier musst du dich einfach entscheiden, was du möchtest: eine rein manuelle Pflege der Werte oder eine teilweise automatisierte Pflege. Ich sehe keinen sinnvollen Anwendungsfall bei dem die Liste automatisch ergänzt wird und anschließend wieder einige bestimmte Werte entfernt werden. Zumal diese, solange sie in irgendeiner Datei vorhanden sind, ohnehin wieder zur Liste hinzugefügt werden, wenn diese Datei bei aktivem Panel selektiert wird.

Die von dir gewünschte Entkoppelung führt zudem noch zu einem anderen Problem. Da automatische und manuelle Werte getrennt sind, besteht natürlich auch die Möglichkeit das doppelte Werte auftreten können, durch Werte in der manuellen Liste, die auch in der automatischen Liste vorhanden sind. Die nächstliegende Lösung wäre hier natürlich, nur Werte in die automatische Liste zu übernehmen, die nicht in der manuellen vorhanden sind. Aber hier hättest du dann das gleiche Problem wie oben, wenn du einen Wert aus der manuellen Liste entfernst, der dann in der automatischen Liste wieder auftaucht, da er in der Library vorhanden ist.

Zitat von: qwert73 in 26. Dezember 2008, 15:14:06
Im jetzigen Design muss diese Information doch auch doppelt eingegeben werden, wenn sofort im Panel alle in der Library vorhandenen Werte eines Feldes, welches getaggt werden soll, zur Verfügung stehen sollen. Ohne "Scan library for more tags" baut sich die Liste im Panel erst allmählich auf durch die fortschreitende Auswahl der Tracks in der Playlist auf.
Nein. Nehmen wir einmal an, du möchtest das Feld <artist> mit Hilfe des Panels taggen. Du trägst dann diesen Wert in das Eingabefeld "metadata field" ein und setzt ein Häkchen bei "Scan library for more tags in field". Das zugehörige Eingabefeld lässt du leer, da du die Werteliste auch aus dem Feld <artist> aufbauen möchtest. Bei der von dir vorgeschlagenen Variante müsste ich aber sowohl das Eingabefeld "metadata field" als auch das Eingabefeld für "Scan library for more tags in field" mit dem Wert "artist" belegen.

qwert73

Zitat von: fbuser in 26. Dezember 2008, 19:45:23

Zitat von: qwert73 in 26. Dezember 2008, 15:14:06
Im jetzigen Design muss diese Information doch auch doppelt eingegeben werden, wenn sofort im Panel alle in der Library vorhandenen Werte eines Feldes, welches getaggt werden soll, zur Verfügung stehen sollen. Ohne "Scan library for more tags" baut sich die Liste im Panel erst allmählich auf durch die fortschreitende Auswahl der Tracks in der Playlist auf.
Nein. Nehmen wir einmal an, du möchtest das Feld <artist> mit Hilfe des Panels taggen. Du trägst dann diesen Wert in das Eingabefeld "metadata field" ein und setzt ein Häkchen bei "Scan library for more tags in field". Das zugehörige Eingabefeld lässt du leer, da du die Werteliste auch aus dem Feld <artist> aufbauen möchtest. Bei der von dir vorgeschlagenen Variante müsste ich aber sowohl das Eingabefeld "metadata field" als auch das Eingabefeld für "Scan library for more tags in field" mit dem Wert "artist" belegen.

Genau da und nichts anderes meine ich doch! :motzen:

Hälts du das für intuitiv? Jetzt habe ich stundenlang an deinem Plugin geseßen und habe doch nicht vollständig die Funktionsweise begriffen: Wenn ich ein Häckchen wo setze und ein Feld sich mir anbietet, gehe ich davon aus, dass ich was reinschreiben muss, damit überhaupt was passiert.

Zitat von: fbuser in 26. Dezember 2008, 19:45:23
Bei der von dir vorgeschlagenen Variante müsste ich aber sowohl das Eingabefeld "metadata field" als auch das Eingabefeld für "Scan library for more tags in field" mit dem Wert "artist" belegen.

Na dann vielleicht ein Häckchen bei "Show values of library in panel list" (oder so ähnlich)

Zitat von: fbuser in 26. Dezember 2008, 19:45:23
Ich denke so langsam wird mir klar, was dich stört: Die manuelle Eingabe des Benutzers wird durch einen Automatismus überschrieben, ohne dass der Anwender die Möglichkeit hat dies zu verhindern.

Yep, genau!! Zu deiner Verteidigung dieses Automatismus: Alles, was Du so an Vorteilen nennst, kann doch auch ohne dieses seltsame Verhalten erreicht werden, oder etwa nicht?

Ich finde dein Plugin nützlich, halte es aber auch für ausgesprochen schade, dass es den Charme jener Plugins beibehält, die so typisch vor zwei oder drei Jahren waren.




fbuser

Zitat von: qwert73 in 26. Dezember 2008, 20:09:36
Hälts du das für intuitiv? Jetzt habe ich stundenlang an deinem Plugin geseßen und habe doch nicht vollständig die Funktionsweise begriffen: Wenn ich ein Häckchen wo setze und ein Feld sich mir anbietet, gehe ich davon aus, dass ich was reinschreiben muss, damit überhaupt was passiert.
Nein, du kannst dort etwas hineinschreiben. Wenn du intuitiv den Wert aus dem "Metadata field" dort noch einmal hineinschreiben möchtest, steht dem nichts im Wege. Du musst es aber nicht. Das Nichtfüllen des Feldes ist eine zusätzliche Funktionalität, die auch so in der Hilfe beschrieben ist.

Zitat von: qwert73 in 26. Dezember 2008, 20:09:36
Zitat von: fbuser in 26. Dezember 2008, 19:45:23
Ich denke so langsam wird mir klar, was dich stört: Die manuelle Eingabe des Benutzers wird durch einen Automatismus überschrieben, ohne dass der Anwender die Möglichkeit hat dies zu verhindern.

Yep, genau!! Zu deiner Verteidigung dieses Automatismus: Alles, was Du so an Vorteilen nennst, kann doch auch ohne dieses seltsame Verhalten erreicht werden, oder etwa nicht?
Nein, das glaube ich nicht. Ich empfinde das Verhalten auch nicht als seltsam sondern als folgerichtig. Aber das liegt wohl an unserer unterschiedlichen Sichtweise der Dinge und wir werden hier sicher nicht auf einen gemeinsamen Nenner kommen.

Zitat von: qwert73 in 26. Dezember 2008, 20:09:36
Ich finde dein Plugin nützlich, halte es aber auch für ausgesprochen schade, dass es den Charme jener Plugins beibehält, die so typisch vor zwei oder drei Jahren waren.
Ohne zu weit abzuschweifen und ohne das eine direkte Vergleichbarkeit möglich wäre, kanns du mir ein Plugin nennen, welches aus deiner Sicht eher deinen Vorstellungen entspricht und warum?

qwert73

Zitat von: fbuser in 26. Dezember 2008, 21:40:08
Ohne zu weit abzuschweifen und ohne das eine direkte Vergleichbarkeit möglich wäre, kanns du mir ein Plugin nennen, welches aus deiner Sicht eher deinen Vorstellungen entspricht und warum?
Ok, aktuelle Third-Party Komponenten: foo_last_fm_radio und foo_lyrics_grabber. Warum? Weil alles sofort klar ist wie Kloßbrühe!

Zitat von: fbuser
Leicht zu bedienen sollte ein Plugin immer sein. Das leichte Begreifen ist allerdings immer von der Komplexität der Funktionalität abhängig. Je komplexer ein Sachverhalt ist, desto mehr muss man sich damit beschäftigen, um diesen zu verstehen.
Eben nicht! Der eigentliche Geniestreich bei Facets liegt doch nicht darin, dass zweifellos eine mächtige Verwaltung der Library möglich gemacht wird, sonder vorallem darin, dass es jeder sofort ohne größere Schwierigkeiten bedienen kann. Ich hab vielleicht 2 Minuten gebraucht, um die Bedienungsweise zu verstehen.