“Once more Coherence demonstrates hereby its innovative and forward-looking orientation and emphasizes being the number one DLNA/UPnP framework of the world!” says Frank Scholz, lead-developer of Coherence. “We hope that others will follow our example and throw overboard their frumpishness.”
Independent experts assert that the energy consumption for displaying this image of an energy-saving light bulb is less than 20% compared to an incandescent bulb. And that this image will last at least five times longer too.
European energy commissioner Andris Pielbalgs delightedly expresses: “Even such a small appearing change can make a big difference!”
Germanys ex-chancellor Helmut Kohl said “This is an excellent example for the innovative strength of Germany and Europe, and I encourage the current legislation to use energy-saving light bulbs for illumination of the data-highways too.”
The last year has seen an increasing number of DLNA/UPnP devices reach the market - TVs, Gaming Consoles, Audio Players, Amplifiers, Cell Phones,...
DLNA is everywhere; now more than ever open software is needed to bring all these devices together!
Coherence has been successfully registered for the French "Trophees du Libre" (Free Software Awards) contest - cross your fingers pls ;o)
A new Youtube backend, opening the door to new online-content.
Comparing January 2008 & January 2009, the number of unique visitors to the Coherence website has increased three fold, now reaching over 6000 per month.
All your contributions bring more and more innovation in the DLNA/UPNP world and help making Coherence a great project.
Thanks all of you for using, participating in and promoting Coherence!
More online and social content providers!
The Flickr MediaServer was only the beginning. With more backends that retrieve their media via some RSS feed or an API provided by an service like You-Tube or GoogleVideo, Coherence will more and more evolve into a media-hub. A media-gateway that does provide a central place to go for accessing digital media of different origins and types, via an unified and standardized form. And still leaving the choice to you which device or application to use for that.
Applications!
With the new Eye of Gnome plugin one of the last UPnP jigsaw piece for the Gnome desktop has found its place. After the RhythmBox plugin for audio, the Totem plugin for audio and video, images served via UPnP can now be accessed via the Eye of Gnome image viewer. And with Nautilus on the other side there is an easy way to instantly share media or interact with other UPnP devices.
The last puzzle piece is enabling Nautilus to browse UPnP A/V MediaServers in its native way. I'm confident that this is a solvable, short-term task.
Wouldn't it be amazing if other environments would be able to benefit from the work done there too.
And there a more things to come.
In the pipeline for the next releases there are amongst others:
Yeah, you read right, transcoding - the holy grail when it comes to DLNA and UPnP A/V - is finally within Coherence's reach.
With current svn trunk we have a simple, yet powerful audio transcoder based on GStreamer, enabling our FSStore MediaServer to serve ogg, mp4 and flac media files to devices not able to playback these formats natively, like the Playstation 3.
The transcoded stream can be paused, but not seeked yet. That needs a bit of more work.
The complementary remuxer/transcoder for video is in the works too, hope we are able to finish that for the upcoming 0.6.0 release.
One of the things I had on my list - unfortunately that list is quite long atm - was bringing Nautilus - Gnomes filemanager - and Coherence together.
Nautilus has the possibility to add something via an extension - luckily these extensions can be in Python too.
So it was pretty straight forward to add to Nautilus:
sharing one or more folders as a DLNA/UPnP MediaServer, allowing clients like the PS3 or the Nokia N810 to access these files
accepting files send from an ControlPoint
uploading files itself to other DLNA/UPnP MediaServers that allow media to be imported
instruct a MediaRenderer to playback a given file
You can watch the demonstration video here:
More details, download and install instructions as usual on the Coherence site.
As you might notice, there is one part missing - having Nautilus display and access the content of other MediaServers in the network.
This can’t be done with an extension, here the gvfs backend needs to be modified. But as Coherence exposes the MediaServers via DBus, a small layer mapping Nautilus’ requests to Coherence’ signals and methods shouldn’t be that difficult?
Although there aren’t yet much application areas for this specification outside of maybe some futuristic showrooms and research laboratories - and here at my place with my little UPnP <-> EIB bridge - but that specification addresses one of the biggest obstacles when it comes to home-automation.
The need to know/to program the unique id of a new device you bring into your household and to establish the connection between a switch and that device, is in all serious automation systems diametrically opposed to the wish of the ordinary customer who just wants to buy a new lamp, plug it in and have it working.
Newer systems like digitalstrom or ZigBee take that (partially) into account, but here too UPnP has the potential to model a unified layer above the system and vendor specific peculiarities.
And having that in Coherence is a nice demonstration of the simplicity implementing a device with it anyway.
classSimpleLight(Backend):""" this is a backend for a simple light that only can be switched on or off therefore we need to inform Coherence about the state, and a method to change it everything else is done by Coherence """implements=['BinaryLight']logCategory='simple_light'def__init__(self,server,**kwargs):self.name=kwargs.get('name','SimpleLight')self.server=serverself.state=0# we start switched offlouie.send('Coherence.UPnP.Backend.init_completed',None,backend=self)defupnp_init(self):ifself.server:self.server.switch_power_server.set_variable(0,'Target',self.state)self.server.switch_power_server.set_variable(0,'Status',self.state)defupnp_SetTarget(self,**kwargs):self.info('upnp_SetTarget %r',kwargs)self.state=int(kwargs['NewTargetValue'])ifself.server:self.server.switch_power_server.set_variable(0,'Target',self.state)self.server.switch_power_server.set_variable(0,'Status',self.state)print"we have been switched to state",self.statereturn{}
Yep, that’s all. :-)
From the three UPnP actions the SwitchPower service defines,
only one is actually needed to implement, the other two actions can be handled by Coherence autonomously.
This is on the one hand an interim release to get into the
distributions an updated package providing support for new
features used by the upcoming versions of Rhythmbox and Elisa.
On the other hand there are some enhancements that are of
general interest too:
rework of the XBox 360 support
refinements and improvements on the client side API,
incorporating things we learned on extending
the Rhythmbox UPnP plugin
some efforts on smoothing the "just use it as
a MediaServer/-Renderer" user experience
rearrangements in the way multiple res elements are ordered,
fixes issues which we had with some UPnP stacks
and their 'wayward' interpretation of the specs
Now they have added a video demonstrating its use within a home network.
Nothing new actually in regards to the UPnP functionality - the phone acts as a MediaServer and a ControlPoint - but the video shows more than any 1000 marketing words what media sharing interoperability does mean.