SageTV Community  

Go Back   SageTV Community > SageTV Development and Customizations > SageTV v7 Customizations

Notices

SageTV v7 Customizations This forums is for discussing and sharing user-created modifications for the SageTV version 7 application created by using the SageTV Studio or through the use of external plugins. Use this forum to discuss plugins for SageTV version 7 and newer.

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 07-04-2011, 10:08 AM
jusjoken jusjoken is offline
SageTVaholic
 
Join Date: Dec 2005
Location: Strathmore, AB
Posts: 2,660
Plugin: ADM - Another Dynamic Menu

Version 0.504 (STVI 0.504 - API 0.503)
  • MOVED the location of the download files from Google Code to BinTray
  • MOVED the source and Wiki from Google Code to GitHub

Version 0.42 (STVI 0.424 - API 0.424)
  • Fix for incorrect WorkingDirectory Path on some clients
Version 0.42 (STVI 0.423 - API 0.421)
  • Fixed Mouse related issue for opening Main Menu submenus
Version 0.42 (0.422) - released September 2 2011
  • Added Custom Menu to defaults if this feature in SageTV is enabled
Version 0.42 (0.421) - released September 1 2011
  • Minor issue with Diamond Custom Flows in new Action Manager. No need to update if you do not use Diamond.
Version 0.42 (0.420) - released September 1 2011
  • New Quick Launch Menu (QLM)
    • Optional new feature to display a menu on top of nearly any SageTV screen making the full ADM menu available quickly throughout SageTV
    • With Diamond you can also optionally have the diamond Widgets displayed with the QLM
  • Updated Action management
    • Used when editing or creating Menu Items for the selection of the Action to perform
    • Simpler approach (I hope) to selecting and finding the appropriate action (from a list of 120 available actions)
    • Can be filtered by Music, TV, Video, etc
    • Filter can be set to "sticky" to be available for subsequent uses when creating/adusting multiple similar menu items
  • New Dynamic List Actions
    • These menu items will be replaced with a dynamic list of menu items when they are displayed in the menus
    • Available Types
      • Music Playlist - current list of Music Playlists
      • Video Playlist - current list of Video Playlists
      • TV Revordings - list of 4-8 recording views depending on your settings
      • Diamond Custom Flows - list of currently configured Diamond Custom Flows
  • New Malore Actions
    • Malore menu actions have been added/updated to work with the CopyMode
    • New Malore Menu Actions are now available to jump directly to a specific Alternate View
  • Updated Default Menus
    • All menu items in the Default Menus are now ADM controllable menu items
    • Removed the use of any SageTV submenus from the default menus as they are less flexible
    • Note: SageTV Submenus are still supported and can be used with ADM except in the new QLM feature
    • Previous Users of ADM: if you have minor modifications to your ADM menus then I recommend loading the Default Menus with this version and then applying your minor modifications again. This will allow you to take full advantage of showing/hiding all menu items as well as use the new QLM feature. If you have larger modifications and your current menus are working well for you then there is no need to change as this version is fully backwards compatible.
  • ADM Manager option buttons (left side) now scrollable when required
  • Other minor fixes
Version 0.40 (0.401) - released August 3 2011
  • New User Based Menu Item control
    • Block the display of Menu Items based on SageTV User Profiles
  • ADM integrated with SageTV's new User Profile Permissions
    • "Change UI configuration options" permission is now required to modify any ADM menus/settings
  • Now handles Large Menu Lists with any number of items
    • All 3 levels now support large menu item lists
    • scrollbars automatically added when required
  • ADM Manager
    • Menu Items can now be reordered in either of the List by modes (Structured/Grouped)
    • Options item updated to allow configuring the Max items to be displayed on each level before scrolling starts
  • Other minor fixes
Version 0.38 (0.381) - released July 28 2011
  • New Action Type to Launch an External Application
  • Fixed copy of Menu Items that used a Menu Widget (like the Recipe Viewer)
