XBMC

Questions and comments specific to a particular plugin should go here.

Re: XBMC

Postby kirs » Mon Nov 03, 2008 2:13 pm

moby wrote:Another couple of actions that I find useful for direct access to the Movies & TV Shows screens without going through the Videos screen:

Code: Select all
("MyMovies", "Show Movies Screen", "Show Movies screen.", "ActivateWindow(MyVideoLibrary,movietitles,return)"),
("MyTVShows", "Show TV Shows Screen", "Show TV Shows screen.", "ActivateWindow(MyVideoLibrary,tvshowtitles,return)"),


Checked into SVN. Thank you.
kirs
Plugin Developer
 
Posts: 23
Joined: Tue Sep 30, 2008 4:15 pm

XBMC Repeat issues??

Postby sbdeelo » Fri Nov 07, 2008 8:16 am

I just started using Eventghost and so far it's been great. My only issue is that my cursor arrows (up, down, left, right) are sluggish. Also when I press and hold it goes at about 1/2 speed when scrolling through my movie collection. I have the button release timeout for the MCE plugin at .15 and autorepeat at.6. That's about as good as I've been able to get it but I am use to the XBOX remote on the original XBOX which is lightning fast in comparison. Any suggestions would be greatly appreciated.
Thanks in advance!!
sbdeelo
 
Posts: 1
Joined: Fri Nov 07, 2008 8:14 am

Contextual use of remote keys

Postby Myxin » Sat Nov 15, 2008 10:35 pm

Hello,

I'm new here, but I use XBMC since 2003. I love XBMC for it's intuitionally behaviour (high WAF) which includes contextually use of the remote keys. This behaviour is vanished since the EG plugin only uses direct actions. I'm able to programm C/C++/C#, but I never tried Python before.

I run XBMC Atlantis final + EventGhost 0.3.6.1486 under VISTA 32 SP1.

I tried the following code (unimportant lines ripped off), but it seems to be that XBMC has some problems with events that are sended by the function send_remote_button.
Each event by this function is repeated unlimited in XBMC. I can close EG and XBMC continues repeating the last key.

Is it a problem of XBMC?
Anyone who can help or has another solution for the contextually use of remote keys defined in the keymap.xml without change it?

Another idea is to give each action a configuration for the mapping like:
"KB" => standard keyboard
"XG" => xbox gamepad
"R1" => xbox remote
"R2" => xbox universal

Code: Select all
# remote keys handled by XBMC

