Dateiendungen in CUE-Sheets automatisch ersetzen (Seite 2) - Einlesen und Brennen von Audio-CDs - AudioHQ

Sie sind nicht angemeldet. Bitte melden Sie sich an oder registrieren Sie sich.


(Seite 2 von 2)

AudioHQ » Einlesen und Brennen von Audio-CDs » Dateiendungen in CUE-Sheets automatisch ersetzen

Seiten Vorherige 1 2

Sie müssen sich anmelden oder registrieren, um eine Antwort zu verfassen

RSS Thema Feed

Beiträge [ 16 bis 26 von 26 ]



16

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Was mir gestern Abend noch eingefallen ist:

Könntest Du ein solches Skript auch für die beiden folgenden Anwendungsfälle posten:

1.) EAC Logfile: Entfernen der Pfade vor den Tracks, also ähnlich wie bei der CUE-Datei.

2.) M3U-Datei: Austausch der Extension .wav durch .flac (EAC erzeugt bei mir immer WAV-Files, die ich später nach FLAC codiere, dadurch enthält die M3U-Datei aber Dateien vom Typ .wav und nicht .flac)

Wäre super, wenn Du die beiden Skripte noch zur Verfügung stellen könntest.

Gruß
Franklin

17 bearbeitet von Joe 70 (Original: 2007-01-17 21:16)

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Hallo,

ich habe das Skript überarbeitet, um es etwas flexibler einsetzen zu können.

Es können folgende ersetzungen vorgenommen werden.
     - Löschen des Pfades und ersetzen von ".wav" durch ".flac" in CUE-Dateien (beginnen mit "FILE" und enden mit "WAVE")
     - Zeilen die mit "REM" beginnen entfernen
     - Zeilen die mit "CATALOG" beginnen entfernen
     - Löschen des Pfades in den Logdateien (beginnen mit "Dateiname" oder "Filename")
     - Ersetzen von ".wav" durch ".flac" (nur erstes vorkommen in einer Zeile)
(Alle Ersetzungen unterscheiden Groß- u. Kleinschreibung)

