IPB

Welcome Guest ( Log In | Register )

> Hinweise!

Bitte vor dem erstellen eines Beitrag unbedingt den Beitrag Aktuelle Hinweise! lesen.

Lesen Sie auch die allgemeinen Nutzungsbestimmungen dieses Forums.

 
Reply to this topicStart new topic
> Verwendung von %Platzhalter% in Remove Fields action erlauben
u302320
post Apr 20 2011, 18:39
Post #1


Member


Group: Full Members
Posts: 65
Joined: 20-March 06
Member No.: 2893
Mp3tag Version: 2.49



Spricht etwas dagegen, in Remove Fields auch Platzhalter, wie zum Beispiel %TAGS_TO_DELETE%, zu erlauben?

Oder gibt es alternativ eine clevere Vorgehensweise, (variable) Listen von Tags aus einer großen Anzahl von Dateien zu löschen?

-u302320
Go to the top of the page
 
+Quote Post
ohrenkino
post Apr 20 2011, 23:26
Post #2


Member


Group: Full Members
Posts: 4537
Joined: 9-December 09
From: Norddeutschland / Northern Germany
Member No.: 11458
Mp3tag Version: 2.63



ZITAT(u302320 @ Apr 20 2011, 19:39) *
...%TAGS_TO_DELETE%,...

Kannst du mir das noch ein bisschen erläutern?
Eigentlich bezieht sich die %-Syntax ja auf den Inhalt eines benannten Felds. MP3tags liest diese Daten aus den marktierten Dateien oder deren Eigenschaften.

Also müsste %TAGS_TO_DELETE% ja irgendwo gefüllt werden. Wo soll das sein?
Und wenn dann diese Variable gefüllt ist, wo soll dann deren Inhalt mehrfach weiterverwendet werden? Denn wenn die Tags erst mal gelöscht sind, dann kann ich ja eigentlich nichts mehr mit ihnen machen. Oder was verstehe ich falsch?


--------------------
42 - wie war die Frage / what was the question / comment était la question
Go to the top of the page
 
+Quote Post
pone
post Apr 21 2011, 00:59
Post #3


Member


Group: Full Members
Posts: 1688
Joined: 15-March 09
From: Germany
Member No.: 9103
Mp3tag Version: 2.59b



ZITAT(u302320 @ Apr 20 2011, 19:39) *
Oder gibt es alternativ eine clevere Vorgehensweise, (variable) Listen von Tags aus einer großen Anzahl von Dateien zu löschen?

Ich geh mal davon aus, das die Fragestellung aus der Web Sources Problematik stammt.

Mann könnte da schon was machen.
Wenn du es irgendwie schaffst, das %TAGS_TO_DELETE% Feld mit den Namen der Tag Felder zu füllen, die dann per Aktion gelöscht werden sollen, dann könnte mann das hinterher mit $if und $regexp Funktionen nützen.

Beispiel:
%TAGS_TO_DELETE% = YEAR;COUNTRY;

Aktionsgruppe:
1. Aktion: Tag-Felder formatieren
Feld: YEAR
Formatstring: $if($eql($regexp(%TAGS_TO_DELETE%,.*YEAR;.*,YES),YES),,%year%)

2. Aktion: Tag-Felder formatieren
Feld: COUNTRY
Formatstring: $if($eql($regexp(%TAGS_TO_DELETE%,.*COUNTRY;.*,YES),YES),,%country%)

3. Aktion: Tag-Felder formatieren
Feld: ARTIST
Formatstring: $if($eql($regexp(%TAGS_TO_DELETE%,.*ARTIST;.*,YES),YES),,%artist%)

4. Aktion: Tag-Felder formatieren
Feld: TITLE
Formatstring: $if($eql($regexp(%TAGS_TO_DELETE%,.*TITLE;.*,YES),YES),,%title%)

...

Du müßtest diese Liste für alle in Frage kommenden Tag Felder komplettieren.
Im Beispiel werden dann die Felder YEAR und COUNTRY gelöscht, die Felder ARTIST und TITLE aber nicht.

Die Funktion prüft, ob der Name des jeweiligen Tag Feldes im TAGS_TO_DELETE Feld vorkommt. Wenn der Name vorkommt, überschreibt die Funktion das Feld mit nichts (quasi mit null Output, anders als bei Web Sources werden beim Formatieren von Tag Feldern diese gelöscht wenn mann sie mit leer lässt), wenn der Name nicht vorkommt, überschreibt die Funktion das Feld mit seinem eigenem Inhalt (es bleibt also alles wie es ist).
Go to the top of the page
 
+Quote Post
u302320
post Apr 21 2011, 01:11
Post #4


Member


Group: Full Members
Posts: 65
Joined: 20-March 06
Member No.: 2893
Mp3tag Version: 2.49



QUOTE (ohrenkino @ Apr 21 2011, 00:26) *
Kannst du mir das noch ein bisschen erläutern?
Eigentlich bezieht sich die %-Syntax ja auf den Inhalt eines benannten Felds. MP3tags liest diese Daten aus den marktierten Dateien oder deren Eigenschaften.

