http://wiki.linuxmce.org/api.php?action=feedcontributions&user=DarrenMason&feedformat=atomLinuxMCE - User contributions [en]2024-03-29T09:54:55ZUser contributionsMediaWiki 1.24.1http://wiki.linuxmce.org/index.php?title=AndroidTouchOrbiter&diff=26067AndroidTouchOrbiter2010-11-01T22:13:08Z<p>DarrenMason: /* About */</p>
<hr />
<div>[[Category:Orbiters]]<br />
<br />
<br /><br /><br />
== About ==<br />
AndroidTouchOrbiter is a touch orbiter port for Android using the lightweight touch orbiter concept based on the proxy orbiter plugin. It uses the same techniques as WebOrbiter 2.0.<br />
The app should work with any Android version 1.5 and beyond<br />
The app is available [http://forum.linuxmce.org/index.php?action=dlattach;topic=10811.0;attach=1767 here].<br />
<br />
== Installation ==<br />
Either push the apk to your phone/device using adb or tools that came with your phone OR<br />
Browse to the apk from your phone/device and you should be given the option to install. <br />
<br />
== Configuration ==<br />
<br />After having installed the app you first have to set your preferences. Hit your menu key and go into settings. When inside you have at least to set the server IP and the server port of your proxy orbiter. The default values are what should be common for most people but you might want to double check your port number - it is set as part of the device data for the proxy orbiter (use linuxMCE admin). Additionally you may want to adjust the polling time for the ANYNEWS check. This is the gap between calls to the server to check if the screen has changed.<br />
<br />
== Intent ==<br />
Please note, this is not a full Orbiter with media playback capabilities. It only has the same remote control features as the WebOrbiter 2.0.</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=AndroidTouchOrbiter&diff=26066AndroidTouchOrbiter2010-11-01T22:04:51Z<p>DarrenMason: Android Touch Orbiter</p>
<hr />
<div>[[Category:Orbiters]]<br />
<br />
<br /><br /><br />
== About ==<br />
AndroidTouchOrbiter is a touch orbiter port for Android using the lightweight touch orbiter concept based on the proxy orbiter plugin. It uses the same techniques as WebOrbiter 2.0.<br />
The app should work with any Android version 1.5 and beyond<br />
The app is available here.<br />
<br />
== Installation ==<br />
Either push the apk to your phone/device using adb or tools that came with your phone OR<br />
Browse to the apk from your phone/device and you should be given the option to install. <br />
<br />
== Configuration ==<br />
<br />After having installed the app you first have to set your preferences. Hit your menu key and go into settings. When inside you have at least to set the server IP and the server port of your proxy orbiter. The default values are what should be common for most people but you might want to double check your port number - it is set as part of the device data for the proxy orbiter (use linuxMCE admin). Additionally you may want to adjust the polling time for the ANYNEWS check. This is the gap between calls to the server to check if the screen has changed.<br />
<br />
== Intent ==<br />
Please note, this is not a full Orbiter with media playback capabilities. It only has the same remote control features as the WebOrbiter 2.0.</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Community&diff=19527Community2009-06-29T03:03:10Z<p>DarrenMason: </p>
<hr />
<div>Right, having looked at the detail in this post [http://forum.linuxmce.org/index.php?topic=8411.0] i felt its time to see what we are made of as a community, please add your details.<br />
<br />
<br />
GUIDE: copy'n'paste the following lines then append them into the table below (prior to the final line that contains '|}'). This formatting should make it easier for the 'big 5' to work out who can contribute what...<br />
<pre><br />
| Your username<br />
| Your relevant expertise/experience <br />
| Your other experience/expertise<br />
| Your approx time available for the project<br />
| Your time zone or location<br />
| Your particular interest area (if any)<br />
|-<br />
</pre><br />
<br />
<br />
<br />
{| border="1"<br />
!Username<br />
!Relevant expertise/experience<br />
!Other Experience/Expertise<br />
!Time available for the project<br />
!Time zone or location<br />
!Particular Interest Area (If any)<br />
|-<br />
| Geekyhawkes<br />
| advanced newbie<br />
| use to some C+/linux/ubuntu/ html / xml / flash<br />
| few evenings a week<br />
| UK GMT<br />
| User documentation, newbie guides, website design , wiki topics and guides. Line by line intros to get 810 up and running regardless of user experiance.<br />
|-<br />
| tmoore<br />
| advanced newbie<br />
| 14 yrs software product management, IT management consulting, marketing, network & systems management, UNIX admin<br />
| about 3 hrs a week on average<br />
| GMT-7<br />
| Product strategy, team management,(non-technical) marketing & communications<br />
|-<br />
| qball4<br />
| regular user<br />
| HADesigner, graphic design, hardware a/v distribution systems<br />
| average 20-40 hrs/wk available<br />
| US CST<br />
| User Interface, new orbiter platforms<br />
|-<br />
| Fastie81<br />
| advanced newbie<br />
| work with linux/Red Hat/ubuntu day to day / Project Manager / Systems Administrator / Quick Learner<br />
| My work load goes up and down so would have few days one week and none another<br />
| GMT +12 (NZ)<br />
| User Documentation, guides, wiki guides. I would like to learn some coding. Adding Hardware support ,Devices Templates.<br />
|-<br />
| Techstyle<br />
| Advanced Newbie<br />
| System builder, Linux newbie, some Wiki writing experience / PMP (Project Management Professional), MBA, Mechanical Engineer, Entrepreneur<br />
| 1hr per day<br />
| US central (Milwaukee, WI)<br />
| Anything structured<br />
|-<br />
| nite_man<br />
| regular user<br />
| Integrator, consultant, GSD, Ruby, Maemo Orbiter / More then 10 years of software development - Perl, PHP, Linux sysadmin<br />
| 2-4 hours per day<br />
| UTC+2:00 Nicosia, Cyprus<br />
| Admin site, Maemo Orbiter, posting news, blogging, Russian translation<br />
|-<br />
| Daballiemo<br />
| regular user<br />
| Worked my way through Linux/Ubuntu/Fedora mainly on virtualization / Working within MOD and about 15 years of exp. with "paper" documentation<br />
| About 3-6 hours a week<br />
| GMT +1, Amsterdam<br />
| Virtualization and interfacing (webui, remote, keyboard, touch aso)<br />
|-<br />
| SteveC<br />
| LMCE Newbie but keen to get cracking.<br />
| Electronics/Software Engr, C/C++ for 15years.<br />
| Approx 5 hours/week<br />
| UTC+10:00 Brisbane, Australia<br />
| Main interests relate to external hardware interfaces eg. Clipsal CBUS lighting, Caddx/Networx Alarm system.<br />
|-<br />
| Lemming86_au<br />
| Advanced Newbie<br />
| IT Consultant, Network Engineer, Asterisk Admin (No programming experience, yet)<br />
| 3-5 hours/Week<br />
| UTC+9:30 Adelaide, Australia<br />
| Asterisk<br />
|-<br />
| castlec<br />
| LMCE Noob. Linux regular user/noob<br />
| Java Dev, C++ trained (University).<br />
| 3-5 hours/Week<br />
| UTC-5 Ohio, USA<br />
| <br />
|-<br />
| ZuG<br />
| Regular User<br />
| Linux, PHP and a bit of C. Very familiar with Asterisk and OpenVPN<br />
| 3-5 hours/Week<br />
| GMT Cardiff, United Kingdom<br />
| OpenVPN development<br />
|-<br />
| ccoudsi<br />
| Regular user <br />
| 15+ years embedded hardware design, 8+ years engineering manager, Assembly, C, Perl, Ruby (newbie)<br />
| 5-8 hours a week<br />
| UTC-08 PT<br />
| Security Panels<br />
|-<br />
| colinjones<br />
| Regular User<br />
| Bit of bash, some simple coding, learning C++, familiar with the DCE system<br />
| ~15-20 hours/Week<br />
| UTC+10, Sydney, Australia<br />
| LMCE!<br />
|-<br />
| sp00nhead<br />
| User since Pluto days<br />
| IT support & Training, want to be python coder, solid knowledge of Linux systems<br />
| ~5 hours/week unless i get hooked again.<br />
| GMT Crewe, UK<br />
| take the LMCE framework and make it as popular as xbmc/boxee!<br />
|-<br />
| darrenmason<br />
| User/Developer since Pluto days, familiar with the codebase and architecture<br />
| IT Consultant with Software engineering background specialising in Integration. Have developed in C++/Java and various other languages<br />
| Varies depending upon family but can/will find time if interest level is there<br />
| UTC+10, Sydney, Australia<br />
| New devices, Microcontroller integration, Constrained resources Media Directors, DLNP <br />
|-<br />
|}</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=User:DarrenMason&diff=18113User:DarrenMason2009-03-25T05:02:46Z<p>DarrenMason: </p>
<hr />
<div><h1>Background</h1><br />
I am an IT professional (doing Integration consulting) and have been for the last 15 years or so. I live in Sydney, Australia with my wife and two kids. Been involved with linuxMCE since early versions of PlutoHome 2 and go through stages of 'getting stuff working'. I have a development history and have done coding in C++ and Java.<br />
<br />
LinuxMCE is used primarily for media in our house (Recorded TV, videos and music) but I love the design concept of eveything being a device that lives in a household heirarchy. <br />
<br />
<h1>Setup</h1><br />
<h2>Core/Hybrid</h2><br />
* Summary: This is an old machine that sits under the house next to the networking gear. It is installed as a hybrid but is essentially used as a dedicated core<br />
* Mainboard: Need to check again, but it is an old P4 board <br />
* CPU: Intel P4 2.3<br />
* Memory: 1 GB<br />
* Case: A big black thing with heaps of fans that runs quite noisily<br />
* HDD: Two IDE disks one is 300GB and one is 250GB- hoping to switch to a NAS at some stage<br />
* NIC: Onboard 100M for external and a cheap Gigabit card for internal<br />
* Video: Low end NVidia Geforce 4 or something - keep in mind I don't watch anything on this machine<br />
* TV Cards: Two Winfast DTV1000T - these work great, have aerial pass through and havn't missed a beat<br />
* X100p card: generic card I bought off ebay ages ago that is in the machine but has never been used<br />
<br />
This machine is nearly at end of life and if something significant breaks on it then it is gone. It doesn't have SATA which is a bit of a pain but am thinking of going to a NAS anyway. The machine just runs and I really only reboot it if I have been playing with things and needs to get it back to a steady state.<br />
I installed this from the DVD and it was quite pain free. It has been in use since running about Pluto 0.44 or something.<br />
<br />
<h2>Lounge Media Director</h2><br />
* Summary: This MD probably gets the most usage day to day for TV watching as it it conveniant. Have been having overheating problems so recently have taken it out of the TV cabinet which has improved things.<br />
* Mainboard: Asus M2NPV-VM<br />
* Processor: AMD 4000+<br />
* RAM: 1GB<br />
* Video: onboard NVidia 6150 - using the svideo port on the breakout board connected to 80cm Sony CRT (using PAL)<br />
* Sound: Onboard - plugged into TV<br />
* Other bits: Run a wireless keyboard which is the main control point. Also has a dongle for the Fiire chief but that is usually in another room. Bluetooth dongle.<br />
<br />
I regularly need to change the MythTV settings to alter the Interlace algorithm from Bob 2X to Kernel (less motion blur). This is apparently a problem with SVideo and PAL. LinuxMCE overrides the settings with Bob 2X so this has to be done often. One day I will get around to changing the code to fix this but it keeps falling down the priority list as we have a workaround.<br />
<br />
<h2>BackRoom Media Director</h2><br />
* Summary: Acer Aspire RC500 that I picked up second hand from a computer market. This has been a pretty reliable MD and does its job reasonably well.<br />
* Mainboard: Acer proprietary board for this machine<br />
* Processor: 2.8GHz Intel Pentium 4<br />
* RAM: 1GB<br />
* Video: Bought a low profile Nvidia 600 series board for this when I got it and works fine, hooked up to Acer PD113 projector (720p)<br />
* Sound: Onboard - hooked up to Arcam AV50<br />
* Other bits: Fiire chief remote and dongle is the main source of control here. Bluetooth dongle.<br />
<br />
This box pretty much runs faultlessly. I have a USB-UIRT that is meant to do the control of the projector and AMP but I keep stealing it for experimenting with other stuff. <br />
<br />
<h2>Spa Media Director</h2><br />
* Summary: This is the latest addition. We recently hot a new spa (hottub) and it came with a popup 15 inch LCD TV and popup speakers. I have added a small mini-itx PC into the case of the spa.<br />
* Mainboard: Foxconn 45CSX<br />
* Processor: Atom 330 Duel Core (onboard)<br />
* RAM: 1GB generic<br />
* Video: Onboard Intel connected to LCD via VGA<br />
* Sound: Onboard - hooked up to car amplifier to drive the popup speakers<br />
* Other bits: Still sorting out the control of this. It will have an IR remote control but I would like to have a waterproof RF based remote for it eventually - they currently would cost more than the MD itself.<br />
The LCD screen is controlled on/off with DPMS over the VGA cable.<br />
The Car Amplifier is controlled on/off by a parallel port controlled relay kit. It has a basic GSD device that calls some a simple C program to switch a parallel data port on and off.<br />
<br />
<h2>Main Bedroom Media Director</h2><br />
* Summary: eeeBox mounted to the back of an Acer 17 inch widescreen LCD monitor.<br />
* Mainboard: Whatever is in the eeeBox<br />
* Processor: Intel Atom N270 at 1.6GHz <br />
* RAM: 1GB <br />
* Video: Onboard Intel connected to LCD via DVI<br />
* Sound: Onboard - hooked up to speakers on LCD<br />
* Other bits: Usually have a USB-UIRT on this, and usually have a USB keyboard and USB mouse for control<br />
<br />
This is not yet in the bedroom as it is still on the workbench - not because it is not working but because I like having an MD on the workbench.<br />
<br />
<h2>Mobile Orbiters</h2><br />
* Nokia 770 - This does not get actively used much, it works but I keep forgetting to put it back on the charger<br />
* Webpad DT366 - Running the gamma image that thom prepared. Just got this running so still need to see how well this fits in, but like it so far and has been conveniant for testing the spa MD.<br />
<br />
<h2>Telecom</h2><br />
* Using MyNetfone for VOIP and sort of have it hooked up through asterisk at the moment<br />
* OPEN Easychat 210. DECT base station with three additional handsets that has a SIP interface and PSTN, but this is proving to be unreliable<br />
* Netgear TA612V for ATA<br />
* Still struggling getting all this working the way I want<br />
<br />
<h2>Home Automation</h2><br />
<h3>PLC-BUS</h3><br />
* USB Controller <br />
* Crystal panel light switch (dual) in back room controlling two rows of halogen downlights<br />
* Have another dual dimming module that still hasn't been wired to anything. Plan is to hook it up to outside lights.<br />
<br />
<h2>Other stuff</h2><br />
* Have a Pinnacle Soundbridge that ideally would like on the back deck. It is only currently working as a Upnp client.<br />
* Have had iguanaIR modules working with linuxMCE and will eventually submit some code for these but they are currently gathering dust on the workbench<br />
* Wrote a C++ device for a Phidgets 8/8/8 interface card. This worked well but needs some polishing before the code can be submitted. Also have some arduino boards that I would like to hook up but other things keep taking priority :(<br />
<br />
<h2>Plans / ToDo</h2><br />
* Unfortunately some of this stuff has been on the list for a while but with a new baby in the house everything seems to take second priority;<br />
* Get the Telecom stuff working properly. (This is driving my wife insane)<br />
* Control mechanism for the spa. Probably serial based infrared to start with as I have all the bits.<br />
* Write the device templates for the backroom and get room better automated<br />
* Clean up the phidgets code and submit it<br />
* Fixup some of the PLC-BUS stuff so it is more reliable and maybe get some more hardware.<br />
* Setup a dev environment and get back into some development<br />
* Get some household sensors working - maybe with the phidgets platform or arduino.<br />
<br />
<br />
<br />
<br />
<br />
[[Category:User Setups]]<br />
[[Category:Australian Setups]]</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=User:DarrenMason&diff=18112User:DarrenMason2009-03-25T04:59:43Z<p>DarrenMason: New page: <h1>Background</h1> I am an IT professional (doing Integration consulting) and have been for the last 15 years or so. I live in Sydney, Australia with my wife and two kids. Been involved w...</p>
<hr />
<div><h1>Background</h1><br />
I am an IT professional (doing Integration consulting) and have been for the last 15 years or so. I live in Sydney, Australia with my wife and two kids. Been involved with linuxMCE since early versions of PlutoHome 2 and go through stages of 'getting stuff working'. I have a development history and have done coding in C++ and Java.<br />
<br />
LinuxMCE is used primarily for media in our house (Recorded TV, videos and music) but I love the design concept of eveything being a device that lives in a household heirarchy. <br />
<br />
<h1>Setup</h1><br />
<h2>Core/Hybrid</h2><br />
* Summary: This is an old machine that sits under the house next to the networking gear. It is installed as a hybrid but is essentially used as a dedicated core<br />
* Mainboard: Need to check again, but it is an old P4 board <br />
* CPU: Intel P4 2.3<br />
* Memory: 1 GB<br />
* Case: A big black thing with heaps of fans that runs quite noisily<br />
* HDD: Two IDE disks one is 300GB and one is 250GB- hoping to switch to a NAS at some stage<br />
* NIC: Onboard 100M for external and a cheap Gigabit card for internal<br />
* Video: Low end NVidia Geforce 4 or something - keep in mind I don't watch anything on this machine<br />
* TV Cards: Two Winfast DTV1000T - these work great, have aerial pass through and havn't missed a beat<br />
* X100p card: generic card I bought off ebay ages ago that is in the machine but has never been used<br />
<br />
This machine is nearly at end of life and if something significant breaks on it then it is gone. It doesn't have SATA which is a bit of a pain but am thinking of going to a NAS anyway. The machine just runs and I really only reboot it if I have been playing with things and needs to get it back to a steady state.<br />
I installed this from the DVD and it was quite pain free. It has been in use since running about Pluto 0.44 or something.<br />
<br />
<h2>Lounge Media Director</h2><br />
* Summary: This MD probably gets the most usage day to day for TV watching as it it conveniant. Have been having overheating problems so recently have taken it out of the TV cabinet which has improved things.<br />
* Mainboard: Asus M2NPV-VM<br />
* Processor: AMD 4000+<br />
* RAM: 1GB<br />
* Video: onboard NVidia 6150 - using the svideo port on the breakout board connected to 80cm Sony CRT (using PAL)<br />
* Sound: Onboard - plugged into TV<br />
* Other bits: Run a wireless keyboard which is the main control point. Also has a dongle for the Fiire chief but that is usually in another room. Bluetooth dongle.<br />
<br />
I regularly need to change the MythTV settings to alter the Interlace algorithm from Bob 2X to Kernel (less motion blur). This is apparently a problem with SVideo and PAL. LinuxMCE overrides the settings with Bob 2X so this has to be done often. One day I will get around to changing the code to fix this but it keeps falling down the priority list as we have a workaround.<br />
<br />
<h2>BackRoom Media Director</h2><br />
* Summary: Acer Aspire RC500 that I picked up second hand from a computer market. This has been a pretty reliable MD and does its job reasonably well.<br />
* Mainboard: Acer proprietary board for this machine<br />
* Processor: 2.8GHz Intel Pentium 4<br />
* RAM: 1GB<br />
* Video: Bought a low profile Nvidia 600 series board for this when I got it and works fine, hooked up to Acer PD113 projector (720p)<br />
* Sound: Onboard - hooked up to Arcam AV50<br />
* Other bits: Fiire chief remote and dongle is the main source of control here. Bluetooth dongle.<br />
<br />
This box pretty much runs faultlessly. I have a USB-UIRT that is meant to do the control of the projector and AMP but I keep stealing it for experimenting with other stuff. <br />
<br />
<h2>Spa Media Director</h2><br />
* Summary: This is the latest addition. We recently hot a new spa (hottub) and it came with a popup 15 inch LCD TV and popup speakers. I have added a small mini-itx PC into the case of the spa.<br />
* Mainboard: Foxconn 45CSX<br />
* Processor: Atom 330 Duel Core (onboard)<br />
* RAM: 1GB generic<br />
* Video: Onboard Intel connected to LCD via VGA<br />
* Sound: Onboard - hooked up to car amplifier to drive the popup speakers<br />
* Other bits: Still sorting out the control of this. It will have an IR remote control but I would like to have a waterproof RF based remote for it eventually - they currently would cost more than the MD itself.<br />
The LCD screen is controlled on/off with DPMS over the VGA cable.<br />
The Car Amplifier is controlled on/off by a parallel port controlled relay kit. It has a basic GSD device that calls some a simple C program to switch a parallel data port on and off.<br />
<br />
<h2>Main Bedroom Media Director</h2><br />
* Summary: eeeBox mounted to the back of an Acer 17 inch widescreen LCD monitor.<br />
* Mainboard: Whatever is in the eeeBox<br />
* Processor: Intel Atom N270 at 1.6GHz <br />
* RAM: 1GB <br />
* Video: Onboard Intel connected to LCD via DVI<br />
* Sound: Onboard - hooked up to speakers on LCD<br />
* Other bits: Usually have a USB-UIRT on this, and usually have a USB keyboard and USB mouse for control<br />
<br />
This is not yet in the bedroom as it is still on the workbench - not because it is not working but because I like having an MD on the workbench.<br />
<br />
<h2>Mobile Orbiters</h2><br />
* Nokia 770 - This does not get actively used much, it works but I keep forgetting to put it back on the charger<br />
* Webpad DT366 - Running the gamma image that thom prepared. Just got this running so still need to see how well this fits in, but like it so far and has been conveniant for testing the spa MD.<br />
<br />
<h2>Telecom</h2><br />
* Using MyNetfone for VOIP and sort of have it hooked up through asterisk at the moment<br />
* OPEN Easychat 210. DECT base station with three additional handsets that has a SIP interface and PSTN, but this is proving to be unreliable<br />
* Netgear TA612V for ATA<br />
* Still struggling getting all this working the way I want<br />
<br />
<h2>Home Automation</h2><br />
<h3>PLC-BUS</h3><br />
* USB Controller <br />
* Crystal panel light switch (dual) in back room controlling two rows of halogen downlights<br />
* Have another dual dimming module that still hasn't been wired to anything. Plan is to hook it up to outside lights.<br />
<br />
<h2>Other stuff</h2><br />
* Have a Pinnacle Soundbridge that ideally would like on the back deck. It is only currently working as a Upnp client.<br />
* Have had iguanaIR modules working with linuxMCE and will eventually submit some code for these but they are currently gathering dust on the workbench<br />
* Wrote a C++ device for a Phidgets 8/8/8 interface card. This worked well but needs some polishing before the code can be submitted. Also have some arduino boards that I would like to hook up but other things keep taking priority :(<br />
<br />
<h2>Plans / ToDo</h2><br />
* Unfortunately some of this stuff has been on the list for a while but with a new baby in the house everything seems to take second priority;<br />
* Get the Telecom stuff working properly. (This is driving my wife insane)<br />
* Control mechanism for the spa. Probably serial based infrared to start with as I have all the bits.<br />
* Write the device templates for the backroom and get room better automated<br />
* Clean up the phidgets code and submit it<br />
* Fixup some of the PLC-BUS stuff so it is more reliable and maybe get some more hardware.<br />
* Setup a dev environment and get back into some development<br />
* Get some household sensors working - maybe with the phidgets platform or arduino.<br />
<br />
<br />
<br />
<br />
<br />
[[Category:User Setups]]</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=File:FlashOrbiter.swf.jpg&diff=15029File:FlashOrbiter.swf.jpg2008-07-22T10:25:40Z<p>DarrenMason: uploaded a new version of "Image:FlashOrbiter.swf.jpg"</p>
<hr />
<div>swf file. Rename to use by removing jpg extension</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=ChumbyOrbiter&diff=15028ChumbyOrbiter2008-07-22T10:24:44Z<p>DarrenMason: </p>
<hr />
<div>[[Category:Orbiters]]<br />
This page details how to get an Orbiter running on a chumby...<br />
<br />
== What is a Chumby? ==<br />
Have a look [http://www.chumby.com here] for the details but basically it is an internet device that is designed to sit on a bedside table or something and feed you information in the form of widgets..<br />
<br />
Anyway, the widgets that run on this device are flash programs(movies) and there is a version of flashplayer lite on the device.<br />
<br />
I figured that this device should be able to act as an orbiter so have developed a flash based orbiter to do just that.<br />
<br />
Rather than implement an orbiter in flash I have taken the much easier path of implementing an alternate client to the proxy orbiter. This is the same orbiter that is utilized by the web based orbiter.<br />
It works by getting the orbiter display rendered into a bitmap which is then retrieved from a server. Mouse click events, or in this case touches on the screen, send back the co-ordinates of the event<br />
to the server and this interacts with the orbiter as if it had received the mouse event itself. A new screen is rendered and the client can retrieve it from the server. There is also a regular refresh<br />
that retrieves the latest image from the server so that events happening elsewhere in the system that cause orbiter changes can be displayed on the client.<br />
<br />
So all that needs to run on the chumby (or any flash player for that matter) is a fairly lightweight flash movie. It uses a config file to allow the server details to be configured.<br />
== Installation ==<br />
First, get the "SWF" file and a config file onto the chumby.<br />
The way I have been doing this is to run the sshd (see the chumby wiki for details) and scp the files over to the chumby /tmp directory. This is a fairly temporary measure and ideally it should be stored on a flash drive which plugs into the back of the chumby.<br />
<br />
If sshd is running the you should be able to copy files using scp quite easily (use the root user with no password)<br />
<br />
Once you have the file there then you need to create a config file. I usually find that this is easier to create on my dev machine and scp it over as well.<br />
<br />
Firstly, if you haven't already - make sure that you have a web obiter installed and running correctly. Most of the config can be taken straight from the web client itself.<br />
<br />
You will need to create a file called FlashOrbiter.conf and have it in the same directory as the FlashOrbiter.swf file.<br />
It will contain the following variables in a URL encoded format;<br />
userID : this is the numeric id of the user logged in<br />
pass : MD5 encoded version of the users password<br />
installationID : Numeric identifier for your installation<br />
deviceID : Numeric ID of the proxy orbiter device<br />
baseurl : URL of pluto admin for your system<br />
<br />
So the file might look something like this<br />
userID=1&pass=12345654231&installationID=12345&deviceID=64&baseurl=http://192.168.0.1/pluto-admin/<br />
<br />
To find out these values for your installation do the following;<br />
* login to the web based orbiter<br />
* once it is up and visible do "view source" on the page. There a few spots in the page source that will show a string very similar to that above. It will have all the values except the baseurl. Copy this string into your conf file (starting at the userID part and ignoring any command bits at the end. Then add the baseurl part (which you would use to get to web admin) and you should be set.<br />
<br />
To run the orbiter, I currently ssh to a terminal on the chumby (details on chumby wiki) and do the following sequence;<br />
# Stop the existing control panel using "stop_control_panel"<br />
# Run the Orbiter using "chumbyflashplayer.x -i FlashOrbiter.swf"<br />
# Use it :)<br />
# Exit it from the command line where you started it with Ctrl-C (exit button doesn't work at the moment)<br />
<br />
== Known Issues ==<br />
# Exit button doesn't work. Don't know why, tried a few things already.<br />
# Error handling is pretty poor. Most of the time if it is not working you will still get the last image displayed. It just won't change to a new screen on refresh.<br />
# I have had an error come up with mysql running out of connections. This seems to be a problem with proxyorbiter or the php scripts on the server. Needs investigating. Fix by restarting mysql on core.<br />
<br />
Download [[Image:FlashOrbiter.swf.jpg | here]] by doing save as and removing the ".jpg" extension.<br />
<br />
== Source Code ==<br />
<br />
I have developed this using just open source tools and specifically the Action Script Development Tool for eclipse [http://asdt.org/]<br />
<br />
Even though I have been a developer for years this is my first use of flash and actionscript so if you are experienced with this language/platform then I am certainly open to suggested improvements...<br />
<pre><br />
/**<br />
* Flash based orbiter for linuxMCE<br />
*/<br />
<br />
/**<br />
*<br />
*/<br />
class FlashOrbiter {<br />
<br />
/** <br />
* Private variables<br />
*/<br />
private var mc:MovieClip;<br />
<br />
// Server details<br />
var baseUrl;<br />
//var baseUrl = "http://192.168.0.1/pluto-admin/";<br />
var imageUrl;<br />
var imageUrlPage = "include/image.php?imagepath=/var/www/pluto-admin/security_images/";<br />
//private var postUrl = baseUrl + "weborbiter.php";<br />
<br />
static private var targetWidth = 320;<br />
static private var targetHeight = 220;<br />
<br />
private var imageWidth = 0;<br />
private var imageHeight = 0;<br />
<br />
// Time between refreshes (in milliseconds)<br />
var refreshInterval = 10000;<br />
<br />
// Post url parameters<br />
var deviceid;<br />
var userid;<br />
var userpass;<br />
var installation;<br />
<br />
var loader:MovieClipLoader = new MovieClipLoader(); <br />
<br />
/**<br />
* Constructor<br />
*/<br />
public function FlashOrbiter(_mc : MovieClip) {<br />
mc = _mc;<br />
var owner:FlashOrbiter = this;<br />
<br />
// Create the main image movie clip<br />
mc.createEmptyMovieClip("image_mc", 1);<br />
<br />
// Create the buttons<br />
<br />
mc.createEmptyMovieClip("homeButton", mc.getNextHighestDepth());<br />
mc.homeButton.lineStyle(1,0x000000,100);<br />
mc.homeButton._x = 5;<br />
mc.homeButton._y = 220;<br />
mc.homeButton.lineTo(75,0);<br />
mc.homeButton.lineTo(75,20);<br />
mc.homeButton.lineTo(0,20);<br />
mc.homeButton.lineTo(0,0);<br />
mc.homeButton.createTextField("labelText", mc.homeButton.getNextHighestDepth(), 0, 0, mc.homeButton._width, 20);<br />
mc.homeButton.labelText.text = "Home";<br />
mc.homeButton.onRelease = function() { owner.sendHome(); }; <br />
<br />
mc.createEmptyMovieClip("backButton", mc.getNextHighestDepth()); <br />
mc.backButton.lineStyle(1,0x000000,100);<br />
mc.backButton._x = 80;<br />
mc.backButton._y = 220;<br />
mc.backButton.lineTo(75,0);<br />
mc.backButton.lineTo(75,20);<br />
mc.backButton.lineTo(0,20);<br />
mc.backButton.lineTo(0,0);<br />
mc.backButton.createTextField("labelText", mc.backButton.getNextHighestDepth(), 0, 0, mc.backButton._width, 20);<br />
mc.backButton.labelText.text = "Back";<br />
mc.backButton.onRelease = function() { owner.sendBack(); }; <br />
<br />
mc.createEmptyMovieClip("refreshButton", mc.getNextHighestDepth()); <br />
mc.refreshButton.lineStyle(1,0x000000,100);<br />
mc.refreshButton._x = 155;<br />
mc.refreshButton._y = 220;<br />
mc.refreshButton.lineTo(75,0);<br />
mc.refreshButton.lineTo(75,20);<br />
mc.refreshButton.lineTo(0,20);<br />
mc.refreshButton.lineTo(0,0);<br />
mc.refreshButton.createTextField("labelText", mc.refreshButton.getNextHighestDepth(), 0, 0, mc.refreshButton._width, 20);<br />
mc.refreshButton.labelText.text = "Refresh";<br />
mc.refreshButton.onRelease = function() { owner.loadImage(); };<br />
<br />
mc.createEmptyMovieClip("exitButton", mc.getNextHighestDepth());<br />
mc.exitButton.lineStyle(1,0x000000,100);<br />
mc.exitButton._x = 230;<br />
mc.exitButton._y = 220;<br />
mc.exitButton.lineTo(75,0);<br />
mc.exitButton.lineTo(75,20);<br />
mc.exitButton.lineTo(0,20);<br />
mc.exitButton.lineTo(0,0);<br />
mc.exitButton.createTextField("labelText", mc.exitButton.getNextHighestDepth(), 0, 0, mc.exitButton._width, 20);<br />
mc.exitButton.labelText.text = "Exit";<br />
mc.exitButton.onRelease= function() { <br />
owner.clear();<br />
fscommand("quit"); <br />
}<br />
<br />
<br />
// Draw and position the buttons<br />
<br />
// Setup as a movieclip loader listener<br />
loader.addListener(this);<br />
<br />
// Set up a refresh timer<br />
<br />
setInterval(function() { owner.loadImage(); }, refreshInterval); <br />
<br />
// Load the config<br />
var config:LoadVars = new LoadVars();<br />
<br />
config.load("FlashOrbiter.conf");<br />
config.onLoad = function (success) {<br />
if (success) {<br />
trace (" variables loaded ");<br />
for( var prop in this ) {<br />
trace (" key " + prop + " = " + this[prop]);<br />
}<br />
owner.userid = this.userID;<br />
owner.installation = this.installationID;<br />
owner.userpass = this.pass;<br />
owner.deviceid = this.deviceID;<br />
trace("BaseURL = " + this.baseurl);<br />
owner.baseUrl = this.baseurl;<br />
owner.imageUrl = owner.baseUrl + owner.imageUrlPage + owner.deviceid + "_web.png";<br />
trace("ownerURL = " + owner.baseUrl + " image=" + owner.imageUrl);<br />
// Can load the first image once config is done<br />
owner.loadImage();<br />
} else {<br />
trace (" Error loading variables ");<br />
}<br />
} <br />
}<br />
<br />
<br />
/**<br />
* Movie clip loader listener function - invoked when loader has finished loading<br />
*/<br />
function onLoadInit(loadedMC:MovieClip) {<br />
trace("onLoadInitCalled! Received image height=" + loadedMC._height + " width=" + loadedMC._width);<br />
trace(loadedMC._name); <br />
// On first load<br />
if (imageHeight == 0) {<br />
imageHeight = loadedMC._height; <br />
loadedMC._yscale = Math.abs(targetHeight/imageHeight*100);<br />
}<br />
if (imageWidth == 0) {<br />
imageWidth = loadedMC._width;<br />
loadedMC._xscale = Math.abs(targetWidth/imageWidth*100);<br />
}<br />
<br />
// Setup a callback for mouse press or touch on image<br />
var owner:FlashOrbiter = this;<br />
loadedMC.onPress = function() { owner.imagePress(); };<br />
<br />
<br />
}<br />
<br />
/**<br />
* Movie clip loader listener function - invoked when loader has finished loading<br />
*/<br />
function onLoadError(targetMC, errorCode) {<br />
trace("onLoadErrorCalled! ");<br />
} <br />
<br />
/**<br />
* Callback for when the main image has been 'pressed'<br />
*/<br />
function imagePress() {<br />
// Send a touch command to the backend with the correct parameters<br />
var xtouch = Math.abs(mc.image_mc._xmouse);<br />
var ytouch = Math.abs(mc.image_mc._ymouse);<br />
trace("Image Pressed, Using" + xtouch + "x" + ytouch);<br />
sendTouch(xtouch,ytouch);<br />
}<br />
<br />
/**<br />
* Send a touch command at a position on the image to the backend<br />
*/<br />
function sendTouch(x,y) {<br />
trace("Send touch received x=" + x + " and y=" + y);<br />
<br />
// Build a loadvars object to POST the parameters to the URL<br />
var sendLV:LoadVars = new LoadVars();<br />
sendLV.command = "TOUCH " + x + "x" + y;<br />
sendLV.deviceID = deviceid;<br />
sendLV.installationID = installation;<br />
sendLV.pass= userpass;<br />
sendLV.userID = userid;<br />
trace("sendLV=" + sendLV.toString());<br />
<br />
// Create a target loadVars, and setup listener to refresh the image<br />
var resultLV:LoadVars = new LoadVars();<br />
var owner:FlashOrbiter = this;<br />
resultLV.onLoad = function() { owner.loadImage(); };<br />
<br />
// Do the post<br />
sendLV.sendAndLoad(baseUrl + "weborbiter.php", resultLV, "POST");<br />
trace("POST done");<br />
}<br />
<br />
<br />
/**<br />
* Send a home command <br />
*/<br />
function sendHome() {<br />
trace("Send home received");<br />
<br />
// Build a loadvars object to POST the parameters to the URL<br />
var sendLV:LoadVars = new LoadVars();<br />
sendLV.command = "PLUTO_KEY 10";<br />
sendLV.deviceID = deviceid;<br />
sendLV.installationID = installation;<br />
sendLV.pass= userpass;<br />
sendLV.userID = userid;<br />
trace("sendLV=" + sendLV.toString());<br />
<br />
// Create a target loadVars, and setup listener to refresh the image<br />
var resultLV:LoadVars = new LoadVars();<br />
var owner:FlashOrbiter = this;<br />
resultLV.onLoad = function() { owner.loadImage(); };<br />
<br />
// Do the post<br />
sendLV.sendAndLoad(baseUrl + "weborbiter.php", resultLV, "POST");<br />
trace("POST done");<br />
}<br />
<br />
/**<br />
* Send a back command <br />
*/<br />
function sendBack() {<br />
trace("Send back received");<br />
<br />
// Build a loadvars object to POST the parameters to the URL<br />
var sendLV:LoadVars = new LoadVars();<br />
sendLV.command = "PLUTO_KEY 11";<br />
sendLV.deviceID = deviceid;<br />
sendLV.installationID = installation;<br />
sendLV.pass= userpass;<br />
sendLV.userID = userid;<br />
trace("sendLV=" + sendLV.toString());<br />
<br />
// Create a target loadVars, and setup listener to refresh the image<br />
var resultLV:LoadVars = new LoadVars();<br />
var owner:FlashOrbiter = this;<br />
resultLV.onLoad = function() { owner.loadImage(); };<br />
<br />
// Do the post<br />
sendLV.sendAndLoad(baseUrl + "weborbiter.php", resultLV, "POST");<br />
trace("POST done");<br />
}<br />
<br />
/**<br />
* Function to clear the screen - doesn't work yet!<br />
*/<br />
function clear() {<br />
trace("Clear");<br />
mc.clear();<br />
} <br />
<br />
/**<br />
* Function to start the load of a new image<br />
*/<br />
function loadImage() {<br />
loader.loadClip(this.imageUrl,mc.image_mc);<br />
trace("loaded image url " + this.imageUrl);<br />
}<br />
<br />
<br />
public static function main() {<br />
var flashObiter:FlashOrbiter = new FlashOrbiter(_root);<br />
//flashObiter.loadImage();<br />
trace("Main executed");<br />
<br />
}<br />
}<br />
</pre></div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=ChumbyOrbiter&diff=14786ChumbyOrbiter2008-07-11T00:03:49Z<p>DarrenMason: </p>
<hr />
<div>[[Category:Orbiters]]<br />
This page details how to get an Orbiter running on a chumby...<br />
<br />
== What is a Chumby? ==<br />
Have a look [http://www.chumby.com here] for the details but basically it is an internet device that is designed to sit on a bedside table or something and feed you information in the form of widgets..<br />
<br />
Anyway, the widgets that run on this device are flash programs(movies) and there is a version of flashplayer lite on the device.<br />
<br />
I figured that this device should be able to act as an orbiter so have developed a flash based orbiter to do just that.<br />
<br />
Rather than implement an orbiter in flash I have taken the much easier path of implementing an alternate client to the proxy orbiter. This is the same orbiter that is utilized by the web based orbiter.<br />
It works by getting the orbiter display rendered into a bitmap which is then retrieved from a server. Mouse click events, or in this case touches on the screen, send back the co-ordinates of the event<br />
to the server and this interacts with the orbiter as if it had received the mouse event itself. A new screen is rendered and the client can retrieve it from the server. There is also a regular refresh<br />
that retrieves the latest image from the server so that events happening elsewhere in the system that cause orbiter changes can be displayed on the client.<br />
<br />
So all that needs to run on the chumby (or any flash player for that matter) is a fairly lightweight flash movie. It uses a config file to allow the server details to be configured.<br />
== Installation ==<br />
First, get the "SWF" file and a config file onto the chumby.<br />
The way I have been doing this is to run the sshd (see the chumby wiki for details) and scp the files over to the chumby /tmp directory. This is a fairly temporary measure and ideally it should be stored on a flash drive which plugs into the back of the chumby.<br />
<br />
If sshd is running the you should be able to copy files using scp quite easily (use the root user with no password)<br />
<br />
Once you have the file there then you need to create a config file. I usually find that this is easier to create on my dev machine and scp it over as well.<br />
<br />
Firstly, if you haven't already - make sure that you have a web obiter installed and running correctly. Most of the config can be taken straight from the web client itself.<br />
<br />
You will need to create a file called FlashOrbiter.conf and have it in the same directory as the FlashOrbiter.swf file.<br />
It will contain the following variables in a URL encoded format;<br />
userID : this is the numeric id of the user logged in<br />
pass : MD5 encoded version of the users password<br />
installationID : Numeric identifier for your installation<br />
deviceID : Numeric ID of the proxy orbiter device<br />
baseurl : URL of pluto admin for your system<br />
<br />
So the file might look something like this<br />
userID=1&pass=12345654231&installationID=12345&deviceID=64&baseurl=http://192.168.0.1/pluto-admin/<br />
<br />
To find out these values for your installation do the following;<br />
* login to the web based orbiter<br />
* once it is up and visible do "view source" on the page. There a few spots in the page source that will show a string very similar to that above. It will have all the values except the baseurl. Copy this string into your conf file (starting at the userID part and ignoring any command bits at the end. Then add the baseurl part (which you would use to get to web admin) and you should be set.<br />
<br />
To run the orbiter, I currently ssh to a terminal on the chumby (details on chumby wiki) and do the following sequence;<br />
# Stop the existing control panel using "stop_control_panel"<br />
# Run the Orbiter using "chumbyflashplayer.x -i FlashOrbiter.swf"<br />
# Use it :)<br />
# Exit it from the command line where you started it with Ctrl-C (exit button doesn't work at the moment)<br />
<br />
== Known Issues ==<br />
# Exit button doesn't work. Don't know why, tried a few things already.<br />
# Error handling is pretty poor. Most of the time if it is not working you will still get the last image displayed. It just won't change to a new screen on refresh.<br />
# I have had an error come up with mysql running out of connections. This seems to be a problem with proxyorbiter or the php scripts on the server. Needs investigating. Fix by restarting mysql on core.<br />
<br />
Download [[Image:FlashOrbiter.swf.jpg | here]] by doing save as and removing the ".jpg" extension.<br />
<br />
== Source Code ==<br />
<br />
I have developed this using just open source tools and specifically the Action Script Development Tool for eclipse [http://asdt.org/]<br />
<br />
Even though I have been a developer for years this is my first use of flash and actionscript so if you are experienced with this language/platform then I am certainly open to suggested improvements...<br />
<pre><br />
/**<br />
* Flash based orbiter for linuxMCE<br />
*/<br />
<br />
/**<br />
*<br />
*/<br />
class FlashOrbiter {<br />
<br />
/** <br />
* Private variables<br />
*/<br />
private var mc:MovieClip;<br />
<br />
// Server details<br />
var baseUrl;<br />
//var baseUrl = "http://192.168.0.1/pluto-admin/";<br />
var imageUrl;<br />
var imageUrlPage =<br />
"include/image.php?imagepath=/var/www/pluto-admin/security_images/64_web.png";<br />
//private var postUrl = baseUrl + "weborbiter.php";<br />
<br />
static private var targetWidth = 320;<br />
static private var targetHeight = 220;<br />
<br />
private var imageWidth = 0;<br />
private var imageHeight = 0;<br />
<br />
// Time between refreshes (in milliseconds)<br />
var refreshInterval = 10000;<br />
<br />
// Post url parameters<br />
var deviceid;<br />
var userid;<br />
var userpass;<br />
var installation;<br />
<br />
var loader:MovieClipLoader = new MovieClipLoader(); <br />
<br />
/**<br />
* Constructor<br />
*/<br />
public function FlashOrbiter(_mc : MovieClip) {<br />
mc = _mc;<br />
var owner:FlashOrbiter = this;<br />
<br />
// Create the main image movie clip<br />
mc.createEmptyMovieClip("image_mc", 1);<br />
<br />
// Create the buttons<br />
<br />
mc.createEmptyMovieClip("homeButton", mc.getNextHighestDepth());<br />
mc.homeButton.lineStyle(1,0x000000,100);<br />
mc.homeButton._x = 5;<br />
mc.homeButton._y = 220;<br />
mc.homeButton.lineTo(75,0);<br />
mc.homeButton.lineTo(75,20);<br />
mc.homeButton.lineTo(0,20);<br />
mc.homeButton.lineTo(0,0);<br />
mc.homeButton.createTextField("labelText", mc.homeButton.getNextHighestDepth(), 0,<br />
0, mc.homeButton._width, 20);<br />
mc.homeButton.labelText.text = "Home";<br />
mc.homeButton.onRelease = function() { owner.sendHome(); }; <br />
<br />
mc.createEmptyMovieClip("backButton", mc.getNextHighestDepth()); <br />
mc.backButton.lineStyle(1,0x000000,100);<br />
mc.backButton._x = 80;<br />
mc.backButton._y = 220;<br />
mc.backButton.lineTo(75,0);<br />
mc.backButton.lineTo(75,20);<br />
mc.backButton.lineTo(0,20);<br />
mc.backButton.lineTo(0,0);<br />
mc.backButton.createTextField("labelText", mc.backButton.getNextHighestDepth(), 0,<br />
0, mc.backButton._width, 20);<br />
mc.backButton.labelText.text = "Back";<br />
mc.backButton.onRelease = function() { owner.sendBack(); }; <br />
<br />
mc.createEmptyMovieClip("refreshButton", mc.getNextHighestDepth()); <br />
mc.refreshButton.lineStyle(1,0x000000,100);<br />
mc.refreshButton._x = 155;<br />
mc.refreshButton._y = 220;<br />
mc.refreshButton.lineTo(75,0);<br />
mc.refreshButton.lineTo(75,20);<br />
mc.refreshButton.lineTo(0,20);<br />
mc.refreshButton.lineTo(0,0);<br />
mc.refreshButton.createTextField("labelText",<br />
mc.refreshButton.getNextHighestDepth(), 0, 0, mc.refreshButton._width, 20);<br />
mc.refreshButton.labelText.text = "Refresh";<br />
mc.refreshButton.onRelease = function() { owner.loadImage(); };<br />
<br />
mc.createEmptyMovieClip("exitButton", mc.getNextHighestDepth());<br />
mc.exitButton.lineStyle(1,0x000000,100);<br />
mc.exitButton._x = 230;<br />
mc.exitButton._y = 220;<br />
mc.exitButton.lineTo(75,0);<br />
mc.exitButton.lineTo(75,20);<br />
mc.exitButton.lineTo(0,20);<br />
mc.exitButton.lineTo(0,0);<br />
mc.exitButton.createTextField("labelText", mc.exitButton.getNextHighestDepth(),0,0, mc.exitButton._width, 20);<br />
mc.exitButton.labelText.text = "Exit";<br />
mc.exitButton.onRelease= function() { fscommand("quit"); }<br />
<br />
<br />
// Draw and position the buttons<br />
<br />
// Setup as a movieclip loader listener<br />
loader.addListener(this);<br />
<br />
// Set up a refresh timer<br />
<br />
setInterval(function() { owner.loadImage(); }, refreshInterval); <br />
<br />
// Load the config<br />
var config:LoadVars = new LoadVars();<br />
<br />
config.load("FlashOrbiter.conf");<br />
config.onLoad = function (success) {<br />
if (success) {<br />
trace (" variables loaded ");<br />
for( var prop in this ) {<br />
trace (" key " + prop + " = " + this[prop]);<br />
}<br />
owner.userid = this.userID;<br />
owner.installation = this.installationID;<br />
owner.userpass = this.pass;<br />
owner.deviceid = this.deviceID;<br />
trace("BaseURL = " + this.baseurl);<br />
owner.baseUrl = this.baseurl;<br />
owner.imageUrl = owner.baseUrl + owner.imageUrlPage; <br />
trace("ownerURL = " + owner.baseUrl + " image=" + owner.imageUrl);<br />
// Can load the first image once config is done<br />
owner.loadImage();<br />
} else {<br />
trace (" Error loading variables ");<br />
}<br />
} <br />
}<br />
<br />
<br />
/**<br />
* Movie clip loader listener function - invoked when loader has finished loading<br />
*/<br />
function onLoadInit(loadedMC:MovieClip) {<br />
trace("onLoadInitCalled! Received image height=" + loadedMC._height + " width=" +<br />
loadedMC._width);<br />
// On first load<br />
if (imageHeight == 0) {<br />
imageHeight = loadedMC._height; <br />
loadedMC._yscale = Math.abs(targetHeight/imageHeight*100);<br />
}<br />
if (imageWidth == 0) {<br />
imageWidth = loadedMC._width;<br />
loadedMC._xscale = Math.abs(targetWidth/imageWidth*100);<br />
}<br />
<br />
// Setup a callback for mouse press or touch on image<br />
var owner:FlashOrbiter = this;<br />
loadedMC.onPress = function() { owner.imagePress(); };<br />
<br />
<br />
}<br />
<br />
<br />
/**<br />
* Callback for when the main image has been 'pressed'<br />
*/<br />
function imagePress() {<br />
// Send a touch command to the backend with the correct parameters<br />
var xtouch = Math.abs(mc.image_mc._xmouse);<br />
var ytouch = Math.abs(mc.image_mc._ymouse);<br />
trace("Image Pressed, Using" + xtouch + "x" + ytouch);<br />
sendTouch(xtouch,ytouch);<br />
}<br />
<br />
/**<br />
* Send a touch command at a position on the image to the backend<br />
*/<br />
function sendTouch(x,y) {<br />
trace("Send touch received x=" + x + " and y=" + y);<br />
<br />
// Build a loadvars object to POST the parameters to the URL<br />
var sendLV:LoadVars = new LoadVars();<br />
sendLV.command = "TOUCH " + x + "x" + y;<br />
sendLV.deviceID = deviceid;<br />
sendLV.installationID = installation;<br />
sendLV.pass= userpass;<br />
sendLV.userID = userid;<br />
trace("sendLV=" + sendLV.toString());<br />
<br />
// Create a target loadVars, and setup listener to refresh the image<br />
var resultLV:LoadVars = new LoadVars();<br />
var owner:FlashOrbiter = this;<br />
resultLV.onLoad = function() { owner.loadImage(); };<br />
<br />
// Do the post<br />
sendLV.sendAndLoad(baseUrl + "weborbiter.php", resultLV, "POST");<br />
trace("POST done");<br />
}<br />
<br />
<br />
/**<br />
* Send a home command <br />
*/<br />
function sendHome() {<br />
trace("Send home received");<br />
<br />
// Build a loadvars object to POST the parameters to the URL<br />
var sendLV:LoadVars = new LoadVars();<br />
sendLV.command = "PLUTO_KEY 10";<br />
sendLV.deviceID = deviceid;<br />
sendLV.installationID = installation;<br />
sendLV.pass= userpass;<br />
sendLV.userID = userid;<br />
trace("sendLV=" + sendLV.toString());<br />
<br />
// Create a target loadVars, and setup listener to refresh the image<br />
var resultLV:LoadVars = new LoadVars();<br />
var owner:FlashOrbiter = this;<br />
resultLV.onLoad = function() { owner.loadImage(); };<br />
<br />
// Do the post<br />
sendLV.sendAndLoad(baseUrl + "weborbiter.php", resultLV, "POST");<br />
trace("POST done");<br />
}<br />
<br />
/**<br />
* Send a back command <br />
*/<br />
function sendBack() {<br />
trace("Send back received");<br />
<br />
// Build a loadvars object to POST the parameters to the URL<br />
var sendLV:LoadVars = new LoadVars();<br />
sendLV.command = "PLUTO_KEY 11";<br />
sendLV.deviceID = deviceid;<br />
sendLV.installationID = installation;<br />
sendLV.pass= userpass;<br />
sendLV.userID = userid;<br />
trace("sendLV=" + sendLV.toString());<br />
<br />
// Create a target loadVars, and setup listener to refresh the image<br />
var resultLV:LoadVars = new LoadVars();<br />
var owner:FlashOrbiter = this;<br />
resultLV.onLoad = function() { owner.loadImage(); };<br />
<br />
// Do the post<br />
sendLV.sendAndLoad(baseUrl + "weborbiter.php", resultLV, "POST");<br />
trace("POST done");<br />
}<br />
<br />
<br />
/**<br />
* Function to start the load of a new image<br />
*/<br />
function loadImage() {<br />
loader.loadClip(this.imageUrl,mc.image_mc);<br />
trace("loaded image url " + this.imageUrl);<br />
}<br />
<br />
<br />
public static function main() {<br />
var flashObiter:FlashOrbiter = new FlashOrbiter(_root);<br />
//flashObiter.loadImage();<br />
trace("Main executed");<br />
<br />
}<br />
}<br />
</pre></div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=ChumbyOrbiter&diff=14785ChumbyOrbiter2008-07-11T00:01:59Z<p>DarrenMason: </p>
<hr />
<div>This page details how to get an Orbiter running on a chumby...<br />
<br />
== What is a Chumby? ==<br />
Have a look [http://www.chumby.com here] for the details but basically it is an internet device that is designed to sit on a bedside table or something and feed you information in the form of widgets..<br />
<br />
Anyway, the widgets that run on this device are flash programs(movies) and there is a version of flashplayer lite on the device.<br />
<br />
I figured that this device should be able to act as an orbiter so have developed a flash based orbiter to do just that.<br />
<br />
Rather than implement an orbiter in flash I have taken the much easier path of implementing an alternate client to the proxy orbiter. This is the same orbiter that is utilized by the web based orbiter.<br />
It works by getting the orbiter display rendered into a bitmap which is then retrieved from a server. Mouse click events, or in this case touches on the screen, send back the co-ordinates of the event<br />
to the server and this interacts with the orbiter as if it had received the mouse event itself. A new screen is rendered and the client can retrieve it from the server. There is also a regular refresh<br />
that retrieves the latest image from the server so that events happening elsewhere in the system that cause orbiter changes can be displayed on the client.<br />
<br />
So all that needs to run on the chumby (or any flash player for that matter) is a fairly lightweight flash movie. It uses a config file to allow the server details to be configured.<br />
== Installation ==<br />
First, get the "SWF" file and a config file onto the chumby.<br />
The way I have been doing this is to run the sshd (see the chumby wiki for details) and scp the files over to the chumby /tmp directory. This is a fairly temporary measure and ideally it should be stored on a flash drive which plugs into the back of the chumby.<br />
<br />
If sshd is running the you should be able to copy files using scp quite easily (use the root user with no password)<br />
<br />
Once you have the file there then you need to create a config file. I usually find that this is easier to create on my dev machine and scp it over as well.<br />
<br />
Firstly, if you haven't already - make sure that you have a web obiter installed and running correctly. Most of the config can be taken straight from the web client itself.<br />
<br />
You will need to create a file called FlashOrbiter.conf and have it in the same directory as the FlashOrbiter.swf file.<br />
It will contain the following variables in a URL encoded format;<br />
userID : this is the numeric id of the user logged in<br />
pass : MD5 encoded version of the users password<br />
installationID : Numeric identifier for your installation<br />
deviceID : Numeric ID of the proxy orbiter device<br />
baseurl : URL of pluto admin for your system<br />
<br />
So the file might look something like this<br />
userID=1&pass=12345654231&installationID=12345&deviceID=64&baseurl=http://192.168.0.1/pluto-admin/<br />
<br />
To find out these values for your installation do the following;<br />
* login to the web based orbiter<br />
* once it is up and visible do "view source" on the page. There a few spots in the page source that will show a string very similar to that above. It will have all the values except the baseurl. Copy this string into your conf file (starting at the userID part and ignoring any command bits at the end. Then add the baseurl part (which you would use to get to web admin) and you should be set.<br />
<br />
To run the orbiter, I currently ssh to a terminal on the chumby (details on chumby wiki) and do the following sequence;<br />
# Stop the existing control panel using "stop_control_panel"<br />
# Run the Orbiter using "chumbyflashplayer.x -i FlashOrbiter.swf"<br />
# Use it :)<br />
# Exit it from the command line where you started it with Ctrl-C (exit button doesn't work at the moment)<br />
<br />
== Known Issues ==<br />
# Exit button doesn't work. Don't know why, tried a few things already.<br />
# Error handling is pretty poor. Most of the time if it is not working you will still get the last image displayed. It just won't change to a new screen on refresh.<br />
# I have had an error come up with mysql running out of connections. This seems to be a problem with proxyorbiter or the php scripts on the server. Needs investigating. Fix by restarting mysql on core.<br />
<br />
Download [[Image:FlashOrbiter.swf.jpg | here]] by doing save as and removing the ".jpg" extension.<br />
<br />
== Source Code ==<br />
<br />
I have developed this using just open source tools and specifically the Action Script Development Tool for eclipse [http://asdt.org/]<br />
<br />
Even though I have been a developer for years this is my first use of flash and actionscript so if you are experienced with this language/platform then I am certainly open to suggested improvements...<br />
<pre><br />
/**<br />
* Flash based orbiter for linuxMCE<br />
*/<br />
<br />
/**<br />
*<br />
*/<br />
class FlashOrbiter {<br />
<br />
/** <br />
* Private variables<br />
*/<br />
private var mc:MovieClip;<br />
<br />
// Server details<br />
var baseUrl;<br />
//var baseUrl = "http://192.168.0.1/pluto-admin/";<br />
var imageUrl;<br />
var imageUrlPage =<br />
"include/image.php?imagepath=/var/www/pluto-admin/security_images/64_web.png";<br />
//private var postUrl = baseUrl + "weborbiter.php";<br />
<br />
static private var targetWidth = 320;<br />
static private var targetHeight = 220;<br />
<br />
private var imageWidth = 0;<br />
private var imageHeight = 0;<br />
<br />
// Time between refreshes (in milliseconds)<br />
var refreshInterval = 10000;<br />
<br />
// Post url parameters<br />
var deviceid;<br />
var userid;<br />
var userpass;<br />
var installation;<br />
<br />
var loader:MovieClipLoader = new MovieClipLoader(); <br />
<br />
/**<br />
* Constructor<br />
*/<br />
public function FlashOrbiter(_mc : MovieClip) {<br />
mc = _mc;<br />
var owner:FlashOrbiter = this;<br />
<br />
// Create the main image movie clip<br />
mc.createEmptyMovieClip("image_mc", 1);<br />
<br />
// Create the buttons<br />
<br />
mc.createEmptyMovieClip("homeButton", mc.getNextHighestDepth());<br />
mc.homeButton.lineStyle(1,0x000000,100);<br />
mc.homeButton._x = 5;<br />
mc.homeButton._y = 220;<br />
mc.homeButton.lineTo(75,0);<br />
mc.homeButton.lineTo(75,20);<br />
mc.homeButton.lineTo(0,20);<br />
mc.homeButton.lineTo(0,0);<br />
mc.homeButton.createTextField("labelText", mc.homeButton.getNextHighestDepth(), 0,<br />
0, mc.homeButton._width, 20);<br />
mc.homeButton.labelText.text = "Home";<br />
mc.homeButton.onRelease = function() { owner.sendHome(); }; <br />
<br />
mc.createEmptyMovieClip("backButton", mc.getNextHighestDepth()); <br />
mc.backButton.lineStyle(1,0x000000,100);<br />
mc.backButton._x = 80;<br />
mc.backButton._y = 220;<br />
mc.backButton.lineTo(75,0);<br />
mc.backButton.lineTo(75,20);<br />
mc.backButton.lineTo(0,20);<br />
mc.backButton.lineTo(0,0);<br />
mc.backButton.createTextField("labelText", mc.backButton.getNextHighestDepth(), 0,<br />
0, mc.backButton._width, 20);<br />
mc.backButton.labelText.text = "Back";<br />
mc.backButton.onRelease = function() { owner.sendBack(); }; <br />
<br />
mc.createEmptyMovieClip("refreshButton", mc.getNextHighestDepth()); <br />
mc.refreshButton.lineStyle(1,0x000000,100);<br />
mc.refreshButton._x = 155;<br />
mc.refreshButton._y = 220;<br />
mc.refreshButton.lineTo(75,0);<br />
mc.refreshButton.lineTo(75,20);<br />
mc.refreshButton.lineTo(0,20);<br />
mc.refreshButton.lineTo(0,0);<br />
mc.refreshButton.createTextField("labelText",<br />
mc.refreshButton.getNextHighestDepth(), 0, 0, mc.refreshButton._width, 20);<br />
mc.refreshButton.labelText.text = "Refresh";<br />
mc.refreshButton.onRelease = function() { owner.loadImage(); };<br />
<br />
mc.createEmptyMovieClip("exitButton", mc.getNextHighestDepth());<br />
mc.exitButton.lineStyle(1,0x000000,100);<br />
mc.exitButton._x = 230;<br />
mc.exitButton._y = 220;<br />
mc.exitButton.lineTo(75,0);<br />
mc.exitButton.lineTo(75,20);<br />
mc.exitButton.lineTo(0,20);<br />
mc.exitButton.lineTo(0,0);<br />
mc.exitButton.createTextField("labelText", mc.exitButton.getNextHighestDepth(),0,0, mc.exitButton._width, 20);<br />
mc.exitButton.labelText.text = "Exit";<br />
mc.exitButton.onRelease= function() { fscommand("quit"); }<br />
<br />
<br />
// Draw and position the buttons<br />
<br />
// Setup as a movieclip loader listener<br />
loader.addListener(this);<br />
<br />
// Set up a refresh timer<br />
<br />
setInterval(function() { owner.loadImage(); }, refreshInterval); <br />
<br />
// Load the config<br />
var config:LoadVars = new LoadVars();<br />
<br />
config.load("FlashOrbiter.conf");<br />
config.onLoad = function (success) {<br />
if (success) {<br />
trace (" variables loaded ");<br />
for( var prop in this ) {<br />
trace (" key " + prop + " = " + this[prop]);<br />
}<br />
owner.userid = this.userID;<br />
owner.installation = this.installationID;<br />
owner.userpass = this.pass;<br />
owner.deviceid = this.deviceID;<br />
trace("BaseURL = " + this.baseurl);<br />
owner.baseUrl = this.baseurl;<br />
owner.imageUrl = owner.baseUrl + owner.imageUrlPage; <br />
trace("ownerURL = " + owner.baseUrl + " image=" + owner.imageUrl);<br />
// Can load the first image once config is done<br />
owner.loadImage();<br />
} else {<br />
trace (" Error loading variables ");<br />
}<br />
} <br />
}<br />
<br />
<br />
/**<br />
* Movie clip loader listener function - invoked when loader has finished loading<br />
*/<br />
function onLoadInit(loadedMC:MovieClip) {<br />
trace("onLoadInitCalled! Received image height=" + loadedMC._height + " width=" +<br />
loadedMC._width);<br />
// On first load<br />
if (imageHeight == 0) {<br />
imageHeight = loadedMC._height; <br />
loadedMC._yscale = Math.abs(targetHeight/imageHeight*100);<br />
}<br />
if (imageWidth == 0) {<br />
imageWidth = loadedMC._width;<br />
loadedMC._xscale = Math.abs(targetWidth/imageWidth*100);<br />
}<br />
<br />
// Setup a callback for mouse press or touch on image<br />
var owner:FlashOrbiter = this;<br />
loadedMC.onPress = function() { owner.imagePress(); };<br />
<br />
<br />
}<br />
<br />
<br />
/**<br />
* Callback for when the main image has been 'pressed'<br />
*/<br />
function imagePress() {<br />
// Send a touch command to the backend with the correct parameters<br />
var xtouch = Math.abs(mc.image_mc._xmouse);<br />
var ytouch = Math.abs(mc.image_mc._ymouse);<br />
trace("Image Pressed, Using" + xtouch + "x" + ytouch);<br />
sendTouch(xtouch,ytouch);<br />
}<br />
<br />
/**<br />
* Send a touch command at a position on the image to the backend<br />
*/<br />
function sendTouch(x,y) {<br />
trace("Send touch received x=" + x + " and y=" + y);<br />
<br />
// Build a loadvars object to POST the parameters to the URL<br />
var sendLV:LoadVars = new LoadVars();<br />
sendLV.command = "TOUCH " + x + "x" + y;<br />
sendLV.deviceID = deviceid;<br />
sendLV.installationID = installation;<br />
sendLV.pass= userpass;<br />
sendLV.userID = userid;<br />
trace("sendLV=" + sendLV.toString());<br />
<br />
// Create a target loadVars, and setup listener to refresh the image<br />
var resultLV:LoadVars = new LoadVars();<br />
var owner:FlashOrbiter = this;<br />
resultLV.onLoad = function() { owner.loadImage(); };<br />
<br />
// Do the post<br />
sendLV.sendAndLoad(baseUrl + "weborbiter.php", resultLV, "POST");<br />
trace("POST done");<br />
}<br />
<br />
<br />
/**<br />
* Send a home command <br />
*/<br />
function sendHome() {<br />
trace("Send home received");<br />
<br />
// Build a loadvars object to POST the parameters to the URL<br />
var sendLV:LoadVars = new LoadVars();<br />
sendLV.command = "PLUTO_KEY 10";<br />
sendLV.deviceID = deviceid;<br />
sendLV.installationID = installation;<br />
sendLV.pass= userpass;<br />
sendLV.userID = userid;<br />
trace("sendLV=" + sendLV.toString());<br />
<br />
// Create a target loadVars, and setup listener to refresh the image<br />
var resultLV:LoadVars = new LoadVars();<br />
var owner:FlashOrbiter = this;<br />
resultLV.onLoad = function() { owner.loadImage(); };<br />
<br />
// Do the post<br />
sendLV.sendAndLoad(baseUrl + "weborbiter.php", resultLV, "POST");<br />
trace("POST done");<br />
}<br />
<br />
/**<br />
* Send a back command <br />
*/<br />
function sendBack() {<br />
trace("Send back received");<br />
<br />
// Build a loadvars object to POST the parameters to the URL<br />
var sendLV:LoadVars = new LoadVars();<br />
sendLV.command = "PLUTO_KEY 11";<br />
sendLV.deviceID = deviceid;<br />
sendLV.installationID = installation;<br />
sendLV.pass= userpass;<br />
sendLV.userID = userid;<br />
trace("sendLV=" + sendLV.toString());<br />
<br />
// Create a target loadVars, and setup listener to refresh the image<br />
var resultLV:LoadVars = new LoadVars();<br />
var owner:FlashOrbiter = this;<br />
resultLV.onLoad = function() { owner.loadImage(); };<br />
<br />
// Do the post<br />
sendLV.sendAndLoad(baseUrl + "weborbiter.php", resultLV, "POST");<br />
trace("POST done");<br />
}<br />
<br />
<br />
/**<br />
* Function to start the load of a new image<br />
*/<br />
function loadImage() {<br />
loader.loadClip(this.imageUrl,mc.image_mc);<br />
trace("loaded image url " + this.imageUrl);<br />
}<br />
<br />
<br />
public static function main() {<br />
var flashObiter:FlashOrbiter = new FlashOrbiter(_root);<br />
//flashObiter.loadImage();<br />
trace("Main executed");<br />
<br />
}<br />
}<br />
</pre></div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Chumby&diff=14784Chumby2008-07-10T23:50:38Z<p>DarrenMason: </p>
<hr />
<div>[[Category:Possibilities]]<br />
[[Category:Hardware]]<br />
[[Category:Orbiters]]<br />
[[Image:Chumbyfront.png]]<br />
==About this device==<br />
*350MHz Freescale iMX21 MC94MX21DVKN3 ARM9 controller <br />
*Samsung 64MB SDRAM on 32-bit data path<br />
*Hynix HY27US 64MB NAND Flash ROM<br />
*Three USB 2.0 full speed ports, one internal, two external<br />
*Xterasys 3135G 802.11g USB Wifi adapter (ralink chipset)<br />
*DataImage 320hx240v 16bpp TFT display with touchscreen<br />
*Texas Instruments TSC2100 Programmable Touchscreen Controller with Stereo DAC<br />
*2W stereo speakers, with headphone jack<br />
*Built-in microphone<br />
*"Bend" switch<br />
*Kionix KXP74-1050 3-axis accelerometer<br />
*STMicroelectronics STR711FR0/1 ARM7 "crypto" processor<br />
*Soft-switch on power, controlled by crypto processor<br />
*TTL serial port @38400 8N1<br />
<br />
If you have one of these please see [[ChumbyOrbiter]] to see how to get it working as an Orbiter.</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=ChumbyOrbiter&diff=14780ChumbyOrbiter2008-07-10T10:45:45Z<p>DarrenMason: </p>
<hr />
<div>This page details how to get an Orbiter running on a chumby...<br />
<br />
What is a Chumby? Have a look [http://www.chumby.com here] for the details but basically it is an internet device that is designed to sit on a bedside table or something and feed you information in the form of widgets..<br />
<br />
Anyway, the widgets that run on this device are flash programs(movies) and there is a version of flashplayer lite on the device.<br />
<br />
I figured that this device should be able to act as an orbiter so have developed a flash based orbiter to do just that.<br />
<br />
Rather than implement an orbiter in flash I have taken the much easier path of implementing an alternate client to the proxy orbiter. This is the same orbiter that is utilised by the web based orbiter.<br />
It works by getting the orbiter display rendered into a bitmap which is then retrieved from a server. Mouse click events, or in this case touches on the screen, send back the co-ordinates of the event<br />
to the server and this interacts with the orbiter as if it had received the mouse event itself. A new screen is rendered and the client can retrieve it from the server. There is also a regular refresh<br />
that retrieves the latest image from the server so that events happening elsewhere in the system that cause orbiter changes can be displayed on the client.<br />
<br />
So all that needs to run on the chumby (or any flash player for that matter) is a fairly lightweight flash movie. It uses a config file to allow the server details to be configured.<br />
<br />
To install, firstly you will need to get the "SWF" file and a config file onto the chumby.<br />
The way I have been doing this is to run the sshd (see the chumby wiki for details) and scp the files over to the chumby /tmp directory. This is a fairly temporary measure and ideally it should be stored on a flash drive which plugs into the back of the chumby.<br />
<br />
If sshd is running the you should be able to copy files using scp quite easily (use the root user with no password)<br />
<br />
Once you have the file there then you need to create a config file. I usually find that this is easier to create on my dev machine and scp it over as well.<br />
<br />
Firstly, if you havn't already - make sure that you have a web obiter installed and running correctly. Most of the config can be taken straight from the web client itself.<br />
<br />
You will need to create a file called FlashOrbiter.conf and have it in the same directory as the FlashOrbiter.swf file.<br />
It will contain the following variables in a URL encoded format;<br />
userID : this is the numeric id of the user logged in<br />
pass : MD5 encoded version of the users password<br />
installationID : Numeric identifier for your installation<br />
deviceID : Numeric ID of the proxy orbiter device<br />
baseurl : URL of pluto admin for your system<br />
<br />
So the file might look something like this<br />
userID=1&pass=12345654231&installationID=12345&deviceID=64&baseurl=http://192.168.0.1/pluto-admin/<br />
<br />
To find out these values for your installation do the following;<br />
login to the web based orbiter and once it is up and visible do "view source" on the page. There a few spots in the page source that will show a string very similar to that above. It will have all the values except the baseurl. Copy this string into your conf file (starting at the userID part and ignoring any command bits at the end. Then add the baseurl part (which you would use to get to web admin) and you should be set.<br />
<br />
To run the orbiter, I currently ssh to a terminal on the chumby (details on chumby wiki) and do the following sequence;<br />
1. Stop the existing control panel using "stop_control_panel"<br />
2. Run the Orbiter using "chumbyflashplayer.x -i FlashOrbiter.swf"<br />
3. Use it :)<br />
4. Exit it from the command line where you started it with Ctrl-C (exit button doesn't work at the moment)<br />
<br />
Known Issues<br />
1. Exit button doesn't work. Don't know why, tried a few things already.<br />
2. Error handling is pretty poor. Most of the time if it is not working you will still get the last image displayed. It just won't change to a new screen on refresh.<br />
3. I have had an error come up with mysql running out of connections. This seems to be a problem with proxyorbiter or the php scripts on the server. Needs investigating. Fix by restarting mysql on core.<br />
<br />
Download [[Image:FlashOrbiter.swf.jpg | here]] by doing save as and removing the ".jpg" extension.</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=ChumbyOrbiter&diff=14779ChumbyOrbiter2008-07-10T10:42:32Z<p>DarrenMason: </p>
<hr />
<div>This page details how to get an Orbiter running on a chumby...<br />
<br />
What is a Chumby? Have a look [http://www.chumby.com here] for the details but basically it is an internet device that is designed to sit on a bedside table or something and feed you information in the form of widgets..<br />
<br />
Anyway, the widgets that run on this device are flash programs(movies) and there is a version of flashplayer lite on the device.<br />
<br />
I figured that this device should be able to act as an orbiter so have developed a flash based orbiter to do just that.<br />
<br />
Rather than implement an orbiter in flash I have taken the much easier path of implementing an alternate client to the proxy orbiter. This is the same orbiter that is utilised by the web based orbiter.<br />
It works by getting the orbiter display rendered into a bitmap which is then retrieved from a server. Mouse click events, or in this case touches on the screen, send back the co-ordinates of the event<br />
to the server and this interacts with the orbiter as if it had received the mouse event itself. A new screen is rendered and the client can retrieve it from the server. There is also a regular refresh<br />
that retrieves the latest image from the server so that events happening elsewhere in the system that cause orbiter changes can be displayed on the client.<br />
<br />
So all that needs to run on the chumby (or any flash player for that matter) is a fairly lightweight flash movie. It uses a config file to allow the server details to be configured.<br />
<br />
To install, firstly you will need to get the "SWF" file and a config file onto the chumby.<br />
The way I have been doing this is to run the sshd (see the chumby wiki for details) and scp the files over to the chumby /tmp directory. This is a fairly temporary measure and ideally it should be stored on a flash drive which plugs into the back of the chumby.<br />
<br />
If sshd is running the you should be able to copy files using scp quite easily (use the root user with no password)<br />
<br />
Once you have the file there then you need to create a config file. I usually find that this is easier to create on my dev machine and scp it over as well.<br />
<br />
Firstly, if you havn't already - make sure that you have a web obiter installed and running correctly. Most of the config can be taken straight from the web client itself.<br />
<br />
You will need to create a file called FlashOrbiter.conf and have it in the same directory as the FlashOrbiter.swf file.<br />
It will contain the following variables in a URL encoded format;<br />
userID : this is the numeric id of the user logged in<br />
pass : MD5 encoded version of the users password<br />
installationID : Numeric identifier for your installation<br />
deviceID : Numeric ID of the proxy orbiter device<br />
baseurl : URL of pluto admin for your system<br />
<br />
So the file might look something like this<br />
userID=1&pass=12345654231&installationID=12345&deviceID=64&baseurl=http://192.168.0.1/pluto-admin/<br />
<br />
To find out these values for your installation do the following;<br />
login to the web based orbiter and once it is up and visible do "view source" on the page. There a few spots in the page source that will show a string very similar to that above. It will have all the values except the baseurl. Copy this string into your conf file (starting at the userID part and ignoring any command bits at the end. Then add the baseurl part (which you would use to get to web admin) and you should be set.<br />
<br />
To run the orbiter, I currently ssh to a terminal on the chumby (details on chumby wiki) and do the following sequence;<br />
1. Stop the existing control panel using "stop_control_panel"<br />
2. Run the Orbiter using "chumbyflashplayer.x -i FlashOrbiter.swf"<br />
3. Use it :)<br />
4. Exit it from the command line where you started it with Ctrl-C (exit button doesn't work at the moment)<br />
<br />
Known Issues<br />
1. Exit button doesn't work. Don't know why, tried a few things already.<br />
2. Error handling is pretty poor. Most of the time if it is not working you will still get the last image displayed. It just won't change to a new screen on refresh.<br />
3. I have had an error come up with mysql running out of connections. This seems to be a problem with proxyorbiter or the php scripts on the server. Needs investigating. Fix by restarting mysql on core.<br />
<br />
Download [Image:FlashOrbiter.swf.jpg | here] by doing save as and removing the ".jpg" extension.</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=File:FlashOrbiter.swf.jpg&diff=14778File:FlashOrbiter.swf.jpg2008-07-10T10:39:44Z<p>DarrenMason: swf file. Rename to use by removing jpg extension</p>
<hr />
<div>swf file. Rename to use by removing jpg extension</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=ChumbyOrbiter&diff=14777ChumbyOrbiter2008-07-10T10:28:26Z<p>DarrenMason: Running an Orbiter on a Chumby</p>
<hr />
<div>This page details how to get an Orbiter running on a chumby...<br />
<br />
What is a Chumby? Have a look [http://www.chumby.com here] for the details but basically it is an internet device that is designed to sit on a bedside table or something and feed you information in the form of widgets..<br />
<br />
Anyway, the widgets that run on this device are flash programs(movies) and there is a version of flashplayer lite on the device.<br />
<br />
I figured that this device should be able to act as an orbiter so have developed a flash based orbiter to do just that.<br />
<br />
Rather than implement an orbiter in flash I have taken the much easier path of implementing an alternate client to the proxy orbiter. This is the same orbiter that is utilised by the web based orbiter.<br />
It works by getting the orbiter display rendered into a bitmap which is then retrieved from a server. Mouse click events, or in this case touches on the screen, send back the co-ordinates of the event<br />
to the server and this interacts with the orbiter as if it had received the mouse event itself. A new screen is rendered and the client can retrieve it from the server. There is also a regular refresh<br />
that retrieves the latest image from the server so that events happening elsewhere in the system that cause orbiter changes can be displayed on the client.<br />
<br />
So all that needs to run on the chumby (or any flash player for that matter) is a fairly lightweight flash movie. It uses a config file to allow the server details to be configured.<br />
<br />
To install, firstly you will need to get the "SWF" file and a config file onto the chumby.<br />
The way I have been doing this is to run the sshd (see the chumby wiki for details) and scp the files over to the chumby /tmp directory. This is a fairly temporary measure and ideally it should be stored on a flash drive which plugs into the back of the chumby.<br />
<br />
If sshd is running the you should be able to copy files using scp quite easily (use the root user with no password)<br />
<br />
Once you have the file there then you need to create a config file. I usually find that this is easier to create on my dev machine and scp it over as well.<br />
<br />
Firstly, if you havn't already - make sure that you have a web obiter installed and running correctly. Most of the config can be taken straight from the web client itself.<br />
<br />
You will need to create a file called FlashOrbiter.conf and have it in the same directory as the FlashOrbiter.swf file.<br />
It will contain the following variables in a URL encoded format;<br />
userID : this is the numeric id of the user logged in<br />
pass : MD5 encoded version of the users password<br />
installationID : Numeric identifier for your installation<br />
deviceID : Numeric ID of the proxy orbiter device<br />
baseurl : URL of pluto admin for your system<br />
<br />
So the file might look something like this<br />
userID=1&pass=12345654231&installationID=12345&deviceID=64&baseurl=http://192.168.0.1/pluto-admin/<br />
<br />
To find out these values for your installation do the following;<br />
login to the web based orbiter and once it is up and visible do "view source" on the page. There a few spots in the page source that will show a string very similar to that above. It will have all the values except the baseurl. Copy this string into your conf file (starting at the userID part and ignoring any command bits at the end. Then add the baseurl part (which you would use to get to web admin) and you should be set.<br />
<br />
To run the orbiter, I currently ssh to a terminal on the chumby (details on chumby wiki) and do the following sequence;<br />
1. Stop the existing control panel using "stop_control_panel"<br />
2. Run the Orbiter using "chumbyflashplayer.x -i FlashOrbiter.swf"<br />
3. Use it :)<br />
4. Exit it from the command line where you started it with Ctrl-C (exit button doesn't work at the moment)<br />
<br />
Known Issues<br />
1. Exit button doesn't work. Don't know why, tried a few things already.<br />
2. Error handling is pretty poor. Most of the time if it is not working you will still get the last image displayed. It just won't change to a new screen on refresh.<br />
3. I have had an error come up with mysql running out of connections. This seems to be a problem with proxyorbiter or the php scripts on the server. Needs investigating. Fix by restarting mysql on core.<br />
<br />
Download</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=ChumbyOrbiter&diff=14776ChumbyOrbiter2008-07-10T10:06:33Z<p>DarrenMason: New page: This page details how to get an Orbiter running on a chumby... What is a Chumby? Have a look [http://www.chumby.com here] for the details but basically it is an internet device that is de...</p>
<hr />
<div>This page details how to get an Orbiter running on a chumby...<br />
<br />
What is a Chumby? Have a look [http://www.chumby.com here] for the details but basically it is an internet device that is designed to sit on a bedside table or something and feed you information in the form of widgets..<br />
<br />
Anyway, the widgets that run on this device are flash programs(movies) and there is a version of flashplayer lite on the device.<br />
<br />
I figured that this device should be able to act as an orbiter so have developed a flash based orbiter to do just that.<br />
<br />
Rather than implement an orbiter in flash I have taken the much easier path of implementing an alternate client to the proxy orbiter. This is the same orbiter that is utilised by the web based orbiter.<br />
It works by getting the orbiter display rendered into a bitmap which is then retrieved from a server. Mouse click events, or in this case touches on the screen, send back the co-ordinates of the event<br />
to the server and this interacts with the orbiter as if it had received the mouse event itself. A new screen is rendered and the client can retrieve it from the server. There is also a regular refresh<br />
that retrieves the latest image from the server so that events happening elsewhere in the system that cause orbiter changes can be displayed on the client.<br />
<br />
So all that needs to run on the chumby (or any flash player for that matter) is a fairly lightweight flash movie. It uses a config file to allow the server details to be configured.<br />
<br />
To install, firstly you will need to get the "SWF" file and a config file onto the chumby.<br />
The way I have been doing this is to run the sshd (see the chumby wiki for details) and scp the files over to the chumby /tmp directory. This is a fairly temporary measure and ideally it should be stored on a flash drive which plugs into the back of the chumby.<br />
<br />
If sshd is running the you should be able to copy files using scp quite easily (use the root user with no password)<br />
<br />
Once you have the file there then you need to create a config file. I usually find that this is easier to create on my dev machine and scp it over as well.<br />
<br />
Firstly, if you havn't already - make sure that you have a web obiter installed and running correctly. Most of the config can be taken straight from the web client itself.<br />
<br />
You will need to create a file</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=PLCBUS&diff=9820PLCBUS2008-04-01T07:15:29Z<p>DarrenMason: </p>
<hr />
<div>[[Category: Hardware]]<br />
[[Category: Automation]]<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
[[Image:Plcbus-logo.jpg|right]]<br />
= Status =<br />
ddamron wrote a GSD for PLCBUS with ruby. Hari will try to get a c++ dce client running.<br />
<br />
= About =<br />
PLCBUS Technology provides you the most perfect Home Automation solutions. Control one lamp minimally to the whole house, all the PLCBUS products range is including Lamp control, Appliance control, Remote telephone control, Computer control and Security System control.<br />
Based on the features: “High Reliability”, “Two-Way Communications”, “No rewiring necessary”, etc, PLCBUS Technology will be new Home Automation standard in the following 10-15 years.<br />
<br />
See the following setup page for details on how to get running.<br />
[[Setting Up PLC-BUS Template]]<br />
<br />
==Demo video:==<br />
* http://www.x10-hk.com/store/download/plcbus-1.mp4<br />
<br />
= Features =<br />
* Reliability<br />
* 2-way communication<br />
* Powerline, no rewiring<br />
* ~200bps<br />
* 230V/50hz<br />
<br />
= Interfaces =<br />
* http://x10-hk.com/store/product_info.php?products_id=165<br />
* http://www.elekhomica.nl/product_info.php?cPath=135&products_id=757<br />
<br />
= Command specification =<br />
* http://x10-hk.com/store/manual/plcbus/plcbus-1141.pdf<br />
<br />
= GSD/Ruby Code =<br />
* [[ThreadedRuby]]<br />
* http://wiki.linuxmce.org/index.php/PLCBUScmd776 Reset (used for testing)<br />
* http://wiki.linuxmce.org/index.php/PLCBUScmd373 Private Method Listing<br />
* http://wiki.linuxmce.org/index.php/PLCBUScmd350 Process INCOMING Data Listing<br />
* http://wiki.linuxmce.org/index.php/PLCBUScmd351 Process IDLE Listing<br />
* http://wiki.linuxmce.org/index.php/PLCBUScmd355 Process Initialize Listing<br />
* http://wiki.linuxmce.org/index.php/PLCBUScmd384 Process Receive Command for Child Listing<br />
* http://wiki.linuxmce.org/index.php/PLCBUScmd760 Send Command to Child (before init)<br />
* http://wiki.linuxmce.org/index.php/PLCBUScmd776 Status Report (used for testing)<br />
* http://wiki.linuxmce.org/index.php/PLCBUScmd756 Report Child Devices (nothing yet)<br />
<br />
= Links =<br />
* http://www.plcbus.com.cn/<br />
* http://www.futurehomes.com.sg/PLCBUSinfo.htm</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Talk:Use_my_own_pictures_in_the_Screen_Saver&diff=6288Talk:Use my own pictures in the Screen Saver2007-10-04T12:29:30Z<p>DarrenMason: </p>
<hr />
<div>Nice work! I see you're still editing this page, may I suggest adding it to the Tutorials Category?<br />
<br />
Thanks, took your advice. Do you know how to within page links? ie: to a label or something?</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6287Use my own pictures in the Screen Saver2007-10-04T12:27:00Z<p>DarrenMason: </p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
There is a section on the web admin screens that allow the setting of attributes for media.<br />
It is available under Files & Media -> Media Files Sync<br />
<br />
The left hand window frame gives a tree view into the directory structure of home/public/data.<br />
Typically photos will be stored under the pictures sub-directory.<br />
The right hand window frame gives a view of the files found and their status with relation to linuxMCE's database.<br />
<br />
Firstly determine the pictures you wish to use, and locate them using the directory browser.<br />
Then ensure that the files are ticked to indicate existing in both the database and on disk. If not then choose the type as 'LinuxMCE Pictures' and press the 'Add to database' button.<br />
<br />
Once they are added to the database you should be able to select them and see the details (metadata) associated with them.<br />
<br />
Part of the details include any currently set attributes for the file, which you can choose to Edit or Remove.<br />
There is also a section to Add Attributes. Only attribute that have been associated with the particular file types can be selected from the drop down box.<br />
''Note: If you do not see 'Screen Saver For MD' in this box then you will need to Associate the attribute.''<br />
<br />
Select the attribute 'Screen Saver For MD' and enter or select the Attribute name value of '*'. Then press the Add button next to the box and your done.<br />
<br />
A quick reload router should be enough to ensure that files are refreshed from the database and you should start to see your selected picture as one of the screen saver files.<br />
<br />
==== Associate the attribute ====<br />
<br />
Unfortunately by default this attribute has not been associated with the picture media type. Perhaps a bug, who knows. Anyway, to associate it you will need to run the following piece of SQL to put the required association into the database.<br />
<br />
You will need to get to the command prompt of your CORE machine and from the command prompt (your default user should be fine) run:<br />
<br />
mysql -u root -D pluto_media -N -e "INSERT into MediaType_AttributeType(EK_MediaType, FK_AttributeType, Identifier, CombineAsOne) values(7,30,0,1)"<br />
<br />
Do a quick reload router and then the attribute should show up in the dropdown box under add attributes<br />
<br />
''Note: If someone knows a better way to do this or can see some adverse side effects please update''<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
There is functionality built into the system that allows an attribute to be set through a sequence of Command Messages sent to the right device. This is what the flickr.pl script uses to assign the downloaded files the right attributes.<br />
The commands can be executed from anything that can send linuxMCE messages (including the web admin screens) but this method will utilise the MessageSend utility available from the linux command line.<br />
<br />
You will need to firstly determine the full filename and path for the file you wish to set the attribute for.<br />
This method assumes that the file has already been sync'd with linuxMCE and exists in the data base.<br />
<br />
The first command queries the database for the file ID of a particular filename.<br />
<br />
The second command assigns an attribute type/value to the returned file ID<br />
<br />
* Logon to your linuxMCE CORE and get to the linux command prompt<br />
* execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 <pathtofile><br />
<br />
Substituting your full path to the file where is says <pathtofile><br />
<br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 /home/public/data/pictures/sample.jpg''<br />
<br />
You should get a response something like this:<br />
0:OK<br />
145:11392<br />
<br />
The number next to the '145:' is the important part. This is the fileID. If this is zero then your command has not found a match in the database and you may need to take other measures to ensure that the database is sync'd with your files.<br />
<br />
* Now execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 391 145 <fileID> 122 30 5 "*"<br />
<br />
Substituting the fileID that you just discovered where it says <fileID><br />
<br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 391 145 11392 122 30 5 "*"''<br />
<br />
* You can then repeat for any other files that you want to use<br />
<br />
''Note: Someone might like to write a user friendly script that simplifies this task''<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===<br />
<br />
Sounds like a good idea??? Unfortunately it is not currently possible, but I thought that this sounded like a logical thing to do so have put this placeholder in.<br />
<br />
Essentially, screens in the Orbiter have buttons that trigger message Command to be sent. So setting up a button in the Picture view screen "add to Screen Saver" should be quite straight forward.<br />
<br />
If you feel like getting involved maybe this is somewhere you can start.....<br />
<br />
<br />
[[Category: Tutorials]]</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6286Use my own pictures in the Screen Saver2007-10-04T12:21:56Z<p>DarrenMason: Tutorial to add your own pictures to the screen saver</p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
There is a section on the web admin screens that allow the setting of attributes for media.<br />
It is available under Files & Media -> Media Files Sync<br />
<br />
The left hand window frame gives a tree view into the directory structure of home/public/data.<br />
Typically photos will be stored under the pictures sub-directory.<br />
The right hand window frame gives a view of the files found and their status with relation to linuxMCE's database.<br />
<br />
Firstly determine the pictures you wish to use, and locate them using the directory browser.<br />
Then ensure that the files are ticked to indicate existing in both the database and on disk. If not then choose the type as 'LinuxMCE Pictures' and press the 'Add to database' button.<br />
<br />
Once they are added to the database you should be able to select them and see the details (metadata) associated with them.<br />
<br />
Part of the details include any currently set attributes for the file, which you can choose to Edit or Remove.<br />
There is also a section to Add Attributes. Only attribute that have been associated with the particular file types can be selected from the drop down box.<br />
''Note: If you do not see 'Screen Saver For MD' in this box then you will need to Associate the attribute.''<br />
<br />
Select the attribute 'Screen Saver For MD' and enter or select the Attribute name value of '*'. Then press the Add button next to the box and your done.<br />
<br />
A quick reload router should be enough to ensure that files are refreshed from the database and you should start to see your selected picture as one of the screen saver files.<br />
<br />
==== Associate the attribute ====<br />
<br />
Unfortunately by default this attribute has not been associated with the picture media type. Perhaps a bug, who knows. Anyway, to associate it you will need to run the following piece of SQL to put the required association into the database.<br />
<br />
You will need to get to the command prompt of your CORE machine and from the command prompt (your default user should be fine) run:<br />
<br />
mysql -u root -D pluto_media -N -e "INSERT into MediaType_AttributeType(EK_MediaType, FK_AttributeType, Identifier, CombineAsOne) values(7,30,0,1)"<br />
<br />
Do a quick reload router and then the attribute should show up in the dropdown box under add attributes<br />
<br />
''Note: If someone knows a better way to do this or can see some adverse side effects please update''<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
There is functionality built into the system that allows an attribute to be set through a sequence of Command Messages sent to the right device. This is what the flickr.pl script uses to assign the downloaded files the right attributes.<br />
The commands can be executed from anything that can send linuxMCE messages (including the web admin screens) but this method will utilise the MessageSend utility available from the linux command line.<br />
<br />
You will need to firstly determine the full filename and path for the file you wish to set the attribute for.<br />
This method assumes that the file has already been sync'd with linuxMCE and exists in the data base.<br />
<br />
The first command queries the database for the file ID of a particular filename.<br />
<br />
The second command assigns an attribute type/value to the returned file ID<br />
<br />
* Logon to your linuxMCE CORE and get to the linux command prompt<br />
* execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 <pathtofile><br />
<br />
Substituting your full path to the file where is says <pathtofile><br />
<br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 /home/public/data/pictures/sample.jpg''<br />
<br />
You should get a response something like this:<br />
0:OK<br />
145:11392<br />
<br />
The number next to the '145:' is the important part. This is the fileID. If this is zero then your command has not found a match in the database and you may need to take other measures to ensure that the database is sync'd with your files.<br />
<br />
* Now execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 391 145 <fileID> 122 30 5 "*"<br />
<br />
Substituting the fileID that you just discovered where it says <fileID><br />
<br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 391 145 11392 122 30 5 "*"''<br />
<br />
* You can then repeat for any other files that you want to use<br />
<br />
''Note: Someone might like to write a user friendly script that simplifies this task''<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===<br />
<br />
Sounds like a good idea??? Unfortunately it is not currently possible, but I thought that this sounded like a logical thing to do so have put this placeholder in.<br />
<br />
Essentially, screens in the Orbiter have buttons that trigger message Command to be sent. So setting up a button in the Picture view screen "add to Screen Saver" should be quite straight forward.<br />
<br />
If you feel like getting involved maybe this is somewhere you can start.....<br />
<br />
<br />
[[Category: Tutorials]]</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6285Use my own pictures in the Screen Saver2007-10-04T12:18:41Z<p>DarrenMason: /* Assigning a picture to the screen saver from the Orbiter */</p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
There is a section on the web admin screens that allow the setting of attributes for media.<br />
It is available under Files & Media -> Media Files Sync<br />
<br />
The left hand window frame gives a tree view into the directory structure of home/public/data.<br />
Typically photos will be stored under the pictures sub-directory.<br />
The right hand window frame gives a view of the files found and their status with relation to linuxMCE's database.<br />
<br />
Firstly determine the pictures you wish to use, and locate them using the directory browser.<br />
Then ensure that the files are ticked to indicate existing in both the database and on disk. If not then choose the type as 'LinuxMCE Pictures' and press the 'Add to database' button.<br />
<br />
Once they are added to the database you should be able to select them and see the details (metadata) associated with them.<br />
<br />
Part of the details include any currently set attributes for the file, which you can choose to Edit or Remove.<br />
There is also a section to Add Attributes. Only attribute that have been associated with the particular file types can be selected from the drop down box.<br />
''Note: If you do not see 'Screen Saver For MD' in this box then you will need to Associate the attribute.''<br />
<br />
Select the attribute 'Screen Saver For MD' and enter or select the Attribute name value of '*'. Then press the Add button next to the box and your done.<br />
<br />
A quick reload router should be enough to ensure that files are refreshed from the database and you should start to see your selected picture as one of the screen saver files.<br />
<br />
==== Associate the attribute ====<br />
<br />
Unfortunately by default this attribute has not been associated with the picture media type. Perhaps a bug, who knows. Anyway, to associate it you will need to run the following piece of SQL to put the required association into the database.<br />
<br />
You will need to get to the command prompt of your CORE machine and from the command prompt (your default user should be fine) run:<br />
<br />
mysql -u root -D pluto_media -N -e "INSERT into MediaType_AttributeType(EK_MediaType, FK_AttributeType, Identifier, CombineAsOne) values(7,30,0,1)"<br />
<br />
Do a quick reload router and then the attribute should show up in the dropdown box under add attributes<br />
<br />
''Note: If someone knows a better way to do this or can see some adverse side effects please update''<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
There is functionality built into the system that allows an attribute to be set through a sequence of Command Messages sent to the right device. This is what the flickr.pl script uses to assign the downloaded files the right attributes.<br />
The commands can be executed from anything that can send linuxMCE messages (including the web admin screens) but this method will utilise the MessageSend utility available from the linux command line.<br />
<br />
You will need to firstly determine the full filename and path for the file you wish to set the attribute for.<br />
This method assumes that the file has already been sync'd with linuxMCE and exists in the data base.<br />
<br />
The first command queries the database for the file ID of a particular filename.<br />
<br />
The second command assigns an attribute type/value to the returned file ID<br />
<br />
* Logon to your linuxMCE CORE and get to the linux command prompt<br />
* execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 <pathtofile><br />
<br />
Substituting your full path to the file where is says <pathtofile><br />
<br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 /home/public/data/pictures/sample.jpg''<br />
<br />
You should get a response something like this:<br />
0:OK<br />
145:11392<br />
<br />
The number next to the '145:' is the important part. This is the fileID. If this is zero then your command has not found a match in the database and you may need to take other measures to ensure that the database is sync'd with your files.<br />
<br />
* Now execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 391 145 <fileID> 122 30 5 "*"<br />
<br />
Substituting the fileID that you just discovered where it says <fileID><br />
<br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 391 145 11392 122 30 5 "*"''<br />
<br />
* You can then repeat for any other files that you want to use<br />
<br />
''Note: Someone might like to write a user friendly script that simplifies this task''<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===<br />
<br />
Sounds like a good idea??? Unfortunately it is not currently possible, but I thought that this sounded like a logical thing to do so have put this placeholder in.<br />
<br />
Essentially, screens in the Orbiter have buttons that trigger message Command to be sent. So setting up a button in the Picture view screen "add to Screen Saver" should be quite straight forward.<br />
<br />
If you feel like getting involved maybe this is somewhere you can start.....</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6283Use my own pictures in the Screen Saver2007-10-04T12:11:35Z<p>DarrenMason: /* Setting an attribute from the command line */</p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
There is a section on the web admin screens that allow the setting of attributes for media.<br />
It is available under Files & Media -> Media Files Sync<br />
<br />
The left hand window frame gives a tree view into the directory structure of home/public/data.<br />
Typically photos will be stored under the pictures sub-directory.<br />
The right hand window frame gives a view of the files found and their status with relation to linuxMCE's database.<br />
<br />
Firstly determine the pictures you wish to use, and locate them using the directory browser.<br />
Then ensure that the files are ticked to indicate existing in both the database and on disk. If not then choose the type as 'LinuxMCE Pictures' and press the 'Add to database' button.<br />
<br />
Once they are added to the database you should be able to select them and see the details (metadata) associated with them.<br />
<br />
Part of the details include any currently set attributes for the file, which you can choose to Edit or Remove.<br />
There is also a section to Add Attributes. Only attribute that have been associated with the particular file types can be selected from the drop down box.<br />
''Note: If you do not see 'Screen Saver For MD' in this box then you will need to Associate the attribute.''<br />
<br />
Select the attribute 'Screen Saver For MD' and enter or select the Attribute name value of '*'. Then press the Add button next to the box and your done.<br />
<br />
A quick reload router should be enough to ensure that files are refreshed from the database and you should start to see your selected picture as one of the screen saver files.<br />
<br />
==== Associate the attribute ====<br />
<br />
Unfortunately by default this attribute has not been associated with the picture media type. Perhaps a bug, who knows. Anyway, to associate it you will need to run the following piece of SQL to put the required association into the database.<br />
<br />
You will need to get to the command prompt of your CORE machine and from the command prompt (your default user should be fine) run:<br />
<br />
mysql -u root -D pluto_media -N -e "INSERT into MediaType_AttributeType(EK_MediaType, FK_AttributeType, Identifier, CombineAsOne) values(7,30,0,1)"<br />
<br />
Do a quick reload router and then the attribute should show up in the dropdown box under add attributes<br />
<br />
''Note: If someone knows a better way to do this or can see some adverse side effects please update''<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
There is functionality built into the system that allows an attribute to be set through a sequence of Command Messages sent to the right device. This is what the flickr.pl script uses to assign the downloaded files the right attributes.<br />
The commands can be executed from anything that can send linuxMCE messages (including the web admin screens) but this method will utilise the MessageSend utility available from the linux command line.<br />
<br />
You will need to firstly determine the full filename and path for the file you wish to set the attribute for.<br />
This method assumes that the file has already been sync'd with linuxMCE and exists in the data base.<br />
<br />
The first command queries the database for the file ID of a particular filename.<br />
<br />
The second command assigns an attribute type/value to the returned file ID<br />
<br />
* Logon to your linuxMCE CORE and get to the linux command prompt<br />
* execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 <pathtofile><br />
<br />
Substituting your full path to the file where is says <pathtofile><br />
<br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 /home/public/data/pictures/sample.jpg''<br />
<br />
You should get a response something like this:<br />
0:OK<br />
145:11392<br />
<br />
The number next to the '145:' is the important part. This is the fileID. If this is zero then your command has not found a match in the database and you may need to take other measures to ensure that the database is sync'd with your files.<br />
<br />
* Now execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 391 145 <fileID> 122 30 5 "*"<br />
<br />
Substituting the fileID that you just discovered where it says <fileID><br />
<br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 391 145 11392 122 30 5 "*"''<br />
<br />
* You can then repeat for any other files that you want to use<br />
<br />
''Note: Someone might like to write a user friendly script that simplifies this task''<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6281Use my own pictures in the Screen Saver2007-10-04T12:05:38Z<p>DarrenMason: /* Setting an attribute from the command line */</p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
There is a section on the web admin screens that allow the setting of attributes for media.<br />
It is available under Files & Media -> Media Files Sync<br />
<br />
The left hand window frame gives a tree view into the directory structure of home/public/data.<br />
Typically photos will be stored under the pictures sub-directory.<br />
The right hand window frame gives a view of the files found and their status with relation to linuxMCE's database.<br />
<br />
Firstly determine the pictures you wish to use, and locate them using the directory browser.<br />
Then ensure that the files are ticked to indicate existing in both the database and on disk. If not then choose the type as 'LinuxMCE Pictures' and press the 'Add to database' button.<br />
<br />
Once they are added to the database you should be able to select them and see the details (metadata) associated with them.<br />
<br />
Part of the details include any currently set attributes for the file, which you can choose to Edit or Remove.<br />
There is also a section to Add Attributes. Only attribute that have been associated with the particular file types can be selected from the drop down box.<br />
''Note: If you do not see 'Screen Saver For MD' in this box then you will need to Associate the attribute.''<br />
<br />
Select the attribute 'Screen Saver For MD' and enter or select the Attribute name value of '*'. Then press the Add button next to the box and your done.<br />
<br />
A quick reload router should be enough to ensure that files are refreshed from the database and you should start to see your selected picture as one of the screen saver files.<br />
<br />
==== Associate the attribute ====<br />
<br />
Unfortunately by default this attribute has not been associated with the picture media type. Perhaps a bug, who knows. Anyway, to associate it you will need to run the following piece of SQL to put the required association into the database.<br />
<br />
You will need to get to the command prompt of your CORE machine and from the command prompt (your default user should be fine) run:<br />
<br />
mysql -u root -D pluto_media -N -e "INSERT into MediaType_AttributeType(EK_MediaType, FK_AttributeType, Identifier, CombineAsOne) values(7,30,0,1)"<br />
<br />
Do a quick reload router and then the attribute should show up in the dropdown box under add attributes<br />
<br />
''Note: If someone knows a better way to do this or can see some adverse side effects please update''<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
There is functionality built into the system that allows an attribute to be set through a sequence of Command Messages sent to the right device. This is what the flickr.pl script uses to assign the downloaded files the right attributes.<br />
The commands can be executed from anything that can send linuxMCE messages (including the web admin screens) but this method will utilise the MessageSend utility available from the linux command line.<br />
<br />
You will need to firstly determine the full filename and path for the file you wish to set the attribute for.<br />
This method assumes that the file has already been sync'd with linuxMCE and exists in the data base.<br />
<br />
The first command queries the database for the file ID of a particular filename.<br />
<br />
The second command assigns an attribute type/value to the returned file ID<br />
<br />
* Logon to your linuxMCE CORE and get to the linux command prompt<br />
* execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 <pathtofile><br />
<br />
Substituting your full path to the file where is says <pathtofile><br />
<br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 /home/public/data/pictures/sample.jpg''<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6280Use my own pictures in the Screen Saver2007-10-04T12:05:08Z<p>DarrenMason: </p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
There is a section on the web admin screens that allow the setting of attributes for media.<br />
It is available under Files & Media -> Media Files Sync<br />
<br />
The left hand window frame gives a tree view into the directory structure of home/public/data.<br />
Typically photos will be stored under the pictures sub-directory.<br />
The right hand window frame gives a view of the files found and their status with relation to linuxMCE's database.<br />
<br />
Firstly determine the pictures you wish to use, and locate them using the directory browser.<br />
Then ensure that the files are ticked to indicate existing in both the database and on disk. If not then choose the type as 'LinuxMCE Pictures' and press the 'Add to database' button.<br />
<br />
Once they are added to the database you should be able to select them and see the details (metadata) associated with them.<br />
<br />
Part of the details include any currently set attributes for the file, which you can choose to Edit or Remove.<br />
There is also a section to Add Attributes. Only attribute that have been associated with the particular file types can be selected from the drop down box.<br />
''Note: If you do not see 'Screen Saver For MD' in this box then you will need to Associate the attribute.''<br />
<br />
Select the attribute 'Screen Saver For MD' and enter or select the Attribute name value of '*'. Then press the Add button next to the box and your done.<br />
<br />
A quick reload router should be enough to ensure that files are refreshed from the database and you should start to see your selected picture as one of the screen saver files.<br />
<br />
==== Associate the attribute ====<br />
<br />
Unfortunately by default this attribute has not been associated with the picture media type. Perhaps a bug, who knows. Anyway, to associate it you will need to run the following piece of SQL to put the required association into the database.<br />
<br />
You will need to get to the command prompt of your CORE machine and from the command prompt (your default user should be fine) run:<br />
<br />
mysql -u root -D pluto_media -N -e "INSERT into MediaType_AttributeType(EK_MediaType, FK_AttributeType, Identifier, CombineAsOne) values(7,30,0,1)"<br />
<br />
Do a quick reload router and then the attribute should show up in the dropdown box under add attributes<br />
<br />
''Note: If someone knows a better way to do this or can see some adverse side effects please update''<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
There is functionality built into the system that allows an attribute to be set through a sequence of Command Messages sent to the right device. This is what the flickr.pl script uses to assign the downloaded files the right attributes.<br />
The commands can be executed from anything that can send linuxMCE messages (including the web admin screens) but this method will utilise the MessageSend utility available from the linux command line.<br />
<br />
You will need to firstly determine the full filename and path for the file you wish to set the attribute for.<br />
This method assumes that the file has already been sync'd with linuxMCE and exists in the data base.<br />
<br />
The first command queries the database for the file ID of a particular filename.<br />
<br />
The second command assigns an attribute type/value to the returned file ID<br />
<br />
* Logon to your linuxMCE CORE and get to the linux command prompt<br />
* execute the following command<br />
/usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 <pathtofile><br />
Substituting your full path to the file where is says <pathtofile><br />
''eg: /usr/pluto/bin/MessageSend dcerouter -targetType template -r -o 0 2 1 819 13 /home/public/data/pictures/sample.jpg''<br />
<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6279Use my own pictures in the Screen Saver2007-10-04T11:41:22Z<p>DarrenMason: </p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
There is a section on the web admin screens that allow the setting of attributes for media.<br />
It is available under Files & Media -> Media Files Sync<br />
<br />
The left hand window frame gives a tree view into the directory structure of home/public/data.<br />
Typically photos will be stored under the pictures sub-directory.<br />
The right hand window frame gives a view of the files found and their status with relation to linuxMCE's database.<br />
<br />
Firstly determine the pictures you wish to use, and locate them using the directory browser.<br />
Then ensure that the files are ticked to indicate existing in both the database and on disk. If not then choose the type as 'LinuxMCE Pictures' and press the 'Add to database' button.<br />
<br />
Once they are added to the database you should be able to select them and see the details (metadata) associated with them.<br />
<br />
Part of the details include any currently set attributes for the file, which you can choose to Edit or Remove.<br />
There is also a section to Add Attributes. Only attribute that have been associated with the particular file types can be selected from the drop down box.<br />
''Note: If you do not see 'Screen Saver For MD' in this box then you will need to Associate the attribute.''<br />
<br />
Select the attribute 'Screen Saver For MD' and enter or select the Attribute name value of '*'. Then press the Add button next to the box and your done.<br />
<br />
A quick reload router should be enough to ensure that files are refreshed from the database and you should start to see your selected picture as one of the screen saver files.<br />
<br />
==== Associate the attribute ====<br />
<br />
Unfortunately by default this attribute has not been associated with the picture media type. Perhaps a bug, who knows. Anyway, to associate it you will need to run the following piece of SQL to put the required association into the database.<br />
<br />
You will need to get to the command prompt of your CORE machine and from the command prompt (your default user should be fine) run:<br />
<br />
mysql -u root -D pluto_media -N -e "INSERT into MediaType_AttributeType(EK_MediaType, FK_AttributeType, Identifier, CombineAsOne) values(7,30,0,1)"<br />
<br />
Do a quick reload router and then the attribute should show up in the dropdown box under add attributes<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6278Use my own pictures in the Screen Saver2007-10-04T11:37:02Z<p>DarrenMason: /* Associate the attribute */</p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
There is a section on the web admin screens that allow the setting of attributes for media.<br />
It is available under Files & Media -> Media Files Sync<br />
<br />
The left hand window frame gives a tree view into the directory structure of home/public/data.<br />
Typically photos will be stored under the pictures sub-directory.<br />
The right hand window frame gives a view of the files found and their status with relation to linuxMCE's database.<br />
<br />
Firstly determine the pictures you wish to use, and locate them using the directory browser.<br />
Then ensure that the files are ticked to indicate existing in both the database and on disk. If not then choose the type as 'LinuxMCE Pictures' and press the 'Add to database' button.<br />
<br />
Once they are added to the database you should be able to select them and see the details (metadata) associated with them.<br />
<br />
Part of the details include any currently set attributes for the file, which you can choose to Edit or Remove.<br />
There is also a section to Add Attributes. Only attribute that have been associated with the particular file types can be selected from the drop down box.<br />
''Note: If you do not see 'Screen Saver For MD' in this box then you will need to Associate the attribute.''<br />
<br />
Select the attribute 'Screen Saver For MD' and enter or select the Attribute name value of '*'. Then press the Add button next to the box and your done.<br />
<br />
A quick reload router should be enough to ensure that files are refreshed from the database and you should start to see your selected picture as one of the screen saver files.<br />
<br />
==== Associate the attribute ====<br />
<br />
Unfortunately by default this attribute has not been associated with the picture media type. Perhaps a bug, who knows. Anyway, to associate it you will need to run the following piece of SQL to put the required association into the database.<br />
<br />
mysql -u root -D pluto_media -N -e "INSERT into MediaType_AttributeType(EK_MediaType, FK_AttributeType, Identifier, CombineAsOne) values(7,30,0,1)"<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6277Use my own pictures in the Screen Saver2007-10-04T11:19:24Z<p>DarrenMason: </p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
There is a section on the web admin screens that allow the setting of attributes for media.<br />
It is available under Files & Media -> Media Files Sync<br />
<br />
The left hand window frame gives a tree view into the directory structure of home/public/data.<br />
Typically photos will be stored under the pictures sub-directory.<br />
The right hand window frame gives a view of the files found and their status with relation to linuxMCE's database.<br />
<br />
Firstly determine the pictures you wish to use, and locate them using the directory browser.<br />
Then ensure that the files are ticked to indicate existing in both the database and on disk. If not then choose the type as 'LinuxMCE Pictures' and press the 'Add to database' button.<br />
<br />
Once they are added to the database you should be able to select them and see the details (metadata) associated with them.<br />
<br />
Part of the details include any currently set attributes for the file, which you can choose to Edit or Remove.<br />
There is also a section to Add Attributes. Only attribute that have been associated with the particular file types can be selected from the drop down box.<br />
''Note: If you do not see 'Screen Saver For MD' in this box then you will need to Associate the attribute.''<br />
<br />
Select the attribute 'Screen Saver For MD' and enter or select the Attribute name value of '*'. Then press the Add button next to the box and your done.<br />
<br />
A quick reload router should be enough to ensure that files are refreshed from the database and you should start to see your selected picture as one of the screen saver files.<br />
<br />
==== Associate the attribute ====<br />
<br />
Unfortunately by default this attribute has not been associated with the picture media type. Perhaps a bug, who knows. Anyway, to associate it you will need to run the following piece of SQL to put the required association into the database.<br />
<br />
<br />
<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6276Use my own pictures in the Screen Saver2007-10-04T11:02:23Z<p>DarrenMason: </p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
=== Background ===<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6275Use my own pictures in the Screen Saver2007-10-04T11:01:44Z<p>DarrenMason: </p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
== Background ==<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the "Screen Saver For MD" attribute set.<br />
<br />
There are a number of ways to set this attribute for individual files. They are;<br />
* Setting an attribute from the web admin screens<br />
* Setting an attribute from the command line<br />
* Assigning a picture to the screen saver from the Orbiter<br />
<br />
<br />
=== Setting an attribute from the web admin screens ===<br />
<br />
<br />
=== Setting an attribute from the command line ===<br />
<br />
<br />
=== Assigning a picture to the screen saver from the Orbiter ===</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Use_my_own_pictures_in_the_Screen_Saver&diff=6274Use my own pictures in the Screen Saver2007-10-04T10:53:37Z<p>DarrenMason: </p>
<hr />
<div>The photo screen saver does a great job and ensures that media is displayed all the time, even if you just happen to be listening to music.<br />
By default, the photos come from flickr and are downloaded regularly to your local drives.<br />
<br />
But it would be nice to use your own photos in this screen saver, perhaps alongside the flickr ones or perhaps as a replacement.<br />
<br />
This is a guide to do just that...<br />
<br />
<br />
== Background ==<br />
All media on your linuxMCE system is catalogued and stored in a database. The database allows for attributes to be stored for each media file.<br />
One such attribute is "Screen Saver For MD". By setting this attribute this picture will be used as one of the pictures for the Media Director Screen Saver.<br />
Photos are selected by random from all the photos that exist with the attribute set.</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Manual&diff=6273Manual2007-10-04T10:05:54Z<p>DarrenMason: </p>
<hr />
<div><p>LinuxMCE is a single solution that consists of several pieces, and each has its own User's Manual.</p><br />
<p>To get started you will want to read the documentation on [[Getting Started]]</p><br />
<p>You then control and use your LinuxMCE system with Orbiters. Orbiters is just our way of saying "remote control". Every media director has an on-screen Orbiter that you can use to control the system with your TV. But you can also run the same Orbiters on touch-screen panels. See the [[Orbiter]]</p><br />
<p>LinuxMCE is a modular system and you can add all sorts of plug-ins to do various tasks. You will set these up using the LinuxMCE Admin web site, and on each page there is a help button that will take you directly to the documentation for that plug-in. You can also browse the online [[LinuxMCE Home Software]] to see the User's Manuals for all the plugins.</p><br />
<p>If you have any questions you can visit our forums by clicking on Support / Forums, or request live assistance by choosing Live Support.</p><br />
<br />
==User's Manual Sections==<br />
*[[Security & Privacy Issues]]<br />
*[[What can I do with LinuxMCE?]]<br />
**[[Control LinuxMCE using a Windows device as an Orbiter]]<br />
**[[Control LinuxMCE using a Symbian Series 60 mobile phone with Bl]]<br />
**[[Control LinuxMCE using other types of mobile phones]]<br />
**[[Control LinuxMCE using an Infrared remote]]<br />
**[[Add support for new remote controls]]<br />
**[[Automatic diskless boot of media directors]]<br />
**[[Change the look and feel of the Orbiter]]<br />
**[[Create my own skins or GUI for LinuxMCE]]<br />
**[[Translate the GUI into another language]]<br />
**[[Use network audio players for a whole-house music solution]]<br />
**[[Control a TV or cable/satellite box]]<br />
**[[Watch a DVD/Listen to a CD]]<br />
**[[Have LinuxMCE automatically control the TV and Stereo]]<br />
**[[Rip a CD/DVD to the Core]]<br />
**[[Watch/Listen to media stored on the Core]]<br />
**[[Play the same media in multiple rooms simultaneously]]<br />
**[[Search for media by attributes using the Orbiters]]<br />
**[[Flag media stored on the core as private]]<br />
**[[Flag whatever media I am watching now as private]]<br />
**[[Catalog media with attributes]]<br />
**[[Control regular A/V equipment]]<br />
**[[Control A/V equipment with RS232/USB/Ethernet]]<br />
**[[Make LinuxMCE do something when I start media]]<br />
**[[Have my media follow me]]<br />
**[[Make announcements]]<br />
**[[Control the media director's volume using either a receiver]]<br />
**[[Use a satellite/cable box with the PVR]]<br />
**[[Use my own pictures in the Screen Saver]]<br />
*[[What modules are in development?]]<br />
**[[Control lights/climate using scenarios]]<br />
**[[Control lights or climate with a floorplan]]<br />
**[[Make things happen at set times or intervals]]<br />
**[[Make things happen when I enter a room]]<br />
**[[Have my lighting or climate settings follow me]]<br />
**[[Make things happen at sunrise/sunset]]<br />
**[[Have external devices control LinuxMCE]]<br />
**[[Monitor surveillance cameras]]<br />
**[[Arm or disarm the alarm using the Orbiters]]<br />
**[[Automatically take pictures when sensors are disturbed]]<br />
**[[Have LinuxMCE notify me of security alerts]]<br />
<br />
[[Category:Documentation]]</div>DarrenMasonhttp://wiki.linuxmce.org/index.php?title=Talk:Innovatek_TM-868&diff=5476Talk:Innovatek TM-8682007-09-17T04:52:49Z<p>DarrenMason: </p>
<hr />
<div>I am interested in getting something like this working as part of a dual display option.<br />
ie: Obiter displays on the touchscreen but all Media is on the TV/Monitor<br />
Anyone tried anything like that?</div>DarrenMason