Exportdatei HTML und Aktionen


#1

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


#2

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


#3

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


#4

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


#5

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


#6

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.


#7

@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


#8

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


#9

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


#10

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


#11

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


#12

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


#13

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


#14

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


#15

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


#16

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


#17

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


#18
  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


#19
  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


#20

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