Also müsste %TAGS_TO_DELETE% ja irgendwo gefüllt werden. Wo soll das sein?
Und wenn dann diese Variable gefüllt ist, wo soll dann deren Inhalt mehrfach weiterverwendet werden? Denn wenn die Tags erst mal gelöscht sind, dann kann ich ja eigentlich nichts mehr mit ihnen machen. Oder was verstehe ich falsch?


Nee, das hast du schon genau richtig verstanden. Ich hab nur den Kontext weggelassen, deswegen war oder ist das vielleicht etwas unverständlich.
Es geht darum, dass ich %TAGS_TO_DELETE% in einem Websource-Skript fülle. Das ist wiederum nur ein workaround dafür, dass ich aus einem Websource Skript zwar Felder setzen, aber nicht löschen kann. Also merke ich mir alle zu löschenden Felder in %TAGS_TO_DELETE% und lasse in einem zweiten Schritt eine Aktion laufen, die mir genau diese Felder weglöscht. Wenn sie nicht da sind, auch gut, aber bei mir ist es so, dass da halt noch einige Altlasten rumliegen, die ich loswerden will.
Ich hatte ursprünglich angenommen, dass Remove Fields auch Platzhalter verarbeitet, aber im Prinzip geht auch der etwas weniger flexible Umweg über Format Value und ein bisschen RegExp-Magie. Wenn ich einen leeren Value setze, wird das in %TAGS_TO_DELETE% aufgeführte Feld auch gelöscht. Der einzige Nachteil daran ist, dass ich pro potentiell zu löschendem Feld eine Format Value Aktion anlegen muss. Und dann noch eine zweite, um das gerade gelöschte Feld aus %TAGS_TO_DELETE% auszutragen.

Aber ich merke schon: Alles zu kompliziert. Einfacher wäre es vermutlich, irgendein Pattern in alle zu löschenden Felder zu schreiben und dann einfach alle Felder, deren Inhalt dem Pattern entspricht, aus einer Aktion zu löschen.

Ich bin mir nicht sicher, ob das jetzt klarer geworden ist, aber ist ja auch schon spät.
Go to the top of the page
 
+Quote Post
u302320
post Apr 21 2011, 01:20
Post #5


Member


Group: Full Members
Posts: 65
Joined: 20-March 06
Member No.: 2893
Mp3tag Version: 2.49



Ich bin nach ewigem Rumprobieren genau zur gleichen Lösung gekommen. Vermutlich könnte man - als Sahnehäubchen - sogar Guess Values verwenden und dann gleichzeitig jeweils ein Feld löschen und den Name des Feldes aus %TAGS_TO_DELETE% austragen. Aber das war dann der Punkt, an dem ich abgebrochen habe, für heute jedenfalls.

Danke für die ausführliche Antwort.
Go to the top of the page
 
+Quote Post
pone
post Apr 21 2011, 01:25
Post #6


Member


Group: Full Members
Posts: 1688
Joined: 15-March 09
From: Germany
Member No.: 9103
Mp3tag Version: 2.59b



ZITAT(u302320 @ Apr 21 2011, 02:11) *
Der einzige Nachteil daran ist, dass ich pro potentiell zu löschendem Feld eine Format Value Aktion anlegen muss. Und dann noch eine zweite, um das gerade gelöschte Feld aus %TAGS_TO_DELETE% auszutragen.

Aber ich merke schon: Alles zu kompliziert. Einfacher wäre es vermutlich, irgendein Pattern in alle zu löschenden Felder zu schreiben und dann einfach alle Felder, deren Inhalt dem Pattern entspricht, aus einer Aktion zu löschen.


Du müßtest zwar alle Aktionen extra anlegen, könnstest sie aber dann in einer Aktionsgruppe auf einmal laufen lassen.

Du hast aber Recht, dein zweiter Vorschlag ist besser.
Fülle alle zu löschenden Felder mit z.B:
<<<delete me>>>

und mach dann folgende Aktion:

Aktion: Ersetzen
Feld: _TAG
Original: <<<delete me>>>
Ersetzen durch:

_TAG bezieht sich auf alle Tag Felder. Wenn du dann <<<delete me>>> durch nichts ersetzt, werden die zuvor markierten Felder gelöscht.
Go to the top of the page
 
+Quote Post
u302320
post Apr 21 2011, 02:10
Post #7


Member


Group: Full Members
Posts: 65
Joined: 20-March 06
Member No.: 2893
Mp3tag Version: 2.49



QUOTE (pone @ Apr 21 2011, 02:25) *
Fülle alle zu löschenden Felder mit z.B:
<<<delete me>>>

und mach dann folgende Aktion:

Aktion: Ersetzen
Feld: _TAG
Original: <<<delete me>>>
Ersetzen durch:


Super, perfekte Lösung. Vielen Dank!
Go to the top of the page
 
+Quote Post
u302320
post Apr 25 2011, 20:12
Post #8


Member


Group: Full Members
Posts: 65
Joined: 20-March 06
Member No.: 2893
Mp3tag Version: 2.49



QUOTE (u302320 @ Apr 21 2011, 03:10) *
Super, perfekte Lösung. Vielen Dank!


Keine Regel ohne Ausnahme: Für Compilation führt das Setzen von "" nicht dazu dass das betreffende Frame gelöscht wird. Statt dessen wird der Wert 0 angezeigt bzw. gespeichert.

This post has been edited by u302320: Apr 25 2011, 20:13
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 2nd September 2014 - 18:09