Die gewünschen Ersetzungen werden zwischen den Marken
[font=Courier]# -- Anpassungen HIER[/font]
und
[font=Courier]# -- Anpassungen ENDE[/font]
durchgeführt und können durch einfügen des Kommentarzeichen "[font=Courier]#[/font]" am beginn der Zeile abgeschaltet werden.
An diese Stelle können auch leicht weitere Ersetzungen hinzugefügt werden.
(Hilfe zu Regulären Ausdrücken findet man im Internet (z.B. http://de.selfhtml.org/perl/sprache/regexpr.htm))

Das Skript legt eine Sicherungkopie der bearbeiteten Datei mit angehängten ".bak" an.

Vorraussetzung für diese Skript ist ein installiertes und funktionierendes Perl.

Der aufruf des Skripts :
[font=Courier]perl "SKRIPTNAME" -f "DATEINAME"[/font]

Das Skript

use Getopt::Std;

# Hole übergbenen Parameter -f
getopts('f:', \%opt); # || myerroropt ();
$ifile =  $opt{'f'}; # Eingabe- Ausgabedatei
$bfile = $ifile; # backdatei
$bfile =~ s/(.*)/\1\.bak/; #anhängen von "bak" an den übergebenen dateinamen

print "$ifile\n";
print "$bfile\n";

#  prüfen ob datei vorhanden
open(INFILE,  "<$ifile") || die "Datei \"$ifile\" konnte nicht geöffnet werden";
close(INFILE);

#sichern der eingabedatei nach .bak
print "\nSichern der Eingabedatei\n    ";
system("copy \"$ifile\" \"$bfile\"");    # use on windows
#system("cp \"$ifile\" \"$bfile\"");        # use on unix / Linux

# Eingabe Datei (.bak) öffnen
open(INFILE,  "<$bfile")  || die "Datei \"$bfile\" konnte nicht geöffnet werden";
# Ausgabe Datei (.bak) öffnen
open(OUTFILE,  ]$ifile") || die "Datei \"$ifile\" konnte nicht geöffnet werden";

# Datei einlesen (alle zeilen)
while (<INFILE>){
    
    $line = $_;
    
# -- Anpassungen HIER
  #  siehe auch  http://de.selfhtml.org/perl/sprache/regexpr.htm
    # #löscht den Pfad / ändert .wav in .flac in CUE Dateien
    $line=~ s/^FILE \".*\\(.*)\.wav\" WAVE$/FILE \"\1\.flac\" WAVE/;
    
    # #löscht Zeilen die mit REM beginnen (CUE Dateien / oder andere)
    if ($line =~ /^REM.*/) {$line=""};
    
    # #Zeilen die mit CATALOG beginnen nicht ausgeben (CUE Dateien)
    if ($line =~ /^CATALOG.*/) {$line=""};
    
    # #löscht den Pfad in logdateien
    $line=~ s/^(.+)Dateiname .*\\(.*)/\1Dateiname \2/;    # deutsch
    $line=~ s/^(.+)Filename .*\\(.*)/\1Filename \2/;    # englisch
    
    # #ersetzt .wav duech .flac  ( logdateien / M3U-Dateien / oder andere) 
    $line=~ s/\.wav/\.flac/;
# -- Anpassungen ENDE
    
    # Zeile schreiben
    print OUTFILE "$line";
}

close(INFILE);
close(OUTFILE);

Gruß Joe

18

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Hallo Joe,

vielen vielen Dank für das Skript. Ich habe es gerade erfolgreich getestet und bin begesitert, wie viel Zeit ich fortan sparen kann.

Ich hätte nur noch eine einzige Frage/Bitte:

In meinen LOG-Dateien sollen die Files weiterhin .wav heißen und nicht automatisch nach .flac umbenannt werden - im Gegensatz zu den CUE-Sheets und M3U-Files. Wie könnte man das erreichen?

Ach ja, wie kann ich die Uhrzeit in den LOG-Files immer auf 00:00 Uhr setzen? Ich hatte mir das damals angewöhnt und würde das gerne beibehalten

Jetzt sind es doch 2 Fragen geworden ;)

Gruß
Franklin

19

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Franklin,17.01.2007, 22:17 schrieb:

Ich hätte nur noch eine einzige Frage/Bitte:

In meinen LOG-Dateien sollen die Files weiterhin .wav heißen und nicht automatisch nach .flac umbenannt werden - im Gegensatz zu den CUE-Sheets und M3U-Files. Wie könnte man das erreichen?

Ein Skript verwenden, in dem die Zeile

# #ersetzt .wav duech .flac  ( logdateien / M3U-Dateien / oder andere)
#$line=~ s/\.wav/\.flac/;

nicht verwendet wird ("#" am anfang der Zeile einfügen)
Das soltte dann so aussehen.

#$line=~ s/\.wav/\.flac/;
Franklin,17.01.2007, 22:17 schrieb:

Ach ja, wie kann ich die Uhrzeit in den LOG-Files immer auf 00:00 Uhr setzen? Ich hatte mir das damals angewöhnt und würde das gerne beibehalten

Auf die schnelle bin ich da auch überfragt.
(wie hast du es denn vorher gemacht?)

Joe

20

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Hallo Joe,

Ein Skript verwenden, in dem die Zeile

# #ersetzt .wav duech .flac  ( logdateien / M3U-Dateien / oder andere)
#$line=~ s/\.wav/\.flac/;

nicht verwendet wird ("#" am anfang der Zeile einfügen)
Das soltte dann so aussehen.

#$line=~ s/\.wav/\.flac/;

dadurch wird dann .wav -> .flac aber auch in den M3Us nicht mehr ersetzt, oder? Ich möchte dies nur in den LOG-Dateien unterbinden.


(wie hast du es denn vorher gemacht?)

manuell ;)

