Shoutcast radio....

This forum is now closed as part of retiring phpBB2
Forum rules
READ: phpBB.com Board-Wide Rules and Regulations

This forum is now closed due to phpBB2.0 being retired.
User avatar
UseLess
Registered User
Posts: 521
Joined: Mon Jul 22, 2002 7:26 pm
Location: North East UK

Post by UseLess »

Greetings,

Does the host your using allow 'socket' connections?

If they don't you won't be able to use this, which is probably why your not seeing anything, as no connection to the radio server is being made and thus no info is returned.
Movie Quote:
It's not the years honey, it's the mileage...
phpBB 3 Mods @ phpBBStyles
Daz wilde
Registered User
Posts: 147
Joined: Mon Mar 20, 2006 7:01 pm

Post by Daz wilde »

Im actually using a friends settings, he uses vbulletin and has a streaming radio, he's agreed for me to use his settings. So i assume it does????
Because he can stream...
Daz wilde
Registered User
Posts: 147
Joined: Mon Mar 20, 2006 7:01 pm

Post by Daz wilde »

Ramon Fincken wrote: I ve done this mod like this: http://www.rgtunez.co.uk/forum/

Here's the script:

file: shoutcastparser.php

Code: Select all

<?php
// Ramon Fincken, Phpbbinstallers.com
// Changed all Echo's to $shoutcast_phpbb_output .=
// shoutcastxml.php

// A SHOUTcast XML parser for PHP and Apache
// Copyright Peter Manchester B.Sc.
// All rights reserved
// 20th October 2002
// Web: www.petermanchester.co.uk
// Email: [email protected]

// turn off error reporting
error_reporting(0);

// DEBUG constant can be set to provide extra output when required
define ("DEBUG", "0");

// parameters for your SHOUTcast server - ** YOU WILL NEED TO CHANGE THESE **
$shoutcast_host = 'rgtunez.co.uk';  // SHOUTcast station url
$shoutcast_port = '8002';      // SHOUTcast station port number
$shoutcast_password = '';  // SHOUTcast password
$shoutcast_url = "http://" . $shoutcast_host . ':' . $shoutcast_port . "/listen.pls";
// end of parameters for your SHOUTcast server

// timeout period in seconds while contacting station
$fsock_time_out = 1;
// error number to be returned
$fsock_error_number = 0;
// error text to be returned
$fsock_error_text = "";

// an associative array to store the items we are interested in
$shoutcast_data = array('streamstatus' => '',
                        'bitrate' => '', 
                        'currentlisteners' => '', 
                        'maxlisteners' => '',
                        'servertitle' => '', 
                        'songtitle' => '');

$shoutcast_xml = "";

global $shoutcast_data, $shoutcast_xml_element;

if (!function_exists('startElement')) {

  // start element handler for xml parser
  function startElement($parser, $name, $attrs) {
      global $shoutcast_xml_element;
      // track which xml element is being parsed
      $shoutcast_xml_element = strtolower($name);
  }

}

if (!function_exists('endElement')) {

  // end element handler for xml parser
  function endElement($parser, $name) {
      global $shoutcast_xml_element;
      // forget which xml element was being parsed
      $shoutcast_xml_element = '';
  }
}

if (!function_exists('handleData')) {

  // character data handler for xml parser
  function handleData($parser, $data) {
      global $shoutcast_data, $shoutcast_xml_element;
      $shoutcast_data[$shoutcast_xml_element] .= $data;
  }
}

if (!function_exists('defaultHandler')) {

  // default handler
  function defaultHandler($parser, $data) {}
}

//open socket connection to the shoutcast server 
$shoutcast_fp = fsockopen($shoutcast_host,
                          $shoutcast_port, 
                          $fsock_error_number,
                          $fsock_error_text,
                          $fsock_time_out);

