Exportdatei HTML und Aktionen

Hallo an Alle :smiley:

Na ja, weil ich einfach nicht weiter komme habe ich ein paar Fragen :wink:

Ich habe schon einige Aktionen erstellt, aber trotzdem bekomme ich z.B. bei der Erstellung von Regulären Ausdrucken Probleme. Suche in Forum und FAQ hat mir da auch nicht wirklich weiter geholfen. Wäre schön wenn mir mal einer erklären könnte für was die Zeichen ( \s*$^\s*[0-9]+\s*-\s*\u+(.{1})^.{3} ) stehen oder wo die jeweilige Erklärung zu finden ist :book:

Jetzt aber zu meinen drei Fragen

Erste Frage:
Ich möchte mir per HTML Exportdatei die Anzahl der MP3 Dateien im Ordner XYZ mit jeweiliger Bitrate auflisten lassen.
Beispiel:
In Ordner AC/DC sind insgesamt 233 MP3 Files mit 192 kBit/s, 14 mit 160 kBit/s und 345 mit 128 kBit/s vorhanden.

Wäre echt Super wenn dieses irgendwie zu realisieren wäre.

Zweite Frage:
Ist es möglich, dass die HTML Exportdatei bei der Erstellung nicht auf die schon geöffnete Internet Seite zugreift, welche sich in der Taskleiste befindet. Es wäre schon wenn man irgendwo die Möglichkeit hat, dass für jeden Aufruf der Exportdatei auch eine neue Internet Seite erstellt wird.

Vieleicht muß ja nur ein ''Haken'' gesetzt werden, welchen ich übersehen habe. Ich habe auch schon versucht per Hyperlink et cetera etwas zu machen, aber leider ohne Erfolg.

Dritte Frage:
Wie kann ich mit einer Aktion / Regulärer Ausdruck ganz schnell den vorhandenen Taginhalt von Interpret in den Taginhalt von Titel hinzufügen.
Wichtig! Der Inhalt von Titel soll bestehen bleiben, aber der Inhalt aus Interpret soll vor den Inhalt von Titel eingefügt werden. Das ganze soll durch einen Bindestrich voneinander getrennt sein.

Schwere Kost zum Ende dieses Thread ^_^ Ich hoffe Ihr könnt mir helfen.

Vielen, vielen Dank und Gruß

cam1plus

Hallo cam1plus!

0. Lies Dir doch zu den regulären Ausrücken mal die Hilfe durch. Dort ist die Syntax erklärt. Ein Blick in den Regular Expressions-Thread zeigt ein paar Beispiele.

1. Das ist mit dem aktuellen Development Build und z.B. einer solchen Exportkonfiguration möglich: $filename("albumlist.html")

<html>
<head>
    <title>List of albums</title>
</head>
<body>
<h1>Bitrate distribution in %_workingdir% (%_total_files%)</h1>
$loop("%_bitrate%",1) %_total_files% with %_bitrate%

$loopend()
</body>
</html>

2. Das müsste über eine Einstellung im Browser zu regeln sein. Opera hat eine solche Einstellung und bei mir werden die Exportergebnisse im neuen Fenster (bzw. Tab) geöffnet.

3. Lege Dir dazu einfach eine Aktion Tagfelder formatieren an und gebe als Feld TITLE und als Formatstring %artist% - %title% an.

Viele Grüße,
~ Florian

Hallo Florian,

danke für Deine schnelle Hilfe.

Die Hilfe hatte ich schon gelesen, aber nicht richtig kapiert :wink: Der Regular Expressions-Thread hilft mir schon etwas weiter.

Super Sache, aber wie kann ich das am Ende von meiner Exportdatei
http://www.anytag.de/download/export/html_cam1plus.html einfügen. Hatte gedacht das ganze wieder über FOOTERLINE einzubinden :unsure: Bei mir funzt das nicht richtig, trotz neuer neuer Version von Dir.

Wenn ich mit der aktuellen Development Build und Deinem Code eine neue Exportdatei erzeuge ist alles bestens.

Der Internet Explorer 6.0 SP2 macht das natürlich nicht :angry: Von Opera kenne ich das auch. Hast Du noch irgend eine andere Möglichkeit auf Lager ?

ASCHE ÜBER MEIN HAUPT

Vielen, vielen Dank für Deine Hilfe

Gruß

cam1plus

Hallo cam1plus!

