Möglichkeit, Text in Klammern vor Webabfrage zu entfernen?

Ich würde gerne mit dem Original Albumnamen "The Wall (Experience Edition)" bei Musicbrainz eine Abfrage machen. Das scheitert aber daran, weil auch die 2012er-Ausgabe bei Musicbrainz nur mit "The Wall" gespeichert ist.
So geht es mir auch einigen anderen Fällen wie z.B. den Albumnamens-Zusätzen (EP), (Live), (Remastered) etc.

Deshalb meine Frage:
Wie kann man den Inhalt zwischen Klammern - und die Klammern selber - in einem Webscript (nur nur dort!) entfernen?
Aktuell benutze ich die genialen MusicBrainz-Scripts von dano und dort z.B. die angepasste Zeile [SearchBy]=$replace("%album%",':',,'[',,']',,'?',,'!',,'{',,'}',,'(Deluxe Edition)',,'(EP)',,'(Live)',,'(Remastered)',) AND artist:"%artist%"Die konkreten Ergänzungen hören aber leider nicht mehr auf, deshalb suche ich nach sowas wie einem regulären Ausdruck oder einer ähnlichen Möglichkeit um ganze "Gruppen" vor der Webabfrage zu löschen. Gibt es sowas?

In meinem Discogs Script verwende ich folgendes für die Suche mit dem Albumnamen:

