Ok, so I'm not going to write a plugin, but this is about a Client / Server set of software to allow control over various software (VLC, ZoomPlayer, Windows Media Player, Browser, serial port, etc.). If you don't want the read the whole thing, check out the first few paragraphs to get an idea about it, maybe the bulleted feature list, then the two bolded questions down at the bottom.
My PM is pretty full on HS's site, so either have HS send me an e-mail (preferred) or PM me over at Cocoontech. Hmm...thinking about it, I suppose you can also post here!
I was originally using ZoomPlayer as it allows Telnet Control over it. However, it is buggy. So, I endevered to control VLC. It has a remote control feature, but it is not "ready" for what I wanted to do with it.
So, as I use DVD Profiler and DVD Collection, but I wanted to be able to have a "Sage-like" experience. Basically, I have the HTPC, wife's PC, my PC, etc. I wanted to be able to easily watch movies by surfing to the DVD Collection website, click watch and have it go.
Easy, if ZoomPlayer was more stable. Write a telnet script, pass in the IP of the machine that is manipulating the webpage, telnet into ZoomPlayer and off we go!
Not so with VLC...so, I took up AutoIt3 (Thanks rmasonjr!). I used to use AutoIt2, and thought it was limited. Version 3 has EVERYTHING that I needed, including examples of code so I could just weave the right pieces together.
Features:
-Clients log into the server automatically
-Integrated into DVD Collections webpages (simonog convinced me to release my "polished up" "fixed up" webpages
-COMPLETLY NON-INSTALL for the CLIENT side. Easy to setup if you use the default programs (should be included, preconfigured). If you use VLC, there are no administrative rights needed under Vista. Basically, I base my code and the media player version on the portable apps. version. You basically would need to extract a SINGLE zip, which can contain:
-- Firefox Portable
-- VLC Portable
-- Client - side software
-- example INI that SHOULD work with the included software
However, you are free to change the ini to run IE or any other media player.
Interface is all IP based and webpage based (from HS). As this provides the browser, player, interface program, should be as simple as an unzip and run the client.
-With the right router configuration, can be used to watch your "home" served movies over the internet (assuming you have enough bandwidth!)
-Great for touchscreens (this is what I'm using it for), have an event play a movie / quick avi, then jump back to your touchscreen interface
--each touchscreen can have it's OWN player
-Can control remote serial port (I have to get commands to my TV somehow! Why not the HTPC's serial port??) - still a work in progress as I only have so much time for this
-Can execute a "latex-y" "HTML-y" language that I made up (just to make parsing commands easier).
-- allows you to use the SAME commands throughout your Homeseer .asp / scripts / events, yet have multiples setups for clients (i.e. each client can be configured for it's OWN movie player...one can use Mplayer, one can use VLC, one can use ZoomPlayer, one can use Cyberlink's PowerDVD, etc.)
-- to load a program, you execute [LAUNCH]loadPlay,"file1 for playlist" "file2 for playlist"[/LAUNCH]
except that the [ are really <
-- [LAUNCH]stop[/LAUNCH] stops
-- [LAUNCH]quit[/LAUNCH] quit
-- many more!
-- the ini masks away any key commands / etc. that are needed at the client side
-Can execute any "normal" windows command using the RUN tag.
--just in case I forgot something
-Upon loading, can lanuch the browser of your choice, with the parameters you want, and surf to the appropriate webpage (I use this to randomly choose a letter of the alpahbet to surf to, so I am not stuck always looking at the first sorted movie as the FIRST movie...it will randomly end up in any letter).
-Controls for the media player are all customizable (I took a large list of commands from both VLC and ZoomPlayer)
-MISC Commands sections (one for the media player control, one as a misc list of configurable commands)
-Commands to browser, the randomizable strings for the webpage, parameters are all configurable on a client by client basis through local ini files
-Command line interface to make interfacing with Homeseer REALLY easy (I don't write high level languages for a living, so a full-blown plugin is out of how much time I want to spend on this)
Right now, it is a proof of concept, however, once I get the client / server code setup to work properly (run a server on the HS machine and let it sit there...then clients login so they can be controlled), I'd like to release it free to everyone.
I'm interested in what other features people would like?
Drawbacks:
-I only get time to work on this on the weekend
--I am active on the forums throughout the week, and can probably do quick fixes, however time is limited for me during the week
-I can only support this limited-like, as I don't get much time, except on weekends to do my "fun" coding
I wrote this specifically for me, however feel I've taken so much and given so little to the community, so I want to give a nice "real" useful project to the community.
I plan to have some VISIO drawings of example setups, a decent write up on the command structure.
I'm not sure this will ever really be bullet proof, but it should work well enough that a novice should have a hard time breaking it (I was pretty strict with how the commands need to be formatted, so anything that MIGHT be bad is tossed out before it's processed).
There's not much in error messages, as if nothing happened, but you have coms between the client / server then the command was probably formatted incorrectly
I'm also looking for anyone that might want to play with this...help me debug it...see if there is anything wrong.
Right now, I'd call this an alpha release as it works, but you'll require some insite into my crazy mind to get it running. Once it's in and running, it's stable. Then upgrading from there is easy as it's NOT an installed program. Just replace the executables (one on each client, one server, one command line interface addon). Since everything was layered away with the intermediate scripting language, I think that this is pretty close to as easy to setup as it can be. Once the .exe calls are setup, we can do whatever we want INSIDE the executables, so long as they can read the language. It also makes it nice to have different players on different machines around the house.
Well, I'm a bit long winded, sorry...
--Dan
My PM is pretty full on HS's site, so either have HS send me an e-mail (preferred) or PM me over at Cocoontech. Hmm...thinking about it, I suppose you can also post here!
I was originally using ZoomPlayer as it allows Telnet Control over it. However, it is buggy. So, I endevered to control VLC. It has a remote control feature, but it is not "ready" for what I wanted to do with it.
So, as I use DVD Profiler and DVD Collection, but I wanted to be able to have a "Sage-like" experience. Basically, I have the HTPC, wife's PC, my PC, etc. I wanted to be able to easily watch movies by surfing to the DVD Collection website, click watch and have it go.
Easy, if ZoomPlayer was more stable. Write a telnet script, pass in the IP of the machine that is manipulating the webpage, telnet into ZoomPlayer and off we go!
Not so with VLC...so, I took up AutoIt3 (Thanks rmasonjr!). I used to use AutoIt2, and thought it was limited. Version 3 has EVERYTHING that I needed, including examples of code so I could just weave the right pieces together.
Features:
-Clients log into the server automatically
-Integrated into DVD Collections webpages (simonog convinced me to release my "polished up" "fixed up" webpages
-COMPLETLY NON-INSTALL for the CLIENT side. Easy to setup if you use the default programs (should be included, preconfigured). If you use VLC, there are no administrative rights needed under Vista. Basically, I base my code and the media player version on the portable apps. version. You basically would need to extract a SINGLE zip, which can contain:
-- Firefox Portable
-- VLC Portable
-- Client - side software
-- example INI that SHOULD work with the included software
However, you are free to change the ini to run IE or any other media player.
Interface is all IP based and webpage based (from HS). As this provides the browser, player, interface program, should be as simple as an unzip and run the client.
-With the right router configuration, can be used to watch your "home" served movies over the internet (assuming you have enough bandwidth!)
-Great for touchscreens (this is what I'm using it for), have an event play a movie / quick avi, then jump back to your touchscreen interface
--each touchscreen can have it's OWN player
-Can control remote serial port (I have to get commands to my TV somehow! Why not the HTPC's serial port??) - still a work in progress as I only have so much time for this
-Can execute a "latex-y" "HTML-y" language that I made up (just to make parsing commands easier).
-- allows you to use the SAME commands throughout your Homeseer .asp / scripts / events, yet have multiples setups for clients (i.e. each client can be configured for it's OWN movie player...one can use Mplayer, one can use VLC, one can use ZoomPlayer, one can use Cyberlink's PowerDVD, etc.)
-- to load a program, you execute [LAUNCH]loadPlay,"file1 for playlist" "file2 for playlist"[/LAUNCH]
except that the [ are really <
-- [LAUNCH]stop[/LAUNCH] stops
-- [LAUNCH]quit[/LAUNCH] quit
-- many more!
-- the ini masks away any key commands / etc. that are needed at the client side
-Can execute any "normal" windows command using the RUN tag.
--just in case I forgot something
-Upon loading, can lanuch the browser of your choice, with the parameters you want, and surf to the appropriate webpage (I use this to randomly choose a letter of the alpahbet to surf to, so I am not stuck always looking at the first sorted movie as the FIRST movie...it will randomly end up in any letter).
-Controls for the media player are all customizable (I took a large list of commands from both VLC and ZoomPlayer)
-MISC Commands sections (one for the media player control, one as a misc list of configurable commands)
-Commands to browser, the randomizable strings for the webpage, parameters are all configurable on a client by client basis through local ini files
-Command line interface to make interfacing with Homeseer REALLY easy (I don't write high level languages for a living, so a full-blown plugin is out of how much time I want to spend on this)
Right now, it is a proof of concept, however, once I get the client / server code setup to work properly (run a server on the HS machine and let it sit there...then clients login so they can be controlled), I'd like to release it free to everyone.
I'm interested in what other features people would like?
Drawbacks:
-I only get time to work on this on the weekend
--I am active on the forums throughout the week, and can probably do quick fixes, however time is limited for me during the week
-I can only support this limited-like, as I don't get much time, except on weekends to do my "fun" coding
I wrote this specifically for me, however feel I've taken so much and given so little to the community, so I want to give a nice "real" useful project to the community.
I plan to have some VISIO drawings of example setups, a decent write up on the command structure.
I'm not sure this will ever really be bullet proof, but it should work well enough that a novice should have a hard time breaking it (I was pretty strict with how the commands need to be formatted, so anything that MIGHT be bad is tossed out before it's processed).
There's not much in error messages, as if nothing happened, but you have coms between the client / server then the command was probably formatted incorrectly
I'm also looking for anyone that might want to play with this...help me debug it...see if there is anything wrong.
Right now, I'd call this an alpha release as it works, but you'll require some insite into my crazy mind to get it running. Once it's in and running, it's stable. Then upgrading from there is easy as it's NOT an installed program. Just replace the executables (one on each client, one server, one command line interface addon). Since everything was layered away with the intermediate scripting language, I think that this is pretty close to as easy to setup as it can be. Once the .exe calls are setup, we can do whatever we want INSIDE the executables, so long as they can read the language. It also makes it nice to have different players on different machines around the house.
Well, I'm a bit long winded, sorry...
--Dan
Comment