REMOTEKEYS = (
    # necessary keys for contextually use with keymap.xml
    ("Remote_Up", "Remote - Up", "Simulate a press on the up button.", "up"),
    ("Remote_Down", "Remote - Down", "Simulate a press on the down button.", "down"),
    ("Remote_Left", "Remote - Left", "Simulate a press on the left button.", "left"),
    ("Remote_Right", "Remote - Right", "Simulate a press on the right button.", "right"),
    ("Remote_Menu", "Remote - Menu", "Simulate a press on the menu button.", "menu"),
    ("Remote_Select", "Remote - Select", "Simulate a press on the select button.", "select"),
    ("Remote_Back", "Remote - Back", "Simulate a press on the back button.", "back"),
    ("Remote_Start", "Remote - Start", "Simulate a press on the start button.", "start"),
    ("Remote_Info", "Remote - Info", "Simulate a press on the info button.", "info"),
    ("Remote_Title", "Remote - Title", "Simulate a press on the title button.", "title"),
    ("Remote_Display", "Remote - Display", "Simulate a press on the display button.", "display"),
    ("Remote_Number0", "Remote - Number 0", "Simulate a press on the 0 button.", "zero"),
    ("Remote_Number1", "Remote - Number 1", "Simulate a press on the 1 button.", "one"),
    ("Remote_Number2", "Remote - Number 2", "Simulate a press on the 2 button.", "two"),
    ("Remote_Number3", "Remote - Number 3", "Simulate a press on the 3 button.", "three"),
    ("Remote_Number4", "Remote - Number 4", "Simulate a press on the 4 button.", "four"),
    ("Remote_Number5", "Remote - Number 5", "Simulate a press on the 5 button.", "five"),
    ("Remote_Number6", "Remote - Number 6", "Simulate a press on the 6 button.", "six"),
    ("Remote_Number7", "Remote - Number 7", "Simulate a press on the 7 button.", "seven"),
    ("Remote_Number8", "Remote - Number 8", "Simulate a press on the 8 button.", "eight"),
    ("Remote_Number9", "Remote - Number 9", "Simulate a press on the 9 button.", "nine"),
    ("Remote_Star", "Remote - Star", "Simulate a press on the * button.", "star"),
    ("Remote_Hash", "Remote - Hash", "Simulate a press on the # button.", "hash"),
    ("Remote_Clear", "Remote - Clear", "Simulate a press on the clear button.", "clear"),
    ######################################################################################################################
    # commented out for better overview in EG because this functions can be done by actions
    # --------------------------------------------------------------------------------------------------------------------
    #("Remote_VolumeUp", "Remote - Volume Up", "Simulate a press on the volume up button.", "volumeplus"),
    #("Remote_VolumeDown", "Remote - Volume Down", "Simulate a press on the volume down button.", "volumeminus"),
    #("Remote_Mute", "Remote - Mute", "Simulate a press on the mute button.", "mute"),
    #("Remote_PageUp", "Remote - Page Up", "Simulate a press on the page up button.", "pageplus"),
    #("Remote_Page Down", "Remote - Page Down", "Simulate a press on the page down button.", "pageminus"),
    #("Remote_Play", "Remote - Play", "Simulate a press on the play button.", "play"),
    #("Remote_Pause", "Remote - Pause", "Simulate a press on the pause button.", "pause"),
    #("Remote_Stop", "Remote - Stop", "Simulate a press on the stop button.", "stop"),
    #("Remote_Record", "Remote - Record", "Simulate a press on the record button.", "record"),
    #("Remote_FastForward", "Remote - Fast Forward", "Simulate a press on the fast-forward button.", "forward"),
    #("Remote_Rewind", "Remote - Rewind", "Simulate a press on the rewind button.", "reverse"),
    #("Remote_SkipNext", "Remote - Skip Next", "Simulate a press on the skip-next button.", "skipplus"),
    #("Remote_SkipPrevious", "Remote - Skip Previous", "Simulate a press on the skip-previous button.", "skipminus"),
    #("Remote_MyVideo", "Remote - My Video", "Simulate a press on the My Video button.", "myvideo"),
    #("Remote_MyMusic", "Remote - My Music", "Simulate a press on the My Music button.", "mymusic"),
    #("Remote_MyPictures", "Remote - My Pictures", "Simulate a press on the My Pictures button.", "mypictures"),
    #("Remote_MyTV", "Remote - My TV", "Simulate a press on the My TV button.", "mytv"),
    #("Remote_Power", "Remote - Power", "Simulate a press on the power button.", "power"),
    ######################################################################################################################
)

# actions handled by XBMC.  For a list of all actions see: http://xbmc.org/wiki/?title=Action_IDs