QUOTE (cam1plus @ Sep 20 2004, 01:13 AM)

Super Sache, aber wie kann ich das am Ende von meiner Exportdatei
http://www.anytag.de/download/export/html_cam1plus.html einfügen. Hatte gedacht das ganze wieder über FOOTERLINE einzubinden :unsure: Bei mir funzt das nicht richtig, trotz neuer neuer Version von Dir.

Das neue Exportformat kennt keine FOOTERLINES oder RECORDLINES mehr. Das Äquivalent zu den Recordlines ist nun alles was zwischen einer $loop- und einer $loopend-Answeisung steht. Ein Vorteil des neuen Formats ist nun, dass es mehrere $loop-Anweisungen in einer Exportkonfiguration geben kann.

Deine Exportkonfiguration erweitert um die Bitraten-Verteilung würde so aussehen: $filename("albumlist.html")

<html>
<head>
<meta name="GENERATOR" content="Mp3tag - http://www.mp3tag.de">
<title>Tag Übersicht für Ordner  .....</title>
<style><!--
h1 { font-family: Verdana; font-size: 14pt }
body { font-family: Verdana; font-size: 7pt }
table { font-family: Verdana; font-size: 7pt }
a {color: #0033FF; text-decoration: none }
a:hover {color: #FF0033; text-decoration: none}
-->
</style>
</head>
<body>
<h1>Tag Übersicht für Ordner  .....</h1>

Erstellt von cam1plus am %_datetime%

Bitrate distribution in %_workingdir% (%_total_files%)


$loop("%_bitrate%",1) %_total_files% with %_bitrate%

$loopend()

<table cellpadding="2" border="0" width="100%"><tr align="center" bgcolor="#aaaaaa"><td><b>Nr.:</b></td><td><b>Interpret</b></td><td><b>Album</b></td><td><b>Track</b></td><td><b>Titel</b></td><td><b>Jahr</b></td><td><b>Länge</b></td><td><b>Bitrate</b></td><td><b>Genre</b></td><td><b>Tag-Typen</b></td></tr>

$loop("%_filename_ext%")
<tr bgcolor="#DFDFDF">
<td align="center">$num("%_counter%",3)</td>
<td align="center">%artist%</td>
<td align="center">%album%</td>
<td align="center">%track%</td>
<td align="left"><a href="%_filename_rel%">%title%</a></td>
<td align="center">%year%</td>
<td align="center">%_length%</td>
<td align="center">%_bitrate%</td>
<td align="center">%genre%</td>
<td align="center">%_tag%</td>
</tr>
$loopend()
</table>

Erstellt von cam1plus am %_datetime%

Titel Gesamt: %_total_files%

Größe Gesamt: %_total_size%

Gesamtzeit aller Titel: %_total_time%

Bitrate über alle Titel: %_bitrate%

</body>
</html>

Viele Grüße,
~ Florian

Hallo Florian,

danke für Deine Hilfe :smiley:

Ups, da habe ich wohl die letzten Wochen etwas verpasst. Ich hatte mich schon über die Exportkonfiguration Deiner ''html_newexport'' gewundert. Das alles reicht für mich nach viel Arbeit :wink:

Komisch, durch die Implementierung neuer Features wird zwar vieles besser@flexibler, aber auch nicht unbedingt einfacher. Für meinen Fall ist dieses auf jeden Fall so, da ich von HTML et cetera keine Ahnung habe.

Der Code funzt natürlich auch auf meinem System, aber leider fehlen mir einige Sachen, wie z.B. die [EXPORTSORT] SORT=9 Funktion. Ich hatte auch schon den Regular Expressions Thread geprüft, aber irgend wie nichts gefunden. Wie wird denn die Sortierung jetzt umgesetzt ?

Sorry, will Deine wertvolle Freizeit nicht unnötig in Anspruch nehmen. Es kann ja mal ein anderer Antworten.

Danke und Gruß

cam1plus

Sortiert wird über das, was in $loop() drinn steht. Wenn man nach mehrer Kriterien sortieren will, kann man die loop's verschachteln.
Man muss bei dem neuen Exportformat nicht mehr "html" können als vorher oder?
Einfach die Beispiele anschauen, das hilft.

@d4n0

Danke für Deine Tipp und Exportkonfiguration :wink:

Diese Exportkonfiguration gefallen mir sehr gut. Ob Du es glaubst oder nicht, genau Deine habe ich mir gestern Abend als Hilfe hinzugenommen.

Das dieses jetzt nur noch über $loop .. und $loopend() realisiert wird habe ich schon gefunden, aber leider nicht den nötigen Platzhalter für die jeweilige Sortierung. Oder ich bin einfach nur zu Blöd :book:

Um ehrlich zu sein, ich tuhe mich in solchen Sachen schwer, weil ich auf solche Programmierklamotten eigentlich auch keinen Bock habe :wacko: Das war bei Excel & Access VBA Programmierung genau so und wird sich wohl auch in diesem Bereich nicht mehr ändern, werde mir aber diesbezüglich Mühe geben :wink: :smiley: :wink:
Meine Stärken sind dann doch eher Planung, Aufbau, Konfiguration et cetera von Windows ADS und Citrix MF PS3 in großen Umgebungen

Wäre schön wenn Du mir noch einen Info über den Platzhalter gibst.

DAAAAAAAAAAAAAAAAAAAAAANKE und Gruß

cam1plus

Alle verfügbaren Platzhalter stehen in der Hilfe oder wie meinst du das?

SORT=9 im alten Format kann im neuen Format zum Beispiel über $loop("%_path%")

xyz
$loopend()

ausgedrückt werden, wobei xyz dann für jede Datei ausgeführt wird und wirklich irgend etwas sein kann.

Gruß,
~ Florian

Ich habe es einfach nicht drauf -_- Bei mir bekomme ich es nicht zum laufen, bin wohl doch zu blöd.

$loop("%_path%")
xyz
$loopend()

Wie habe ich denn das jetzt zu verstehen %_path% / Dateiname mit Pfad ? Sorry, ich will einfach nur nach Track oder wie vorher über "nach Dateiname lang"
sortieren.

Aber wo muß ich jetzt hier $loop ...

$loop("%_filename_ext%")
<tr bgcolor="#DFDFDF">
<td align="center">$num("%_counter%",3)</td>
<td align="center">%artist%</td>
<td align="center">%album%</td>
<td align="center">%track%</td>
<td align="left"><a href="%_filename_rel%">%title%</a></td>
<td align="center">%year%</td>
<td align="center">%_length%</td>
<td align="center">%_bitrate%</td>
<td align="center">%genre%</td>
<td align="center">%_tag%</td>
</tr>
$loopend()
</table>

in den Code einbinden, damit auch richtig sortiert wird.

.... ist mir ja schon langsam peinlich :unsure:

Danke und Gruß

cam1plus

Hallo cam1plus!

ich denke $loop("%_path%")

<tr bgcolor="#DFDFDF">
<td align="center">$num("%_counter%",3)</td>
<td align="center">%artist%</td>
<td align="center">%album%</td>
<td align="center">%track%</td>
<td align="left"><a href="%_filename_rel%">%title%</a></td>
<td align="center">%year%</td>
<td align="center">%_length%</td>
<td align="center">%_bitrate%</td>
<td align="center">%genre%</td>
<td align="center">%_tag%</td>
</tr>
$loopend()
</table> ist das was Du suchst, oder?

Durch $loop("%_path%") werden alle Dateien nach "Dateiname lang" (also Dateiname mit Pfadangabe) sortiert und für jede Datei wird dann das was innerhalb der Schleife steht ausgegeben.

Viele Grüße,
~ Florian

Hallo Florian,

hoffe ich nerve Dich nicht zu sehr.

Leider funzt das ganze nicht. Ich bekomme die gleiche Fehlermeldung wie bei meinen vorherigen Tests. Deine Konfiguration hatte ich schon zuvor selber einmal ausprobiert und bin immer wieder daran gescheitert.

Hier die komplette Exportdatei:

$filename("albumlist.html")<html>
<head>
<meta name="GENERATOR" content="Mp3tag - http://www.mp3tag.de">
<title>Erstellt von cam1plus am %_datetime%</title>
<style><!--
h1 { font-family: Verdana; font-size: 14pt }
h2 { font-family: Verdana; font-size: 10pt }
body { font-family: Verdana; font-size: 7pt }
table { font-family: Verdana; font-size: 7pt }
a {color: #0033FF; text-decoration: none }
a:hover {color: #FF0033; text-decoration: none}
-->
</style>
</head>
<body>
<h1>Tagübersicht von %_workingpath%</h1>

<table cellpadding="2" border="0" width="100%"><tr align="center" bgcolor="#aaaaaa"><td><b>Nr.:</b></td><td><b>Interpret</b></td><td><b>Album</b></td><td><b>Track</b></td><td><b>Titel</b></td><td><b>Jahr</b></td><td><b>Länge</b></td><td><b>Bitrate</b></td><td><b>Genre</b></td><td><b>Tag</b></td></tr>

$loop("%_path%")
<tr bgcolor="#DFDFDF">
<td align="center">$num("%_counter%",3)</td>
<td align="center">%artist%</td>
<td align="center">%album%</td>
<td align="center">%track%</td>
<td align="left"><a href="%_filename_rel%">%title%</a></td>
<td align="center">%year%</td>
<td align="center">%_length%</td>
<td align="center">%_bitrate%</td>
<td align="center">%genre%</td>
<td align="center">%_tag%</td>
</tr>
$loopend()
</table>

Erstellt von cam1plus am %_datetime%

Titel Gesamt: %_total_files%

Größe Gesamt: %_total_size%

Gesamtzeit aller Titel: %_total_time%

<h2>Bitraten Zusammenfassung von %_workingpath%
$loop("%_bitrate%",1) %_total_files% mit %_bitrate%

$loopend()

</body>
</html>

Hier der Mp3tagError.log von mir:

================================================================================
Mp3tag V.2.25b - 21.09.2004 - 23:20:17

OS-Version: Windows XP Service Pack 2 (Build 2600)

Build: Sep 21 2004 20:40:24

AppPath: 1.315.860.480 Bytes frei (C:\Programme\Mp3tag)
DataPath: 1.315.860.480 Bytes frei (C:\Dokumente und Einstellungen\serverbenutzer\Anwendungsdaten\Mp3tag\data)
TempPath: 1.315.860.480 Bytes frei (C:\DOKUME~1\SERVER~1\LOKALE~1\Temp\Mp3tag V.2.25b)
FileVersion mfc42.dll: 6.2.4131.0


CATCH

File: d:\dev\projects\mp3tag\mtexportparser.cpp
Line: 449


CATCH

File: d:\dev\projects\mp3tag\mtexportparser.cpp
Line: 449

u.s.w u.s.w

Hast Dur irgend eine Idee ?

Viele Grüße

cam1plus

Hallo cam1plus!

Ein solcher Fehler darf natürlich nicht auftreten - da lag der Fehler bei mir :rolleyes:

Bitte versuch mal den aktuellen Development Build. Damit sollte dann alles wie gewünscht funktionieren.

Viele Grüße,
~ Florian

Hallo Florian,

mit den aktuellen aktuellen Development Build gibt es keine Fehler mehr :wink:

Aber leider funzt die Sortierung mit folgendem Konfiguration nicht.

Ich habe meine Konfiguration, siehe weiter oben, nur in dem Punkt $loop("%_path%") geändert.

Na ja, werde mal weiter testen :wink:

Vielen Dank für Deine Hilfe

cam1plus

Hallo cam1plus!

Inwiefern stimmt die Sortierung nicht? Könntest Du bitte mal genau schreiben, was Du Dir von der Konfiguration erwartest.

Viele Grüße,
~ Florian

Hallo Florian,

es ist jetzt alles bestens :smiley: :smiley: :smiley: :smiley: :smiley:

Bin leider nicht eher dazu gekommen hier zu Antworten. Ich hatte es mit einem alten Verzeichniss getestet und da lief die Exportkonfiguration nicht.
Das hatte mich aber doch etwas stutzig gemacht, und ich habe mal ein anderes Sampler Verzeichniss getestet. Und siehe da, alles ist bestens mit $loop("%_path%").

Großen Dank an Dich und d4n0 :wink: :smiley:

cam1plus

Die neue $loop() ist genial. Ich bin dabei meine bisherigen CD2HTML Templates auf Mp3tag umzubauen. Dabei habe ich noch ein paar Probleme mit der Gruppierung.

  1. Der Text, der bei einem $loop(irgendwas,1) herauskommt, wird vor dem nächsten $loop noch einmal ausgegeben.

    $loop(_folderpath) $loopend()
    %artist% %album% %year% %_total_files% %_total_time2% $fmtNum("%_total_size_raw%") $loop(genre,1)%genre% (%_total_files%), $loopend() $loop(_bitrate,1)%_bitrate%,$loopend() %_file_mod_date%

Herauskommt:

<table>
<tr>
<td>Rasmus</td>
<td>Peep</td>
<td>1996</td>
<td>13</td>
<td>00:43:37</td>
<td>62.986.674</td>
<td>Folk (1), Funk (4), Rock (7), Slow Rock (1), </td>
<td>Folk (1), Funk (4), Rock (7), Slow Rock (1), 192,</td>
<td>20.05.2004</td>
</tr>
</table>
  1. Gäbe es bei $loop() noch die Möglichkeit andere Argumente mitzugeben?

    • so dass die gesammelten Ergebnisse nach der Häufigkeit sortiert ausgegeben werden und nicht nur nach Alphabet? Zum Beispiel $loop(bitrate,2) gibt dann 354 mal 192 bkit, 23 mal 128 kbit, 2 mal 160 kbit.
    • Die Auflistung $loop(feldname,1) nutzt man ja, um eine Aufzählung zu machen. Wenn man die einzelnen Ergebnisse mit Komma trennt, wird das Komma auch am Ende noch einmal geschrieben. Das sieht nicht so schön aus. Könnte man nicht schon bei &(loop,feldname,1, ", ") als drittes Argument den Trenner mitgeben, damit nach dem letzten Ergebnis nichts mehr ausgegeben wird?
    • Könnte nur das häufigste ausgeben werden und nicht, wie es sonst ist, das erste in der Liste. Beispiel: innerhalb $loop(artist) steht %genre%, dann wird das Genre des ersten Tracks angezeigt. Es wäre klasse, wenn mit irgendeinem $loop(genre,x,", ") das oder die häufigsten Genre ausgegeben werden könnten.
  2. Etwas anderes Thema: Bei der if(eql)-Funktion wird die Formel und nicht das Ergebnis angezeigt, wenn die Funktion innerhalb eines HTML-Argumentes steht. Als ganz normaler Text funktioniert es. Z. B.

    <img src="$if(eql("%MEDIATYPE%", "Sampler"), "Various","%artist%") - %album% -a.jpg" "75" border="0">

liefert:

<img src="$if(eql("Sampler", "Sampler"), "Various","Fuel") - No Rules! -a.jpg" "75" border="0">
statt
<img src="Various - No Rules! -a.jpg" "75" border="0">

Das erste und dritte würde ich als Bug einstufen, das zweite sind ein paar Wünsche. Sofern die größten Probleme (1 und 3) geklärt sind, kann ich meine Templates hier veröffentlichen.

Gruß,
Julchen

Mp3tag V.2.25c

  1. loop(metafeld, 1) ist anders gedacht
    du solltest es so verwenden

    %genre% $loop(genre,1)$loopend()%_max_counter%

3.statt

<img src=".."> 

verwende als zwischenlösung

<img src='..'> 

aber vielleicht fällt florian was ein für das "" problem, vielleicht eine funktion die ascii zahlen in buchstaben umwandelt

  1. Ich habe es so benutzt, wie es für die Bitrate vorgeschlagen wurde. Die Ergebnisse finde ich auch genau richtig, nur dass das erste Ergebnis bei der zweiten Loop wiederholt wird.
    Dein Vorschlag liefert völlig andere Ergebnisse:

    %genre% $loop(genre,1)$loopend()%_max_counter% bringt jetzt Rock 4 192 1

%_max_counter% gibt hier an, wieviele verschiedene Elemente es gibt. Das interessiert mich eigentlich wenig. Welches Genre angezeigt wird, kann ich absolut nicht nachvollziehen. Es ist noch nicht einmal immer das erste oder häufigste o. ä. Da %genre% vor der Loop steht, hat die loop darauf keinen Einfluss.
Ich möchte eigentlich nur, dass es nachher so aussieht:

Rock (7), Funk (4), Folk (1), Slow Rock (1) 192 oder im Idealfall: Rock 192 "Rock", weil das am häufigsten vorkommt.
  1. funktioniert in meinem Fall nur, sofern der $if(eql) Vergleich negativ ausfällt. Bei Samplern kommt dann:

    <img src='../CD-Huellen/Thumbs/Thumbscover/[unrecognized variable or operator: Sampler]
    Es wäre gut, wenn Florian eine Lösung finden könnte.

Gruß,
Julchen

Das funktioniert bei mir mit <img src='$if(eql("%MEDIATYPE%", "Sampler"), "Various","%artist%") - %album% -a.jpg' "75" border="0">
Gruß,
~ Florian