View Single Post
Copernicus's Avatar
Posts: 1,986 | Thanked: 7,698 times | Joined on Dec 2010 @ Dayton, Ohio
#74
Hi folks! Version 0.9.5 of Fettuccine is now working its way into the Extras-Devel repository. This iteration doesn't yet fix all the problems in 0.9.4, but I think it's enough of an improvement to go ahead and push it up.

First up, display of MJpeg streams at full speed is now supported (and some webcams stream pretty dang fast). The previous two options are still supported as well; but in order to accomplish this, I've once again changed the XML syntax. The three options are now defined as "MJpeg_Full" for full speed, "MJpeg_Sampled" to pull an individual frame out at a specified refresh rate, and "MJpeg_Looped" to pull a sequence of frames out and loop through them. An example of these three options:

Code:
 <webcam
  link="http://208.108.146.134/mjpg/video.mjpg"
  webcamType="MJpeg_Full"
  homepage="http://en.wikipedia.org/wiki/Painesville,_Ohio">
  <name>Painesville, Ohio</name>
 </webcam>

 <webcam
  link="http://76.10.86.11/mjpg/video.mjpg?camera=1"
  webcamType="MJpeg_Sampled"
  homepage="http://76.10.86.11"
  refreshRate="1">
  <name>Devils Lake, North Dakota</name>
 </webcam>

 <webcam
  link="http://216.8.159.21/mjpg/video.mjpg"
  webcamType="MJpeg_Looped"
  maxImages="10"
  slideshowDelay="1"
  homepage="http://216.8.159.21"
  refreshRate="30">
  <name>Detroit - Windsor Tunnel</name>
 </webcam>
The "refreshRate" is omitted for "MJpeg_Full" (as, obviously, the display is refreshed as fast as the data comes in). For the other two webcam types, the various options are still the same as in my previous post.

Unfortunately, this syntax isn't backwards-compatible with last week's XML, so you'll need to rewrite any scripts using the old "MJpeg" webcam type to get them to work.

I have also implemented a pause & resume function; if you bring up the on-screen controls, you'll now see a pause icon. You should be able to hit that to pause the data retrieval, and then hit it again to resume retrieving data from the webcam. I'm fairly certain that it works correctly in all situations, but please tell me if you have any problems with it. I'll attach some screenshots at the end of this post.

I've tried to make Fettuccine a little better at handling network outages, but this is still going to take more work...

And yeah, the Fettuccine widget is not saving state information across a reboot (or across anything else). My hangup with that right now is that I don't know how to uniquely identify instances of the widget; if you have two or three of them running on your desktop, how do you know which one should have which size (or display which webcam)? I could just give them index numbers in the order they were created, but will they be created in the same order after a reboot? I could identify them by their location on the desktop, but I'm not sure where that data exists (or if it is visible to the app), and that would also require keeping track of when the user moves them... I guess I need to do more research.
Attached Images
  
 

The Following User Says Thank You to Copernicus For This Useful Post: