-- Version 0.1
-- Copyright by eiGelbGeek / Kontakt: geekmatic (at) icloud.com
-------------
-- Lizenz --
-------------
-- Kommerzielle Nutzung oder Veröffentlichen des Codes in diversen AppStores nur mit meiner Zustimmung!
-- Weiterentwicklungen des Codes bitte im Homematic-Forum veröffentlichen!
-- Meine Amazon Wunschliste für freiwillige Donations!
-- https://www.amazon.de/registry/wishlist ... Sxb06GHFC6
---------------------------
-- Vorraussetzungen --
---------------------------
-- iTunes auf einen System mit macOS
-- Ein WebServer, wenn dieser nicht auf dem selben Rechner ist, dann muss ggf. das Kopieren der Dateien vom Local zum WWW Verzeichnis am Ende dieser
-- Datei angepasst werden! z.b. durch SCP oder einen vorherigen SSH Login
-- EventScripts aus den MacAppStore
-------------
-- To Do --
-------------
-- HTML Seite erzeugen für Detail Anzeige der Metadaten
-- Cover für WebRadio Sender konfigurieren
-- Metadaten für WebRadio konfigurieren
-- HTML ggf. noch verbessern, ist erstmal eine Ja es geht Version
Kurze sicherlich nicht komplette Konfiguration:
1. App EventScripts aus dem MacAppStore kaufen und installieren. (Diese lauscht auf die iTunes Events und führt das Script bei Frackwechsel, Pause, Stop etc... aus)
2. Den Code im Apple Script Editor einfügen und den Abschnitt Konfiguration anpassen! speichern und in die EventScript Konfiguration einfügen und auf iTunes track changed stellen.
3. Wenn noch nicht vorhanden, Apache2 installieren oder alternativ den OS X Server installieren (MacAppStore) und konfigurieren.
4. Webseiten-Element in deiner Mediola Fernbedienung hinzufügen und die URL hinzufügen. http://DEINSERVER/html/metadaten_main.html
Wenn man keinen Apache oder OS X Server auf seinen System installieren möchte, kann man das ganze auch auf WebSpace im Internet legen, allerdings muss im Script der letzte Schritt angepasst werden.... weil dann ja nicht nur Local kopiert wird... Lösung wäre z.b. ssh Login zum WebSpace und dann kopieren. Bei mir nicht nötig, denn mein System läuft als OS X Server
Wenn Hilfe benötigt wird versuche ich hier zu helfen, aber habe nicht immer Zeit daher Geduld oder Google....
Ein vollständige Konfiguration liefere ich noch nach
Code: Alles auswählen
-- Meta2Matic ermöglicht eine Anzeige von Metadaten in Mediola Neo Creator inklusive Cover Art!!!
-- Version 0.1
-- Copyright by eiGelbGeek / Kontakt: geekmatic (at) icloud.com
-------------
-- Lizenz --
-------------
-- Kommerzielle Nutzung oder Veröffentlichen des Codes in diversen AppStores nur mit meiner Zustimmung!
-- Weiterentwicklungen des Codes bitte im Homematic-Forum veröffentlichen!
-- Meine Amazon Wunschliste für freiwillige Donations!
-- https://www.amazon.de/registry/wishlist/29ZAEZ7Z5VYFE/ref=cm_sw_em_r_mt_ws_jwgSxb06GHFC6
---------------------------
-- Vorraussetzungen --
---------------------------
-- iTunes auf einen System mit macOS
-- Ein WebServer, wenn dieser nicht auf dem selben Rechner ist, dann muss ggf. das Kopieren der Dateien vom Local zum WWW Verzeichnis am Ende dieser
-- Datei angepasst werden! z.b. durch SCP oder einen vorherigen SSH Login
-- EventScripts aus den MacAppStore
-------------
-- To Do --
-------------
-- HTML Seite erzeugen für Detail Anzeige der Metadaten
-- Cover für WebRadio Sender konfigurieren
-- Metadaten für WebRadio konfigurieren
-- HTML ggf. noch verbessern, ist erstmal eine Ja es geht Version ;)
##########################################
# Konfiguration #
##########################################
set LocalPfadIMG to "'/Users/itunes/Library/Application Scripts/net.mousedown.EventScripts/Meta2Matic/html/img/'"
set LocalPfadHTML to "'/Users/itunes/Library/Application Scripts/net.mousedown.EventScripts/Meta2Matic/html/'"
set wwwPfad to "'/Volumes/Macintosh HD/Library/Server/Web/Data/Sites/Default/html'"
set no_cover to "default_nocover"
set no_cover_ext to ".png"
set pause_cover to "default_pause"
set pause_cover_ext to ".png"
set stop_cover to "default_stop"
set stop_cover_ext to ".png"
##########################################
#Ab hier müssen keine Änderungen mehr vorgenommen werden! #
##########################################
#Aktuelles Cover in Ordner kopieren
tell application "iTunes"
--iTunes geöffnet?
if application "iTunes" is running then
--Läuft Musik?
if player state is playing then
try
tell application "iTunes" to tell artwork 1 of current track
set srcBytes to raw data
if format is «class PNG » then
set nameCover to "cover"
set ext to ".png"
else
set nameCover to "cover"
set ext to ".jpg"
end if
end tell
set fileName to (((path to me) as text) & "::" & ":html:img:" & nameCover & ext)
set outFile to open for access file fileName with write permission
set eof outFile to 0
write srcBytes to outFile
close access outFile
on error
try
do shell script "rm " & LocalPfadIMG & "cover.jpg"
end try
try
do shell script "rm " & LocalPfadIMG & "cover.png"
end try
set nameCover to no_cover
set ext to no_cover_ext
end try
--Musik Pausiert?
else if player state is paused then
try
do shell script "rm " & LocalPfadIMG & "cover.jpg"
end try
try
do shell script "rm " & LocalPfadIMG & "cover.png"
end try
set nameCover to pause_cover
set ext to pause_cover_ext
--Musik gestoppt?
else if player state is stopped then
try
do shell script "rm " & LocalPfadIMG & "cover.jpg"
end try
try
do shell script "rm " & LocalPfadIMG & "cover.png"
end try
set nameCover to stop_cover
set ext to stop_cover_ext
end if
end if
end tell
tell application "iTunes"
--iTunes geöffnet?
if application "iTunes" is running then
--Läuft Musik?
if player state is playing then
try
set WebRadio to get kind of current track
end try
if WebRadio is not equal to "Internetaudio-Stream" then
try
set varArtist to artist of current track
on error
set varArtist to "-"
end try
try
set varTrack to name of current track
on error
set varTrack to "-"
end try
try
set varAlbum to album of current track
on error
set varAlbum to "-"
end try
try
set varAlbumArtist to album artist of current track
on error
set varAlbumArtist to "-"
end try
try
set varGenre to genre of current track
on error
set varGenre to "-"
end try
try
set varYear to year of current track
on error
set varYear to "-"
end try
try
set varTrackNumber to track number of current track
on error
set varTrackNumber to "-"
end try
try
set varTrackCount to track count of current track
on error
set varTrackCount to "-"
end try
try
set varDiscNumber to disc number of current track
on error
set varDiscNumber to "-"
end try
try
set varDiscCount to disc count of current track
on error
set varDiscCount to "-"
end try
try
set varCompilation to compilation of current track
on error
set varCompilation to "-"
end try
try
set varPlayedCount to played count of current track
on error
set varPlayedCount to "-"
end try
try
set varPlayedDate to played date of current track
on error
set varPlayedDate to "-"
end try
try
set varTime to time of current track
on error
set varTime to "-"
end try
try
set varPlaylist to name of current playlist
on error
set varPlaylist to "-"
end try
try
set varPlaylistTime to time of current playlist
on error
set varPlaylistTime to "-"
end try
else
set varArtist to "Live"
set varTrack to "WebRadio"
set varAlbum to "-"
set varAlbumArtist to "-"
set varGenre to "-"
set varYear to "-"
set varTrackNumber to "-"
set varTrackCount to "-"
set varDiscNumber to "-"
set varDiscCount to "-"
set varCompilation to "-"
set varPlayedCount to "-"
set varPlayedDate to "-"
set varTime to "-"
set varPlaylist to "-"
set varPlaylistTime to "-"
end if
else if player state is paused then
set varArtist to "Pause"
set varTrack to "-"
set varAlbum to "-"
set varAlbumArtist to "-"
set varGenre to "-"
set varYear to "-"
set varTrackNumber to "-"
set varTrackCount to "-"
set varDiscNumber to "-"
set varDiscCount to "-"
set varCompilation to "-"
set varPlayedCount to "-"
set varPlayedDate to "-"
set varTime to "-"
set varPlaylist to "-"
set varPlaylistTime to "-"
else if player state is stopped then
set varArtist to "Stop"
set varTrack to "-"
set varAlbum to "-"
set varAlbumArtist to "-"
set varGenre to "-"
set varYear to "-"
set varTrackNumber to "-"
set varTrackCount to "-"
set varDiscNumber to "-"
set varDiscCount to "-"
set varCompilation to "-"
set varPlayedCount to "-"
set varPlayedDate to "-"
set varTime to "-"
set varPlaylist to "-"
set varPlaylistTime to "-"
end if
else
set varArtist to "iTunes nicht gestartet"
set varTrack to "-"
set varAlbum to "-"
set varAlbumArtist to "-"
set varGenre to "-"
set varYear to "-"
set varTrackNumber to "-"
set varTrackCount to "-"
set varDiscNumber to "-"
set varDiscCount to "-"
set varCompilation to "-"
set varPlayedCount to "-"
set varPlayedDate to "-"
set varTime to "-"
set varPlaylist to "-"
set varPlaylistTime to "-"
end if
end tell
#HTML Code für Main Page
set metadaten_main to "
<!DOCTYPE html>
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
<style>
div.cover {
width:120px;
height:120px;
margin-left:auto;
margin-right:auto;
box-shadow: 3px 3px 5px #ccc;
}
</style>
</head>
<body style=\"background: transparent; margin: 0; padding: 0;\">
<div class=\"cover\">
<img src=\"img/" & nameCover & ext & "\" style=\"width:100%\" >
</div>
<br>
<div align=\"center\" style=\"height: 27px; color:green; font-size:18pt; overflow:hidden;text-overflow:ellipsis;\"><b>Artist</b></div>
<div align=\"center\" style=\"height: 25px; color:white; font-size:16pt; overflow:hidden;text-overflow:ellipsis;\">" & varArtist & "</div>
<br>
<div align=\"center\" style=\"height: 27px; color:green; font-size:18pt; overflow:hidden;text-overflow:ellipsis;\"><b>Track</b></div>
<div align=\"center\" style=\"height: 25px; color:white; font-size:16pt; overflow:hidden;text-overflow:ellipsis;\">" & varTrack & "</div>
</body>
</html>
"
#HTML erzeugen für Main Page erzeugen
do shell script "printf %s " & quoted form of metadaten_main & " > " & LocalPfadHTML & "metadaten_main.html"
#HTML ins WebSerververzeichnis kopieren
do shell script "cp -R " & LocalPfadHTML & " " & wwwPfad