Tools, Einbindung von rsgain

Hallöle, ist es schon jemanden gelungen die rsgain.exe von https://github.com/complexlogic/rsgain unter Tools einzubinden ?

(Fehler-)Meldungen kann ich leider nicht erkennen, da das Kommandozeilenfenster ist in der Taskleiste (wenn rsgain.exe über das Tools-Menü aufgerufen wird) max. 1 Sek. zu sehen ist. Sieht für mich aus wie ein Abbruch.

ragain.exe scheint seinen Prozess/Task nach Erledigung zu verlassen. Bei manuellem Aufruf über die Eingabeaufforderung dauert der Vorgang und es werden diverse Meldungen angezeigt. Am Ende ist die Eingabeaufforderung wieder “bereit” zur Eingabe.

Evtl. hat jemand eine Idee wie ich das Schließen des Kommandozeilenfensters verhindern kann.

Bin dankbar für jeden Tipp.

Wie sieht denn der Aufruf per Tool aus?

Pack den Aufruf der aktuellen Kommandozeile in eine Batch-CMD-Datei und schreib am Schluss dieser Batchdatei den Befehl:
PAUSE

Dann rufst Du diese Batch-CMD-Datei als Tool mit der beispielhaften Option %_path% * %_folderpath% aus Mp3tag auf.

Inhalt Batchdatei beispielhaft

rsgain easy -m 4 .... %1
PAUSE

Aufgrund des Screenshots kann ich nicht mit Sicherheit sagen, ob das externe rsgain-Tool die Werte nur berechnet und am Bildschirm anzeigt oder ob diese Werte auch zurück in die Musikdatei geschrieben werden.

* Update 11.30 Uhr: Ich habe inzwischen auf Github gelesen, dass das externe Tool rsgain mit ganzen Verzeichnissen ("Album-Verzeichnis") arbeitet, nicht mit einzelnen aufgerufenen Dateien. Deshalb ist der Beispiel-Aufruf mit einem Verzeichnis-Platzhalter wie %_folderpath% oder einem anderen passenden Parameter geeigneter.

...Easy Mode assumes that you have you have your music library organized by album, so that each album is contained in its own folder. The album gain calculations rely on this assumption. If you do not have your music library organized by album, you should disable the album tags because the calculated values will not be valid...

@ohrenkino

Ob mp3tag ein Leerzeichen zwischen Pfad und Parameter übergibt weiß ich nicht, in der Eingabeaufforderung muss ein Leerzeichen sein. Den ganzen Parameter(string) mit ““ umschließen geht auch nicht. Es funktionierte auch nicht wenn ich es mit “%_directory%” probiert habe.

@LyricsLover

Ja, genau das wollte ich mit “easy” erreichen, Live-Alben mit Album-Gain, StudioAlben mit “No_Album-Gain”

Meine bat sieht jetzt so aus:

"D:\Zip\rsgain-3.7-win64\rsgain.exe" easy -m 4 -p no_album %1
PAUSE

Der Toolseintrag so:

Wobei ich nicht so firm mit cmd bin ob “%_directory%” an die bat als %1 übergeben wird.

Als Fehler krieg ich in dem CMD-Fenter: “Zur Verarbeitung dieses Befehls sind nicht genügend Speicherressourcen verfügbar.”

Vielen Dank euch beiden für die ersten Ideen.

Bei mir funktioniert es grundsätzlich so:
Definition Tools in Mp3tag für rsgain:


Parameter: "%_folderpath%"

Die verlinkte Batch-CMD-Datei im Path: beinhaltet folgenden Code:

@echo off
@cls

rem Get folder without quotes
set "FolderFromMp3tag=%~1"

rem Remove last Backslash
if "%FolderFromMp3tag:~-1%"=="\" set "FolderFromMp3tag=%FolderFromMp3tag:~0,-1%"

@echo on
"C:\Temp\rsgain-3.7-win64\rsgain.exe" easy -m 4 -p no_album "%FolderFromMp3tag%"

PAUSE

(der Pfad zur lokalen rsgain.exe muss an den effektiven eigenen Speicherort dieses Programms angepasst werden!)

Damit erhalte ich folgende Ausgabe:

In alle Tracks im gleichen Album-Verzeichnis werden diese beiden REPLAYGAIN_TRACK_GAIN und REPLAYGAIN_TRACK_PEAK-Werte berechnet und individuell geschrieben:

Wenn Dich die PAUSE und der notwendige Tastendruck stört, kannst Du diesen Befehl auch durch
TIMEOUT /T 5
ersetzen, das wartet 5 Sekunden und schliesst dann das CMD-Fenster automatisch.
Ein früherer Tastendruck schliesst das CMD-Fenster sofort.

WOW, übersteigt meine Skriptkenntnisse um einiges, gut wenn sich jemand auskennt. Werde ich in den nächsten Tagen ausprobieren und Rückmeldung geben. Jetzt muss ich erstmal zur Osterfeuernachlese :clinking_beer_mugs:

Vielen Dank schon mal und noch schönes Ostereiern…

Der "komplizierte" Teil im Batch-Script ist nur nötig, weil rsgain.exe anscheinend nicht mit einer Verzeichnisangabe mit endendem Backslash zurecht kommt.

Der Rest dient hauptsächlich der schöneren Darstellung und wäre nicht zwingend nötig.

Lass uns bei Gelegenheit wissen, ob es bei Dir damit auch klappt.

Problem gelöst, macht alles so wie von LyricsLover beschrieben mit dem richtigen Tools-Eintrag und der cmd/bat Datei. Tags werden erfolgreich geschrieben.

Mir erspart das bei mehreren hundert Ordnern das Eingetippe von Pfaden in der Kommandozeile bzw. copy/paste. Die Alternative alle Live-Alben auszulagern und rsgain rekursiv über alle “normalen” Alben laufen zu lassen und dann die Live-Alben wieder einzufügen ist auch nicht sehr verlockend. So kann ich das ganze direkt aus mp3tag erledigen.

Da “%_folderpath%” den Pfad am Ende mit einem Backslash übergibt mussten alle meine Versuche scheitern. Steht so auch leider nicht in der Dokumentation vom mp3tag https://docs.mp3tag.de/format/#file-name-and-path-information . Im “Windows Explorer → Kontextmenü → Als Pfad kopieren” wird der Pfad ohne Backslash kopiert. Unkenntnis darüber schreibe ich mir Mal als “Amateur Computerer” selber zu.

Nochmals vielen Dank für Gehirnschmalz und Lösung