ACTIONS = (
    ######################################################################################################################
    # commented out for better overview in EG because this functions can be done by remote keys
    # --------------------------------------------------------------------------------------------------------------------
    #("Action_Up", "Action - Up", "Moves up in the interface.", "Up"),
    #("Action_Down", "Action - Down", "Moves down in the interface.", "Down"),
    #("Action_Left", "Action - Left", "Moves left in the interface.", "Left"),
    #("Action_Right", "Action - Right", "Moves right in the interface.", "Right"),
    #("Action_Select", "Action - Select", "Selects the current element.", "Select"),
    #("Action_Info", "Action - Info", "Contextual information.", "Info"),
    #("Action_Number0", "Action - Number 0", "Remote number 0.", "Number0"),
    #("Action_Number1", "Action - Number 1", "Remote number 1.", "Number1"),
    #("Action_Number2", "Action - Number 2", "Remote number 2.", "Number2"),
    #("Action_Number3", "Action - Number 3", "Remote number 3.", "Number3"),
    #("Action_Number4", "Action - Number 4", "Remote number 4.", "Number4"),
    #("Action_Number5", "Action - Number 5", "Remote number 5.", "Number5"),
    #("Action_Number6", "Action - Number 6", "Remote number 6.", "Number6"),
    #("Action_Number7", "Action - Number 7", "Remote number 7.", "Number7"),
    #("Action_Number8", "Action - Number 8", "Remote number 8.", "Number8"),
    #("Action_Number9", "Action - Number 9", "Remote number 9.", "Number9"),
    ######################################################################################################################
    ("Action_PageUp", "Action - Page Up", "Moves up a page in the interface.", "PageUp"),
    ("Action_PageDown", "Action - Page Down", "Moves down a page in the interface.", "PageDown"),
    ("Action_PreviousMenu", "Action - Previous Menu", "Previous menu.", "PreviousMenu"),
    ("Action_ContextMenu", "Action - Context Menu", "Context menu.", "ContextMenu"),
    ("Action_Play", "Action - Play", "Toggles play/pause of the current media.", "Play"),
    ("Action_Pause", "Action - Pause", "Pauses the current media.", "Pause"),
    ("Action_Stop", "Action - Stop", "Stops playback of the current media.", "Stop"),
    ("Action_FastForward", "Action - Fast Forward", "Fast-forwards the current media.", "FastForward"),
    ("Action_Rewind", "Action - Rewind", "Rewinds the current media.", "Rewind"),
    ("Action_SkipNext", "Action - Skip Next", "Skips to the next media item.", "SkipNext"),
    ("Action_SkipPrevious", "Action - Skip Previous", "Skips back to the previous media item.", "SkipPrevious"),
    ("Action_Record", "Action - Record", "Starts recording.", "Record"),
    ("Action_BigSkipBackward", "Action - Big Skip Backward", "Big skip backward.", "PlayerControl(BigSkipBackWard)"),
    ("Action_BigSkipForward", "Action - Big Skip Forward", "Big skip forward.", "PlayerControl(BigSkipForward)"),
    ("Action_SmallSkipBackward", "Action - Small Skip Backward", "Small skip backward.", "PlayerControl(SmallSkipBackward)"),
    ("Action_SmallSkipForward", "Action - Small Skip Forward", "Small skip forward.", "PlayerControl(SmallSkipForward)"),
    ("Action_AspectRatio", "Action - Aspect Ratio", "Display the aspect ratio of the current media.", "AspectRatio"),
    ("Action_CodecInfo", "Action - Codec Info", "Display the codec information of the current media.", "CodecInfo"),
    ("Action_FullScreen", "Action - Full Screen", "Display the current media in full screen mode.", "FullScreen"),
    ("Action_Repeat", "Action - Repeat", "Repeat.", "PlayerControl(Repeat)"),
    ("Action_ShowSubtitles", "Action - Show Subtitles", "Toggle subtitles on or off.", "ShowSubtitles"),
    ("Action_OSD", "Action - Show OSD", "Shows the on-screen display.", "OSD"),
    ("Action_ShowTime", "Action - Show Time", "Show current play time.", "ShowTime"),
    ("Action_VolumeUp", "Action - Volume Up", "Raises the volume.", "VolumeUp"),
    ("Action_VolumeDown", "Action - Volume Down", "Lowers the volume.", "VolumeDown"),
    ("Action_Mute", "Action - Mute", "Simulate a press on the mute button.", "Mute"),
    ("Action_ScrollUp", "Action - Scroll Up", "Scroll up in list.", "ScrollUp"),
    ("Action_ScrollDown", "Action - Scroll Down", "Scroll down in list.", "ScrollDown"),
    ("Action_Close", "Action - Close", "Close and open dialog box.", "Close"),
    ("Action_Playlist", "Action - Playlist", "Shows the current playlist.", "Playlist"),
    ("Action_Queue", "Action - Queue", "Queue the current item.", "Queue"),
    ("Action_MoveItemUp", "Action - Move Item Up", "Move item up in playlist.", "MoveItemUp"),
    ("Action_MoveItemDown", "Action - Move Item Down", "Move item down in playlist.", "MoveItemDown"),
    ("Action_Delete", "Action - Delete", "Delete the current item.", "Delete"),
    ("Action_Random", "Action - Random", "Random.", "PlayerControl(Random)"),
    ("Action_Repeat", "Action - Repeat", "Repeat.", "PlayerControl(Repeat)"),
    ("Action_PartyMode", "Action - Party Mode", "Party mode.", "PlayerControl(PartyMode)"),
    ("Action_ParentDir", "Action - Parent Dir", "Parent directory.", "ParentDir"),
    ("Action_TakeScreenShot", "Action - Take Screen Shot", "Takes a screen shot.", "TakeScreenshot"),
    ("Action_EjectTray", "Action - Eject Tray", "Close or open the DVD tray.", "EjectTray"),
    ("Action_PlayDVD", "Action - Play DVD", "Plays the inserted CD or DVD media from the DVD-ROM Drive.", "PlayDVD"),
    ("Action_Home", "Action - Show Home Screen", "Show Home screen.", "ActivateWindow(Home)"),
    ("Action_MyVideos", "Action - Show Videos Screen", "Show Videos screen.", "ActivateWindow(MyVideos)"),
    ("Action_MyMusic", "Action - Show Music Screen", "Show Music screen.", "ActivateWindow(MyMusic)"),
    ("Action_MyPictures", "Action - Show Pictures Screen", "Show Pictures screen.", "ActivateWindow(MyPictures)"),
    ("Action_MyMovies", "Action - Show Movies Screen", "Show Movies screen.", "ActivateWindow(MyVideoLibrary,movietitles,return)"),
    ("Action_MyTVShows", "Action - Show TV Shows Screen", "Show TV Shows screen.", "ActivateWindow(MyVideoLibrary,tvshowtitles,return)"),
    ("Action_Weather", "Action - Show Weather Screen", "Show Weather screen.", "ActivateWindow(Weather)"),
    ("Action_Settings", "Action - Show Settings Screen", "Show Settings screen.", "ActivateWindow(Settings)"),
    ("Action_Favorites", "Action - Show Favorites Screen", "Show Favorites screen.", "ActivateWindow(Favourites)"),
    ("Action_SystemInfo", "Action - Show System Info Screen", "Show System Info screen.", "ActivateWindow(SystemInfo)"),
    ("Action_LastFMLove", "Action - Last FM Love", "Add the current playing last.fm radio track to the last.fm loved tracks.", "LastFM.Love"),
    ("Action_LastFMBan", "Action - Last FM Ban", "Ban the current playing last.fm radio track.", "LastFM.Ban"),
    ("Action_UpdateVideoLibrary", "Action - Update Video Library", "Update the video library.", "UpdateLibrary(Video)"),
    ("Action_UpdateMusicLibrary", "Action - Update Music Library", "Update the music library.", "UpdateLibrary(Music)"),
    ("Action_ShutdownMenu", "Action - Show Shutdown Menu", "Show the shutdown Menu.", "ActivateWindow(ShutdownMenu)"),
    ("Action_Quit", "Action - Quit XBMC", "Quit XBMC.", "Quit"),
    ("Action_Shutdown", "Action - Shutdown Computer", "Trigger default shutdown behavior from settings.", "Shutdown"),
    ("Action_Powerdown", "Action - Powerdown Computer", "Powerdown the computer.", "Powerdown"),
    ("Action_Suspend", "Action - Suspend Computer", "Suspend the computer.", "Suspend"),
    ("Action_Hibernate", "Action - Hibernate Computer", "Hibernate the computer.", "Hibernate"),
    ("Action_Reset", "Action - Reset Computer", "Reset the computer.", "Reset"),
)

