I'd like to make a statement on the status of the project.
To start, I was completely bored of Gmod by the end of last year. Since then, I have increasingly opened Gmod less and less, and only to see what friends were doing and not to actually build anything. Now it's at the point where I can't even to stand to open Gmod. Since I don't even get to use PlayX anymore, and I have other things in life to attend to, it looks like I won't be making updates to PlayX anymore (I already haven't touched PlayX in weeks). However, PlayX being open source, you are free to copy PlayX's code and "fork" off your own version. I'll explain how you could go about forking PlayX, the current status of the code, and also the implications for those who were making a custom gamemode around PlayX (the news shouldn't have a large impact on you).
Forking the Code
A fork is a copy of source code from one program that is then used to create an independent version. It is often done to save abandoned projects, to experiment with radical features, or to take a different direction of development where there is disagreement over goals. As PlayX is licensed under GPLv2, this is entirely permissible and you do not need explicit permission from me.
As the most basic level, you could just download PlayX's code and then change it around. However, I am using Github, which makes it ridiculously easy to create a fork. You'll first need a Github account (free) and then you'll need to click the "Fork" button on PlayX's Github page. Note that Github uses Git, and Git is very different from SVN in many aspects.
Should you should to fork PlayX, understand that:
[LIST][*]You cannot use "PlayX" for your project's name.[*]You cannot use PlayX or my name in a manner that suggests endorsement of your fork.[*]You have to maintain the attributions of copyright.[/LIST]Status of the Code
Right now, the major features that are implemented are:
[LIST=1][*]gm_chrome support[*]Bookmarks[*]New framework for fetching media metadata[*]Wire outputs[*]Hooks[/LIST]Note that gm_chrome support requires manual installation of additional files by users. Fortunately, I have already produced an automated installer to make that easy for even the most technically-challenged user. It can be found at: http://wiki.github.com/sk89q/playx/gm_chrome
The major features that were to be implemented for the target version of v2:
[LIST=1][*]More providers (Hulu, justin.tv, etc.)[*]Bookmark keywords and quick keyword search[*]Requests system[*]Played media (history)[*]Integrated video/media search[*]Wire inputs[*]Update notification system[*]A bundle of a provider and scripts to allow easy streaming (and seeking) of h.264 files for those who had a web server[/LIST]The major features for v3 that were planned were:
[LIST=1][*]Multiple simultaneous PlayX players[*]Hooks to tell PlayX whether a particular player should be "on"[*]Granular permission system to allow normal users to use the player[*]Shared web browsing[*]Playlists[*]Pausing[*]More realistic projection of projector screens[*]Server-side bookmarks[*]Externally populated server-side bookmark list[/LIST]The minor features and fixes that were planned:
[LIST=1][*]Bookmark add dialog, accessible via the "Administrate" page[*]Bookmark backup that creates a backup every few days and trims old backups[*]Get the bookmark list control to fill the height of the spawn menu[*]Fix the minor issue with the shadow on the player sometimes reappearing[*]Don't trigger wire outputs unless the outputs have changed[*]Show an optional aesthetic light glow cone for projectors[*]Show tracer lines to help pinpoint the location and spread of the projector and screen better[*]Add Luadoc[*]Fix the bookmarks dialog so that providers could be selected via a dropdown (that could also take in arbitrary input)[*]Allow mass bookmark management via the bookmark management dialog[*]Allow server owners to optionally disable the download of the PlayX spawn icon[*]Put the "Provider:" label and the dropdown in the "Administrate" page on the same line[*]Add a cvar that allows server owners to require gm_chrome for PlayX to work[*]Change the system so that provider names are read from across the wire rather than from a hard-coded file[*]Update the Livestream player with the new embedded player[*]Change the handlers to use the list library[/LIST]Known issues that must be fixed:
[LIST][*]PlayX doesn't properly detect when the required PlayX materials for gm_chrome support do not exist. Changing lua/playx/client/playx.lua:60 to:
might fix that.[/LIST] Worthy of mention are:
if mat and matSq and not mat:IsError() and not matSq:IsError() then
[LIST][*]Bookmarks are stored as CSV files, so you can open them up in Excel or OpenOffice.[*]Providers are now registered via the list library.[*]The GetLengthFunc API call was removed. A different metadata function is now called.[/LIST]Those Making a Gamemode
I am aware that there are quite a few people that were making a custom gamemode based around PlayX, and I have a feeling (gathered from Google-provided statistics) than one of such recently went online.
Fortunately for you, none of the unimplemented planned features for PlayX for v2 would have had an impact on you. The greatest asset in PlayX for you should be gm_chrome support, and that has been already fully implemented. Right now, you should be able to upgrade your version of PlayX with the copy of the source code currently online. However, one change to note is the difference in how providers are registered, so be aware of that.
For users to be able to use gm_chrome, they need the gm_chrome binaries and two textures. I have already produced an automated installer that installs those components:
Google Chrome is *not* required in any case.
The code is at http://github.com/sk89q/playx
I will still be around though, so I am still open to questions.