LCD-HowTo: Using WinAmp5/Girder with MediaPortal (1 Viewer)

A

Anonymous

Guest
If your LCD can be used with girder, you can do the following to get output to your display:

If not allready done:
-Install winamp5
-Install Girder
-Install LCD and DVDspy plugins for girder
-Configure LCD with Girder

Then:
-Copy the gen_DVDspy.dll from the girder DVDspy-plugin into your winamp\plugins-directory
-Enable plugin in Winamp (under general purpose), and set time to 1000ms for timer updates each second
-Set MediaPortal to use WinAmp in the configurator and enable for .mp3, .ogg etc.

The following .GML for Girder is configured for a 20x2 display.
It shows the winamp artist-song as a marquee on the upper line, and shows the time elapsed and duration on the lower line.
It also includes two events which are triggered when play and stop is pushed. I use these to enable a standard clock on my display when winamp is stopped.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<Girder><Group Name="LCD" Identifier="691" Enabled="TRUE"><Group Name="Winamp5" Identifier="692" Enabled="TRUE"><MultiGroup Name="Title" Identifier="693" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><EventString Name="EventString" Identifier="696" Enabled="TRUE" Invert="FALSE" Device="215" IrStr="Winamp.Title"></EventString><Command Name="wamp5_title" Identifier="697" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>wamp5_title = pld1
wamp5_title = wamp5_title.."   "</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="LCD-show" Identifier="701" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>118</ActionType><ActionSubType>1</ActionSubType><sValue1>wamp5_title</sValue1><sValue2>v</sValue2><iValue2>-1</iValue2><iValue3>-1</iValue3><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command></MultiGroup><MultiGroup Name="Duration" Identifier="694" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><EventString Name="EventString" Identifier="699" Enabled="TRUE" Invert="FALSE" Device="215" IrStr="Winamp.Duration"></EventString><Command Name="wamp5_duration" Identifier="700" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>wamp5_duration = pld1</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="LCD - clear lower row" Identifier="704" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>118</ActionType><ActionSubType>1</ActionSubType><sValue2>s</sValue2><iValue1>1</iValue1><iValue3>-1</iValue3><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command></MultiGroup><MultiGroup Name="Elapsed" Identifier="695" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><EventString Name="EventString" Identifier="702" Enabled="TRUE" Invert="FALSE" Device="215" IrStr="Winamp.Elapsed"></EventString><Command Name="wamp5_time" Identifier="703" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>wamp5_elapsed = pld1
wamp5_time = wamp5_elapsed.."/"..wamp5_duration
wamp5_time = strrep(" ", 20-strlen(wamp5_time))..wamp5_time</sValue1><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command><Command Name="LCD - set time" Identifier="705" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>118</ActionType><ActionSubType>1</ActionSubType><sValue1>wamp5_time</sValue1><sValue2>v</sValue2><iValue1>1</iValue1><iValue3>-1</iValue3><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command></MultiGroup><MultiGroup Name="Trigger event on statechange" Identifier="706" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><EventString Name="EventString" Identifier="708" Enabled="TRUE" Invert="FALSE" Device="215" IrStr="Winamp.Status"></EventString><Command Name="TriggerEvent wamp5stop or wamp5start" Identifier="709" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><OSD>FALSE</OSD><Submatch>FALSE</Submatch><Topmost>TRUE</Topmost><OneMatch>FALSE</OneMatch><UseVar>FALSE</UseVar><MatchHidden>FALSE</MatchHidden><MatchNum>1</MatchNum><ActionType>4</ActionType><ActionSubType>34</ActionSubType><sValue1>wamp5_status = pld1
if (wamp5_status == "STOP") then
	TriggerEvent("wamp5stop",18)
end
if (wamp5_status == "PLAY") then
	TriggerEvent("wamp5start",18)
end</sValue1><sValue2>v</sValue2><iValue3>-1</iValue3><bValue1>FALSE</bValue1><bValue2>FALSE</bValue2><bValue3>FALSE</bValue3></Command></MultiGroup><MultiGroup Name="Enable clock on wamp5stop" Identifier="710" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><EventString Name="EventString" Identifier="711" Enabled="TRUE" Invert="FALSE" Device="18" IrStr="wamp5stop"></EventString></MultiGroup><MultiGroup Name="Disable clock on wamp5start" Identifier="713" Enabled="TRUE"><StateCount>1</StateCount><StateBegin>1</StateBegin><StateCurrent>1</StateCurrent><StateInvert>FALSE</StateInvert><EventString Name="EventString" Identifier="714" Enabled="TRUE" Invert="FALSE" Device="18" IrStr="wamp5start"></EventString></MultiGroup></Group></Group></Girder>
 

Users who are viewing this thread

Top Bottom