Results 1 to 6 of 6
  1. #1
    Join Date
    May 2005
    Location
    /etc/passwd
    Posts
    19,110
    Tokens
    1,139

    Latest Awards:

    Default How do i make a Recently Played Sig?

    How do i make a recently played sig without using Last.fm i have seen that some people use http://sambro75.freecoolsite.com/ wich some one probably set up for them. I would like to know how to do this aswell. So i dont have to use Last.fm.

    I post this here because it involves XML and stuff but i dont know how.

    Any Help??

    Will +REP!!

    Thanks
    :.:Numark:.:
    Quote Originally Posted by Chippiewill View Post
    e-rebel forum moderator
    :8

  2. #2
    Join Date
    Mar 2006
    Location
    C:\\Program Files
    Posts
    2,592
    Tokens
    0

    Latest Awards:

    Default

    Hey,
    Well, To get mine i did.
    Sign up at www.last.fm make a account on there
    And then i PM'd Redstcraous(sorry i dont know spelling but he goes alot in the 'Music' Forum) and he designed me a sig and then coded it and uploaded for me and i just added it to my sig.
    So basically
    Get in touch with him =]
    Thanks alot and hope it helps


  3. #3
    Join Date
    Feb 2006
    Location
    Ontario Canada
    Posts
    4,587
    Tokens
    0

    Latest Awards:

    Default

    doesnt it cost to get the last songs played into a custom image?

    lol found this:
    <?php
    /* ScrobblerSig 2.1 by Timothy Humphrey (Humpty), http://timothyhumphrey.name/scrobblersig
    *
    * Contributors
    *
    * electrichamster - The original creator of ScrobblerSig
    * russ
    */

    /* ---------- Main User Config ---------- */

    /*
    * The options that are listed below may be specified in the url if the allowParameters option is
    * true. To do so first append a question mark ? to the end of the url. Next, specify the option
    * name followed by an equal sign = and then the value; for example, option=value. Multiple options
    * are specified by separating them with an ampersand &; for example, option1=value1&option2=value2.
    * Enter %26 to specify an ampersand & character in the url, %3D for an equal = sign.
    *
    * The username option is an exception and is always allowed to be specified in the url, but whether
    * or not it is actually used depends on other options.
    *
    * All parameters may be specified by their regular name or by a short form; the short form that can
    * be used is specified in parenthesis at the beginning of the parameter's description. The general
    * naming convention for the short name is to use the first letter of each word comprising the name.
    * Be aware of conflicts though, such as backgroundColor (bc) and borderColor (bdc). Whether the
    * full or short name is used specify the parameter name in lowercase.
    *
    * Examples
    *
    * scrobblersig.php
    * scrobblersig.php?fontsize=24
    * scrobblersig.php?labelcolor=aa0000&trackcolor=a9b2 00
    * scrobblersig.php?fs=24
    * scrobblersig.php?lc=aa0000&tc=a9b200
    */
    //(u) Audioscrobbler username, see the allowAnyUser and allowWhitelistedUser options for info about
    //using this option in the url.
    $username = "slstratocaster";

    /*
    * All of the "-label" options below can display the time the track is played by specifying time
    * variables:
    * - <date> Outputs the date according to the dateFormat option
    * - <time> Outputs the time according to the timeFormat option
    * - <zone> Outputs the timezone according to the timeZoneOffset and timeZoneLabel options. The
    * timeZoneLabel is output instead of the timeZoneOffset if it is present.
    *
    * Example
    *
    * "This song was played at <time> <zone> on <date>"
    */
    //number of tracks
    $numberOfTracks = 10;
    //(cpl) Text to display if track is currently playing
    $currentlyPlayingLabel = "Currently playing:";

    //(lpl) Text to display if track isn't currently playing
    $lastPlayedLabel = "Last song played:";

    //(el1 and el2) Text to display if the song parse failed
    $errorLabel1 = "Error:";
    $errorLabel2 = "Unable to parse song title from audioscrobbler.com";

    /*
    * Time formats, see http://www.php.net/date for details about the dateFormat and timeFormat
    */
    //(df) Format used to replace the <date> pattern
    $dateFormat = "D, M j, Y";

    //(tf) Format used to replace the <time> pattern
    $timeFormat = "g:i A";

    //(tzo) Time between your time zone and GMT in [-]hour[:minute] format; that is the beginning minus
    //sign is optional and so are the minutes, if minutes are included separate from hours with a colon.
    //This is also used to replace the <zone> pattern if the timeZoneLabel option isn't specified.
    $timeZoneOffset = "-5";

    //(tzl) Replaces the <zone> pattern
    $timeZoneLabel = "EST";

    /*
    * Formatting options. The various "-color" options specify colors using the RRGGBB format, where
    * RR represents the hexadecimal numerical amount of red, GG the amount of green, and BB the amount
    * of blue; for example FF0000 is red, A9B200 is a dull golden color.
    */
    //(f) The filename of the truetype font to use. Native PHP font searching rules are used:
    // - If the .ttf extension is not specified it is appended.
    // - Most systems will search in the same directory as the script for the font and if it can't be
    // found search system font directories, this allows you to use any font on the system as well as
    // custom fonts.
    $font = "slkscr.ttf";

    //(fs) The size of the font in points
    $fontSize = 6;

    //(fc) The foreground color; the labelColor and trackColor parameters override this if set.
    $foregroundColor = "000000";

    //(lc) The color of the track label, the first line of text
    $labelColor = 000000;

    //(tc) The color of the track text, the second line of text
    $trackColor = 000000;

    //(a) Whether antialiasing should be applied to the text; specify 1 for true and 0 for false in the
    //url. If set to true you should set the backgroundColor to match the background of the page the
    //image will appear on for best results.
    $antialias = false;

    //(ha) Horizontal alignment of the text, can be "left" or "right"
    $horizontalAlign = "left";

    //(b) Whether or not a border is drawn around the image; specify 1 for true and 0 for false in the
    //url.
    $border = false;

    //(bdc) The color of the image border, see the border option
    $borderColor = "000000";

    //(p) The padding to appear on the sides of the image; the horizontalPadding and verticalPadding
    //parameters override this if set.
    $padding = 0;

    //(hp) The padding to appear on the left and right side of the image
    $horizontalPadding = 27;

    //(vp) The padding to appear on the top and bottom of the image
    $verticalPadding = 40;

    //(bc) The background color
    $backgroundColor = "000000";

    //(bi) Background image to use; may be GIF, PNG, or JPEG format
    $backgroundImage = "blurlistening1.png";

    //(bt) Whether the backgroundColor appears; specify 1 for true and 0 for false in the url.
    $backgroundTransparent = false;

    //(it) The image format, may be "png" or "jpg"
    $imageType = "png";

    //(mw) The maximum width of the image, 0 means unrestricted; ignored if a backgroundImage is used.
    $maxWidth = 0;

    //(mh) The maximum height of the image, 0 means unrestricted; ignored if a backgroundImage is used.
    $maxHeight = 0;


    /*
    * The following options may NOT be specified in the url
    */
    //Whether or not parameters specified in the url are used; setting this to false will result in
    //fewer variations of images being cached on the server.
    $allowParameters = true;

    //Whether or not any username can be specified for the username option in the url; this takes
    //precedence over the allowWhitelistedUser option.
    $allowAnyUser = false;

    //Whether or not whitelisted users can be specified for the username option in the url, see the
    //whitelistedUserFilename option.
    $allowWhitelistedUser = true;

    //The filename of a list of usernames, one on each line, that are allowed to be specified for the
    //username option; also see the allowWhitelistedUser option.
    $whitelistedUserFilename = "scrobblersig-whitelist.txt";

    //Whether or not the browser's cache should be used to help minimize bandwidth usage
    $useBrowserCache = true;

    //Number of seconds information is cached from Audioscrobbler
    $cacheDuration = 160;

    //Number of seconds to wait for a response from the Audioscrobbler server
    $timeout = 10;



    /* ---------- Main code, do not edit past this point ---------- */

    //error_reporting(E_ERROR | E_WARNING);

    function GetParameter($name, $altName, &$value, $bypassExtensionCheck = false) {
    //Get parameter while checking for disguising file extension
    if(isset($_GET[$name]) || isset($_GET[$altName])) {
    $name = isset($_GET[$name]) ? $name : $altName;
    $value = !$bypassExtensionCheck
    ? preg_replace("/(.*?)(\.png|\.jpg|\.gif)*/i", "\\1", $_GET[$name])
    : $_GET[$name];
    }
    }

    /* Get values from parameters */
    if($allowAnyUser)
    GetParameter("username", "u", $username);
    elseif($allowWhitelistedUser) {
    GetParameter("username", "u", $paramUsername);
    if($paramUsername) {
    $whitelistedUsers = @file_get_contents("./$whitelistedUserFilename");
    $username = preg_match("/\b$paramUsername\b/", $whitelistedUsers) ? $paramUsername : $username;
    }
    }

    if($allowParameters) {
    GetParameter("antialias", "a", $antialias);
    GetParameter("backgroundcolor", "bc", $backgroundColor);
    GetParameter("backgroundimage", "bi", $backgroundImage, true);
    GetParameter("backgroundtransparent", "bt", $backgroundTransparent);
    GetParameter("border", "b", $border);
    GetParameter("bordercolor", "bdc", $borderColor);
    GetParameter("currentlyplayinglabel", "cpl", $currentlyPlayingLabel);
    GetParameter("dateformat", "df", $dateFormat);
    GetParameter("errorlabel1", "el1", $errorLabel1);
    GetParameter("errorlabel2", "el2", $errorLabel2);
    GetParameter("font", "f", $font);
    GetParameter("fontsize", "fs", $fontSize);
    GetParameter("foregroundcolor", "fc", $foregroundColor);
    GetParameter("horizontalalign", "ha", $horizontalAlign);
    GetParameter("horizontalpadding", "hp", $horizontalPadding);
    GetParameter("image_type", "it", $imageType); //supported for compatibility
    GetParameter("imagetype", "it", $imageType);
    GetParameter("labelcolor", "lc", $labelColor);
    GetParameter("lastplayedlabel", "lpl", $lastPlayedLabel);
    GetParameter("maxheight", "mh", $maxHeight);
    GetParameter("maxwidth", "mw", $maxWidth);
    GetParameter("padding", "p", $padding);
    GetParameter("trackcolor", "tc", $trackColor);
    GetParameter("timeformat", "tf", $timeFormat);
    GetParameter("timezonelabel", "tzl", $timeZoneLabel);
    GetParameter("timezoneoffset", "tzo", $timeZoneOffset);
    GetParameter("verticalpadding", "vp", $verticalPadding);
    }

    /* Fix certain parameters to ensure proper values */
    if(!isset($labelColor)) $labelColor = $foregroundColor;
    if(!isset($trackColor)) $trackColor = $foregroundColor;
    if(!isset($horizontalPadding)) $horizontalPadding = $padding;
    if(!isset($verticalPadding)) $verticalPadding = $padding;

    $antialias = (bool) $antialias;
    $backgroundTransparent = (bool) $backgroundTransparent;
    $border = (bool) $border;
    $fontSize = (int) $fontSize;
    $horizontalAlign = $horizontalAlign == "right" ? "right" : "left";
    $horizontalPadding = (int) $horizontalPadding;
    $maxHeight = (int) $maxHeight;
    $maxWidth = (int) $maxWidth;
    $verticalPadding = (int) $verticalPadding;

    $temp = explode(":", $timeZoneOffset);
    $timeZoneOffset = (int) $temp[0];
    if(count($temp) > 1)
    $timeZoneOffset += (int) $temp[1] / 60 * (substr($temp[0], 0, 1) == "-" ? -1 : 1);

    /* Check to see if the song info needs updating */
    $safeUsername = escapeshellcmd($username);
    $dataFilename = "./sig-$safeUsername.txt";
    if(!file_exists($dataFilename) || (filemtime($dataFilename) + $cacheDuration < time())) {
    //Delete cached images
    $tempFiles = array_merge(glob("./sig-$safeUsername*.png"), glob("./sig-$safeUsername*.jpg"));
    if($tempFiles != null) {
    foreach($tempFiles as $filename)
    @unlink($filename);
    }

    //Get user track data from Audioscrobbler
    $data = "";
    $fp = @fopen("http://ws.audioscrobbler.com/txt/recent/$username", "r");
    if($fp != null) {
    stream_set_timeout($fp, $timeout);
    $data = fread($fp, 100000);
    fclose($fp);
    }

    if(trim($data) != "") {
    $dataFile = @fopen($dataFilename, "wt");
    if($dataFile != null) {
    @fwrite($dataFile, $data);
    @fclose($dataFile);
    }
    }
    elseif(file_exists($dataFilename)) {
    //Remove currently playing track info and preserve cached Audioscrobbler data
    if($data = @file($dataFilename)) {
    $data[0] = "\n";
    if($dataFile = @fopen($dataFilename, "wt")) {
    @fwrite($dataFile, implode("", $data));
    @fclose($dataFile);
    }
    }
    }
    }

    /* Determine if client cache should be used */
    if($useBrowserCache
    && isset($_SERVER["HTTP_IF_MODIFIED_SINCE"]) && file_exists($dataFilename)
    && strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"]) == filemtime($dataFilename)
    ) {
    header("Status: 304 Not Modified", true, 304); //HTTP status set this way to work on IIS
    exit;
    }

    /* Create image if no cached version of it exists */
    $imageFilename = "./sig-$safeUsername" . ($allowParameters && $_SERVER["QUERY_STRING"] ? "-" . md5($_SERVER["QUERY_STRING"]) : "") . ".$imageType";
    $image = null;
    if(!file_exists($imageFilename)) {
    $trackData = @file($dataFilename);
    if($trackData != null) {
    $trackData[0] = trim($trackData[0]);

    if($numberOfTracks > 1) {
    for ($t=1; $t<($numberOfTracks*2); $t=$t+2) {
    $track = $track.$trackData[$t];
    }
    }
    else {
    $track = $trackData[1];
    $label = $lastPlayedLabel;
    $date = strtotime($trackData[2]);
    }

    $track = html_entity_decode($track);

    if($timeZoneOffset != "")
    $date = strtotime((int) ($timeZoneOffset * 60) . " minute", $date);
    }
    else {
    $label = $errorLabel1;
    $track = $errorLabel2;
    $date = time();
    }

    //Replace time format variables with actual values
    $label = str_replace("<date>", gmdate($dateFormat, $date), $label);
    $label = str_replace("<time>", gmdate($timeFormat, $date), $label);
    $label = str_replace("<zone>", $timeZoneLabel ? $timeZoneLabel : ($timeZoneOffset < 0 ? "-" : "+") . sprintf("%'02d", abs($timeZoneOffset)) . sprintf("%'02d", round(abs(($timeZoneOffset - (int) $timeZoneOffset) * 60))), $label);

    $label = trim($label);
    $track = trim($track);

    /* Generate the image */
    //Get the text sizes
    $labelBounds = imagettfbbox($fontSize, 0, $font, $label);
    $labelWidth = $labelBounds[2] - $labelBounds[0] + 1;
    $labelHeight = -$labelBounds[7] + $labelBounds[1] + 1;

    $trackBounds = imagettfbbox($fontSize, 0, $font, $track);
    $trackWidth = $trackBounds[2] - $trackBounds[0] + 1;
    $trackHeight = -$trackBounds[7] + $trackBounds[1] + 1;

    //Get image dimensions
    $dimension = max($labelWidth, $trackWidth) + ($horizontalPadding * 2) + ($border ? 2 : 0);
    $maxWidth = ($maxWidth > 0 && $dimension > $maxWidth) ? $maxWidth : $dimension;
    $dimension = $labelHeight + $trackHeight + ($verticalPadding * 2) + ($border ? 2 : 0);
    $maxHeight = ($maxHeight > 0 && $dimension > $maxHeight) ? $maxHeight : $dimension;

    //Generate image canvas
    if($backgroundImage != "") {
    preg_match("/[^\.]+$/", $backgroundImage, $extension);
    switch($extension[0]) {
    case "gif":
    $image = @imagecreatefromgif($backgroundImage);
    break;
    case "png":
    $image = @imagecreatefrompng($backgroundImage);
    break;
    case "jpg":
    $image = @imagecreatefromjpeg($backgroundImage);
    break;
    }
    }
    if($image == null)
    $image = imagecreate($maxWidth, $maxHeight);

    //Set the colors
    preg_match_all("/[\dabcdef]{2}/i", $backgroundColor, $backColorParts);
    preg_match_all("/[\dabcdef]{2}/i", $borderColor, $borderColorParts);
    preg_match_all("/[\dabcdef]{2}/i", $labelColor, $labelColorParts);
    preg_match_all("/[\dabcdef]{2}/i", $trackColor, $trackColorParts);
    $blackColorPart = array(0, 0, 0);
    if(count($backColorParts[0]) != 3) $backColorParts[0] = $blackColorPart;
    if(count($borderColorParts[0]) != 3) $borderColorParts[0] = $blackColorPart;
    if(count($labelColorParts[0]) != 3) $labelColorParts[0] = $blackColorPart;
    if(count($trackColorParts[0]) != 3) $trackColorParts[0] = $blackColorPart;

    $backColorIndex = imagecolorallocate($image, hexdec($backColorParts[0][0]), hexdec($backColorParts[0][1]), hexdec($backColorParts[0][2]));
    $borderColorIndex = imagecolorallocate($image, hexdec($borderColorParts[0][0]), hexdec($borderColorParts[0][1]), hexdec($borderColorParts[0][2]));
    $labelColorIndex = imagecolorallocate($image, hexdec($labelColorParts[0][0]), hexdec($labelColorParts[0][1]), hexdec($labelColorParts[0][2]));
    $trackColorIndex = imagecolorallocate($image, hexdec($trackColorParts[0][0]), hexdec($trackColorParts[0][1]), hexdec($trackColorParts[0][2]));
    if($backgroundTransparent)
    imagecolortransparent($image, $backColorIndex);

    //Check to see if antialiasing is used
    if(!$antialias) {
    $labelColorIndex = -$labelColorIndex;
    $trackColorIndex = -$trackColorIndex;
    }

    //Draw border
    if($border)
    imagerectangle($image, 0, 0, $maxWidth - 1, $maxHeight - 1, $borderColorIndex);

    //Draw label
    $x = ($horizontalAlign == "right" ? max($labelWidth, $trackWidth) - $labelWidth : 0) + $horizontalPadding + ($border ? 1 : 0);
    $y = $labelHeight - abs($labelBounds[1]) + $verticalPadding + ($border ? 1 : 0);
    imagettftext($image, $fontSize, 0, $x, $y, $labelColorIndex, $font, $label);

    //Draw track
    $x = ($horizontalAlign == "right" ? max($labelWidth, $trackWidth) - $trackWidth : 0) + $horizontalPadding + ($border ? 1 : 0);
    $y = $trackHeight - abs($trackBounds[1]) + $verticalPadding + $labelHeight + ($border ? 1 : 0);
    imagettftext($image, $fontSize, 0, $x, $y, $trackColorIndex, $font, $track);

    //Save image
    if($imageType == "jpg")
    @imagejpeg($image, $imageFilename);
    else
    @imagepng($image, $imageFilename);

    if(file_exists($imageFilename)) {
    imagedestroy($image);
    $image = null;
    }
    }

    /* Output the image */
    //Output image headers
    if($imageType == "jpg")
    header("Content-type: image/jpeg");
    else
    header("Content-type: image/png");

    if(file_exists($dataFilename)) {
    header("Last-Modified: " . gmdate("D, d M Y H:i:s", filemtime($dataFilename)) . " GMT");
    header("Expires: " . gmdate("D, d M Y H:i:s", filemtime($dataFilename) + $cacheDuration) . " GMT");
    }

    //Output image
    if(!$image)
    readfile($imageFilename);
    else {
    if($imageType == "jpg")
    imagejpeg($image);
    else
    imagepng($image);
    imagedestroy($image);
    }
    ?>
    Last edited by Colin-Roberts; 17-07-2006 at 06:05 PM.

    .:.:#14:.:. .:.: Impossible Is Nothing :.:. .:.: 845 Rep:.:.
    .:.: Stand up for what is right, even if you stand alone:.:.


  4. #4
    Join Date
    Feb 2006
    Location
    Ontario Canada
    Posts
    4,587
    Tokens
    0

    Latest Awards:

    Default

    sry for double post but i found the files to do it i just keep getting fatal error ill post again when i get it sorted.

    .:.:#14:.:. .:.: Impossible Is Nothing :.:. .:.: 845 Rep:.:.
    .:.: Stand up for what is right, even if you stand alone:.:.


  5. #5
    Join Date
    Mar 2006
    Location
    C:\\Program Files
    Posts
    2,592
    Tokens
    0

    Latest Awards:

    Default

    Im not sure of that code, All i did was get in touch with Redstcraous, Sorry for spelling wrong.


  6. #6
    Join Date
    Feb 2006
    Location
    Ontario Canada
    Posts
    4,587
    Tokens
    0

    Latest Awards:

    Default

    if you look on taht web page he provided the one page has a linkt o the script used and on that webpage is your sig tucker and redstractos sig ect.

    .:.:#14:.:. .:.: Impossible Is Nothing :.:. .:.: 845 Rep:.:.
    .:.: Stand up for what is right, even if you stand alone:.:.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •