aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/Lib/com/songinfo.m
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/Lib/com/songinfo.m')
-rw-r--r--Src/Wasabi/Lib/com/songinfo.m104
1 files changed, 104 insertions, 0 deletions
diff --git a/Src/Wasabi/Lib/com/songinfo.m b/Src/Wasabi/Lib/com/songinfo.m
new file mode 100644
index 00000000..30736fb7
--- /dev/null
+++ b/Src/Wasabi/Lib/com/songinfo.m
@@ -0,0 +1,104 @@
+/*---------------------------------------------------
+-----------------------------------------------------
+Filename: songinfo.m
+Version: 1.0
+
+Type: maki/songinfo loading
+Date: 09. Sept. 2008 - 10:02
+Author: Martin Poehlmann aka Deimos
+E-Mail: martin@skinconsortium.com
+Internet: www.skinconsortium.com
+-----------------------------------------------------
+---------------------------------------------------*/
+
+/**
+ * This library is still in testing phase
+ */
+
+#ifndef included
+#error This script can only be compiled as a #include
+#endif
+
+// use this function to reload songinfo (usually do this on system.onTitleChange())
+Function songinfo_reload();
+
+// use this vars to get song information (is faster than function calls)
+Global String songinfo_title;
+Global String songinfo_artist;
+Global String songinfo_album;
+Global String songinfo_location; // url or path on your hd
+Global String songinfo_displayTitle;
+
+Global String songinfo_streamTitle; // similar to display title
+Global String songinfo_streamName; // name of current stream (station title)
+Global String songinfo_streamURL;
+Global String songinfo_streamAlbumArt; // _full_ URL to an image on the web, like http://images.play.it/amg/album/cov200/drh200/h238/h23853pph7b.jpg
+
+Global Boolean songinfo_isStream; // true if current song is a stream
+
+Global Int songinfo_streamType; // use in conjunction with the values below
+#define SONGINFO_STREAMTYPE_SHOUTCAST 2
+#define SONGINFO_STREAMTYPE_AOLRADIO 3
+#define SONGINFO_STREAMTYPE_CBSRADIO 4
+#define SONGINFO_STREAMTYPE_SHOUTCAST2 5
+#define SONGINFO_STREAMTYPE_NOSTREAM 0
+#define SONGINFO_STREAMTYPE_UNKNOWN 666
+
+/////////////////////////////////////
+// IMPLEMENTATION // DO NOT MODIFY //
+/////////////////////////////////////
+
+songinfo_reload()
+{
+ // Fill vars with data
+ songinfo_location = System.getPlayItemString();
+ songinfo_displayTitle = System.getPlayItemDisplayTitle();
+
+ String metaPrefix = ""; // used for streams
+
+ // Check for a stream
+ songinfo_streamType = stringToInteger(getPlayItemMetaDataString("streamtype"));
+ songinfo_isStream = (songinfo_streamType > 0);
+ if (songinfo_isStream) // STREAM!
+ {
+ if (!(songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST
+ || songinfo_streamType == SONGINFO_STREAMTYPE_AOLRADIO
+ || songinfo_streamType == SONGINFO_STREAMTYPE_CBSRADIO
+ || songinfo_streamType == SONGINFO_STREAMTYPE_SHOUTCAST2))
+ {
+ songinfo_streamType = SONGINFO_STREAMTYPE_UNKNOWN;
+ }
+
+ // read stream metadata
+ songinfo_streamName = getPlayItemMetaDataString("streamname");
+ songinfo_streamTitle = getPlayItemMetaDataString("streamtitle");
+ songinfo_streamURL = getPlayItemMetaDataString("streamurl");
+
+ if (songinfo_streamType == SONGINFO_STREAMTYPE_AOLRADIO)
+ {
+ metaPrefix = "uvox/";
+ }
+ else if (songinfo_streamType == SONGINFO_STREAMTYPE_CBSRADIO)
+ {
+ metaPrefix = "cbs/";
+ }
+
+ songinfo_streamAlbumArt = getPlayItemMetaDataString(metaPrefix + "albumart");
+ if (songinfo_streamType == SONGINFO_STREAMTYPE_AOLRADIO)
+ {
+ songinfo_streamAlbumArt = "http://broadband-albumart.music.aol.com/scan/" + songinfo_streamAlbumArt;
+ }
+ }
+ else //NO STREAM!
+ {
+ // resetting stream specific values
+ songinfo_streamName = "";
+ songinfo_streamTitle = "";
+ songinfo_streamURL = "";
+ songinfo_streamAlbumArt = "";
+ }
+
+ songinfo_title = getPlayItemMetaDataString(metaPrefix + "title");
+ songinfo_artist = getPlayItemMetaDataString(metaPrefix + "artist");
+ songinfo_album = getPlayItemMetaDataString(metaPrefix + "album");
+} \ No newline at end of file