// check that the socket is open before proceeding
if($shoutcast_fp) {

    // socket connection is established, so the station is on-line

    // set 1 second timeout for communication with the station
    // stream_set_timeout($shoutcast_fp, 1);
    
    // build a string containing an HTTP request to your SHOUTcast server
    $shoutcast_httpreq = "GET /admin.cgi?pass=$shoutcast_password&mode=viewxml
      HTTP/1.0\r\nUser-Agent: SHOUTcast Song Status (Mozilla Compatible)\r\n\r\n";

    // send HTTP request to shoutcast server
    fputs($shoutcast_fp, $shoutcast_httpreq);

    // read entire xml output stream
    while(!feof($shoutcast_fp)) {
        $shoutcast_xml .= fgets($shoutcast_fp, 1000);
    }
  
    // close the socket now we no longer need it
    fclose($shoutcast_fp);

    // if we have got some XML back  then we need to strip away some
    // stuff that we don't need  
    if ($shoutcast_xml != '')
        $shoutcast_xml = strstr($shoutcast_xml, '<SHOUTCASTSERVER>');

    // create an instane of the EXPAT XML parser
    $xml_parser = xml_parser_create();

    // set element start and end element handler functions
    xml_set_element_handler($xml_parser, 'startElement', 'endElement');

    // set character data handler function
    xml_set_character_data_handler($xml_parser, 'handleData');

  xml_set_default_handler($xml_parser, 'defaultHandler');
  
    // activate the XML parser
  $parsed = xml_parse($xml_parser, $shoutcast_xml, 1);

    // some debugging code
    if (DEBUG) {
        $shoutcast_phpbb_output .= $shoutcast_xml;
        print_r ($shoutcast_data);
    }

    // check that the parsing operation worked correctly
    if ($parsed) {

        // it worked, so report the station status
        if ($shoutcast_data['streamstatus'] == '1') {
    
        // streaming content is available
        $shoutcast_phpbb_output .= '<p>';
        $shoutcast_phpbb_output .= $shoutcast_data['servertitle'];
        $shoutcast_phpbb_output .= '<br />Streaming at ';
        $shoutcast_phpbb_output .= $shoutcast_data['bitrate'];
        $shoutcast_phpbb_output .= ' kbps.</p>';
        $shoutcast_phpbb_output .= '<p>Currently playing: ';
        $shoutcast_phpbb_output .= $shoutcast_data['songtitle'];
        $shoutcast_phpbb_output .= '</p>';
        $shoutcast_phpbb_output .= '<p>Current listeners: ';
        $shoutcast_phpbb_output .= $shoutcast_data['currentlisteners'];
        $shoutcast_phpbb_output .= ' (only ';
        $shoutcast_phpbb_output .= $shoutcast_data['maxlisteners'];
        $shoutcast_phpbb_output .= ' allowed).</p>';
        if (intval($shoutcast_data['currentlisteners']) 
             < intval($shoutcast_data['maxlisteners'])) {
             $shoutcast_phpbb_output .= "<p>If you have Real Player installed, then ";
             $shoutcast_phpbb_output .= "click the Play button on the console above. ";
             $shoutcast_phpbb_output .= "Otherwise, to listen using Winamp ";
             $shoutcast_phpbb_output .= "click <a href=\"$shoutcast_url\">here</a>.</p>";
        } else {
             $shoutcast_phpbb_output .= "<p>Please wait until another listener can be added.</p>";
        }
        } else {

            // no streaming content is available
            $shoutcast_phpbb_output .= '<p>Radio is currently offline.</p>';
        }
        
    }
    else {
        // parsing failed
      if (DEBUG) {
          $shoutcast_phpbb_output .= 'XML Parser reported the following error:' . '<br />';
          $shoutcast_phpbb_output .= xml_error_string(xml_get_error_code($xml_parser)) . ' in line ';
          $shoutcast_phpbb_output .= xml_get_current_line_number($xml_parser) . '<br />';
      }
    }

    // the xml parser is no longer required
    xml_parser_free($xml_parser);

} else {

    // socket connection could not be established
    $shoutcast_phpbb_output .= '<p>The station is offline.</p>';
}

?>

OPEN

Code: Select all

index.php
FIND

Code: Select all

$template->pparse('body');
BEFORE, ADD

Code: Select all

// shoutcast Panel - START
// MOD Ramon Fincken, Phpbbinstallers.com
include_once($phpbb_root_path . 'shoutcastparser.'.$phpEx);
	     	$template->assign_block_vars('chield', array(   
	     	"SHOUTCAST_PHPBB_OUTPUT" => $shoutcast_phpbb_output));  
