java script Spaltensortierung


#1

Unzählige Male hab' ich mich schon belesen, daran rumgefummelt und jedes Mal hab ich mich danach gefragt, ob ich diese Frage dann doch mal hier posten sollte.

Hat jemand eine Spaltensortierung im html code in der Schublade?

Solch eine Funktion finde ich sehr nützlich, demzufolge hätte ich das auch gerne, aber ich finde nicht mal nen Ansatz. Mein html Export ist im Prinzip strukturell mit dem html Standard des Programms identisch.

Ich weiß, es gibt tolle Scrips hier, aber für den normalen Standart-Export konnte ich noch nichts finden. Bitte Bitte :flushed:


#2

ich habe das auch nur abgeschaut von Dano und an meine Bedürfnisse angepasst!
aber vielleicht gefällt es und es ist leicht zu bearbeiten was die Spalten betrifft.

$filename(%_folderpath%%_directory%itunesstyle.html,utf-8)<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="GENERATOR" content="Mp3tag - <a href="http://www.mp3tag.de&quot;&gt;" target="_blank">http://www.mp3tag.de"></a>
<title>Mp3tag - Report of %_workingdir%</title>

<style type="text/css"><!--	
		h1 { font-family: Arial; font-size: 13pt }
		h2 { font-family: Arial; font-size: 10pt }
		body { font-family: Arial; font-size: 9pt }
		table { font-family: Arial; font-size: 9pt }
		a {color: #960000; text-decoration: none }
		a:hover {color: #960000; text-decoration: none}
		#wrap { width: 95%%; }
		.tbox { padding: 10px; margin: 10px; background-color: #EFEFEF;}
		.odd { background-color: #F3F7FB; }
		.bigtable { border:1px solid #C9C9C9; border-collapse:collapse; }
	--></style>
			
</head>
<body>
<div id="wrap">
$loop(%year%,$num(%discnumber%,2),%_folderpath%)

<table border="1" width="95%%" class="bigtable">
<td align="middle" valign="top" width="200">
	<div>&nbsp;
	<a href="$replace(%_folderpath_rel%,\,/)cover.jpg">
<img src="$replace(%_folderpath_rel%,\,/,':','|',' ','%20')cover.jpg" width="150" height="150" border="0" />

</a>
<b><h1>%album%</h1></b>
<p><h2>$if2(%albumartist%,%artist%)<h2></p>
<p><h3>Date: %year%</h3></p>
<p><h3>Totaltime: %_total_time%</h3></p>
<table width="100%%">
<thead>
<tr>
	<th width="35">Track</th><th align="left">Artist&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Title</th>
	<th align="right" width="50">Length</th><th align="right" width="60">Size</th><th align="right" width="50">Bitrate</th><th align="left" width="30">Count</th><th align="left" width="30">Best</th>
</tr>
</thead>

$loop($num(%track%,2))<tr>
	<td$if($odd(%_counter%), class="odd",) align="middle">%track%.[<font size="6" color="#17447A">/%discnumber%</font>]</td>
	<td$if($odd(%_counter%), class="odd",) align="left"><b>%artist% - %title%</td></b>
	<td$if($odd(%_counter%), class="odd",) align="right">%_length%</td>
	<td$if($odd(%_counter%), class="odd",) align="right">%_file_size%</td>
	<td$if($odd(%_counter%), class="odd",) align="right">%_bitrate%</td>
	<td$if($odd(%_counter%), class="odd",) align="right">%play_counter%</td>
	<td$if($odd(%_counter%), class="odd",) align="right">%The Best%</td>
</tr>
$loopend()
</table>
$loopend()

made on %_date% with %_app% - the universal Tag Editor www.mp3tag.de


#3

Nabend, hab' ich mir gleich angesehen. Play Counter funktioniert das?
Also, ich kann mich auch nur an den anderen zugänglichen Scripts orientieren. Das ist einfach faszinierend, aber ich komme mir immer vor, wie ein Dieb. :ph34r:
Wusstest du, dass, wenn du in die Zeile Artist - Titel dieses

einfügst, die Titel auch abspielen kannst?

Tja, was ich halt gesucht habe, war die Sortierungsmöglichkeit und später wollte ich mich dann mal ans "Suchen" innerhalb einer html machen. Das dies geht, hat mir der Export mit dem squonk-Script gezeigt. Das ist super, aber ich bräuchte was ohne Cover. Eben Spalten als Listenübersicht. Leider ist das alles ziemlich schwierig zu begreifen. Aber nichts ist unmöglich und ich habe auch schon etwas zusammengeschustert, was ausbaufähig ist. Ich muss das aber zwischenzeitlich immer mal weg tun. Sonst würde ich wahrscheinlich die Lust verlieren.


#4

Für meine Zwecke scheint es zu funktionieren.

Angehängte .mte (15kb) will nicht. Es geht auch kein .txt oder .rar


#5

Kopiere die Textdatei doch in eins der angezeigten

oder gar hierher :flushed:

#6

Aber bitte dran denken, das da ein Laie drin rum gekritzelt hat. Bleibt zu hoffen, dass das auch hinhaut, denn ich bin dann gleich zur subjektiven SFL-Anpassung übergegangen. Vielleicht können die Urheber noch falsches korrigieren und mir bitte nicht die Rübe abhauen.

$filename(%_parent_directory%.html,utf-8)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
    <meta name="GENERATOR" content="Mp3tag - http://www.mp3tag.de" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Mp3tag - Datei&uuml;bersicht</title>
    <style type="text/css"><!--
        h1 { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 14pt; color: #960000 }
        body { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 8pt; background: #f90 }
        table, tr, td { font-family: Verdana, Tahoma, Arial, sans-serif; font-size: 9pt; color: #000; }
        a:link, a:visited, a:active { text-decoration: none; color: #03f; }
        a:hover { text-decoration: none; color: #f03; }
        .title { font-weight: bold; padding: 7px; margin: 0px; color: #960000; }
        .odd { background-color: #fc0; }
body,td,th {
    color: #000000;
}
    --></style>
</head>
<body>
    <h1>Mp3tag - Datei&uuml;bersicht</h1>
    <p>%_date%</p>
    <table>
<!--
Mp3Tag export configuration by nickless

Thanks a lot to 
dano for the visual style 
-->

<style type="text/css">
<!--

/*Visual Design by dano*/

body { background: #FF9900; color: white; FONT-FAMILY: "Times New Roman"; FONT-SIZE: 9pt; }
h1 { font-family: tahoma, "Times New Roman"; font-size: 29pt; color: #960000; text-align: center; }

.table1 { background: #FF9900; FONT-SIZE: 9pt; color: white; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; text-align: center; }
.table2 { background: #FF9900; FONT-SIZE: 9pt; color: #1700AB; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; text-align: center; }
.table3 { background: #FFCC00; FONT-SIZE: 9pt; color: #1700AB; FONT-FAMILY: Verdana, Tahoma, Arial, sans-serif; text-align: center; }

a:link, a:visited, a:active { text-decoration: none;color: #000; }
a:hover { text-decoration: underline;color: #1700AB; }
.Stil1 {
    font-family: "Times New Roman";
    font-size: 8pt;
}
-->
</style>

<!--
.titlemedium { font-weight: bold;padding: 7px;margin: 0px;color: #3A4F6C;background-color: #AECEF8; }
.titlemedium  a:link, .titlemedium  a:visited, .titlemedium  a:active { text-decoration: underline;color: #3A4F6C; }
.maintitle { vertical-align: middle;font-weight: bold;padding: 8px 0px 8px 5px;color: #960000;background-color: #1974EA; }
.maintitle a:link, .maintitle  a:visited, .maintitle  a:active { text-decoration: none;color: #FFF; }
.maintitle a:hover { text-decoration: underline; }
-->


<script type="text/javascript">
<!--
/* Cookie functions begin */

function readCookie(name) 
{
  var _cookie = document.cookie; 
  var _name = name + "=";
  var _len = _cookie.length;
  var i = 0;

  while (i < _len) 
  {
    var _val_from = i + _name.length;
    if (_cookie.substring(i, _val_from) == _name) 
    { 
      var _val_to = _cookie.indexOf (";", _val_from);
      if (_val_to == -1) _val_to = _len;
      return unescape(_cookie.substring(_val_from, _val_to));
    }
    i = _cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}

function writeCookie(name, value, expire_time) //expire_time in hours
{
  _expire_date =  new Date();
  _expire_date.setTime(_expire_date.getTime() + expire_time * 1000 * 60 * 60);

  document.cookie = name + "=" + escape(value) + "; expires=" + _expire_date.toGMTString() + "; path=/";
}

function deleteCookie(name) 
{
  document.cookie = name + "=; expires=Thu, 01-Jan-80 00:00:01 GMT; path=/";
}

/* Cookie functions end */

/* Average bitrate calculating begin */

/* calculates base^exponent */
function power(base, exponent)
{
  var result = base;

  for(i=1; i<exponent; i++) { result *= base };
  return result;
}

/* returns a floating point value with number of digits after the decimal point specified by "precision"
value: some floating point value; 
precision: integer;
*/
function format(value, precision)
{
  var _pow = power(10, precision);

  return Math.round(value * _pow) / _pow;
}

/* Quick Sort begin */
function xchange(a, b)  //sort all arrays
{
//you can delete arrays you don''t need, but delete ALL of them everywhere in the file!
  
  //title
  var temp = ar0_tit'['a']';
  ar0_tit'['a']' = ar0_tit'['b']';
  ar0_tit'['b']' = temp;
  
  //artist
  temp = ar1_art'['a']';
  ar1_art'['a']' = ar1_art'['b']';
  ar1_art'['b']' = temp;

  //album
  temp = ar2_alb'['a']';
  ar2_alb'['a']' = ar2_alb'['b']';
  ar2_alb'['b']' = temp;

  //track
  temp = ar3_tra'['a']';
  ar3_tra'['a']' = ar3_tra'['b']';
  ar3_tra'['b']' = temp;

  //year
  temp = ar4_yea'['a']';
  ar4_yea'['a']' = ar4_yea'['b']';
  ar4_yea'['b']' = temp;
  
  //genre
  temp = ar5_gen'['a']';
  ar5_gen'['a']' = ar5_gen'['b']';
  ar5_gen'['b']' = temp;

    //path
  temp = ar6_pat'['a']';
  ar6_pat'['a']' = ar6_pat'['b']';
  ar6_pat'['b']' = temp;

/* remove the comment and add some of the arrays with information you need
  
  //bitrate
  temp = ar7_btr'['a']';
  ar7_btr'['a']' = ar7_btr'['b']';
  ar7_btr'['b']' = temp;

  //comment
  temp = ar8_com'['a']';
  ar8_com'['a']' = ar8_com'['b']';
  ar8_com'['b']' = temp;

  //length
  temp = ar9_len'['a']';
  ar9_len'['a']' = ar9_len'['b']';
  ar9_len'['b']' = temp;

  //tags
  temp = arA_tag'['a']';
  arA_tag'['a']' = arA_tag'['b']';
  arA_tag'['b']' = temp;

  //size
  temp = arB_siz'['a']';
  arB_siz'['a']' = arB_siz'['b']';
  arB_siz'['b']' = temp;

  //codec
  temp = arC_cod'['a']';
  arC_cod'['a']' = arC_cod'['b']';
  arC_cod'['b']' = temp;

  //mode
  temp = arD_mod'['a']';
  arD_mod'['a']' = arD_mod'['b']';
  arD_mod'['b']' = temp;

  //samplerate
  temp = arE_rat'['a']';
  arE_rat'['a']' = arE_rat'['b']';
  arE_rat'['b']' = temp;
*/
//DO NOT delete these 2 arrays - necessary for sorting

  //numbers array
  temp = ar_nrs'['a']';
  ar_nrs'['a']' = ar_nrs'['b']';
  ar_nrs'['b']' = temp;

  //sorted numbers array
  temp = ar_last_sort'['a']';
  ar_last_sort'['a']' = ar_last_sort'['b']';
  ar_last_sort'['b']' = temp;
}

function compare(value1, value2, order)
{
  if(order) { return(value1 < value2) }
  else { return(value1 > value2) };
}

function quicksort(_array, left, right, order)  //sort all arrays by _array in order (true = A-Z, false = Z-A)
{
  var l, r, x;

  l = left;
  r = right;
  x = Math.floor((left + right) / 2);

  do 
  { 
    while(compare(_array'['l']', _array'['x']', order)) { l++ };
    while(compare(_array'['x']', _array'['r']', order)) { r-- };
    
    if(l <= r)
    { 
      xchange(l, r);

      if(x == l) 
      { 
        x = r 
      }
      else 
      { 
        if(x == r) {x = l};
      };

      l++;
      r--;
    }
  } while(l < r)

  if(r > left) { quicksort(_array, left, r, order) };
  if(l < right) { quicksort(_array, l, right, order) };
}
/* Quick Sort end */

/* Arrayed Export with Sorting + Average Bitrate Calculation */

//you can delete arrays you don''t need, but delete ALL of them everywhere in the file!
var ar0_tit = new Array(%_total_files%);
var ar1_art = new Array(%_total_files%);
var ar2_alb = new Array(%_total_files%);
var ar3_tra = new Array(%_total_files%);
var ar4_yea = new Array(%_total_files%);
var ar5_gen = new Array(%_total_files%);
var ar6_pat = new Array(%_total_files%);
/* remove the comment and add some of the arrays with information you need

var ar7_btr = new Array(%_total_files%);
var ar8_com = new Array(%_total_files%);
var ar9_len = new Array(%_total_files%);
var arA_tag = new Array(%_total_files%);
var arB_siz = new Array(%_total_files%);
var arC_cod = new Array(%_total_files%);
var arD_mod = new Array(%_total_files%);
var arE_rat = new Array(%_total_files%);
*/
//DO NOT delete these 2 arrays - necessary for sorting

var ar_last_sort = new Array(%_total_files%);
var ar_nrs = new Array(%_total_files%);

for (i=0; i<%_total_files%; i++) {ar_nrs'['i']' = i};

var avg_bps = 0;

/* Main Export Loop */
//you can delete arrays you don''t need, but delete ALL of them everywhere in the file!
$loop(%_filename_ext%)
ar0_tit'['$sub(%_counter%,1)']' = "$replace(%title%,",\")";
ar1_art'['$sub(%_counter%,1)']' = "$replace(%artist%,",\")";
ar2_alb'['$sub(%_counter%,1)']' = "$replace(%album%,",\")";
ar3_tra'['$sub(%_counter%,1)']' = "%track%";
ar4_yea'['$sub(%_counter%,1)']' = "%year%";
ar5_gen'['$sub(%_counter%,1)']' = "%genre%";
ar6_pat'['$sub(%_counter%,1)']' = "$replace(%_directory%,\,\\\\)";
avg_bps += %_bitrate%;
$loopend()
/* remove the comment and add some of the arrays with information you need
ar7_btr'['$sub(%_counter%,1)']' = "%_bitrate% kbps[ %_vbr%]";
ar8_com'['$sub(%_counter%,1)']' = "$replace(%comment%,",\")";
ar9_len'['$sub(%_counter%,1)']' = "%_length%";
arA_tag'['$sub(%_counter%,1)']' = "%_tag%";
arB_siz'['$sub(%_counter%,1)']' = "%_file_size%";
arC_cod'['$sub(%_counter%,1)']' = "%_codec%";
arD_mod'['$sub(%_counter%,1)']' = "%_mode%";
arE_rat'['$sub(%_counter%,1)']' = "%_samplerate%";
*/

/* Average Bitrate calculation */
avg_bps = format(avg_bps/%_total_files%, 1);  // EDIT HERE (1) to change the number of decimals after the decimal point (1)

/* Calculations end */

/* Custom Routines */
function write_dots()  //writes dots to the General Information Table
{
  document.write(''<td width="1'%'">
'');
  for (i=0; i<19; i++) { document.write(''<td width="2'%'">&middot;</td>'') };
  document.write(''<td width="1'%'">
'');
}

function sort(sort_by)  //sets cookies and reloads the page (arrays will be sorted during loading process)
{
  var _str = readCookie("direction");

  writeCookie("direction", "az", 24*31);
  if ((readCookie("array_name") == sort_by) && (_str == "az"))
  {
    writeCookie("direction", "za", 24*31);
  }

  writeCookie("array_name", sort_by, 24*31);

  var _ar_nr = %_total_files% + ":";
  for (i=0; i<ar_nrs.length; i++) {_ar_nr += ar_nrs'['i']' + ";"};
  writeCookie("sorted_numbers", _ar_nr, 24);
  
  window.location.reload()
}

function q_sort(_array, _direction)  //sorts by multiple criteria using quicksort
{
  var _ar_nr = "";
  var i = 0;

  _nrs = readCookie("sorted_numbers");

  //determine the last sorting
  var _str = "";
  if ((_nrs != "") && (_nrs != null)) {
    while ((i<_nrs.length-1) && (_nrs'['i']' != ":")) { 
      _str += _nrs'['i']';
      i++;
    };

    if (_str == %_total_files%) {
      var _curr = 0;
      i++;
      _str = "";
      while (i<_nrs.length-1) {
        _str += _nrs'['i']';
        i++;
        if (_nrs'['i']' == ";") {
          ar_last_sort'['_str']' = _curr;
          _str = "";
          i++;
          _curr++; 
        };
      };
    };
  }
  else {
    for (i=0; i<%_total_files%; i++) {ar_last_sort'['i']' = i};
  };

  quicksort(_array, 0, $sub(%_total_files%,1), _direction);

  i = 0;
  var a = 0;
  while (i<%_total_files%-1) {
    a = i+1;

    while ((a<%_total_files%) && (_array'['a']' == _array'['i']')) { a++; };

    if (a>i) { quicksort(ar_last_sort, i, a-1, _direction) };
    i = a;
  };
  deleteCookie("sorted_numbers");
}

function write_dir(array_nr)  //writes the arrow that shows the direction of sorting
{
  var _arrow = " &darr;";

  if (readCookie("direction") == "za") { _arrow = " &uarr;" };
  if (readCookie("array_name") == array_nr)
  {
    document.write(_arrow);
  }
}

/* Sorting */

var _ar = 1;
var _dir = true;

_ar = readCookie("array_name");
_dir =!(readCookie("direction") == "za");

switch (_ar)
{
  case "0": q_sort(ar0_tit, _dir);
  break;

  case "1": q_sort(ar1_art, _dir);
  break;

  case "2": q_sort(ar2_alb, _dir);
  break;

  case "3": q_sort(ar3_tra, _dir);
  break;

  case "4": q_sort(ar4_yea, _dir);
  break;

  case "5": q_sort(ar5_gen, _dir);
  break;

  case "6": q_sort(ar6_pat, _dir);
  break;
/* remove the comment and add some of the arrays with information you need
  case "7": q_sort(ar7_btr, _dir);
  break;

  case "8": q_sort(ar8_com, _dir);
  break;

  case "9": q_sort(ar9_len, _dir);
  break;

  case "10": q_sort(arA_tag, _dir);
  break;

  case "11": q_sort(arB_siz, _dir);
  break;

  case "12": q_sort(arC_cod, _dir);
  break;

  case "13": q_sort(arD_mod, _dir);
  break;

  case "14": q_sort(arE_rat, _dir);
  break;
*/
  default: q_sort(ar1_art, _dir);
};
//-->
</script>

<div align="center">
  <table class="table1" border="0" cellpadding="1" cellspacing="1"
width="98'%'">
<tbody>
<tr class="table3">
<td style="font-weight: bold;" width="30">Nr.</td>
<td style="font-weight: bold;"><a onMousedown="sort(0)" title="Sortierung nach Titel">Titel<script>write_dir(0)</script></a></td>
<td style="font-weight: bold;"><a onMousedown="sort(1)" title="Sortierung nach Interpret">Interpret<script>write_dir(1)</script></a></td>
<td style="font-weight: bold;"><a onMousedown="sort(2)" title="Sortierung nach Album">Album<script>write_dir(2)</script></a></td>
<td style="font-weight: bold;"><a onMousedown="sort(3)" title="Sortierung nach Track">Track<script>write_dir(3)</script></a></td>
<td style="font-weight: bold;" width="55"><a onMousedown="sort(4)" title="Sortierung nach Jahr">Jahr<script>write_dir(4)</script></a></td>
<td style="font-weight: bold;" width="90"><a onMousedown="sort(5)" title="Sortierung nach Genre">Genre<script>write_dir(5)</script></a></td>
<td style="font-weight: bold;" width="75"><a onMousedown="sort(6)" title="Sortierung nach Ordner">Ordner<script>write_dir(6)</script></a></td>
</tr>
<script>
for(i=0; i<%_total_files%; i++) {
if (i'%'2==0) {document.write(''<tr class="table2">'')}
else {document.write(''<tr class="table3">'')}
document.write(''<td width="30">'' + (i+1) + ''</td>'')
//The tooltip (title) is here
document.write(''<td align="left">'' + ar0_tit'['i']' + ''</td>'')
document.write(''<td align="left">'' + ar1_art'['i']' + ''</td>'')
document.write(''<td align="left">'' + ar2_alb'['i']' + ''</td>'')
document.write(''<td align="left">'' + ar3_tra'['i']' + ''</td>'')
document.write(''<td width="55">'' + ar4_yea'['i']' + ''</td>'')
document.write(''<td width="90">'' + ar5_gen'['i']' + ''</td>'')
document.write(''<td width="75">'' + ar6_pat'['i']' + ''</td>'')
document.write(''</tr>'')
}
</script>
</tbody>
</table>



<!-- Main Export Table 
end -->

<!-- Info Table 
begin -->
<!-- Info Table 
end -->
</div>
<p align="center" class="Stil5">erstellt am %_date% mit %_app% - dem universellen Tag Editor <a href="http://www.mp3tag.de/" title="Mp3tag Website">www.mp3tag.de</a>



<tr><td width="30%%" class="info_names" id="info_names_1" align="right">&nbsp;</td>
</tr>
</body>
</html>

#7

Ich habe da eine (wahrscheinlich) dumme Frage:

Wie und womit (Externes Programm, MP3Tag?) nutzt man das Script? Wo muss ich was drücken, damit das gezeigte Script ein Resultat hervorbringt?

Ich habe das hier über die Forumssuche gefunden Klick mich Script? werde allerdings überhaupt nicht schlau daraus.

Mit der Bitte, Licht in den dunklen Tunnel zu bringen.


#8

Markiere ein paar Dateien (getagte) im Programm und . . .

Ein Weg: Klicke “Export“ Button. Du siehst die Exportkonfiguration. Gehe zu:
html_mp3tag>markiere es>rechts auf Button Duplizieren<

Es ist eine neue .mte Datei (Kopie) eingetragen. Klicke diese doppelt an. Es öffnet sich der Text-Editor. Lösche den Textinhalt>markiere und kopiere den Inhalt des Scripts und füge dies in den nun inhaltslosen Texteditor und speichere ihn ab.

Dann Ok drücken (Keine Häkchen setzen)

Sollte etwas unklar sein, frage einfach.


#9

Es geht auch indem du, siehe Picture:

[no Picture]

In den Exploreroptionen versteckte Ordner sichtbar machen.
Bei Export klicken, kopieren einer .mte Datei mit eindeutigem Namen.
Danach neue Datei öffnen und den aus dem oberen "QUELLTEXT"
Text markieren und in die vorher leer gemachte Aktion (upps Export/
.mtedatei) reinkopieren.
Anschließend speichern und wie o.g. weiter verfahren.

Apropos: Was auch helfen könnte gute .mta/.mte Dateien zu finden,
benutz die Suche -> erweiterte Suche -> Suchtext "htlm;mte;mta"
unten

Ergebnisanzeige:
[ ] Zeige Ergebisse als Themen
[X] Zeige Ergebnisse als Beiträge


#10

Vielen Dank Euch Beiden!

Nach so vielen Jahren wieder was dazu gelernt... :smiley:

Gelesen und gesehen hatte ich das Thema schon, mich aber gefragt, wozu das ganze eigentlich, wenn man seine Musik ganz normal in irgendwelchen Playern abspielen kann (z.B. mit Wiedergabeliste). Also, außer, dass es hübsch aussieht, sehe ich für mich keinerlei Funktion in dieser "Sache". Oder kann man diese Scripts auch quasi in einer/als eine Datenbank nutzen? Muss ich diese html-Datei jedesmal per Doppelklick zum Öffnen bringen?

Ich werde die Suchfunktion des Forums nochmal mit meinen Fragen befüttern.


#11

Es ist halt eine Form um Daten zu überblicken. Den Nutzen daraus zu ziehen ist subjektiv. Hier ging es mir nur um die Sortierungsmöglichkeit, aber der Export an sich, ist schon ein mächtiges Tool. So viel Ahnung hab ich auch nicht, aber am einfachsten ist wohl das editieren von .csv.
Dort kann man sich schnell einen Überblick konfigurieren und z.B. in OpenOffice (Spalten-Trennung Semikolon!) ansehen und dann natürlich in den dort zur Verfügung stehenden Formaten, wie z.B. .xls speichern. Immer vorausgesetzt man pflegt in gewisser Weise auch seine Tags. Ich habe z.B. etliche Panels hinzugefügt, die ein Player, den du jetzt als Beispiel genommen hast, normaler Weise nicht anzeigen kann. Unter anderem “Spezifikationen“ die ich mit Inhalten wie z.B. Deutsche Coverversion oder dessen “Original“ als Panel füttere. Auch der Export mit Hash-Audio ist nicht zu verachten. Mit einer bestimmten Formel kann ich mir in Open Office alle identischen Files farbig hervorheben. Das nutze ich zwar immer seltener und auch hier im Programm gibt’s da wohl auch einige Lösungen, aber ich nutze es halt instinktiv, weil's in meinem subjektiven Ablauf schnell passt.

Wenn du aber nun nur Musik abspielst und dir die Informationen, die dein Player dazu ausspuckt reichen, dann brauchst du dich nicht großartig damit beschäftigen. In der Regel reichen die vorhandenen Varianten des Exports im Programm auch aus.


#12

Vielen Dank für die ausführliche Antwort zu dem Thema. Ich bin der Meinung, dass diese Form der Verwaltung nichts für mich ist. Trotzdem Dir weiterhin viel Spass und Erfolg beim "Scripten", SFL! :slight_smile: