PDA

View Full Version : ?-Custom BBCode - Grooveshark


Quispy
09-28-2011, 06:03 AM
I would like to add a custom bbcode so I can allow members to add a Grooveshark.com (http://grooveshark.com) widget playlist or single song widget into their posts.

The Grooveshark website allows users to make playlists or just a single song to share with others.
It has an option for a widget and provides the code as such.

This code is for the "playlist" (playlist widget).
<object width="250" height="250"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&playlistID=43104863&bbg=000000&bth=000000&pfg=000000&lfg=000000&bt=FFFFFF&pbg=FFFFFF&pfgh=FFFFFF&si=FFFFFF&lbg=FFFFFF&lfgh=FFFFFF&sb=FFFFFF&bfg=666666&pbgh=666666&lbgh=666666&sbh=666666&p=0" /><embed src="http://grooveshark.com/widget.swf" type="application/x-shockwave-flash" width="250" height="250" flashvars="hostname=cowbell.grooveshark.com&playlistID=43104863&bbg=000000&bth=000000&pfg=000000&lfg=000000&bt=FFFFFF&pbg=FFFFFF&pfgh=FFFFFF&si=FFFFFF&lbg=FFFFFF&lfgh=FFFFFF&sb=FFFFFF&bfg=666666&pbgh=666666&lbgh=666666&sbh=666666&p=0" allowScriptAccess="always" wmode="window" /></object>


On a different website (different CMS) I was able to do this with a custom bbcode, and it looked like this.
<object width="{NUMBER1}" height="{NUMBER2}"> <param name="movie" value="http://listen.grooveshark.com/widget.swf" /> <param name="wmode" value="window" /> <param name="allowScriptAccess" value="always" /> <param name="flashvars" value="hostname=cowbell.grooveshark.com&widgetID={IDENTIFIER}&style={SIMPLETEXT1}&bbg={SIMPLETEXT2}&bfg={SIMPLETEXT4}&bt={SIMPLETEXT3}&bth={SIMPLETEXT2}&pbg={SIMPLETEXT3}&pbgh={SIMPLETEXT4}&pfg={SIMPLETEXT2}&pfgh={SIMPLETEXT3}&si={SIMPLETEXT3}&lbg={SIMPLETEXT3}&lbgh={SIMPLETEXT4}&lfg={SIMPLETEXT2}&lfgh={SIMPLETEXT3}&sb={SIMPLETEXT3}&sbh={SIMPLETEXT4}&p=0" /> <embed src="http://listen.grooveshark.com/widget.swf" type="application/x-shockwave-flash" width="{NUMBER1}" height="{NUMBER2}" flashvars="hostname=cowbell.grooveshark.com&widgetID={IDENTIFIER}&style={SIMPLETEXT1}&bbg={SIMPLETEXT2}&bfg={SIMPLETEXT4}&bt={SIMPLETEXT3}&bth={SIMPLETEXT2}&pbg={SIMPLETEXT3}&pbgh={SIMPLETEXT4}&pfg={SIMPLETEXT2}&pfgh={SIMPLETEXT3}&si={SIMPLETEXT3}&lbg={SIMPLETEXT3}&lbgh={SIMPLETEXT4}&lfg={SIMPLETEXT2}&lfgh={SIMPLETEXT3}&sb={SIMPLETEXT3}&sbh={SIMPLETEXT4}&p=0" allowScriptAccess="always" wmode="window" /></object>


And this code is for the "single" (single song widget).
<object width="250" height="40"><param name="movie" value="http://grooveshark.com/songWidget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&songIDs=28185324&style=metal&p=0" /><embed src="http://grooveshark.com/songWidget.swf" type="application/x-shockwave-flash" width="250" height="40" flashvars="hostname=cowbell.grooveshark.com&songIDs=28185324&style=metal&p=0" allowScriptAccess="always" wmode="window" /></object>


and for the single song custom bbcode looked like this.
<object width="{NUMBER1}" height="{NUMBER2}"> <param name="movie" value="http://listen.grooveshark.com/songWidget.swf" /> <param name="wmode" value="window" /> <param name="allowScriptAccess" value="always" /> <param name="flashvars" value="hostname=cowbell.grooveshark.com&widgetID={IDENTIFIER}&style={SIMPLETEXT}&p=0" /> <embed src="http://listen.grooveshark.com/songWidget.swf" type="application/x-shockwave-flash" width="{NUMBER1}" height="{NUMBER2}" flashvars="hostname=cowbell.grooveshark.com&widgetID={IDENTIFIER}&style={SIMPLETEXT}&p=0" allowScriptAccess="always" wmode="window" /></object>


But with VB I only see 2 options "param" & "option".

Anyone have an idea how to accomplish or if it is even possible in VB? Thanks.

Mooff
09-28-2011, 09:06 AM
yes, it is possible - not sure if you can use the bb-code manager for it though.

I'm currently writing a bbcode with multiple options via the plugin system right now.
(it's a gallery code ;) )

hook: bbcode_create

if (!function_exists('handle_bbcode_gallery'))
{
function handle_bbcode_gallery(&$parser, $code, $option='')
{
.... do stuff....
option could be something like some bla
so $option would be a string "a=...;b=...;c=...;" which you can manipulate via php to split it up in the 3 options a,b,c and in the $code variable you have the string "some bla"
.... end do php stuff...
return $output_string;

}
}

$this->tag_list['option']['gallery'] = array(
'callback' => 'handle_external',
'strip_empty' => true,
'stop_parse' => false,
'disable_smilies' => true,
'disable_wordwrap' => true,
'strip_space_after' => 1,
'external_callback' => 'handle_bbcode_gallery'
);

Quispy
09-28-2011, 09:57 PM
Thanks for the idea, I was hoping there would be an better/easier solution, kinda like how I was able to do it with the different CMS.

This video (http://youtu.be/_HYKF_JkEWI) was useless.

Gemma
09-28-2011, 11:40 PM
Making the widgets into bbcodes is easy enough but I don't think you can add parameters for changing the colour/dimensions etc - your best bet would be to ask BBCode Guru - BirdOPrey5 (https://vborg.vbsupport.ru/member.php?u=258922)

Using the widget maker from Grooveshark you can set the dimensions and colour to suit yourself and then just add the {param} after playlistID=

You can make a Playlist BBcode

Title - Grooveshark Playlist
BB Code Tag Name - groove
Replacement - <object width="250" height="400"><param name="movie" value="http://grooveshark.com/widget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&playlistID={param}&bbg=FFFFFF&bth=FFFFFF&pfg=FFFFFF&lfg=FFFFFF&bt=7A7A7A&pbg=7A7A7A&pfgh=7A7A7A&si=7A7A7A&lbg=7A7A7A&lfgh=7A7A7A&sb=7A7A7A&bfg=D6D6D6&pbgh=D6D6D6&lbgh=D6D6D6&sbh=D6D6D6&p=0" /><embed src="http://grooveshark.com/widget.swf" type="application/x-shockwave-flash" width="250" height="400" flashvars="hostname=cowbell.grooveshark.com&playlistID={param}&bbg=FFFFFF&bth=FFFFFF&pfg=FFFFFF&lfg=FFFFFF&bt=7A7A7A&pbg=7A7A7A&pfgh=7A7A7A&si=7A7A7A&lbg=7A7A7A&lfgh=7A7A7A&sb=7A7A7A&bfg=D6D6D6&pbgh=D6D6D6&lbgh=D6D6D6&sbh=D6D6D6&p=0" allowScriptAccess="always" wmode="window" /></object>Example - The Numbers From The Playlist Url

To make an individual song bbcode

Title - Grooveshark Single Song
BB Code Tag Name - groovesong
Replacement - <object width="250" height="40"><param name="movie" value="http://grooveshark.com/songWidget.swf" /><param name="wmode" value="window" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="hostname=cowbell.grooveshark.com&songIDs={param}&style=metal&p=0" /><embed src="http://grooveshark.com/songWidget.swf" type="application/x-shockwave-flash" width="250" height="40" flashvars="hostname=cowbell.grooveshark.com&songIDs={param}&style=metal&p=0" allowScriptAccess="always" wmode="window" /></object>Example - 29760236

Example of how it looks (themed to my site colours) - http://www.forumbanter.com/test-area/1975-grooveshark-bbcode.html#post3073

You might already know all this though :)

Quispy
09-29-2011, 12:33 AM
Thanks Gemma, my only fear was that users are stupid and won't understand even with directions, but it will work for now. Thanks again.

Narabedla
10-16-2012, 07:30 PM
I can not run the bbcode php come from, where I used normally, and
[groove] [/ groove]
that
[groovepl] [/ groovepl]

Can you help me get it to work even on vbulletin?
thanks