[SearchBy]=$trim($regexp($regexp($regexp($repl($regexp(%ALBUM%,'(\(|\[).*(\)|\]).*',),-, ,_, ,/, ,:, ,., ,", ,!, ,?, ,&, ), (web|cd *\d*|vinyl|ep|e p ) *$,,1), (web|cd *\d*|vinyl|ep|e p ) *$,,1),''s( |$),$1))

Das entfernt alle Klammern und auch das, was eventuell danach noch kommt:
$regexp(%ALBUM%,'((|[).()|]).',)

Es werden auch die meisten Satzzeichen für die Suche entfernt:
$repl( < string > ,-, ,_, ,/, ,:, ,., ,", ,!, ,?, ,&, )

Ausserdem entfernt es einige Zusätze, die bei mp3s aus dem Internet häufig auftauchen, aber auch nicht zum Albumnamen gehören. Diese Ausdrücke werden nur entfernt, wenn sie am Schluss des Albumnamens stehen. Ich hab das doppelt in den Formatstring reingeschrieben, damit auch zwei solche Ausdrück am Schluss entfernt werden. Du kannst die Klammer beliebieg mit Audrücken wie Live, Remastered, Deluxe Edition ergenzen, wenn diese auch entfernt werden sollen wenn sie nicht in einer Klammer stehen:
$regexp($regexp( < string > , (web|cd \d|vinyl|ep|e p ) *$,,1), (web|cd \d|vinyl|ep|e p ) *$,,1)

Geht das auch für "Title" zu machen? Das wäre in der Tat nützlich.

Beispiel: Humpe Humpe&track=Yama-ha (Maxi Version)

Du meinst bei meinem Discogs Skript? Da verwende ich für Titel:

$regexp(%title%,'(\(|\[| )(featuring|feat|ft).* .+',,1)

Das entfernt alle "feat..." Zusätze aus dem Titel, weil das ja bei Discogs immer in einem extra Feld steht.

Generell könnte man natürlich auch alle Klammer hier ganz entfernen, aber oft sind die Version/Remix Anganben in Klammern hier bei der Discogs Suche eine hilfreiche Ergänzung, wenn das Stück auf vielen Veröffentlichungen erschienen ist.
Hast du da andere Erfahrungen gemacht?

Danke pone! Klappt wunderbar! :music:

Ich hab meistens (Maxi Version) oder ähnliches und da scheitert es, wenn ich es übersehe. Ansonsten entferne ich das manuell.

Wenn du die Klammern hier immer weg haben möchtest, kannst du die .src Datei editieren.

In der [SearchBy]=... Zeile am Anfang der Datei, die zweite Hälfte der Zeile, also alles ab &track= durch folgendes ersetzen:

&track=$regexp($regexp(%title%,'((|[| )(featuring|feat|ft).* .+',,1),'((|[).()|]).',)

Das musst du dann aber nach jedem Update meines Skripts wieder manuell ändern. Vielleicht bau ich was in der Optionen ein, mal schauen.

Hmm, jetzt hab ich was vermasselt. Ich habe nur noch ein leeres Feld. :astonished:

Ich habe die Zeile überschrieben und dann Discogs &Pone#Create &Scripts (after editing the settings mp3 file) gemacht. War das falsch?

In welcher Datei hast du die Zeile überschrieben?

Meine Anweisung war für die .src Datei im Ordner mp3tag/data/sources. Diese Datei wird erst durch Discogs &Pone#Create &Scripts erzeugt, bzw jedesmal wieder überschrieben.

In der heruntergeladenen .mte Datei im Ordner mp3tag/export steht:

[SearchBy]=[ add   &page=2   for next 20 results                   ]$repl($regexp($regexp($regexp($regexp($if2(%'$if($eql(%DISCOGS_ALBUMARTIST%,no),albumartist,%DISCOGS_ALBUMARTIST%)'%,$if2(%albumartist%,$if2(%album artist%,%'$if($eql(%DISCOGS_ARTIST%,no),artist,%DISCOGS_ARTIST%)'%))),^(va|various artists|v\.a\.)$,Various,1),The (.*),$1,1),''''''s( |$),$1,1), (featuring|feat|ft|presents|pres|and|vs|w/|\+|/|&)\.* , ,1),'''','''',)&track=$regexp(%title%,''''(\(|\[| )(featuring|feat|ft).* .+'''',,1)

Daraus wird dann in der .src Datei:

[SearchBy]=[ add   &page=2   for next 20 results                    ]$repl($regexp($regexp($regexp($regexp($if2(%albumartist%,$if2(%albumartist%,$if2(%album   artist%,%artist%))),^(va|various  artists|v\.a\.)$,Various,1),The (.*),$1,1),''s( |$),$1,1),  (featuring|feat|ft|presents|pres|and|vs|w/|\+|/|&)\.* ,  ,1),',',)&track=$regexp(%title%,'(\(|\[|  )(featuring|feat|ft).* .+',,1)

Das wiederum kannst du ändern in

[SearchBy]=[ add   &page=2   for next 20 results                    ]$repl($regexp($regexp($regexp($regexp($if2(%albumartist%,$if2(%albumartist%,$if2(%album   artist%,%artist%))),^(va|various  artists|v\.a\.)$,Various,1),The (.*),$1,1),''s( |$),$1,1),  (featuring|feat|ft|presents|pres|and|vs|w/|\+|/|&)\.* ,  ,1),',',)&track=$regexp($regexp(%title%,'(\(|\[|  )(featuring|feat|ft).* .+',,1),'(\(|\[).*(\)|\]).*',)

Wenn du's nicht wieder hinkriegst, lade einfach das Skript neu herunter. Wie immer beim Update die Settings Mp3 Datei behalten.

Ich hab' natürlich in der .mte drin rum gekritzelt. :w00t:
Ich mache nur Mist heute :rolleyes: Das ließ sich aber irgendwie nicht mehr rückgängig machen. Dann hatte ich wieder das Feld gefüllt, aber es ging keine Verbindung zum Server raus. Gut, da blieb mir nichts anderes übrig, von vorn und gleich mit discogs.com (Pone Mod 3.24). Zum Glück hatte ich die Settings.mp3 noch im Programm offen. Ich glaube, die hatte ich gleich mit überschrieben. Egal, ich konnte jedenfalls meine Einstellungen noch speichern und es funktionierte wieder, wie gehabt. Dann habe ich die richtige Datei editiert und es haut hin. Danke und Daumen hoch für dich. Menno jetzt bin ich aber ins schwitzen gekommen.

Kann ich die Trefferanzeige von 20 noch erhöhen?

Ich habe jetzt komplett Discogs &Pone# im Original von dir so belassen und die geänderte Search by Artist + Title.src quasi als abgeänderte Kopie ausgelagert. Damit dürfte dann nur das manuelle editieren etwas ändern. Ist für mich wahrscheinlich das Beste, denn ich hab das alles bis zum nächsten Update garantiert wieder vergessen :flushed:

Nein, nicht direkt. Die Ergebnisse werden von hier http://www.discogs.com/advanced_search ausgelesen, und da werden leider immer nur 20 Treffer auf einmal angezeigt.

Es gibt aber einen Trick, den ich im Titel des Suchfeldes angedeutet hab.
Wenn bei einer normalen Suche feststellt, dass bei allen 20 Ergebnisse nicht das gewünschte Release dabei ist, kann man auf "Zurück" (unten rechts) gehen, und &page=2 an den Suchstring anhängen, um die nächsten 20 Ergebnisse zu sehen. Wenn das immer noch nichts ist &page=3 für die wieder nächsten 20 Ergebnisse und immer so weiter.
Also z.B. Various&track=Test&page=2

Das funktioniert bei allen Search by... Scripten. Ich benutz das selbst aber kaum, bei so vielen Ergebnissen öffne ich meist das Master Release im Browser und schau mir die einzelnen Releases an.

Sone ä Pone Tricks mag ich. :slight_smile:

Weiß nicht ob das geht, aber vielleicht könnte der Baumeister da noch ein Knopp für die nächsten Ergebnisse einbauen?

Jetzt habe ich mir halt noch eine Kopie ausgelagert mit

$regexp(%title%,'(\(|\[| )(featuring|feat|ft).* .+',,1)&page=2

Da muss ich weniger schreiben :wink:

So geht's natürlich auch. Da braucht mann dann halt ein extra Skript.

Ich hab versucht das direkt in das Skript einzubauen, aber ohne Erfolg. Der Baumeister (also Florian) wird da auch keinen extra Knopf einbauen wollen, da das bei unterschiedlichen Web Sources immer unterschiedlich funktioniert.
Was Florian machen könnte, falls er das hier mitliest, ist in den Web Source mehrere [ParserScriptIndex]=... Blöcke zu erlauben, so dass man sich durch verschiedene Seiten navigieren könnnte.