Gruß
Franklin

21

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

@Franklin

dadurch wird dann .wav -> .flac aber auch in den M3Us nicht mehr ersetzt, oder? Ich möchte dies nur in den LOG-Dateien unterbinden

Am einfachsten wird es sein, wenn Du eine zweite Kopie von dem  Skript anlegst, in der nur die Zeilen aktiviert sind, die Du für die LOG-Dateien benötigst.

Das Ändern der Datumsangaben ist meines Wissens nicht so ohne weiteres möglich. (Es gibt für Perl entsprechende Module, so das dies möglich aber sein sollte.)


Allerdings denke ich, dass dies den Rahmen dieses Forums überschreiten würde, wenn wir hier ein komplettes Programm für eine vielzahl verschiedener Anwendungsfälle diskutieren und entwickeln würden.
Eventuell ist gibt es anderswo eine Platform, wo dies besser hinpasst (Ist jemand jemand etwas bekannt? (falls dies überhapt von allgemeinen Interesse ist)).

Joe

22

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Joe 70,18.01.2007, 22:33 schrieb:

Allerdings denke ich, dass dies den Rahmen dieses Forums überschreiten würde, wenn wir hier ein komplettes Programm für eine vielzahl verschiedener Anwendungsfälle diskutieren und entwickeln würden.
Eventuell ist gibt es anderswo eine Platform, wo dies besser hinpasst (Ist jemand jemand etwas bekannt? (falls dies überhapt von allgemeinen Interesse ist)).

Hallo Joe, hallo Franklin!

Das derzeitige Rating des Themas liegt derzeit (Stand: 21.01.2007; ca. 22 Uhr) bei ungefähr 1.072 Klicks. Ich könnte mir vorstellen, dass sich diese Zahl noch vergrössern wird. Daher würde ich die Frage nach dem "allgemeinen Interesse" positiv beantworten wollen.

Mein Vorschlag zur Güte: Um einem für Endanwender nicht mehr nachvollziehbaren "Endlos-Thread" vorzubeugen, könntet Ihr beide ja im Hintergrund per PM oder E-Mail am Thema weiterarbeiten und zu einem Zeitpunkt, den Ihr für richtig haltet, von Euch vertretene Zwischenergebnisse oder das Endergebnis selbst hier veröffentlichen. Was haltet Ihr davon?

Grundsätzlich gesehen stehen wir Projekten, die der Community dienen und das hier bearbeitete Thema voranbringen, aufgeschlossen gegenüber, oder mehr noch: Die Ergebnisse von Synergie-Effekten sind jederzeit willkommen! :)

In dem Sinne!

Gruss

P.S.: Ich wüsste jetzt aus dem Stehgreif auch keinen anderen "Rahmen"... ;)

A Bill of Rights in Cyberspace

23

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Hallo DAU,

aus meiner Sicht macht das Sinn und ich glaube, Joe wird das genau so sehen, oder?

Gruß
Franklin

24

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Hallo,

wenn ein allgemeines Interesse an diesem Thema besteht, bin ich gerne bereit, dieses Skript noch etwas zu Überarbeiten bzw. zu erweitern.

Folgende Funktion sind derzeit verfügbar.
* CUE Dateien: Pfad Löschen und ".flac" in ".wav" ändern
* CUE Dateien: Zeilen die mit "REM" beginnen löschen
* CUE Dateien: Zeilen die "CATALOG" beginnen löschen
* EAC LOG Dateien: löscht den Pfad in Logdateien von EAC (deutsch / englisch)
* Alle Text Dateien: ersetzten von ".wav" durch ".flac" (Logateien (EAC) / M3U-Dateien / oder andere)


Derzeit werden immer alle Aktionen (in an angegebener Reihenfolge) ausgeführt und eine Kopie der Originaldatei mit der (angehängten) Erweiterung ".bak" erstellt.