Version 0.37 (0.371) - released July 26 2011
  • New Action Type to Launch Specific File Browser Views
    • actions available for Local, Network, Server, Imports and Recording Directories
  • Updated ADM Copy
    • now recognizes File Browser Views
    • will allow copy of custom Plugin Menu items that launch a Dialog Menu such as the "Restart Sage from Setup Menu" Plugin
  • Other minor fixes
Version 0.36 (0.367) - released July 23 2011
  • Updated ADM Copy
    • now recognizes Sage TV Recordings Views (4 standard plus up to 4 custom)
    • handles Combined and Separate Video Folder views
  • New Action Type to Launch Specific TV Recordings View
    • works for Standard SageTV as well as Diamond TV Views
  • New Action Type to Launch Default and Custom Diamond Flows (if using Diamond)
  • New ADM Background Manager
    • graphically select a Background for any Menu Item on any Level
    • add your own Custom Backgrounds and associate them to any Menu Item
  • Update for Video Folder Browser
    • improved support for Linux systems
    • handles Combined and Separate Video Folder views
  • Fix for Clients/Extenders having their own Menu Settings
  • Major refactoring of base code
  • Other minor fixes
Version 0.35 - released July 7 2011
  • New ADM Copy Feature
    • allows for the copy of Sage Menu items (Standard and from other Plugins) to ADM Menu Items
    • allows for the creation of ADM Menu Items directly from the Videos Folder Browser for an specific Folder
    • see ADM Copy Mode on the Wiki for more info
  • Fix for Linux path issues
  • Fix for issues related to selecting a different Parent
  • Other minor fixes
