Persoenliche Mediazentrale
ulrich
2021-04-26 a48ca301dc5a00b724cb87492be39df2bb40b6f2
Readme beigefuegt, umgestellt auf ID3TagLib
1 files deleted
1 files added
3 files modified
301 ■■■■ changed files
README.md 15 ●●●●● patch | view | raw | blame | history
publish/logging.properties 2 ●●● patch | view | raw | blame | history
src/de/uhilger/tango/api/ListFileHandler.java 27 ●●●●● patch | view | raw | blame | history
src/de/uhilger/tango/store/Track.java 255 ●●●●● patch | view | raw | blame | history
www/ui/js/app.js 2 ●●● patch | view | raw | blame | history
README.md
New file
@@ -0,0 +1,15 @@
# Tango
Tango streamt Musik und Videos über das Netz und stellt eine einfach verwendbare Bedienoberfläche zur Konfiguration und Steuerung bereit.
Weitere Informationen auf der [Produktseite](https://uhilger.de/data/pg/tango/).
## Abhängigkeiten
Tango nutzt die folgenden Produkte:
[Java](https://adoptopenjdk.net/) - Ablaufumgebung
[Gson](https://github.com/google/gson) - JSON/Java Serialisierung und Deserialisierung
[jID3Lib](http://javamusictag.sourceforge.net/) - Java ID3 Tag Library
[Mustache](http://mustache.github.io/) - "Logic-less templates."
publish/logging.properties
@@ -55,7 +55,7 @@
#     <level>: <log message> [<date/time>]
#
# java.util.logging.SimpleFormatter.format=%4$s: %5$s [%1$tc]%n
java.util.logging.SimpleFormatter.format=[%1$tc] %4$s: %5$s %n
java.util.logging.SimpleFormatter.format=[%1$tc] %4$s: %5$s (%2$s)%n
############################################################
# Facility specific properties.
src/de/uhilger/tango/api/ListFileHandler.java
@@ -26,7 +26,6 @@
import de.uhilger.tango.store.FileStorage;
import de.uhilger.tango.store.Storage;
import de.uhilger.tango.store.StorageFile;
import de.uhilger.tango.store.Track;
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
@@ -38,6 +37,9 @@
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.farng.mp3.MP3File;
import org.farng.mp3.TagException;
import org.farng.mp3.id3.ID3v1;
/**
 *
@@ -112,7 +114,7 @@
            Object o = extMap.get(ext);
            if(o instanceof String) {
              sf.setTyp(o.toString());
              getTrack(file, sf);
              getMetadata(file, sf);
            } else {
              sf.setTyp(StorageFile.TYP_FILE);
            }
@@ -156,15 +158,22 @@
    return text;
  }
  
  private void getTrack(File file, StorageFile sf) {
  private void getMetadata(File file, StorageFile sf) {
    if(sf.getTyp().equalsIgnoreCase(StorageFile.TYP_AUDIO)) {
      Track track = new Track(file);
      sf.setInterpret(track.getArtist());
      String trackTitel = track.getTitle();
      if(trackTitel != null && trackTitel.length() > 0) {
        sf.setTitelAnzName(trackTitel);
      try {
        MP3File mp3 = new MP3File(file);
        ID3v1 tag = mp3.getID3v1Tag();
        sf.setInterpret(tag.getArtist());
        String trackTitel = tag.getTitle();
        if(trackTitel != null && trackTitel.length() > 0) {
          sf.setTitelAnzName(trackTitel);
        }
        sf.setAlbum(tag.getAlbumTitle());
      } catch (IOException ex) {
        Logger.getLogger(ListFileHandler.class.getName()).log(Level.SEVERE, null, ex);
      } catch (TagException ex) {
        Logger.getLogger(ListFileHandler.class.getName()).log(Level.SEVERE, null, ex);
      }
      sf.setAlbum(track.getAlbum());
    }
  }
  
src/de/uhilger/tango/store/Track.java
File was deleted
www/ui/js/app.js
@@ -309,7 +309,7 @@
  this.ablageort_form = function(ort) {
    self.entitaet_form('Katalog', ort, ort.name,
      "data/tpl/form_ablageort.txt", '../api/store/Ablageort/',
      '#ablageort-name', function() {
      '#ablageort-name', 'name', function() {
        self.ablageort_liste();
    });
  };