class RemoteKeyPrototype(eg.ActionClass):
    def __call__(self):
        try:
            self.plugin.xbmc.send_remote_button(self.value)
        except:
            raise self.Exceptions.ProgramNotRunning

class ActionPrototype(eg.ActionClass):
    def __call__(self):
        try:
            self.plugin.xbmc.send_action(self.value, ACTION_BUTTON)
        except:
            raise self.Exceptions.ProgramNotRunning

# And now we define the actual plugin:

class XBMC(eg.PluginClass):
    def __init__(self):
        self.AddActionsFromList(REMOTEKEYS, RemoteKeyPrototype)
        self.AddActionsFromList(ACTIONS, ActionPrototype)
        self.xbmc = XBMCClient("EventGhost")

    def __start__(self):
        try:
            self.xbmc.connect()
        except:
            raise self.Exceptions.ProgramNotRunning

    def __stop__(self):
        try:
            self.xbmc.close()
        except:
            pass

    def __close__(self):
        pass
Myxin
 
Posts: 1
Joined: Sat Nov 15, 2008 8:31 pm

Re: XBMC

Postby geedsen » Wed Nov 19, 2008 11:28 am

Just installed EventGhost. And going through the documentation a couple of things are unclear to me:

1) Do I need to run EventGhost to trap the events of the MCE Remote? So should I put it in the startup program group or something?
2) After dragging and dropping MCE actions to XBMC events, do I need to do something more . Export a configuration file or something to XBMC ? Or is that not neccesary because EventGhost is running and takes care of it?
3) Is it that EventGhost is running , traps an MCE button press and knows that the active application is XBMC.exe and therfor knows what keypress should be send to XBMC?
4) In the WIKI I found that if I want to remap the MCE remote buttons I should use another (not the standard eHome) driver. Why. I did not do that and can see the events appearing in EventGhost and can map these events to XMBC actions. So why would I need another driver?