Evtl. wäre es sinnvoll, die einzelnen Aktionen über Kommandozeilenoptionen zu (ein bzw. abzuschalten.

Evtl. wäre es auch nötig diese Funktionen für andere Erweiterungen (neben ".flac") anzupassen.

Ein Wunsch von Franklin war noch das Ändern des Zeitstempels (ich nehme mal an das Änderungsdatum), was möglich sein sollte.

Sollte es noch Interesse an weiteren Funktionen bestehen wäre jetzt eine Möglichkeit diese zu äußern.

Joe


PS:
Ich werde ein paar Tage auf Anregungen warten, bevor ich hier eine neure Skriptversion poste.

@DAU
PM ist leider nicht möglich.

25 bearbeitet von DAU (Original: 2007-01-24 00:08)

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Joe 70,23.01.2007, 22:57 schrieb:

@DAU
PM ist leider nicht möglich.

"It's not a bug, it's a feature" ... , bzw.: siehe Forenrichtlinien; Punkt 1 ... ;)

Sollte keine der von mir benannten Möglichkeiten funktionieren, wende Dich (bzw.: wendet Euch) an unseren "Foren-Diktator". (Ich denke aber, daß Frank schon längst reagiert hat, denn ansonsten würde hier auch der Stichpunkt E-Mail auftauchen... ;) )

Zum Abschluss möchte ich diesen Satz von Joe noch einmal dick unterstreichen:

Joe 70,23.01.2007, 22:57 schrieb:

Sollte es noch Interesse an weiteren Funktionen bestehen wäre jetzt eine Möglichkeit diese zu äußern.

Na, dann mal los Community ...

:)

A Bill of Rights in Cyberspace

26 bearbeitet von Franklin (Original: 2007-01-24 18:43)

Re: Dateiendungen in CUE-Sheets automatisch ersetzen

Hallo,

hier nochmal meine "Änderungswünsche" für das Skript:

- Setzen der Uhrzeit in der LOG-Datei von EAC auf "00:00" [Anmerkung: Könnte man das so erreichen, dass die Zeit vor "für CD" einfach durch 00:00 ersetzt wird?]

- Getrenntes Ersetzen von wav -> flac für LOG-Datei, CUE-Sheet und M3U-Datei [Anmerkung: Notfalls müsste man mit mehreren Skripten arbeiten, schöner wäre aber nur eines - vielleicht kann man das mit Parametern für die jeweiligen Dateien erreichen, also z.B. "cue_ersetzen=true", "log_ersetzen=false". Das Skript müsste dann den Parameter auswerten und fallweise ersetzen - oder eben nicht]

- Anwendung auf einen ganzen Ordner: Am idealsten fände ich es, wenn man das Skript per Rechtsklick auf einen ganzen Ordner anwenden könnte und nicht separat für jede Datei (LOG, CUE, M3U) aufrufen müsste. Damit wäre die Anpassung der Dateien mit nur einem einzigen Mausklick erledigt.

- Und noch ein Spezialwunsch ;) Wäre es möglich, die CRC-Werte der Tracks für Test&Copy in der LOG-Datei jeweils miteinander zu vergleichen. Wenn die CRCs der Tracks NICHT übereinstimmen, dann wird eine Meldung ausgegeben, ansonsten nicht. Das ganze würde aber nur funktionieren, wenn EAC im Test&Copy-Modus arbeitet. Auch hier hier hielte ich dann einen Parameter für sinnvoll.

Gruß
Franklin

Beiträge [ 16 bis 26 von 26 ]

Seiten Vorherige 1 2

Sie müssen sich anmelden oder registrieren, um eine Antwort zu verfassen

AudioHQ » Einlesen und Brennen von Audio-CDs » Dateiendungen in CUE-Sheets automatisch ersetzen

Ähnliche Themen