// MOD Ramon Fincken

// shoutcast - END
OPEN

Code: Select all

templates/[yourtemplatename]/index_body.tpl
ADD

Code: Select all

<table width="100%" border="0" cellpadding="0" cellspacing="0" class="forumline"><tr><td>

<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr><td class="catHead" colspan="2" height="28"><span class="cattitle">Radio</span></td>
</tr>
<tr><td class="row1" align="left"><p class="genmed">

<!-- BEGIN shoutcastparser -->
{shoutcastparser.SHOUTCAST_PHPBB_OUTPUT}
<!-- END shoutcastparser --> 

<br /><br /></p></td></tr>
</table>


</td></tr></table>

DIY INSTRUCTIONS

Code: Select all

#edit
#// parameters for your SHOUTcast server - ** YOU WILL NEED TO CHANGE THESE **
#$shoutcast_host = 'rgtunez.co.uk';  // SHOUTcast station url
#$shoutcast_port = '8002';      // SHOUTcast station port number
#$shoutcast_password = '';  // SHOUTcast password
#$shoutcast_url = "http://" . $shoutcast_host . ':' . $shoutcast_port . "/listen.pls";
#// end of parameters for your SHOUTcast server


When i use this one its just a blank panel check:

http://www.back2bowlers.co.uk/forum/
User avatar
Ramon Fincken
Registered User
Posts: 4835
Joined: Thu Oct 14, 2004 1:04 am
Location: NL, The Netherlands Amsterdam area @GMT +1
Contact:

Post by Ramon Fincken »

did you change the
#edit
#// parameters for your SHOUTcast server - ** YOU WILL NEED TO CHANGE THESE **
#$shoutcast_host = 'rgtunez.co.uk'; // SHOUTcast station url
#$shoutcast_port = '8002'; // SHOUTcast station port number
#$shoutcast_password = ''; // SHOUTcast password
#$shoutcast_url = "http://" . $shoutcast_host . ':' . $shoutcast_port . "/listen.pls";
#// end of parameters for your SHOUTcast server



Rfn
Dutch quality fully managed WordPress hosting - ManagedWPHosting.nl

Before changing a file, some code or installing a MOD >> Make a backup first!

Do you like my mods? paypal me $1 :) forumsoftware[AT}creativepulses[DOT}nl [/size]
PhpBBantispam.com || Instant find your mod here
Daz wilde
Registered User
Posts: 147
Joined: Mon Mar 20, 2006 7:01 pm

Post by Daz wilde »

Ramon Fincken wrote: did you change the
#edit
#// parameters for your SHOUTcast server - ** YOU WILL NEED TO CHANGE THESE **
#$shoutcast_host = 'rgtunez.co.uk'; // SHOUTcast station url
#$shoutcast_port = '8002'; // SHOUTcast station port number
#$shoutcast_password = ''; // SHOUTcast password
#$shoutcast_url = "http://" . $shoutcast_host . ':' . $shoutcast_port . "/listen.pls";
#// end of parameters for your SHOUTcast server



Rfn


Yeah mate here is what ive put in:

// parameters for your SHOUTcast server - ** YOU WILL NEED TO CHANGE THESE **
$shoutcast_host = '66.232.102.200'; // SHOUTcast station url
$shoutcast_port = '8040'; // SHOUTcast station port number
$shoutcast_password = 'password' // SHOUTcast password
$shoutcast_url = "http://66.232.102.200:8040" . $shoutcast_host . '66.232.102.200:8040' . $shoutcast_port . "/listen.pls";
// end of parameters for your SHOUTcast server

Is this right??????
Daz wilde
Registered User
Posts: 147
Joined: Mon Mar 20, 2006 7:01 pm

Post by Daz wilde »

anybody else know if this is right then??
deejaybet
Registered User
Posts: 1814
Joined: Thu Dec 08, 2005 2:01 pm
Location: Derry, Northern Ireland
Contact:

Post by deejaybet »

$shoutcast_url = "http://66.232.102.200:8040