Thanks
geedsen
 
Posts: 3
Joined: Wed Nov 19, 2008 11:19 am

Re: XBMC

Postby ilya87 » Sat Nov 22, 2008 1:03 am

Hi,

I'm completely new to eventghost, so hopefully you can bear with me. I'm trying to add the XBMC plugin. I downloaded the latest build, copied the files into an XBMC folder in the plugins directory, however when I go through the Add Plugins directory in eventghost and select XBMC, it doesn't let me press OK. Also, the log says Can't read __init__.py for plugin "XBMC".

Any ideas?

Thanks.
ilya87
 
Posts: 1
Joined: Sat Nov 22, 2008 12:57 am

Re: XBMC

Postby kricker » Sat Nov 22, 2008 2:45 am

No, no, no. You are a bit confused. Probably because of all the plugin talk. When you dl the latest EG and install it. It has a plugin folder. The XBMC plugin for EG is already in that folder. You just need to add it in the EG configuration and set it up. You do not need to copy anything to the XBMC folder. In XBMC you need to enable the Event Server.
kricker
Experienced User
 
Posts: 147
Joined: Thu Oct 12, 2006 5:49 am

Re: XBMC

Postby markowe » Thu Nov 27, 2008 4:32 pm

Hopefully I can add some advice, as this is quite confusing for newbies (not least me). The main reason for the confusion is that:

a) the plugins listed in the posts in this thread (such as in the original post) are deprecated, as I understand it - perhaps they could be removed because...
b) the EventGhost XBMC plugin is now included in the latest Betas, so you don't have to install the plugin, as Kricker just explained
c) the "latest version" of EventGhost is not found at the SourceForge repository, but rather here, where you should download the latest BETA (delete the XBMC directory from "plugins" if you were trying it that way before installing the new version).

This may seem obvious if you have been following this from the beginning, but believe me it's not if you are new to this and looking to get EventGhost working with XBMC. Hope that's some help to someone.

As for getting your remote working, perhaps I should just briefly add that you should drag XBMC into your EventGhost Autostart probably, then right-click on the XBMC folder and click Enable Item (yes, that took me almost half an hour to figure out!). NOW, if you press a button on your remote (say Play), you should get a code appear in the Log which corresponds to that - on my RF remote it's "HID.Button.20". Drag and drop that into the XBMC -> Play macro and you should be starting to get the idea. If you go into XBMC, your joy should know no bounds - that button should now work in XBMC! Now rinse and repeat for all the other buttons.

Maybe this is all written up somewhere, but I sure as heck couldn't find it in one place, so hope this helps someone.
Beware, the StoreMinator!
markowe
 
Posts: 5
Joined: Thu Nov 27, 2008 4:18 pm

Re: XBMC

Postby Livin » Fri Nov 28, 2008 9:18 pm

yes, this is all in a post, or several, but you are 100% correct... it is not easy to find.