Version 0.33 - Initial beta - released July 4 2011
A new approach to an old request - Another Dynamic Menu (ADM)
  • works with Standard SageTV as well as with Diamond (see Diamond section in the Wiki.
  • ADM Manager is always available from the Main Menu Options menu
  • How it works
    • on initial load ADM will load either a Standard Sage menu item list or a Diamond list if Diamond is detected
    • ADM uses the Standard SageTV "Menu System" to display a dynamic list of user customizable Menu Items
    • the menu Look and Feel is not ADM's - as it uses this from SageTV
    • you can add, delete, hide any Menu Item or even start from scratch (Delete ALL) and build an entire new custom Menu
    • you can Copy existing SageTV or Plugin added Menu Items to create new ADM Menu Items
    • you can Create new Folder Browser Menu Items through the ADM Copy mode feature
    • if you "mess up" you can always load the default menus and start again
    • the menu items are saved at the client level but can be Exported and Imported from other clients

Please refer to the ADM Wiki for more information and how to use ADM

Comments and suggestions are always welcome.

Issues will be tracked here....

Compatibility with others plugins mentioned here in the Wiki.. Let me know if you find others that I need to mention.

Todo plans are listed here in the Wiki. Let me know if you have other ideas/"needs".





k
Attached Images
File Type: jpg ADMCustomMenu-small.JPG (32.5 KB, 2469 views)
File Type: jpg ADMManagerOverview-small.JPG (159.9 KB, 1469 views)

Last edited by jusjoken; 10-17-2015 at 03:38 PM.
Reply With Quote
  #2  
Old 07-04-2011, 10:09 AM
jusjoken jusjoken is offline
SageTVaholic
 
Join Date: Dec 2005
Location: Strathmore, AB
Posts: 2,660
Saved for future use.
Reply With Quote
  #3  
Old 07-04-2011, 10:44 AM
jorton jorton is offline
Sage Icon
 
Join Date: Jul 2005
Location: Canada
Posts: 1,273
Nice job jusjoken!

Very slick and easy to use with the included UI.

J
Reply With Quote
  #4  
Old 07-04-2011, 10:51 AM
nyplayer nyplayer is online now
SageTVaholic
 
Join Date: Sep 2005
Posts: 4,917
Quote:
Originally Posted by jorton View Post
Nice job jusjoken!

Very slick and easy to use with the included UI.

J
+1
__________________
Channels DVR UBUNTU Server 2 Primes 3 Connects TVE SageTV Docker with input from Channels DVR XMLTV and M3U VIA Opendct.
Reply With Quote
  #5  
Old 07-04-2011, 04:42 PM
korben_dallas's Avatar
korben_dallas korben_dallas is offline
Sage Icon
 
Join Date: Oct 2004
Location: USA
Posts: 1,250
Quote:
the menu items are saved in the Sage .properties file but can be Exported and Imported from other clients
This is the only thing that concerns me. I've had trouble in the past with my .properties files getting bloated, and the only way to correct was to delete and go through all the various setups from scratch.. not fun.

Is saving in the .properties files a standard practice for plug-ins? Could it potentially be moved to its own .properties (or other) file?
__________________
SageTV server & client: Win 10 Pro x64, Intel DH67CF, Core i5 2405s, 8 GB ram, Intel HD 3000, 40GB SSD system, 4TB storage, 2x HD PVR component + optical audio, USB-UIRT 2 zones + remote hack, Logitech Harmony One, HDMI output to Sony receiver with native Intel bitstreaming
Reply With Quote
  #6  
Old 07-04-2011, 04:55 PM
jorton jorton is offline
Sage Icon
 
Join Date: Jul 2005
Location: Canada
Posts: 1,273
I'm using ADM with Diamond (which also writes quite a few entries to the properties files) and noticed no slow down, business as usual.

You can also reset from the UI clearing all the ADM settings (like with Diamond) if you want to do a clean reset.

J

Last edited by jorton; 07-04-2011 at 05:20 PM.
Reply With Quote
  #7  
Old 07-04-2011, 05:39 PM
jusjoken jusjoken is offline
SageTVaholic
 
Join Date: Dec 2005
Location: Strathmore, AB
Posts: 2,660
Quote:
Originally Posted by korben_dallas View Post
This is the only thing that concerns me. I've had trouble in the past with my .properties files getting bloated, and the only way to correct was to delete and go through all the various setups from scratch.. not fun.

Is saving in the .properties files a standard practice for plug-ins? Could it potentially be moved to its own .properties (or other) file?
This should not be an issue as it is just read on load of Sage and only written to when you make any changes using ADM Manager.

k
Reply With Quote
  #8  
Old 07-05-2011, 10:58 AM
pjpjpjpj pjpjpjpj is offline
Sage Icon
 
Join Date: Feb 2008
Posts: 2,160
jusjoken,
I just discovered this today and I am very excited to try it out when I get home!

I read the wiki and I notice that it discusses that various menu-altering plugins may or may not work. I only use a few and I'm curious if anyone has tried them and can verify whether they work.
-PlayOn
-Recipe (text file) viewer
-Stock Manager (stock market plugin)

I guess the root of my question is, when items like these above are already installed, when you install ADM, does the "default" menu become what was the menu structure at that time? Or does the plugin come with the default Sage7 menu structure in it, effectively meaning you always "start from scratch"?

Similarly, when you try to add a new menu item and get to choose from the big list, are the plugin items automatically in that list? I remember that was how nielm's DCM in v6 worked - for example, if you had the weather report suite (WRS) installed and tried to add a menu item, all the various WRS views were included there in the big list of choices.
__________________
Server: AMD Athlon II x4 635 2.9GHz, 8 Gb RAM, Win 10 x64, Java 8, Gigabit network
Drives: Several TB of internal SATA and external USB drives, no NAS or RAID or such...
Software: SageTV v9x64, stock STV with ADM.
Tuners: 4 tuners via (2) HDHomeruns (100% OTA, DIY antennas in the attic).
Clients: Several HD300s, HD200s, even an old HD100, all on wired LAN. Latest firmware for each.
Reply With Quote
  #9  
Old 07-05-2011, 12:52 PM
jusjoken jusjoken is offline
SageTVaholic
 
Join Date: Dec 2005
Location: Strathmore, AB
Posts: 2,660
Quote:
Originally Posted by pjpjpjpj View Post
jusjoken,
I just discovered this today and I am very excited to try it out when I get home!

I read the wiki and I notice that it discusses that various menu-altering plugins may or may not work. I only use a few and I'm curious if anyone has tried them and can verify whether they work.
-PlayOn
-Recipe (text file) viewer
-Stock Manager (stock market plugin)

I guess the root of my question is, when items like these above are already installed, when you install ADM, does the "default" menu become what was the menu structure at that time? Or does the plugin come with the default Sage7 menu structure in it, effectively meaning you always "start from scratch"?

Similarly, when you try to add a new menu item and get to choose from the big list, are the plugin items automatically in that list? I remember that was how nielm's DCM in v6 worked - for example, if you had the weather report suite (WRS) installed and tried to add a menu item, all the various WRS views were included there in the big list of choices.
ADM loads a "pre-built" menu to mimic the default SageTV menus assuming NO plugins. This is meant as just a starting point for you to customize from there.

The list of Standard Actions is also a "pre-built" list of actions that exist in SageTV base plus a few I tested with. Playon is in there as JOrton tried that out while he was testing it so I added it.

At this point the simple answer is - it depends . I do not YET offer a list that provides ALL actions/menus available in Sage (like Nielm's did) but I will soon... I just need to decide the cleanest way to present that as I don't like the mile long list concept.

But, if you can check in studio what Widget you want to launch the you can switch to Advanced mode and type in a Widget Symbol (that will be validated) and the item you created/edited will launch that Widget.

k
Reply With Quote
  #10  
Old 07-05-2011, 01:13 PM
pjpjpjpj pjpjpjpj is offline
Sage Icon
 
Join Date: Feb 2008
Posts: 2,160
Thanks for the response. Any chance you could add a section to the wiki with a little more-detailed info about how to find that Studio widget? For example, what would I look for to add the "Stock Manager" or "MovieTimes" (a plugin which adds a menu item in level 2)?

FWIW, I don't mind the "mile-long list".
__________________
Server: AMD Athlon II x4 635 2.9GHz, 8 Gb RAM, Win 10 x64, Java 8, Gigabit network
Drives: Several TB of internal SATA and external USB drives, no NAS or RAID or such...
Software: SageTV v9x64, stock STV with ADM.
Tuners: 4 tuners via (2) HDHomeruns (100% OTA, DIY antennas in the attic).
Clients: Several HD300s, HD200s, even an old HD100, all on wired LAN. Latest firmware for each.
Reply With Quote
  #11  
Old 07-05-2011, 01:21 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
@jusjuken - I just wanted to throw this out there...

Now that Phoenix is released in public beta, the base api (especially for dynamic menus) is pretty stable. You could use the phoenix dynamic menus apis as your dynamic menus, and you'd get all of the functionality of Nielm's dynamic menus, plus you'd inherit the ability to allow plugins to contribute their own menu items transparently.

You'd still need to code an STVi implmentation for the Dynamic Menus, but you wouldn't have to worry about the file formats, item processing, etc. Also phoenix uses a process whereby the from the STV you don't need to know what the different "actions" are for a menu item... you just invoke the action and the menu code takes care of the rest. So, you don't need a huge chain of conditions for every menu action that you want to invoke.

Something to ponder while you are thinking of bringing your solution to the next level
Reply With Quote
  #12  
Old 07-05-2011, 01:59 PM
Fuzzy's Avatar
Fuzzy Fuzzy is offline
SageTVaholic
 
Join Date: Sep 2005
Location: Jurupa Valley, CA
Posts: 9,957
Quote:
Originally Posted by stuckless View Post
@jusjuken - I just wanted to throw this out there...

Now that Phoenix is released in public beta, the base api (especially for dynamic menus) is pretty stable. You could use the phoenix dynamic menus apis as your dynamic menus, and you'd get all of the functionality of Nielm's dynamic menus, plus you'd inherit the ability to allow plugins to contribute their own menu items transparently.

You'd still need to code an STVi implmentation for the Dynamic Menus, but you wouldn't have to worry about the file formats, item processing, etc. Also phoenix uses a process whereby the from the STV you don't need to know what the different "actions" are for a menu item... you just invoke the action and the menu code takes care of the rest. So, you don't need a huge chain of conditions for every menu action that you want to invoke.

Something to ponder while you are thinking of bringing your solution to the next level
I was about to suggest the same thing. I've looked through the phoenix dynamic menu implementation, and really, all it would need is the UI work done to use it in the default STV as well. Most of that work is already done in THIS plugin, just a matter of pointing it to the phoenix API menu objects. Might help out the support side to keep it all similar on the back-end.
__________________
Buy Fuzzy a beer! (Fuzzy likes beer)

unRAID Server: i7-6700, 32GB RAM, Dual 128GB SSD cache and 13TB pool, with SageTVv9, openDCT, Logitech Media Server and Plex Media Server each in Dockers.
Sources: HRHR Prime with Charter CableCard. HDHR-US for OTA.
Primary Client: HD-300 through XBoxOne in Living Room, Samsung HLT-6189S
Other Clients: Mi Box in Master Bedroom, HD-200 in kids room
Reply With Quote
  #13  
Old 07-05-2011, 02:03 PM
PLUCKYHD PLUCKYHD is offline
SageTVaholic
 
Join Date: Dec 2007
Posts: 6,257
Quote:
Originally Posted by stuckless View Post
Something to ponder while you are thinking of bringing your solution to the next level
The downside to this is xmls. That is the biggest downfall IMHO standard users don't know xml syntax and was always one of the pitfalls of SageMC dynamic menus as well. I was constantly helping users with xml syntax and issues with SageMovieWall. I seee the same questions coming up on phoenix. It works and is dynamic but isn't very user friendly outside of "Techies" so to speak. Where as this is all UI driven and doesn't require any of the learning curver behind it and the reason I think JusJoken did it that way (corret me if I am wrong).

Yes he could make a ui editor for phoenix dynamic menus but even the phoenix guys don't have the time for that so It is time consuming.

My 2 cents
Reply With Quote
  #14  
Old 07-05-2011, 02:05 PM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
We do have an editor - you can hide, rename, and reorder menu items. We haven't added the 'add' part yet but it's in the works. All from the UI.

btl.
__________________
PHOENIX 3 is here!
Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient
Reply With Quote
  #15  
Old 07-05-2011, 02:08 PM
PLUCKYHD PLUCKYHD is offline
SageTVaholic
 
Join Date: Dec 2007
Posts: 6,257
Quote:
Originally Posted by bialio View Post
We do have an editor - you can hide, rename, and reorder menu items. We haven't added the 'add' part yet but it's in the works. All from the UI.

btl.
I was refering to making custom views and filters (suff diamond does all from the ui) and assumed phoenix didn't by this comment

Quote:
Quote:
creation of views from the stv or some other webapp that is easier than editing raw .xml

This is not something that I'd hold my breath for - views are very complex, and creating them from the UI is almost out of the question. A web app might show up one day, but it's not something that is high on the current list.
From here sorry if I was mistaken or misunderstood the functionality.
Reply With Quote
  #16  
Old 07-05-2011, 02:09 PM
stuckless's Avatar
stuckless stuckless is offline
SageTVaholic
 
Join Date: Oct 2007
Location: London, Ontario, Canada
Posts: 9,713
Quote:
Originally Posted by PLUCKYHD View Post
The downside to this is xmls. That is the biggest downfall IMHO standard users don't know xml syntax and was always one of the pitfalls of SageMC dynamic menus as well. I was constantly helping users with xml syntax and issues with SageMovieWall. I seee the same questions coming up on phoenix. It works and is dynamic but isn't very user friendly outside of "Techies" so to speak. Where as this is all UI driven and doesn't require any of the learning curver behind it and the reason I think JusJoken did it that way (corret me if I am wrong).

Yes he could make a ui editor for phoenix dynamic menus but even the phoenix guys don't have the time for that so It is time consuming.

My 2 cents
I can appreciate your concern... As someone that actually supports the Phoenix users... I didn't think there were that many complaints about the xml format... I could be wrong though

And Phoenix does have a ui for editing some portions of the menus... in terms of showing/hiding and moving them around.

As for the editing... by the time you add in the complex features of how do I evaluate actions, run external commands, jump to new menus, show sub menus, etc, then that's where most of the questions come from... not the xml itself, and those same questions will come up whether or not you are using .properties or .xml files.... and not to get too technical, but Phoenix menus are model driven... xml is our "implementation" but I could just as easily create a model implementation that is backed by a database or .properties, or some other source

EDIT: @Plucky - Your comment is related to the VFS (which is xml driven as well - and rather complex to implement in an editor ) and not the menus.

Last edited by stuckless; 07-05-2011 at 02:13 PM.
Reply With Quote
  #17  
Old 07-05-2011, 02:13 PM
PLUCKYHD PLUCKYHD is offline
SageTVaholic
 
Join Date: Dec 2007
Posts: 6,257
Quote:
Originally Posted by stuckless View Post
I can appreciate your concern... As someone that actually supports the Phoenix users... I didn't think there were that many complaints about the xml format... I could be wrong though

And Phoenix does have a ui for editing some portions of the menus... in terms of showing/hiding and moving them around.

As for the editing... by the time you add in the complex features of how do I evaluate actions, run external commands, jump to new menus, show sub menus, etc, then that's where most of the questions come from... not the xml itself, and those same questions will come up whether or not you are using .properties or .xml files.... and not to get too technical, but Phoenix menus are model driven... xml is our "implementation" but I could just as easily create a model implementation that is backed by a database or .properties, or some other source
Correct and I get that . But I see allot of post about xml editing and questions IT is a great system I don't doubt that much I am more of a simplist and like things UI driven when it comes to media center type applications. Wasn't meaning to imply phoenix isn't powerful because it is. I just know from my users that I have sold sage systems too (and they now are mad at me anyhow ;( ). They tried phoenix and they are too basic of users to get it. It requires allot of reading and learning as everything is not visible in options easily. Which is great for the "techies" but for the average joe frustrating.
Reply With Quote
  #18  
Old 07-05-2011, 02:14 PM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
Dynamic menus and Creating views are really two very different topics. Being able to add a menu item (dynamic) from the UI is coming soon to Phoenix, and is available now via XML wrangling.

Creating a VIEW (in the phoenix meaning of that word) from the UI is not something we are interested in doing any time soon.
btl.
__________________
PHOENIX 3 is here!
Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient
Reply With Quote
  #19  
Old 07-05-2011, 02:15 PM
PLUCKYHD PLUCKYHD is offline
SageTVaholic
 
Join Date: Dec 2007
Posts: 6,257
Quote:
Originally Posted by bialio View Post
Dynamic menus and Creating views are really two very different topics. Being able to add a menu item (dynamic) from the UI is coming soon to Phoenix, and is available now via XML wrangling.

Creating a VIEW (in the phoenix meaning of that word) from the UI is not something we are interested in doing any time soon.
btl.
Right but custom views and dynamic menu's go hand and hand for the most part. I mean to me you got to have custom views to add to the menu's But your defination of Custom Views may not be what diamonds is (view with certian filters/criteria and look/feel options).
Reply With Quote
  #20  
Old 07-05-2011, 02:21 PM
bialio's Avatar
bialio bialio is offline
SageTVaholic
 
Join Date: May 2007
Location: Frisco, TX
Posts: 3,445
A view in phoenix is a VFS instance that is populated with media. There is no correlation with menu items - we have quite a few views, and most of these views don't have a menu-item pointing at them.

Creating a new menu item that shows an existing view, or possibly some screen in the default UI, is what most people will be adding via dynamic menus.

btl.

And enough already on this thread about phoenix! Lets talk about ADM, cuz it's a nice piece of work!
__________________
PHOENIX 3 is here!
Server : Linux V9, Clients : Win10 and Nvidia Shield Android Miniclient
Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Noob ?:Dynamic Menu plugin and Malore Multi-Pane STV defilm SageTV Customizations 4 05-03-2009 01:29 PM
dynamic menu xml sflamm SageTV Customizations 0 04-10-2009 02:00 PM
Dock menu problem/dynamic menu issue? planetc SageMC Custom Interface 0 01-10-2009 07:31 PM
Dynamic Menu AHX SageTV Customizations 6 04-09-2006 05:37 PM
Dynamic Menu codacoda SageTV Customizations 3 04-03-2006 12:40 PM


All times are GMT -6. The time now is 04:53 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2023, vBulletin Solutions Inc.
Copyright 2003-2005 SageTV, LLC. All rights reserved.