should be

$shoutcast_url = "http://66.232.102.200
after all it is meant to be shoutcast host not host and port
User avatar
Ramon Fincken
Registered User
Posts: 4835
Joined: Thu Oct 14, 2004 1:04 am
Location: NL, The Netherlands Amsterdam area @GMT +1
Contact:

Post by Ramon Fincken »

you only have to edit

Code: Select all

#$shoutcast_host = 'rgtunez.co.uk'; // SHOUTcast station url
#$shoutcast_port = '8002'; // SHOUTcast station port number
#$shoutcast_password = ''; // SHOUTcast password 
Dutch quality fully managed WordPress hosting - ManagedWPHosting.nl

Before changing a file, some code or installing a MOD >> Make a backup first!

Do you like my mods? paypal me $1 :) forumsoftware[AT}creativepulses[DOT}nl [/size]
PhpBBantispam.com || Instant find your mod here
Daz wilde
Registered User
Posts: 147
Joined: Mon Mar 20, 2006 7:01 pm

Post by Daz wilde »

Ramon Fincken wrote: you only have to edit

Code: Select all

#$shoutcast_host = 'rgtunez.co.uk'; // SHOUTcast station url
#$shoutcast_port = '8002'; // SHOUTcast station port number
#$shoutcast_password = ''; // SHOUTcast password 

Ok Ramon ive just edited those ones, should the radio panel still be blank??? http://www.back2bowlers.co.uk/forum/
User avatar
Ramon Fincken
Registered User
Posts: 4835
Joined: Thu Oct 14, 2004 1:04 am
Location: NL, The Netherlands Amsterdam area @GMT +1
Contact:

Post by Ramon Fincken »

aloung with this line beeing ontouched?

Code: Select all

$shoutcast_url = "http://" . $shoutcast_host . ':' . $shoutcast_port . "/listen.pls";
Dutch quality fully managed WordPress hosting - ManagedWPHosting.nl

Before changing a file, some code or installing a MOD >> Make a backup first!

Do you like my mods? paypal me $1 :) forumsoftware[AT}creativepulses[DOT}nl [/size]
PhpBBantispam.com || Instant find your mod here
deejaybet
Registered User
Posts: 1814
Joined: Thu Dec 08, 2005 2:01 pm
Location: Derry, Northern Ireland
Contact:

Post by deejaybet »

http://sourceforge.net/project/showfile ... _id=114281

thats one i found when i googled it :)
Daz wilde
Registered User
Posts: 147
Joined: Mon Mar 20, 2006 7:01 pm

Post by Daz wilde »

Ramon Fincken wrote: aloung with this line beeing ontouched?

Code: Select all

$shoutcast_url = "http://" . $shoutcast_host . ':' . $shoutcast_port . "/listen.pls";


Ive not touched that now so its all like this:

// parameters for your SHOUTcast server - ** YOU WILL NEED TO CHANGE THESE **
$shoutcast_host = '66.232.102.200'; // SHOUTcast station url
$shoutcast_port = '8040'; // SHOUTcast station port number
$shoutcast_password = 'password'; // SHOUTcast password
$shoutcast_url = "http://" . $shoutcast_host . ':' . $shoutcast_port . "/listen.pls";
// end of parameters for your SHOUTcast server
Daz wilde
Registered User
Posts: 147
Joined: Mon Mar 20, 2006 7:01 pm

Post by Daz wilde »

My panel is still blank???

http://www.back2bowlers.co.uk/forum

Any clues???

:cry:
Daz wilde
Registered User
Posts: 147
Joined: Mon Mar 20, 2006 7:01 pm

Post by Daz wilde »

It must be something small... Should it say Radio Offline?
Daz wilde
Registered User
Posts: 147
Joined: Mon Mar 20, 2006 7:01 pm

Post by Daz wilde »

deejaybet wrote: http://sourceforge.net/project/showfile ... _id=114281

thats one i found when i googled it :)


Has anyone tried this one or know of any other shoutcast mod, cant get this to work....

I really do want to stream shoutcast live on my forum..
Post Reply

Return to “[2.0.x] MOD Requests”