Maybe you can write up a how-to and post in the XBMC Online Manual (http://xbmc.org/wiki/index.php?title=Xb ... ine_Manual)
setup... XBMC, W7MC for DVR & Live OTA TV, JRMC for multi-zone audio, EG, MiCasaVerde Vera3, USB-UIRT IR receiver, Harmony remote, 5.2 home theater system
User avatar
Livin
Experienced User
 
Posts: 749
Joined: Wed Oct 08, 2008 4:56 am

Re: XBMC

Postby markowe » Sat Nov 29, 2008 4:20 pm

Livin wrote:yes, this is all in a post, or several, but you are 100% correct... it is not easy to find.

Maybe you can write up a how-to and post in the XBMC Online Manual (http://xbmc.org/wiki/index.php?title=Xb ... ine_Manual)


Sure, I'll try to grab a few minutes to do that, the least I can do for such a useful free product! I know how difficult it is to keep up with documentation and everything on a product you are not even earning from...
Beware, the StoreMinator!
markowe
 
Posts: 5
Joined: Thu Nov 27, 2008 4:18 pm

Re: XBMC

Postby kricker » Sat Nov 29, 2008 8:03 pm

markowe wrote:
Livin wrote:yes, this is all in a post, or several, but you are 100% correct... it is not easy to find.

Maybe you can write up a how-to and post in the XBMC Online Manual (http://xbmc.org/wiki/index.php?title=Xb ... ine_Manual)


Sure, I'll try to grab a few minutes to do that, the least I can do for such a useful free product! I know how difficult it is to keep up with documentation and everything on a product you are not even earning from...
I have a partial "how to" in the meedio plugin thread, that might be helpful to you.
kricker
Experienced User
 
Posts: 147
Joined: Thu Oct 12, 2006 5:49 am

How dto install the plugin

Postby dbbd » Sat Dec 20, 2008 12:22 pm

I've been using EG with USB-UIRT and gbpvr.
I'm trying to switch to xbmc.

I cannot figure out how to get the xbmc plugin for EG working.
I copied the xbmc folder from the zip file, into EG plugins folder.

In EG (0.3.5c.908) I use the add plugin. I see xbmc, but when I select it
the OK button does not become available.

Please advise
dbbd
 
Posts: 33
Joined: Sat Apr 26, 2008 2:10 pm

Re: How dto install the plugin

Postby markowe » Sat Dec 20, 2008 12:46 pm

dbbd wrote:I've been using EG with USB-UIRT and gbpvr.
I'm trying to switch to xbmc.

I cannot figure out how to get the xbmc plugin for EG working.
I copied the xbmc folder from the zip file, into EG plugins folder.

In EG (0.3.5c.908) I use the add plugin. I see xbmc, but when I select it
the OK button does not become available.

Please advise



Hi,

Read the whole thread again, especially the bit where it says something along the lines of "you do not have to install the plugin", where it also explains where to download the beta version that DOES include the XBMC plugin (no zip archives required). It should be something like v0.3.6.xx and above. Not very clear though, I know, that's why I wrote the post.

What I can't figure out is why, even though I have dragged the XBMC plugin into my startup items, it always starts up disabled when I restart EG/Windows. Defeats the object, because I have to go into my PC and enable the XBMC plugin, when what I really want to do is just press a remote button to fire up XBMC. Any help with that appreciated.
Beware, the StoreMinator!
markowe
 
Posts: 5
Joined: Thu Nov 27, 2008 4:18 pm

event delivery speed to xbmc

Postby dbbd » Sun Dec 21, 2008 8:26 am

I got EG working with xbmc at last, however event delivery performance is very poor.
I need to hold down a remote button, say "up", and only after it generates 2-3 events in EG,
does the event get delivered to xbmc.

Any idea why/how to fix it?
dbbd
 
Posts: 33
Joined: Sat Apr 26, 2008 2:10 pm

Re: How dto install the plugin

Postby kricker » Sun Dec 21, 2008 5:00 pm

markowe wrote:What I can't figure out is why, even though I have dragged the XBMC plugin into my startup items, it always starts up disabled when I restart EG/Windows. Defeats the object, because I have to go into my PC and enable the XBMC plugin, when what I really want to do is just press a remote button to fire up XBMC. Any help with that appreciated.
Putting the XBMC plugin in the startup items only enables the ability to use the plugin. To have the XBMC controls available at startup of EG, you need to have a macro that enables those controls at startup (most likely after the plugin in enabled).
kricker
Experienced User
 
Posts: 147
Joined: Thu Oct 12, 2006 5:49 am

Re: event delivery speed to xbmc

Postby kricker » Sun Dec 21, 2008 5:01 pm

dbbd wrote:I got EG working with xbmc at last, however event delivery performance is very poor.
I need to hold down a remote button, say "up", and only after it generates 2-3 events in EG,
does the event get delivered to xbmc.

Any idea why/how to fix it?
You may need to experiment with XBMC event server settings. All my events are sent immediately.
kricker
Experienced User
 
Posts: 147
Joined: Thu Oct 12, 2006 5:49 am

PreviousNext

Return to Plugin Support

Who is online

Users browsing this forum: blaher and 3 guests