2009-02-23 19:54  dev

	* coherence/backends/axiscam_storage.py,
	  coherence/backends/swr3_storage.py: some minor adjustments

2009-02-23 19:52  dev

	* coherence/backends/youtube_storage.py,
	  coherence/extern/youtubedl/youtubedl.py,
	  coherence/upnp/core/utils.py: * some last-minute YouTube related
	  fixes, where we had GET instead of HEAD requests :-/
	  * changing prints to log-output

2009-02-19 21:06  jmsizun

	* coherence/backends/miro_storage.py: MiroGuide: added new
	  directories (Top Rated, Most Popular, Recent Videos)

2009-02-18 23:44  jmsizun

	* coherence/backends/miro_storage.py,
	  coherence/backends/youtube_storage.py: connect Miro backend to
	  correct proxy class

2009-02-18 21:34  jmsizun

	* coherence/backends/miro_storage.py,
	  coherence/backends/youtube_storage.py: LazyContainer/MiroGuide:
	  allow retrieving full listings instead of only first page

2009-02-18 19:28  jmsizun

	* coherence/backends/miro_storage.py,
	  coherence/backends/youtube_storage.py: Removed children classes
	  from LazyContainer

2009-02-17 23:12  jmsizun

	* coherence/backends/miro_storage.py: MiroGuide: correctly retrieve
	  list of channels for categories with space and other special
	  characters

2009-02-17 14:27  dev

	* coherence/backends/youtube_storage.py,
	  coherence/upnp/core/utils.py, docs/coherence.conf.example: * more
	  cleanups, seems to work now in 'buffer' mode with Totem and the
	  PS3
	  * there are probably still some unnecessary code pieces in there,
	  need to get rid of them in the next step

2009-02-16 21:36  dev

	* coherence/backends/youtube_storage.py,
	  coherence/upnp/core/utils.py: some more cleanups

2009-02-16 20:30  dev

	* coherence/backends/youtube_storage.py,
	  coherence/upnp/core/utils.py: cleaning up things a bit

2009-02-16 17:35  dev

	* MANIFEST.in, setup.py: and the corresponding changes in the
	  setup/dist related files, re #190

2009-02-16 17:31  dev

	* coherence/upnp/devices/media_server.py, misc/Desktop Applet,
	  misc/Desktop-Applet, misc/EOG Plugin, misc/EOG-Plugin,
	  misc/Rhythmbox Plugin, misc/Rhythmbox-Plugin, misc/Totem Plugin,
	  misc/Totem-Plugin, misc/device icons, misc/device-icons: replace
	  'space' characters in folder names with dashes, addresses #190

2009-02-15 14:29  dev

	* coherence/backends/youtube_storage.py: making the YouTubeStore a
	  bit more XBox friendly

2009-02-15 11:57  dev

	* coherence/backends/youtube_storage.py,
	  coherence/upnp/core/utils.py: rework of the YouTube
	  VideoProxyItem, now works with the PS3 but we seem to have some
	  severe memory leakage

2009-02-14 12:04  dev

	* coherence/backends/itv_storage.py: fixing some UPnP related
	  lapses

2009-02-13 23:25  jmsizun

	* coherence/backends/youtube_storage.py: Corrected cache purge
	  method (took most recent files first)

2009-02-13 23:24  jmsizun

	* coherence/backends/youtube_storage.py: Youtube entries: Add mp4
	  extension to URL

2009-02-13 22:58  jmsizun

	* Coherence.egg-info/entry_points.txt,
	  coherence/backends/itv_storage.py, setup.py: Added new backend
	  (ITVStore) to stream Shoutcast TV

2009-02-13 22:57  jmsizun

	* coherence/upnp/core/DIDLLite.py: Corrected syntax for AudioItem
	  parameter

2009-02-13 20:44  dev

	* coherence/backends/miro_storage.py: minor fix

2009-02-13 20:40  dev

	* Coherence.egg-info/entry_points.txt, setup.py: putting the
	  MiroStore entrypoint at the right place

2009-02-13 20:35  dev

	* setup.py: fixing not-having-setuptools, this time hopefully for
	  real

2009-02-13 17:40  jmsizun

	* Coherence.egg-info/entry_points.txt: removed erroneous "w"
	  character

2009-02-12 22:18  jmsizun

	* Coherence.egg-info/entry_points.txt,
	  coherence/backends/miro_storage.py: New media backend: MIRO Guide
	  Catalog for on-line videos

2009-02-12 22:16  jmsizun

	* coherence/backends/youtube_storage.py: minor corrections to Proxy
	  class

2009-02-12 22:14  jmsizun

	* coherence/backend.py: small syntax correction in commentary
	  message

2009-02-10 23:36  jmsizun

	* coherence/backends/youtube_storage.py: Added new option
	  "standard_feeds" to show/hide standard feeds

2009-02-10 23:30  jmsizun

	* coherence/upnp/core/utils.py: Avoid error in Windows as iface is
	  actually a dict object

2009-02-10 23:28  jmsizun

	* coherence/upnp/core/utils.py: postpone seek beyond current size
	  of the buffer file

2009-02-10 19:02  jmsizun

	* coherence/upnp/core/utils.py: Oups: missing class again (edited
	  directly in Twisted)

2009-02-10 17:34  dev

	* coherence/backends/fs_storage.py: more debug output to catch
	  issues during folder walk

2009-02-10 07:27  jmsizun

	* coherence/upnp/core/utils.py: Missing file for "youtube proxy:
	  manage file download to cache & buffering"

2009-02-09 21:18  jmsizun

	* coherence/backends/youtube_storage.py: youtube proxy: manage file
	  download to cache & buffering

2009-02-09 20:30  dev

	* coherence/backends/fs_storage.py: cushion the non-existence of
	  ctypes

2009-02-06 10:48  dev

	* coherence/upnp/core/action.py: be sure our InstanceID is an int

2009-02-05 16:05  dev

	* coherence/transcoder.py, coherence/upnp/devices/media_server.py:
	  a little more of logging

2009-02-05 16:04  dev

	* coherence/upnp/core/device.py: prepare device icons for the
	  inspector

2009-02-03 18:21  jmsizun

	* coherence/backends/youtube_storage.py: Added param "proxy-mode":
	  foreseen values are redirect, cache, buffered-cache, ...

2009-02-02 23:59  jmsizun

	* coherence/backends/youtube_storage.py: Moved Youtube specific
	  code (extraction of video from web page) out of Proxy class (to
	  get a generic Proxy class)

2009-02-02 10:16  dev

	* coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/core/soap_service.py: treat the Philips-TV a
	  little bit different

2009-02-02 00:11  jmsizun

	* coherence/backends/youtube_storage.py,
	  coherence/extern/youtubedl/youtubedl.py: Youtube: added support
	  for HD video + merged youtube-dl version 09.01.31

2009-01-31 13:58  dev

	* coherence/backends/mediadb_storage.py: return path as utf-8

2009-01-31 12:35  dev

	* coherence/backends/mediadb_storage.py: appending the extension to
	  the url

2009-01-31 12:34  dev

	* coherence/upnp/core/DIDLLite.py: removing duplicate element and
	  fixing DLNA flags bug

2009-01-31 12:27  dev

	* coherence/transcoder.py: don't just stop without a reason

2009-01-31 11:03  dev

	* coherence/upnp/core/device.py,
	  coherence/upnp/devices/media_server.py: more url related
	  corrections

2009-01-30 23:30  jmsizun

	* coherence/backends/youtube_storage.py: Youtube: added support for
	  playlists, subscriptions and localisation of standard feeds.

2009-01-30 22:29  jmsizun

	* coherence/upnp/devices/media_server.py: small protection when an
	  item children list is None

2009-01-30 21:43  dev

	* coherence/upnp/core/device.py, coherence/upnp/core/service.py,
	  coherence/upnp/devices/basics.py,
	  coherence/upnp/devices/media_server.py: cleaning up some url
	  issues

2009-01-30 20:06  dev

	* coherence/backends/fs_storage.py: fixing reaction upon inotify
	  re-/moves

2009-01-30 20:05  dev

	* coherence/extern/inotify.py: just for convenience

2009-01-30 20:03  dev

	* bin/coherence: ignore any config file when called with the new
	  '--noconfig' option

2009-01-29 20:44  dev

	* coherence/backends/flickr_storage.py: adding a 'limit' option for
	  images per folder, 100 is the default

2009-01-29 16:52  dev

	* coherence/backends/ampache_storage.py: fixing cut 'n paste error,
	  new try

2009-01-28 21:55  dev

	* coherence/extern/youtubedl/__init__.py,
	  coherence/extern/youtubedl/youtubedl.py: missing files

2009-01-28 21:29  dev

	* coherence/backends/ampache_storage.py: using the proper element
	  attribute

2009-01-28 09:16  dev

	* coherence/backends/youtube_storage.py: fix for empty containers

2009-01-28 09:16  dev

	* coherence/backends/fs_storage.py: warn about having a
	  non-existent content path

2009-01-25 18:13  dev

	* coherence/backends/ampache_storage.py: get the mimetype from
	  ampache when provided

2009-01-25 17:23  dev

	* misc/device icons/youtube-icon.png: a device-icon for the new
	  YouTube backend

2009-01-25 15:38  dev

	* coherence/backends/ampache_storage.py: try a bit harder for the
	  proper mimetype

2009-01-25 12:39  dev

	* coherence/upnp/core/DIDLLite.py: let's remove the irritating DLNA
	  tags for 'video/*'

2009-01-25 11:37  dev

	* coherence/backends/youtube_storage.py: do the YouTube redirect
	  retrieval now on our side and cache the final location

2009-01-25 11:34  dev

	* coherence/transcoder.py: make the lpcm transcoder read from an
	  http uri to

2009-01-24 22:06  dev

	* coherence/backends/youtube_storage.py: 'userid' or 'login' - we
	  need to find a consistent language

2009-01-24 21:21  dev

	* coherence/backends/youtube_storage.py: one more typo

2009-01-24 20:30  dev

	* coherence/backends/youtube_storage.py: typo fix

2009-01-24 18:38  dev

	* coherence/backends/youtube_storage.py: proper
	  'we-have-a-user-login' detection

2009-01-24 16:23  dev

	* Coherence.egg-info/entry_points.txt,
	  coherence/backends/youtube_storage.py,
	  coherence/extern/youtubedl, coherence/upnp/core/utils.py,
	  setup.py: a modified version of [ticket:173 jmsizuns YouTube
	  backend], only partial working atm
	  
	  needs a current version of
	  [http://code.google.com/p/gdata-python-client Google Data APIs
	  Python Client Library]

2009-01-24 16:18  dev

	* coherence/upnp/core/msearch.py, coherence/upnp/core/ssdp.py:
	  something for the Inspector

2009-01-24 16:18  dev

	* coherence/base.py: precaution

2009-01-24 16:16  dev

	* bin/coherence, misc/Desktop Applet/applet-coherence: fix
	  regarding distutils/setuptools

2009-01-23 17:29  dev

	* bin/coherence, coherence/base.py, misc/Desktop
	  Applet/applet-coherence, setup.py: enable installation without
	  setuptools again

2009-01-23 13:26  dev

	* coherence/backends/axiscam_storage.py: bug-fix - thx tororo

2009-01-22 13:41  dev

	* coherence/backend.py, coherence/backends/swr3_storage.py: updated
	  version of the SWR3Store

2009-01-22 11:43  dev

	* coherence/base.py: a stupid one

2009-01-22 10:08  dev

	* bin/coherence, coherence/base.py,
	  coherence/extern/simple_config.py: solving improper placement of
	  logging related options in the new XMLConfig

2009-01-21 18:12  dev

	* coherence/upnp/core/DIDLLite.py: of course _only_ for containers

2009-01-21 18:09  dev

	* coherence/backends/lolcats_storage.py: fixing id extraction when
	  called from the XBox

2009-01-21 16:17  dev

	* Coherence.egg-info/requires.txt, setup.py: adding Twisted to the
	  dependencies in setup.py, it will be now downloaded automatically
	  from pypi.python.org

2009-01-21 16:12  dev

	* coherence/upnp/devices/basics.py,
	  coherence/upnp/services/servers/media_receiver_registrar_server.py:
	  hiding the MediaReceiverRegistrar a bit more

2009-01-21 16:11  dev

	* coherence/upnp/core/DIDLLite.py: this does look better

2009-01-18 13:16  dev

	* coherence/upnp/core/DIDLLite.py: and again

2009-01-18 12:44  dev

	* coherence/upnp/core/DIDLLite.py: and again one for the XBox

2009-01-18 12:36  dev

	* coherence/backends/fs_storage.py: once more the wmc-hints

2009-01-18 12:19  dev

	* coherence/upnp/core/DIDLLite.py: more XBox adjustments

2009-01-18 12:07  dev

	* coherence/backends/flickr_storage.py: adjusting wrong wmc-hint

2009-01-18 11:22  dev

	* coherence/upnp/core/DIDLLite.py: fixing inconsistency re
	  root-container id

2009-01-18 11:21  dev

	* coherence/backends/appletrailers_storage.py,
	  coherence/backends/lolcats_storage.py: adding wmc-hints

2009-01-17 14:41  dev

	* coherence/upnp/core/DIDLLite.py: more DLNA related cleanups

2009-01-17 14:01  dev

	* coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/devices/media_server.py: more DLNA flag related
	  adjustments

2009-01-16 21:01  dev

	* coherence/backends/mediadb_storage.py: react on more filetypes
	  and put them at one place

2009-01-15 09:30  dev

	* coherence/backends/fs_storage.py: adding the filename extension
	  to the resource data to test some client behaviour

2009-01-14 20:04  dev

	* coherence/upnp/core/event.py: apply the 'right' empty value to an
	  evented StateVariable - thx hugolp for spotting this

2009-01-13 19:22  dev

	* coherence/extern/inotify.py, coherence/extern/test_inotify.py:
	  revert 'flag_to_human' change that broke the API

2009-01-13 15:42  dev

	* coherence/extern/test_inotify.py: the trial tests for inotify.py

2009-01-13 15:40  dev

	* coherence/extern/inotify.py: wrap the callback loop in a
	  try-except clause, so it isn't aborted by a faulty callback

2009-01-13 15:36  dev

	* coherence/extern/inotify.py: incorporating dialtones changes and
	  tests - thx!
	  
	  Closes #180

2009-01-13 15:33  dev

	* coherence/upnp/devices/control_point.py: just for safety reasons

2009-01-12 10:59  dev

	* coherence/upnp/devices/media_server.py: only add the
	  'X_MS_MediaReceiverRegistrar' to the device description.xml when
	  we talk to an XBox

2009-01-12 10:57  dev

	* coherence/backends/appletrailers_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py: more 'ordering' related fixes

2009-01-11 16:42  dev

	* coherence/extern/inotify.py: missing '()'s

2009-01-11 16:38  dev

	* coherence/backends/fs_storage.py, coherence/extern/inotify.py:
	  only use fallback of inotify system-call when we are on a Linux
	  kernel

2009-01-11 14:27  dev

	* Coherence.egg-info/PKG-INFO, coherence/__init__.py,
	  coherence/upnp/core/DIDLLite.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_lite.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_server.py: * merging all
	  Coherence-Samsung changes 1073:1081 back into trunk

2009-01-04 13:03  dev

	* ., ChangeLog, Coherence.egg-info, LICENCE, MANIFEST.in, NEWS,
	  README, bin, coherence, docs, misc, setup.py, tests: rearranging
	  layout

2008-12-27 10:41  dev

	* coherence/backends/tracker_storage.py: adding transcoding and
	  XBox helper method to the audio part of the Tracker backend

2008-12-23 19:19  dev

	* coherence/backends/mediadb_storage.py,
	  coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/services/servers/content_directory_server.py: more
	  adjustments for the XBox 360

2008-12-22 17:07  dev

	* misc/org.Coherence.service: seems the -d [daemonize] option is
	  causing trouble on Ubuntu intrepid

2008-12-22 11:34  dev

	* coherence/upnp/core/device.py: we shouldn't have to do that

2008-12-20 23:16  dev

	* coherence/upnp/core/device.py: once more

2008-12-20 18:33  dev

	* coherence/backends/flickr_storage.py: fixing a stupid typo

2008-12-20 18:01  dev

	* coherence/upnp/core/device.py, coherence/upnp/core/service.py:
	  making the Inspectors day

2008-12-19 16:33  dev

	* coherence/backends/flickr_storage.py: now with the 'Original'
	  photo too

2008-12-19 15:50  dev

	* coherence/backends/flickr_storage.py: get the right url and set
	  the resolution

2008-12-19 15:03  dev

	* coherence/backends/flickr_storage.py,
	  coherence/upnp/devices/media_server.py: when a photo is requested
	  find out about its available sizes and add the best one as the
	  first resource, original size not yet considered

2008-12-18 14:26  dev

	* coherence/backends/flickr_storage.py: * a 'not-so-clean' addition
	  of 'Friends & Families' photosets
	  * get the "photo taken" date from the ''extras'' attribute, this
	  removes the need for http HEAD requests, but implies we don't get
	  the image size anymore

2008-12-18 14:22  dev

	* coherence/upnp/devices/basics.py: add generic DLNA device class
	  and capabilites in device description xml

2008-12-18 13:30  dev

	* coherence/extern/simple_config.py: right this time?

2008-12-17 19:59  dev

	* coherence/extern/simple_config.py: ignore our ''save'' method

2008-12-17 19:56  dev

	* coherence/upnp/core/device.py: keep track of DLNA device class
	  and device capabilies information

2008-12-16 14:48  dev

	* coherence/base.py, coherence/transcoder.py,
	  coherence/upnp/core/action.py, coherence/upnp/core/device.py,
	  coherence/upnp/core/service.py, coherence/upnp/core/variable.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: * helper methods for the
	  Inspector
	  * some corrections

2008-12-14 16:52  dev

	* coherence/upnp/core/soap_proxy.py: pass it as expected nowdays

2008-12-14 16:09  dev

	* coherence/upnp/core/service.py: the Inspector demands them

2008-12-14 16:08  dev

	* coherence/upnp/core/soap_proxy.py: extract the proper UPnP error
	  code and description and pass it upwards

2008-12-14 16:05  dev

	* coherence/backends/light.py: treat a boolean argument the right
	  way

2008-12-11 21:29  dev

	* coherence/upnp/core/utils.py: applying patch from trickie, thx!
	  
	  closes #159

2008-12-10 19:00  dev

	* coherence/upnp/services/servers/connection_manager_server.py:
	  remove unnecessary print statements

2008-12-10 17:04  dev

	* coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/services/servers/connection_manager_server.py: a
	  more generic dlna-related SourceProtocolInfo populating

2008-12-10 11:27  dev

	* coherence/backend.py, coherence/backends/swr3_storage.py: a
	  BackendRssMixin to simplify the creation of rss-based MediaServer
	  backends

2008-12-09 21:21  dev

	* coherence/upnp/core/DIDLLite.py: react on the 'video/x-m4a'
	  mimetype too

2008-12-09 21:20  dev

	* coherence/backends/ted_storage.py: another minor adjustment

2008-12-09 20:56  dev

	* coherence/backends/ted_storage.py: mimetype and next_id fix

2008-12-09 18:17  lightyear

	* Coherence.egg-info/entry_points.txt,
	  coherence/backends/ted_storage.py, setup.py: Adding initial
	  version of TEDtalks Backend

2008-12-09 13:45  dev

	* Coherence.egg-info/entry_points.txt,
	  coherence/backends/gallery2_storage.py,
	  coherence/extern/galleryremote,
	  coherence/extern/galleryremote/__init__.py,
	  coherence/extern/galleryremote/gallery.py, setup.py: a new
	  [http://gallery.menalto.com/ Gallery2] MediaServer backend from
	  jmsizun, connecting to a Gallery2 server via a slightly modified
	  [http://www.fprimex.com/programming/galleryremote galleryremote
	  module]
	  
	  * activate like this: coherence
	  --plugin=backend:Gallery2Store,server_url:http://something,username:yours,password:hidden
	  
	  * public - no username and password needed - Gallery2 servers for
	  example use are:
	  * coherence
	  --plugin=backend:Gallery2Store,server_url:http://www.digital-images.co.nz/gallery
	  * coherence
	  --plugin=backend:Gallery2Store,server_url:http://ckdake.com/gallery
	  
	  closes #160

2008-12-08 17:35  dev

	* coherence/backends/swr3_storage.py: some cleanups and album-art
	  support

2008-12-07 22:32  dev

	* Coherence.egg-info/entry_points.txt,
	  coherence/backends/swr3_storage.py, setup.py: another new
	  RSS-based backend, presenting the podcasts of the German
	  radiostation [http://www.swr3.de SWR3]

2008-12-07 22:30  dev

	* coherence/backends/bbc_storage.py: some small fixes for the
	  BBCStore, make it work in the WebUI too

2008-12-07 22:29  dev

	* coherence/upnp/core/DIDLLite.py: move the description attributes
	  into the Object, so they are inherited to the Containers too

2008-12-07 22:27  dev

	* coherence/ui/av_widgets.py: make the DBus ControlPoint class a
	  singleton, so it is shared over several instances - primary for
	  use in the Nautilus plugins

2008-12-06 21:01  dev

	* Coherence.egg-info/entry_points.txt,
	  coherence/backends/bbc_storage.py, setup.py: initial version of
	  the BBC [http://open.bbc.co.uk/rad/uriplay/availablecontent open
	  content] MediaServer

2008-12-05 14:15  dev

	* misc/EOG Plugin, misc/EOG Plugin/upnp-coherence.eog-plugin,
	  misc/EOG Plugin/upnp-coherence.py: new EOG plugin

2008-12-03 19:44  dev

	* coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py: * enabling transcoding for m4a
	  and flac
	  * add Resources to a PlaylistContainer

2008-11-30 19:03  dev

	* coherence/ui/av_widgets.py: uups

2008-11-30 17:31  dev

	* coherence/base.py: little fix

2008-11-29 18:07  dev

	* coherence/backend.py, coherence/backends/lolcats_storage.py: *
	  moving that single louie signal out of the public backend area
	  * add some more expanation to the LolcatsStore

2008-11-29 16:35  dev

	* coherence/backends/lolcats_storage.py: some small adjustments to
	  the LolcatsStore

2008-11-29 16:00  dev

	* coherence/backends/appletrailers_storage.py,
	  coherence/dbus_service.py, coherence/ui/av_widgets.py: * limit
	  the result per each Browse request to 25 items
	  * don't let tooltips show up while scrolling and some more
	  optimizations
	  * fix for transfering non-ascii chars via dbus, closes #172

2008-11-29 14:35  lightyear

	* Coherence.egg-info/entry_points.txt, setup.py: Egg info for
	  lolcats plguin

2008-11-29 14:35  lightyear

	* coherence/backends/lolcats_storage.py: Adding the exmple Lolcats
	  storage backend

2008-11-26 13:23  dev

	* coherence/ui/av_widgets.py, coherence/upnp/core/DIDLLite.py:
	  adding preliminary support for tooltips in the treeview, mainly
	  atm to have the poster and other data of the AppleTrailers store
	  displayed in the Totem plugin

2008-11-26 10:19  dev

	* coherence/backends/appletrailers_storage.py,
	  coherence/transcoder.py, coherence/upnp/core/DIDLLite.py: some
	  more details - size, duration, director and description - for the
	  AppleTrailers item

2008-11-23 11:44  dev

	* coherence/backends/appletrailers_storage.py,
	  coherence/backends/fs_storage.py, coherence/transcoder.py,
	  coherence/upnp/core/DIDLLite.py: * rearrangement of the DLNA
	  profile parts
	  * removing the 'wrong' resolution attribute for the AppleTrailers
	  poster, as we don't know that yet

2008-11-22 22:39  dev

	* coherence/backends/appletrailers_storage.py,
	  coherence/backends/fs_storage.py, coherence/transcoder.py,
	  coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/devices/media_server.py: * refactoring the
	  transcoder classes a bit
	  * adding a transcoder for JPEG thumbnails
	  * adding poster to thumbnails support in the AppleTrailers
	  backend
	  * supporting item attachments with a transcoding option

2008-11-22 11:14  dev

	* coherence/backends/gstreamer_audio_player.py,
	  coherence/backends/gstreamer_renderer.py, setup.py: rename the
	  GStreamer MediaRenderer from the misleading
	  'gstreamer_audio_player' to just 'gstreamer_renderer'

2008-11-19 19:15  dev

	* coherence/backends/appletrailers_storage.py: one step closer to
	  the AppleTrailers on the PS3

2008-11-19 16:42  dev

	* coherence/upnp/devices/media_server_client.py: some more logging

2008-11-19 16:39  dev

	* coherence/upnp/core/xml-service-descriptions/AVTransport1.xml:
	  remove a trailing blank

2008-11-19 16:38  dev

	* coherence/upnp/core/variable.py: don't fail on a wrong variable
	  content

2008-11-19 16:37  dev

	* coherence/base.py: remove a print

2008-11-19 16:36  dev

	* coherence/backends/ampache_storage.py: move to sha256 for the
	  ampache xml api

2008-11-19 16:29  dev

	* coherence/backends/fs_storage.py: make a copy, don't work on the
	  real thing

2008-11-19 16:29  dev

	* bin/coherence: fix re the new config

2008-11-19 15:47  zaheerm

	* coherence/transcoder.py: Replace filesrc with just a uri

2008-11-19 14:58  zaheerm

	* coherence/transcoder.py: Added a transcoder (untested) to do a
	  passthrough to MP4 (H264/aac)

2008-11-19 13:00  dev

	* coherence/backends/appletrailers_storage.py,
	  coherence/upnp/devices/media_server.py: enable transcoding to mp4
	  in the AppleTrailers backend, needs a new transcoder class
	  MP4Transcoder

2008-11-18 20:55  dev

	* misc/upnp-tester.py: and now the twisted.names dependency

2008-11-18 20:52  dev

	* misc/upnp-tester.py: get rid of the twisted.mail dependency

2008-11-16 13:04  lightyear

	* Coherence.egg-info/PKG-INFO, Coherence.egg-info/entry_points.txt,
	  setup.py: Update Egg Info

2008-11-16 13:04  lightyear

	* coherence/backends/appletrailers_storage.py: Adding
	  AppleTrailersStorage Backend

2008-11-09 18:17  dev

	* coherence/base.py, coherence/upnp/core/utils.py,
	  coherence/upnp/devices/basics.py: * fixes regarding interface
	  definition in the config
	  * catch an exception when trying to remove a backend from the
	  internal activated list before it is actually appended there

2008-11-03 21:28  dev

	* bin/coherence, coherence/base.py: fixes for startup with no
	  config-file

2008-11-03 20:44  dev

	* coherence/backends/fs_storage.py, coherence/transcoder.py,
	  coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/devices/media_server.py: * transcoding - first
	  version, not seekable yet, tested with the PS3
	  * add a transcoded resource to ogg-items in the FSStore

2008-11-03 20:40  dev

	* coherence/dbus_service.py, coherence/ui/av_widgets.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer.py: * new dbus helper
	  method
	  * wrapper methods in the Coherence and the ControlPoint class to
	  hide the louie methods

2008-11-03 20:37  dev

	* bin/coherence, coherence/backends/flickr_storage.py,
	  coherence/base.py, coherence/extern/simple_config.py,
	  coherence/upnp/devices/basics.py: * better version of the xml
	  config handler, but resulting in some changes to the proposed
	  wiki:XMLConfig format - all xml-configs in use need to be
	  adjusted
	  * necessary adjustments all over the place

2008-10-22 21:51  dev

	* coherence/dbus_service.py, coherence/ui/av_widgets.py,
	  misc/Nautilus/coherence_upnp_export_extension.py,
	  misc/Nautilus/coherence_upnp_upload_extension.py: extensions to
	  the dbus service

2008-10-22 21:51  dev

	* coherence/base.py: serve `out-of-band` resources

2008-10-22 21:50  dev

	* coherence/backends/fs_storage.py: little helper method

2008-10-22 21:49  dev

	* misc/Nautilus/coherence_upnp_play_extension.py: new extension to
	  play a file on a MediaRenderer

2008-10-22 21:48  dev

	* misc/Rhythmbox Plugin/upnp_coherence/MediaPlayer.py: small fix
	  for SetAVTransportURI whe no CurrentURIMetaData is present

2008-10-21 21:55  dev

	* coherence/base.py: it was too much in a hurry -/

2008-10-20 21:15  dev

	* coherence/base.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/core/test/test_didl.py: make the unit tests work
	  again

2008-10-20 20:39  dev

	* coherence/backends/fs_storage.py, coherence/ui/av_widgets.py,
	  misc/Nautilus/coherence_upnp_export_extension.py: * fixes for the
	  FSStore and its import method
	  * activate the Nautilus MS with an 'import folder', hardcoded to
	  '/tmp/UPnP Imports' for now
	  * cosmetic changes

2008-10-20 13:54  dev

	* coherence/backends/fs_storage.py, coherence/dbus_service.py:
	  adjustments to allow the new Nautilus extensions to work

2008-10-20 13:52  dev

	* misc/Nautilus, misc/Nautilus/coherence_upnp_export_extension.py,
	  misc/Nautilus/coherence_upnp_upload_extension.py: first versions
	  of the extensions/scripts for Nautilus, making use of the a/v ui
	  widgets

2008-10-20 13:50  dev

	* coherence/ui/av_widgets.py, coherence/ui/icons/emblem-new.png,
	  coherence/ui/icons/emblem-shared.png,
	  coherence/ui/icons/emblem-unreadable.png: two new widgets:
	  
	  * DeviceExport - creates an UPnP A/V MediaServer with a FSStore
	  backend and shares folders over it
	  * DeviceImport - upload selected files to an UPnP A/V MediaServer
	  which has CreateObject and ImportResource actions, does work atm
	  only with parentID=DLNA.ORG_AnyContainer

2008-10-19 18:51  dev

	* coherence/dbus_service.py,
	  coherence/upnp/devices/control_point.py: extending the DBUS
	  service with exported create_object, import_resource and
	  put_resource methods

2008-10-19 18:49  dev

	* coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py: small DLNA related adjustments

2008-10-19 18:47  dev

	* MANIFEST.in, coherence/upnp/devices/media_server.py, misc/device
	  icons, misc/device icons/ampache-icon.png, misc/device
	  icons/coherence-icon.png, misc/device icons/elisa-icon.png,
	  misc/device icons/flickr-icon.png, setup.py: extend the handling
	  of device icons, the icon url now can be either:
	  
	  * a file:// uri
	  * the string ''.face''
	  * one of the icons in
	  ''http://coherence.beebits.net/browser/trunk/misc/device icons'',
	  e.g. just the string ''coherence-icon.png''

2008-10-19 16:08  dev

	* coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py: testing some DLNA tag
	  adjustments

2008-10-17 19:16  dev

	* coherence/backends/flickr_storage.py,
	  coherence/upnp/core/utils.py: * added ImportResource

2008-10-15 19:03  dev

	* coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/upnp/devices/media_server.py: * move the import method
	  out of the MediaServer into a ''backend_import'' named method
	  inside the backend
	  * adjustment of the FSStore backend
	  * ''CreateObject'' method for the Flickr backend, with a direct
	  upload to the Flickr service, stored for the moment in the
	  ''Unsorted'' container
	  * should get extended to allow a direct upload to a PhotoSet
	  * creation of an object.container should result in a PhotoSet
	  creation
	  * needs probably a lot more error checks

2008-10-13 13:53  dev

	* coherence/backends/flickr_storage.py: another little adjustment

2008-10-13 13:41  dev

	* coherence/backends/flickr_storage.py: little fix

2008-10-13 13:05  dev

	* coherence/backends/flickr_storage.py: cleaning up some code

2008-10-13 12:57  dev

	* coherence/backends/flickr_storage.py: * adding access to user
	  specific content
	  This needs
	  * the new XMLConfig
	  * userid/password in the plugin configuration
	  * ''python-mechanize'' installed to handle the application
	  authentication
	  
	  * first merge of jmsizun proposed changes

2008-10-13 12:53  dev

	* coherence/__init__.py, coherence/base.py,
	  coherence/extern/config.py, coherence/upnp/devices/basics.py,
	  coherence/upnp/devices/binary_light.py,
	  coherence/upnp/devices/dimmable_light.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: * simplifying the device
	  classes
	  * enable '''permanent''' UUIDs
	  * adding a ''simple'' method to store a plugins configuration
	  data

2008-10-13 12:47  dev

	* coherence/extern/inotify.py: disabling a babbling print

2008-09-18 19:26  dev

	* coherence/upnp/core/utils.py: two new methods to standardize the
	  handling of boolean values

2008-09-18 19:25  dev

	* coherence/upnp/core/variable.py: standardize handling of boolean
	  values, closes #151

2008-09-17 16:22  dev

	* coherence/backends/ampache_storage.py: little test to see if we
	  do the renegotiation with Ampache right

2008-09-17 13:20  dev

	* coherence/extern/inotify.py: fix for not reacting on events for
	  monitored ''files'' - thx philn for spotting this

2008-08-06 19:47  dev

	* coherence/upnp/devices/dimmable_light_client.py: fixing a cut and
	  paste error, thx hugolp for spotting this

2008-07-14 14:08  dev

	* misc/Rhythmbox Plugin/upnp_coherence/MediaPlayer.py,
	  misc/Rhythmbox Plugin/upnp_coherence/MediaStore.py,
	  misc/Rhythmbox Plugin/upnp_coherence/__init__.py: * use the
	  included louie module
	  * race-condition fix

2008-07-13 09:51  dev

	* coherence/upnp/core/service.py: prevent a race condition, thx
	  Lawrence - closes #149

2008-07-09 14:19  dev

	* coherence/upnp/core/utils.py: do a bit better error catching,
	  when interface detection on win32 fails

2008-07-09 09:53  dev

	* coherence/upnp/core/utils.py: typo fix, thx philn

2008-07-08 18:51  dev

	* coherence/upnp/core/DIDLLite.py: fix for change in PlayStation 3
	  firmware 2.41

2008-07-06 11:59  dev

	* coherence/base.py: catching pkg_resources.ResolutionError on
	  entrypoint loading, closes #146

2008-07-01 20:00  dev

	* coherence/backends/dvbd_storage.py, coherence/ui/av_widgets.py:
	  fixes regarding ContainerUpdates

2008-07-01 16:24  dev

	* coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/core/xml-service-descriptions/AVTransport1.xml: *
	  accepting more media for playback
	  * adjustments to the version 1 AVTransport xml file, so the
	  GStreamerPlayer works now with version == 1 too

2008-07-01 16:22  dev

	* coherence/extern/louie/__init__.py,
	  coherence/extern/louie/dispatcher.py,
	  coherence/extern/louie/plugin.py: adjustments for the local louie
	  module - this can't be the final solution

2008-06-30 21:26  dev

	* ChangeLog, NEWS, setup.py: 0.5.8 - Trix and Flix - release
	  
	  * a MediaServer backend for DVB-Daemon
	  (http://www.k-d-w.org/node/42)
	  * exporting atm the stored recordings
	  * allowing to delete recordings from within a UPnP client, when
	  enabled on the backend
	  * will export EPG data and allow scheduling via UPnP in the
	  future
	  * client device and service implementations for BinaryLight and
	  DimmableLight devices
	  * rework of the D-Bus support
	  * should now be usable from other languages (C,Perl,..) too
	  * support for activating/deactivation a backend via D-Bus,
	  allowing for instance to start a MediaServer backend via D-Bus
	  * a plugin for Totem (http://www.gnome.org/projects/totem/)
	  * enabling Totem to detect and browse UPnP A/V MediaServers
	  * using only D-Bus to communicate with a Coherence instance
	  * a basic reusable PyGTK based UPnP A/V ControlPoint widget, used
	  in the Totem plugin
	  * rework (again) of the XBox 360 support - getting closer
	  * our first set of unit tests
	  * include a copy of Louie (http://pylouie.org) to solve a
	  setuptools runtime dependency issue and make the life of
	  distribution packagers a bit easier
	  * and the usual bugfixes and enhancements

2008-06-30 20:26  dev

	* coherence/__init__.py, misc/Rhythmbox Plugin, misc/Rhythmbox
	  Plugin/Makefile.am, misc/Rhythmbox Plugin/coherence.rb-plugin.in,
	  misc/Rhythmbox Plugin/upnp_coherence, misc/Rhythmbox
	  Plugin/upnp_coherence/Makefile.am, misc/Rhythmbox
	  Plugin/upnp_coherence/MediaPlayer.py, misc/Rhythmbox
	  Plugin/upnp_coherence/MediaStore.py, misc/Rhythmbox
	  Plugin/upnp_coherence/UpnpSource.py, misc/Rhythmbox
	  Plugin/upnp_coherence/__init__.py: a 'up to date' version of the
	  Rhythmbox UPnP plugin

2008-06-30 19:11  dev

	* coherence/backends/dvbd_storage.py: fixing Vala capitalizing
	  issue

2008-06-30 18:47  dev

	* coherence/backends/dvbd_storage.py, coherence/ui/av_widgets.py:
	  corrections re the DVB-Daemon DBus connection

2008-06-30 17:04  dev

	* coherence/backends/dvbd_storage.py: missed one import correction

2008-06-29 17:08  dev

	* misc/org.Coherence.service: a DBus activation file for Coherence,
	  copy that into /usr/share/dbus-1/services

2008-06-29 16:23  dev

	* bin/coherence, coherence/upnp/core/msearch.py,
	  coherence/upnp/core/ssdp.py: remove devices and services on the
	  SSDP level if they haven't send a new notification message within
	  their ''max-age'' time (plus a 30 seconds extra)

2008-06-29 12:36  dev

	* coherence/backend.py, coherence/backends/ampache_storage.py,
	  coherence/backends/axiscam_storage.py,
	  coherence/backends/buzztard_control.py,
	  coherence/backends/elisa_renderer.py,
	  coherence/backends/elisa_storage.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/backends/iradio_storage.py,
	  coherence/backends/lastfm_storage.py,
	  coherence/backends/light.py,
	  coherence/backends/mediadb_storage.py,
	  coherence/backends/tracker_storage.py, coherence/base.py,
	  coherence/dbus_service.py, coherence/test/test_base.py,
	  coherence/test/test_dbus.py, coherence/upnp/core/device.py,
	  coherence/upnp/core/event.py, coherence/upnp/core/msearch.py,
	  coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_service.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/core/variable.py,
	  coherence/upnp/devices/binary_light.py,
	  coherence/upnp/devices/binary_light_client.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/dimmable_light.py,
	  coherence/upnp/devices/dimmable_light_client.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/devices/media_server_client.py,
	  coherence/upnp/services/clients/test/test_switch_power_client.py,
	  coherence/upnp/services/servers/test/test_content_directory_server.py,
	  coherence/web/ui.py: next time start thinking before checking in

2008-06-29 11:36  dev

	* Coherence.egg-info/requires.txt, coherence/backend.py,
	  coherence/backends/ampache_storage.py,
	  coherence/backends/axiscam_storage.py,
	  coherence/backends/buzztard_control.py,
	  coherence/backends/dvbd_storage.py,
	  coherence/backends/elisa_renderer.py,
	  coherence/backends/elisa_storage.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/backends/iradio_storage.py,
	  coherence/backends/lastfm_storage.py,
	  coherence/backends/light.py,
	  coherence/backends/mediadb_storage.py,
	  coherence/backends/tracker_storage.py, coherence/base.py,
	  coherence/dbus_service.py, coherence/extern/louie,
	  coherence/extern/louie/PKG-INFO,
	  coherence/extern/louie/__init__.py,
	  coherence/extern/louie/dispatcher.py,
	  coherence/extern/louie/error.py,
	  coherence/extern/louie/plugin.py,
	  coherence/extern/louie/robustapply.py,
	  coherence/extern/louie/saferef.py,
	  coherence/extern/louie/sender.py,
	  coherence/extern/louie/signal.py,
	  coherence/extern/louie/version.py, coherence/test/test_base.py,
	  coherence/test/test_dbus.py, coherence/upnp/core/device.py,
	  coherence/upnp/core/event.py, coherence/upnp/core/msearch.py,
	  coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_service.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/core/variable.py,
	  coherence/upnp/devices/binary_light.py,
	  coherence/upnp/devices/binary_light_client.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/dimmable_light.py,
	  coherence/upnp/devices/dimmable_light_client.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/devices/media_server_client.py,
	  coherence/upnp/services/clients/test/test_switch_power_client.py,
	  coherence/upnp/services/servers/test/test_content_directory_server.py,
	  coherence/web/ui.py, setup.py: the only reasonable solution to
	  get around that setuptools 'after-install' dependency check for
	  ''Nose'' seems to include our own copy of Louie in
	  coherence.extern - which I'm doing herewith.
	  
	  #closes 146 hopefully now final

2008-06-29 10:02  dev

	* coherence/base.py: pass a 'well-hidden' option to pkg_resources
	  EntryPoint.load to not check for any requirements when we load
	  our backends, #closes #146
	  
	  We expect to have all our dependencies resolved at install time,
	  or that the backend shouts out if there is something missing.

2008-06-29 08:55  dev

	* coherence/dbus_service.py, coherence/ui/av_widgets.py: * make
	  device icons accessible via DBus
	  * use the device icon in the TreeWidget
	  * add a 'dummy' child to every container so the row-expander
	  triangle shows up (thx aTc@mediatomb)

2008-06-25 16:27  dev

	* coherence/backends/dvbd_storage.py: fix wrong dbus callback in
	  DestroyObject and relay the signal we get when a recording
	  'changes' - new one, gets deleted or the file(s) are updated

2008-06-25 12:53  dev

	* misc/Totem Plugin/upnp-coherence.py: now the right version :-/

2008-06-25 09:07  dev

	* coherence/dbus_service.py, coherence/ui/av_widgets.py, misc/Totem
	  Plugin/upnp-coherence.py: * introduce a generic action method in
	  the DBus interface and a way to retrieve all available actions,
	  to get around the limitation of not having 'dynamic' DBus object
	  interfaces
	  * use these new methods in the TreeWidget
	  * react on ''ContainerUpdateIDs'' changes in the TreeWidget and
	  rebrowse that container
	  * add a ''DestroyObject'' method to the TreeWidget and make that
	  accessible from the Totem plugin

2008-06-25 09:03  dev

	* coherence/upnp/core/variable.py: don't notify about changes in
	  'used-as-an-argument-only' StateVariables

2008-06-25 09:01  dev

	* coherence/backends/dvbd_storage.py,
	  coherence/backends/fs_storage.py: * add new UPnP ContentDirectory
	  action ''DestroyObject''
	  * disabled by default, can be enabled with the backend-option
	  ''enable_destroy:yes''

2008-06-24 13:51  dev

	* coherence/backends/dvbd_storage.py: missing import

2008-06-24 13:39  dev

	* coherence/backends/dvbd_storage.py: * add a internal: resource to
	  a recording item
	  * first version of a DeleteObject action

2008-06-24 13:35  dev

	* coherence/upnp/core/service.py,
	  coherence/upnp/core/xml-service-descriptions/ContentDirectory2.xml,
	  coherence/upnp/services/clients/content_directory_client.py:
	  handle optional actions that really need '''backend support'''

2008-06-23 20:02  dev

	* coherence/ui/av_widgets.py, coherence/upnp/core/soap_service.py:
	  try to support internal: resource detection

2008-06-23 19:26  dev

	* coherence/ui/av_widgets.py, misc/Totem Plugin/upnp-coherence.py:
	  added a right-click context menu to the Totem UPnP client to
	  allow to 'play' or just 'enqueue' the selected media files. If
	  more than one file is selected and 'play' is choosen, the first
	  one starts playing, the others are enqueued.
	  
	  Closes #145

2008-06-23 19:23  dev

	* coherence/backends/dvbd_storage.py: fixes needed to let the
	  backend talk to the DVB-Daemon - thx Sebastian
	  
	  it is working now, displaying all the recordings in the client -
	  just Totem refuses to play the MPEG-TS via http

2008-06-22 12:23  dev

	* misc/Totem Plugin/upnp-coherence.py: change the way a file in
	  Totem is 'loaded' and 'played', closes #144

2008-06-22 10:49  dev

	* coherence/backends/dvbd_storage.py: import cleanups and date
	  object correction

2008-06-22 10:28  dev

	* bin/coherence, coherence/backends/dvbd_storage.py: first working
	  version of the DVB-Daemon backend

2008-06-21 17:12  dev

	* coherence/dbus_service.py, coherence/ui/av_widgets.py: fixing
	  bugs re the louie/DBus signal relaying

2008-06-21 17:10  dev

	* Coherence.egg-info/entry_points.txt, bin/coherence: allow options
	  passed to coherence on the commandline, primary ''controlpoint''
	  and ''use_dbus''
	  
	  usage:
	  {{{
	  coherence -o controlpoint:yes --option=use_dbus:yes
	  }}}

2008-06-21 11:08  dev

	* coherence/backends/dvbd_storage.py, setup.py: experimental, not
	  yet functional, backend for the Gnome DVB Daemon

2008-06-18 09:08  dev

	* coherence/test/test_base.py: unit test missing in [921]

2008-06-18 09:06  dev

	* coherence/base.py,
	  coherence/upnp/services/clients/test/test_switch_power_client.py:
	  changes to properly handle several Coherence base class shutdown
	  calls

2008-06-18 09:05  dev

	* coherence/upnp/services/servers/test/test_content_directory_server.py:
	  adjusting test to the change in return parameters for Browse
	  action

2008-06-17 10:45  dev

	* ., coherence/backend.py, coherence/backends/ampache_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/mediadb_storage.py, coherence/dbus_service.py,
	  coherence/extern/et.py, coherence/test, coherence/upnp/core/test,
	  coherence/upnp/core/utils.py,
	  coherence/upnp/devices/binary_light.py,
	  coherence/upnp/devices/dimmable_light.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/clients/content_directory_client.py,
	  coherence/upnp/services/clients/test,
	  coherence/upnp/services/servers/test: * rework of the DBus API,
	  hopefully more reasonable now, still needs some cross-language
	  check
	  * modifications in the MediaServer http part to allow child
	  lookups returning a Deferred
	  * housekeeping

2008-06-17 10:38  dev

	* setup.py: include the ui icons in the setup process

2008-06-17 10:37  dev

	* coherence/ui, coherence/ui/__init__.py,
	  coherence/ui/av_widgets.py, coherence/ui/icons,
	  coherence/ui/icons/audio-x-generic.png,
	  coherence/ui/icons/folder.png,
	  coherence/ui/icons/image-x-generic.png,
	  coherence/ui/icons/network-server.png,
	  coherence/ui/icons/video-x-generic.png: the beginning of a set of
	  reusable widgets for UPnP related PyGTK apps
	  
	  * a ContentDirectoryService client TreeWidget

2008-06-17 09:05  dev

	* misc/Totem Plugin, misc/Totem Plugin/upnp-coherence.py,
	  misc/Totem Plugin/upnp-coherence.totem-plugin: glue code for the
	  Totem UPnP plugin

2008-05-30 18:10  dev

	* coherence/backends/ampache_storage.py,
	  coherence/upnp/core/utils.py,
	  coherence/upnp/devices/media_server.py: a proxy feature for the
	  Ampache backend, the necessary modifications in the MediaServer
	  Resource and a small overlay for twisted.web.server.Request to
	  handle Deferreds returned by getChild

2008-05-30 18:05  dev

	* coherence/backends/fs_storage.py: use urllib instead of urllib2,
	  fixes #141

2008-05-29 18:29  dev

	* coherence/upnp/services/servers/content_directory_server.py: fix?

2008-05-28 21:31  dev

	* coherence/base.py, coherence/upnp/core/device.py,
	  coherence/upnp/core/event.py, coherence/upnp/core/service.py:
	  move the service clients event subscription renewal into the
	  Service class, with a dedicated callLater(timeout-30sec)
	  
	  * no more unnecessary checks in a loop in the Coherence class
	  * no more "blocking" iteration over all devices and their
	  sub-devices
	  
	  closes #135

2008-05-28 09:41  dev

	* coherence/backends/ampache_storage.py,
	  coherence/upnp/services/servers/content_directory_server.py: move
	  the complex 'items are Deferreds' and their 'childs are Deferreds
	  too' handling methods into the generic CDS Browse and Search
	  actions

2008-05-27 22:18  dev

	* coherence/upnp/devices/basics.py,
	  coherence/upnp/devices/media_server.py: clean the mess up when a
	  device instantiation failed

2008-05-27 14:01  dev

	* coherence/test/test_dbus.py,
	  coherence/upnp/services/servers/test/test_content_directory_server.py:
	  * skip DBus related tests when no Glib2Reactor is active
	  * one more test for the CDS

2008-05-27 14:00  dev

	* coherence/upnp/devices/binary_light_client.py,
	  coherence/upnp/devices/dimmable_light_client.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server_client.py: just some
	  precautions against race-conditions

2008-05-27 13:16  dev

	* coherence/upnp/services/servers/content_directory_server.py,
	  coherence/upnp/services/servers/test/test_content_directory_server.py:
	  XBox related fixes in the CDS's Browse and Search methods, and
	  first unit tests for that

2008-05-26 18:23  dev

	* coherence/base.py, coherence/test/test_dbus.py,
	  coherence/upnp/core/msearch.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/services/clients/test/test_switch_power_client.py,
	  coherence/upnp/services/servers/test/test_content_directory_server.py:
	  disable SSDP and MSEARCH activity during unittests, now we are
	  invisible and hopefully get not disturbed by nosey things on the
	  network

2008-05-26 18:19  dev

	* coherence/upnp/core/event.py, coherence/upnp/core/service.py,
	  coherence/upnp/devices/basics.py: cancel pending event
	  notifications on shutdown

2008-05-26 13:52  dev

	* coherence/upnp/core/event.py: eliminating some strange characters
	  from "Outer Space"

2008-05-26 10:25  dev

	* coherence/backends/fs_storage.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/devices/basics.py,
	  coherence/upnp/services/servers/connection_manager_server.py,
	  coherence/upnp/services/servers/test,
	  coherence/upnp/services/servers/test/__init__.py,
	  coherence/upnp/services/servers/test/test_content_directory_server.py:
	  a first test for the ContentDirectoryServer Browse method and the
	  accompanying fixes to get the test through trial

2008-05-25 15:03  dev

	* coherence/upnp/devices/binary_light_client.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/dimmable_light_client.py,
	  coherence/upnp/services/clients/dimming_client.py,
	  coherence/upnp/services/clients/switch_power_client.py,
	  coherence/upnp/services/clients/test,
	  coherence/upnp/services/clients/test/__init__.py,
	  coherence/upnp/services/clients/test/test_switch_power_client.py:
	  client device and service implementations for BinaryLight and
	  DimmableLight devices

2008-05-25 14:58  dev

	* coherence/upnp/core/event.py, coherence/upnp/core/msearch.py,
	  coherence/upnp/core/service.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/devices/basics.py: more changes related to a
	  proper shutdown

2008-05-25 14:56  dev

	* coherence/upnp/core/soap_proxy.py, coherence/upnp/core/utils.py:
	  some minor cleanups

2008-05-25 14:25  dev

	* coherence/base.py, coherence/dbus_service.py, coherence/test,
	  coherence/test/__init__.py, coherence/test/test_dbus.py: two new
	  DBUS methods:
	  
	  * add_plugin(backend,arguments) --> uuid
	  this isn't a feedback whether the device is actually
	  instantiated,
	  as that will happen asynchronous and signalled later
	  * remove_plugin(uuid) -> returns same uuid on success or an empty
	  string on failure
	  
	  and the accompanying tests

2008-05-25 13:35  dev

	* coherence/base.py: * keep a list of activated backends for their
	  potential removal
	  * proper cleanups on shutdown, mostly needed when called from
	  within trial tests

2008-05-25 12:59  dev

	* NEWS: for the sake of completeness

2008-05-08 07:35  dev

	* coherence/upnp/services/servers/media_receiver_registrar_server.py:
	  retrieve arguments from kwargs dict like anywhere else, as we
	  might get something added on the way

2008-05-08 07:33  dev

	* coherence/upnp/core/soap_service.py,
	  coherence/upnp/devices/media_server.py: some more adjustments for
	  WMP 11

2008-05-05 16:33  dev

	* coherence/upnp/core/soap_service.py,
	  coherence/upnp/devices/media_server.py: some attempt to deal with
	  WMP11

2008-05-05 16:32  dev

	* coherence/backends/tracker_storage.py: send the right error
	  message string

2008-05-05 12:38  dev

	* coherence/backends/tracker_storage.py: allow specification which
	  Meta Tracker service(s) to use via config
	  
	  * service:Music,Videos,Images is the default

2008-05-04 21:43  dev

	* coherence/backends/gstreamer_audio_player.py,
	  coherence/backends/tracker_storage.py: extend the
	  SinkProtocolInfo and SourceProtocolInfo lists

2008-05-04 19:42  dev

	* coherence/backends/tracker_storage.py: first attempt to integrate
	  Videos and Images returned from Tracker

2008-05-04 11:53  dev

	* coherence/upnp/core/test/test_didl.py: corrected class name

2008-05-04 11:44  dev

	* coherence/upnp/core/test, coherence/upnp/core/test/__init__.py,
	  coherence/upnp/core/test/test_didl.py,
	  coherence/upnp/core/test/test_utils.py: first unit tests
	  
	  addresses #20

2008-05-03 19:16  dev

	* docs/coherence.conf.example: updated with examples for the new
	  MediaServers

2008-05-03 14:14  dev

	* coherence/upnp/core/DIDLLite.py: fix wrong log output when
	  accessed by an XBox, thx again netmask!
	  
	  closes #138

2008-05-03 13:46  dev

	* coherence/backends/mediadb_storage.py: fix missing variable
	  definition - thx netmask for spotting this
	  
	  closes #137

2008-05-03 13:45  dev

	* Coherence.egg-info/PKG-INFO, coherence/__init__.py: increase
	  version number for next development cycle

2008-04-30 20:56  dev

	* ChangeLog: updated ChangeLog

2008-04-30 20:54  dev

	* ChangeLog, NEWS, coherence/__init__.py, setup.py: New in this
	  0.5.6 - Walpurgisnacht - release
	  
	  * a MediaServer backend for Meta Tracker
	  (http://www.gnome.org/projects/tracker)
	  * simplify the IP-address detection on Windows with the help of
	  the optional Python package netifaces
	  (http://alastairs-place.net/netifaces)
	  * proper handling of filename encoding issues in the filesystem
	  based MediaServer
	  * and a lot of community driven fixes and enhancements,
	  kudos given representatively to Lawrence and veerz

2008-04-30 14:23  dev

	* coherence/upnp/core/DIDLLite.py: remove 'refID' from the response
	  if we see an XBox client, seems there is a problem with that
	  there

2008-04-30 12:28  dev

	* coherence/backends/axiscam_storage.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/iradio_storage.py,
	  coherence/backends/lastfm_storage.py: add missing ID-separation,
	  which will be needed when an XBox tries to browse the WMC mapped
	  containers

2008-04-30 09:12  dev

	* coherence/extern/et.py: make the dumping of 'invalid xml data' an
	  option and raise Exceptions instead of returning 'None'
	  
	  closes #105

2008-04-30 09:10  dev

	* coherence/backends/mediadb_storage.py: add some more details to
	  the Album and the Artist object

2008-04-30 09:09  dev

	* coherence/dbus_service.py: remove for the moment some invalid
	  signal mapping

2008-04-29 21:58  dev

	* coherence/upnp/core/utils.py: handle chunked encoded responses -
	  thx Lawrence!
	  
	  readline and strip should do the trick on all platforms, if not
	  let's reopen this ticket.
	  
	  closes #132.

2008-04-29 12:03  dev

	* coherence/upnp/core/utils.py: move on Windows not-available
	  modules and methods out of the way

2008-04-29 10:49  dev

	* coherence/upnp/core/utils.py: tries to determine on Windows the
	  interface to use and its IP-address.
	  
	  Uses the [http://alastairs-place.net/netifaces/ netifaces] modul
	  for this.
	  
	  Addresses #107, #117, #129. pls cross-check

2008-04-28 22:03  dev

	* Coherence.egg-info/entry_points.txt,
	  coherence/backends/tracker_storage.py, setup.py: a shiny new
	  backend - ''TrackerStore''
	  
	  * connects via DBus to
	  [http://www.gnome.org/projects/tracker/index.html Meta Tracker]
	  and retrieves from the 'Music' service the there stored
	  information about audio files (images and video will be next)
	  * needs a Twisted glib2/gtk2 reactor and therefore the config
	  option ''use_dbus'' set to 'yes'
	  * the only config option for this backend so far is ''name''
	  * the querying of Tracker is pretty lame atm, there is much room
	  for optimization
	  * notifications by Tracker about new files or modifications of
	  the indexed files are not yet catched

2008-04-28 21:46  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: print a backend
	  instantiation error message in log level 'warning', not only the
	  failure object in 'debug'

2008-04-28 21:44  dev

	* coherence/base.py, coherence/dbus_service.py: rearrange
	  activation of the DBus service, and rework that to follow the
	  last changes

2008-04-25 19:23  dev

	* coherence/upnp/services/clients/av_transport_client.py,
	  coherence/upnp/services/clients/connection_manager_client.py:
	  take optional actions in the AVTransport and ConnectionManager
	  service clients into account - thx Lawrence!
	  
	  Closes #130

2008-04-25 14:13  dev

	* coherence/upnp/services/servers/content_directory_server.py:
	  rearrange local functions in the Browse method

2008-04-24 18:55  dev

	* coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server_client.py: follow-up on the
	  changes we did @ device creation and removal

2008-04-24 18:53  dev

	* coherence/upnp/core/DIDLLite.py: try to fallback when some other
	  UPnP devices sends us a DIDLLite fragment with an non-standard
	  UPnP-class, addresses #125

2008-04-24 13:10  dev

	* coherence/upnp/services/servers/content_directory_server.py:
	  again Xbox mappings, cleanup

2008-04-23 21:48  dev

	* coherence/upnp/services/servers/content_directory_server.py:
	  again a fix for the XBox mapping

2008-04-23 19:17  dev

	* coherence/upnp/core/device.py: remove nested embedded devices and
	  their services

2008-04-23 18:58  dev

	* coherence/upnp/core/device.py, misc/upnp-tester.py: more
	  adjustments to support nested embedded devices and a new version
	  of the upnp-tester script supporting this

2008-04-23 18:02  dev

	* coherence/backends/fs_storage.py: add missing WMC mapping for the
	  folder objects

2008-04-23 15:43  dev

	* coherence/upnp/services/servers/content_directory_server.py: fix
	  wrong handling of 'non-callable' WMC mappings

2008-04-22 22:10  dev

	* coherence/backends/mediadb_storage.py: fix access via mapped WMC
	  containers

2008-04-22 22:06  dev

	* coherence/upnp/core/device.py,
	  coherence/upnp/devices/control_point.py: more work on supporting
	  embedded devices

2008-04-22 20:27  dev

	* coherence/upnp/core/device.py: and one more

2008-04-22 20:24  dev

	* coherence/upnp/core/device.py: one more adjustment

2008-04-22 20:06  dev

	* coherence/base.py, coherence/upnp/core/device.py: rework the
	  handling of embedded devices a bit

2008-04-19 20:28  dev

	* bin/coherence: allow multiple --plugin commandline options

2008-04-19 18:08  dev

	* coherence/upnp/core/device.py: adding support for embedded
	  devices, thx Lawrence for this patch - closes #123

2008-04-19 10:07  dev

	* coherence/upnp/core/DIDLLite.py: someday I'll probably have to
	  pay for this :-(, but at the moment it solves issues with
	  MediaRenderers sending back incomplete DIDLLite fragments

2008-04-19 09:57  dev

	* Coherence.egg-info/PKG-INFO, coherence/__init__.py,
	  coherence/backends/ampache_storage.py,
	  coherence/backends/fs_storage.py, coherence/extern/inotify.py,
	  coherence/extern/xdg.py, coherence/upnp/devices/media_server.py:
	  merged all fsstore-ng changes 844:848 back into trunk

2008-04-02 11:09  dev

	* misc/Desktop Applet/tango-system-file-manager-32x32.png:
	  additional 32x32 sized icon for the DesktopApplet

2008-04-02 08:35  dev

	* misc/Desktop Applet/applet-coherence: write 1000 times on the
	  wall: Don't do things in parallel!

2008-04-02 07:59  dev

	* setup.py: fix broken setup :-(

2008-04-02 07:56  dev

	* misc/Desktop Applet/applet-coherence: fall back for the icon
	  retrieval

2008-04-01 21:45  dev

	* ChangeLog: checking in updated Changelog

2008-04-01 21:43  dev

	* ChangeLog, Coherence.egg-info/PKG-INFO, coherence/__init__.py,
	  coherence/backend.py, coherence/backends/ampache_storage.py,
	  coherence/backends/fs_storage.py, coherence/dbus_service.py,
	  coherence/upnp/core/action.py, coherence/upnp/core/soap_proxy.py,
	  setup.py: New in this 0.5.4 - Fools Garden - release
	  
	  * a DesktopApplet to easily start a Coherence instance from your
	  desktops panel
	  Thx to Erwan Velu, Helio Chissini de Castro and Nicolas
	  Lecureuil!
	  * more efforts to simplify the ordinary user experience
	  * allow now the backend definition via commandline, to just start
	  up
	  a MediaServer or anything else, without bothering oneself with
	  the config file
	  * specify logfile location and daemonization on the commandline
	  too
	  * a bit more usable --help output
	  Thx again Erwan Velu!
	  * a MediaServer backend for Ampache - a Web-based Audio file
	  manager (http://ampache.org)
	  Thx to the awesome help of Karl Vollmer!
	  * device implementations for BinaryLight and DimmableLight
	  * a little helper to extract device and service xml files and
	  send them to us - a beginning of our UPnP device fingerprint
	  program
	  * and the usual bugfixes and enhancements

2008-04-01 21:17  dev

	* misc/Desktop Applet/applet-coherence, misc/Desktop
	  Applet/applet-coherence.py: * rename the DesktopApplet for its
	  move to /usr/bin
	  * add a probably terrible kludge to still have access to its icon

2008-03-31 17:45  dev

	* misc/coherence-initscript.sh: a shell script, should be copy into
	  init.d and linked from the desired runlevel to start coherence on
	  system boot - thx erwan!

2008-03-29 13:17  dev

	* misc/Desktop Applet/applet-coherence.py: remove noise

2008-03-29 13:12  dev

	* setup.py: proper package data definition

2008-03-29 13:10  dev

	* Coherence.egg-info/top_level.txt, MANIFEST.in, misc/Desktop
	  Applet, misc/Desktop Applet/applet-coherence.py, misc/Desktop
	  Applet/tango-system-file-manager.png, setup.py: include the new
	  DesktopApplet into the setup process

2008-03-28 13:06  dev

	* misc, misc/upnp-tester.py: little helper program, will be our
	  future upnp-fingerprinter

2008-03-28 09:11  dev

	* bin/coherence: print an error message when having a plugin
	  defined on the commandline and having a configfile in the old
	  format

2008-03-25 22:10  dev

	* coherence/upnp/devices/basics.py: adds missing imports, thx again
	  yukaro for spotting this! Fixes #124

2008-03-22 22:50  dev

	* coherence/backend.py, coherence/backends/fs_storage.py: quick
	  fix, but let's rethink some of the changes today

2008-03-22 19:11  dev

	* coherence/base.py: fix the accidentally disabled pkg_resources
	  plugin support

2008-03-22 19:04  dev

	* bin/coherence, coherence/base.py: * rework the way the Coherence
	  plugins are collected, this allows us to print the available ones
	  in the usage message
	  * changed the usage message too

2008-03-22 19:02  dev

	* coherence/backends/elisa_renderer.py: remove obsolete imports

2008-03-22 18:00  dev

	* coherence/backend.py: one adjustment re the BackendItem name
	  property to be in unicode

2008-03-22 17:29  dev

	* coherence/backend.py: added the lost info for an Items name

2008-03-22 16:55  dev

	* coherence/backend.py: more details

2008-03-22 16:34  dev

	* coherence/backend.py: typo fixes

2008-03-22 16:32  dev

	* coherence/backend.py: some documentation updates

2008-03-22 15:58  dev

	* coherence/backend.py: a bit more documantation regarding the
	  Backend/BackendStore and BackendItem classes

2008-03-20 21:49  dev

	* coherence/upnp/devices/media_renderer.py: missing import, causing
	  the MediaRenderer device to fail when an icon for it was passed
	  as an argument.
	  
	  Thx yukaro for spotting this!

2008-03-18 16:41  dev

	* bin/coherence: added logfile path as a commandline option, closes
	  #122

2008-03-17 20:50  dev

	* coherence/backends/ampache_storage.py: stupid bug

2008-03-17 19:48  dev

	* coherence/backends/ampache_storage.py: approaching playlists

2008-03-16 14:52  dev

	* bin/coherence: fixing a small bug causing plugin options with an
	  ':' within to fail

2008-03-16 11:25  dev

	* coherence/upnp/services/servers/dimming_server.py,
	  coherence/upnp/services/servers/switch_power_server.py: and now
	  the missing files :-(

2008-03-15 16:30  dev

	* Coherence.egg-info/entry_points.txt, coherence/backend.py,
	  coherence/backends/light.py, coherence/base.py,
	  coherence/upnp/core/service.py, coherence/upnp/core/soap_lite.py,
	  coherence/upnp/core/xml-service-descriptions/Dimming1.xml,
	  coherence/upnp/core/xml-service-descriptions/SwitchPower1.xml,
	  coherence/upnp/devices/basics.py,
	  coherence/upnp/devices/binary_light.py,
	  coherence/upnp/devices/dimmable_light.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/content_directory_server.py,
	  setup.py: * a Binary- and DimmableLight server implementation and
	  a corresponding backend to test
	  * moving some of the basic device methods into a class of its own
	  * moving some of the basic backend methods into a class of its
	  own
	  * ignore generously upnp_ACTIONS without return values, that do
	  not return an empty dict

2008-03-15 16:09  dev

	* coherence/extern/simple_plugin.py: quick fix to let the
	  SimplePlugin handle non-immediate subclasses

2008-03-15 16:04  dev

	* coherence/upnp/core/event.py: one more fix to catch malformed
	  event notifications - this time caused by a Noxon MR, sending
	  back an unescaped url in the CurrentTrackURI

2008-03-15 15:31  dev

	* coherence/backends/ampache_storage.py: correcting the way to
	  limit the load upon ampache, and moved the prints into proper log
	  messages

2008-03-15 10:30  dev

	* coherence/backends/ampache_storage.py: Ampache backend
	  MediaServer - nearly complete
	  
	  * album art not yet available in the track information returned
	  from the XML-API
	  * album art ulr needs the extension at the end to make Nokias
	  Media Streamer happy
	  * number of albums per artist currently every time, will be
	  returned in the artist xml data

2008-03-13 21:52  dev

	* coherence/backends/ampache_storage.py: try to play save

2008-03-13 20:57  dev

	* coherence/backends/ampache_storage.py: rapprochement

2008-03-08 21:01  dev

	* coherence/backends/ampache_storage.py: ready for the skin

2008-03-08 20:40  dev

	* coherence/backends/ampache_storage.py: some blood

2008-03-08 20:09  dev

	* coherence/backends/ampache_storage.py: some flesh to the bones

2008-03-08 15:12  dev

	* coherence/backends/ampache_storage.py: getting closer, more
	  testing

2008-03-08 12:54  dev

	* coherence/backends/ampache_storage.py: next step

2008-03-08 12:35  dev

	* coherence/backends/ampache_storage.py: more of them

2008-03-08 12:13  dev

	* coherence/backends/ampache_storage.py,
	  coherence/upnp/devices/media_server.py,
	  docs/coherence.conf.example: first adjustments

2008-03-08 10:32  dev

	* Coherence.egg-info/PKG-INFO, Coherence.egg-info/entry_points.txt,
	  coherence/__init__.py, coherence/backends/ampache_storage.py,
	  setup.py: first version of an ampache backend, just the basic
	  functionality for testing

2008-03-06 20:27  dev

	* bin/coherence: add support to daemonize Coherence and print out
	  our version upon request, closes #122

2008-03-01 16:02  micxer

	* coherence/upnp/core/msearch.py,
	  coherence/upnp/core/soap_service.py: MAke M-SEARCH and event
	  mesages available through a signal

2008-02-29 21:03  dev

	* ChangeLog: updating ChangeLog

2008-02-29 21:02  dev

	* setup.py: New in this 0.5.2 release
	  
	  * 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
	  * rearrangement in the way multiple res elements are ordered,
	  fixes issues which we had with some UPnP stacks
	  and their 'wayward' interpretation of the specs
	  * and a lot more of the usual bugfixes and enhancements

2008-02-28 13:13  dev

	* coherence/backends/fs_storage.py, coherence/extern/xdg.py: some
	  adjustments re utf-8 file/directory names, addresses #121

2008-02-28 11:59  dev

	* coherence/backends/fs_storage.py: on the walk of the content
	  directories, catch any OSErrors and report them, so that a not
	  accessible file or directory doesn't prevent the whole device
	  from starting - fixes #120

2008-02-25 19:47  dev

	* bin/coherence: adding quick 'n dirty support for activating a
	  backend via the commandline
	  
	  * syntax is bin/coherence
	  --plugin=backend:FSStore,name=Coherence,content=/home/media
	  
	  name and content can be omitted

2008-02-25 19:45  dev

	* coherence/backends/fs_storage.py: a fix regarding a bug
	  introduced in [777]

2008-02-21 17:50  dev

	* coherence/backends/fs_storage.py, coherence/extern/xdg.py: adding
	  support for XDG audio, pictures and video directories to the
	  FSStore, addresses #119
	  
	  * to enable it, remove the content keyword for that backend in
	  the configuration file
	  * needs probably some testing with path names in different
	  languages

2008-02-16 16:40  dev

	* coherence/backends/mediadb_storage.py,
	  coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/services/servers/content_directory_server.py: add
	  ''auto'' RefID and ParentID support for MediaServer backends with
	  virtual containers like 'artists' and 'albums'

2008-02-16 16:39  dev

	* coherence/upnp/core/variable.py: being a little more flexible

2008-02-16 16:28  dev

	* coherence/backends/gstreamer_audio_player.py: declare 'ABS_TIME'
	  and 'REL_TIME' as only valid values for the Seek action Unit
	  parameter

2008-02-16 10:22  dev

	* coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_service.py: rearrange the logging levels
	  to reduce the output a bit

2008-02-16 10:20  dev

	* coherence/backends/gstreamer_audio_player.py: announce the
	  ability to Seek to the ControlPoint (in the hope it honours it)

2008-02-16 10:16  dev

	* coherence/backends/gstreamer_audio_player.py: added the long
	  missing Seek action to the GStreamer MediaRenderer, only ABS_TIME
	  and REL_TIME seeks are supported so far

2008-02-16 10:11  dev

	* coherence/upnp/core/event.py: catch malformed notify messages

2008-02-16 10:09  dev

	* coherence/upnp/devices/basics.py: set the proper description file
	  version for the downward compatibility services which have a
	  therefore reduced version number

2008-02-11 12:58  dev

	* coherence/upnp/core/xml-service-descriptions/AVTransport2.xml:
	  typo fix in the AVTransport service description file, thx zeenix!

2008-02-09 19:50  dev

	* coherence/backends/mediadb_storage.py: reworked tag support again

2008-02-08 10:58  philn

	* coherence/backends/mediadb_storage.py: support for python-tagpy

2008-02-07 11:30  dev

	* coherence/backend.py, coherence/backends/fs_storage.py,
	  coherence/backends/mediadb_storage.py,
	  coherence/upnp/services/servers/content_directory_server.py: move
	  the Xbox specific parts out of the ContentDirectoryService and
	  into the generic backend base class

2008-02-06 10:58  dev

	* coherence/base.py: use only '127.' as the pattern to detect a
	  loopback address, to circumvent these '127.0.1.1' entries in
	  /etc/hosts on Ubuntu >= edgy.
	  
	  See this thread: http://ubuntuforums.org/showthread.php?t=388765

2008-02-04 18:55  dev

	* coherence/backend.py, coherence/backends/fs_storage.py,
	  coherence/backends/mediadb_storage.py: move towards factoring out
	  basic BackendStore and BackendItem classes

2008-02-04 18:53  dev

	* coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/services/servers/content_directory_server.py: some
	  steps towards supporting the XBox again

2008-02-04 16:22  dev

	* coherence/upnp/core/device.py: check faulty subscription the
	  right way

2008-02-03 20:04  dev

	* coherence/upnp/devices/basics.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: * move redundant parts of
	  the device classes into a BasicAVMixin
	  * rework once more the initial registration and notification
	  method

2008-02-03 20:03  dev

	* coherence/backends/fs_storage.py: * don't try to find cover art
	  in other things than FilePath/directory objects
	  * fix content directory list

2008-02-03 19:57  dev

	* Coherence.egg-info/requires.txt, docs/coherence.conf.example: a
	  new egg-info file and fixing a typo in the example configuration
	  file

2008-02-02 19:35  dev

	* coherence/backends/fs_storage.py,
	  coherence/upnp/devices/media_server.py: build the foundations to
	  send out thumbnails for images in multiple <res> elements

2008-02-02 19:34  dev

	* coherence/upnp/core/variable.py,
	  coherence/upnp/services/servers/media_receiver_registrar_server.py:
	  solve an issue when a client actually sends a RegisterDevice
	  action to our fake MediaReceiverRegistrar service

2008-02-02 19:31  dev

	* docs/coherence.conf.example: fix type

2008-02-02 14:20  dev

	* coherence/upnp/core/DIDLLite.py: have Resources only in Items and
	  below

2008-02-02 14:17  dev

	* coherence/extern/et.py: one more fix to handle differences in the
	  various ElementTree APIs

2008-02-02 14:16  dev

	* Coherence.egg-info/PKG-INFO: following the version increase

2008-01-29 17:43  dev

	* coherence/__init__.py: increase the version number in preparation
	  for a intermediate release

2008-01-29 13:18  dev

	* coherence/upnp/core/DIDLLite.py: get rid of these prints

2008-01-29 11:56  dev

	* coherence/backends/elisa_renderer.py: applying changes from [742]
	  to the Elisa MediaRenderer too

2008-01-29 11:23  dev

	* coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/core/DIDLLite.py: move the
	  "find-the-matching-pair" for the local and remote protocolInfo
	  into the Resources class and adjust the GStreamer MediaRenderer
	  accordingly

2008-01-28 22:40  dev

	* coherence/backends/axiscam_storage.py,
	  coherence/backends/buzztard_control.py,
	  coherence/backends/elisa_storage.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/backends/iradio_storage.py,
	  coherence/backends/lastfm_storage.py,
	  coherence/backends/mediadb_storage.py,
	  coherence/upnp/core/DIDLLite.py: * use a "sorted" list for an
	  items resources, to assure the 'http-get' resources are aways the
	  first ones, followed by the 'rtsp-rtp-udp' ones
	  
	  * adapt the GStreamer MediaRenderer to that, it looks now for any
	  fitting 'internal' resources first

2008-01-28 22:37  dev

	* coherence/upnp/core/utils.py: remove for the moment our test
	  classes for the RadioStreams

2008-01-28 11:29  dev

	* coherence/backends/fs_storage.py,
	  coherence/backends/mediadb_storage.py: * starting work on
	  CreateObject again
	  * export more details in the MediaStore

2008-01-28 11:15  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: * allow a global
	  'version' parameter in the configuration
	  * set the ''transferMode.dlna.org'' and
	  ''contentFeatures.dlna.org'' headers in the MediaServer responses

2008-01-28 11:13  philn

	* .: updated svn:externals to point to new Flumotion SVN

2008-01-28 11:06  dev

	* coherence/upnp/core/DIDLLite.py: added more Object details

2008-01-28 11:05  dev

	* coherence/upnp/core/event.py, coherence/upnp/core/utils.py:
	  handle HTTP responses without body and a missing success/error
	  code

2008-01-28 11:03  dev

	* coherence/upnp/core/ssdp.py: CAPS consistency

2008-01-28 10:56  dev

	* coherence/upnp/core/variable.py: an additional detail in the log
	  output

2008-01-28 10:55  dev

	* coherence/upnp/services/clients/av_transport_client.py,
	  coherence/upnp/services/clients/content_directory_client.py:
	  fixes and adjustments to the client api
	  
	  * we'll return DIDLLite objects from a 'Browse' in the future
	  too, the client need to have a bit more knowledge about the UPnP
	  stuff with that, but it is much more flexible than trying to
	  convert the whole object into a dict

2008-01-28 10:51  dev

	* setup.py: include Louie and ConfigObj as dependencies in the
	  python/easy_install setup configuration

2008-01-27 12:39  dev

	* Coherence.egg-info/PKG-INFO, coherence/__init__.py,
	  coherence/backends/gstreamer_audio_player.py, setup.py: let the
	  GStreamer MediaRenderer behave a bit more spec compliant on a
	  SetAVTransportURI action, addresses #116

2007-12-31 16:04  dev

	* ChangeLog: checking in modified ChangeLog

2007-12-31 16:02  dev

	* ChangeLog, setup.py: This 0.5 release brings
	  
	  * better DLNA support, in particular for the Sony Playstation 3
	  * a MediaServer backend for Shoutcast internet radio streams
	  * an experimental last.fm MediaServer backend for the last.fm
	  service
	  * provide methods to remove local devices from a Coherence
	  instance
	  * slow move to an XML based configuration file
	  * support for BSD systems - thx kraft!
	  * an emerging D-Bus interface
	  * more platform independency for our Twisted inotify module,
	  using libc when possible
	  * and a lot more of the usual bugfixes and enhancements

2007-12-31 11:05  dev

	* coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: a step towards persistent
	  device UUIDs

2007-12-31 11:03  dev

	* Coherence.egg-info/PKG-INFO, Coherence.egg-info/entry_points.txt,
	  coherence/__init__.py, coherence/backends/lastfm_storage.py,
	  setup.py: last.fm backend (not functional due to the current
	  unsatisfactory UPnP stack implementation of quite a lot available
	  UPnP clients)

2007-12-31 10:52  dev

	* coherence/backends/iradio_storage.py,
	  coherence/upnp/core/utils.py: close proxy connection when clients
	  are finished or quit, closes #111

2007-12-31 10:50  dev

	* coherence/extern/inotify.py: minor fix to not break tracebacks on
	  displaying a utf-8 encoded string

2007-12-30 16:54  dev

	* coherence/upnp/core/ssdp.py: move the
	  'UPnP.SSDP.datagram_received' signal to a place __after__ we had
	  a change to register the device with the SSDP server

2007-12-29 20:34  dev

	* coherence/extern/simple_plugin.py: add a little bit more
	  flexibility to the SimplePlugin Reception class, enable it to
	  return only selected plugin classes

2007-12-29 15:32  micxer

	* coherence/upnp/core/event.py, coherence/upnp/core/ssdp.py: Fixed
	  missing SSDP signal
	  Changed signalnames to more generic names

2007-12-24 09:10  dev

	* coherence/upnp/core/event.py: missing import, fixes #114

2007-12-21 14:38  micxer

	* coherence/base.py, coherence/upnp/core/event.py,
	  coherence/upnp/core/soap_proxy.py: Merge changes made in the
	  upnp-test branch back to Coherence trunk

2007-12-18 11:56  dev

	* coherence/__init__.py, coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/core/soap_service.py: some adjustments for the
	  divx support in the PS3

2007-12-15 14:45  dev

	* coherence/upnp/core/event.py: Adding some more specs compliance
	  to the eventing implementation.
	  
	  Closes #113

2007-12-13 16:05  dev

	* coherence/upnp/core/xml-service-descriptions/ContentDirectory1.xml:
	  removal of white-space that shouldn't have been in that xml-file

2007-12-12 19:06  dev

	* coherence/upnp/core/service.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/media_receiver_registrar_server.py:
	  fixing an embarrassing bug regarding the namespace of the UPnP
	  serviceID in our device description xml-files.
	  
	  Thanks morty for spotting this!

2007-12-12 19:02  dev

	* coherence/upnp/core/event.py: handle URLs send from other devices
	  with not trailing root '''/''' more gracefully

2007-12-08 22:05  dev

	* coherence/upnp/services/servers/content_directory_server.py: be a
	  bit more lenient toward the XBox

2007-12-08 21:41  dev

	* coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/iradio_storage.py,
	  coherence/backends/mediadb_storage.py,
	  coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/services/servers/content_directory_server.py:
	  cleaning up some of the XBox related stuff

2007-12-08 14:00  dev

	* coherence/base.py: handle fallback from XMLConfig to old config
	  file the ''right'' way

2007-12-08 12:33  dev

	* bin/coherence: correct a missing import

2007-12-08 12:10  dev

	* bin/coherence, coherence/backends/fs_storage.py,
	  coherence/base.py, coherence/extern/config.py,
	  coherence/upnp/core/DIDLLite.py, coherence/upnp/core/device.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/content_directory_server.py: *
	  some more preparations for the XMLConfig
	  * convert icon attributes to strings
	  * some experiments to create device client specific DIDLElements

2007-12-01 13:16  dev

	* coherence/extern/config.py: correct the last checkin, now with
	  all needed methods

2007-12-01 12:47  dev

	* bin/coherence, coherence/base.py, coherence/extern/config.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: support for the new
	  [wiki:XMLConfig XML based config file format]

2007-11-28 21:49  dev

	* Coherence.egg-info/PKG-INFO, Coherence.egg-info/entry_points.txt,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/iradio_storage.py,
	  coherence/upnp/core/utils.py,
	  coherence/upnp/services/servers/content_directory_server.py,
	  docs/coherence.conf.example, setup.py: a new backend that maps
	  shoutcast radio stations to 'normal' UPnP media data, far from
	  perfect, and with some bugs to fix
	  
	  some changes to the ContentDirectoryClient Browse method, to
	  enable store objects to return deferreds when queried for their
	  items and children

2007-11-27 13:57  dev

	* coherence/__init__.py, coherence/base.py,
	  coherence/upnp/core/ssdp.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: added the option to
	  remove a backend from Coherence:
	  
	  * requirement: backend must be added via `backend
	  =coherence.add_plugin(...)`
	  * removal is done by `coherence.remove_plugin(backend)`
	  
	  This closes #99

2007-11-23 16:34  dev

	* coherence/upnp/core/device.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server_client.py: enable access to
	  device icons from within the device clients, they have now a list
	  attribute named 'icons'.
	  
	  This is a followup to [455].

2007-11-22 15:09  dev

	* coherence/extern/inotify.py: new versions of libc have wrapper
	  calls for the kernel inotify methods, let's use them if they are
	  available and maybe some day in the future we can get rid of that
	  _inotify_syscalls list.

2007-11-21 10:10  dev

	* Coherence.egg-info/PKG-INFO, coherence/__init__.py,
	  coherence/base.py, coherence/upnp/core/device.py,
	  coherence/upnp/core/msearch.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: flexibilized the way the
	  ControlPoint reacts on new device detections and added a method
	  to query for a particular device and get informed if it shows up
	  later

2007-11-21 10:01  dev

	* coherence/extern/covers_by_amazon.py: a bit of cleanup and a way
	  to specify the file to store the downloaded cover

2007-11-21 09:59  dev

	* coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py: added support to serve mp4 files
	  to the filesystem store

2007-11-13 19:13  dev

	* coherence/extern/inotify.py: set the unpack string to use native
	  byte order, but follow the Python standard size and alignment
	  definitions instead of using the native ones there too.
	  
	  http://docs.python.org/lib/module-struct.html
	  
	  Closes #104, thx for spotting this.

2007-11-13 09:25  dev

	* coherence/upnp/core/utils.py: support for IP detection on BSD
	  systems. Thx for the patch, kraft!
	  
	  Closes #103

2007-10-17 10:39  dev

	* coherence/upnp/core/ssdp.py: a bit more of the helpful debug
	  output

2007-10-14 19:42  dev

	* coherence/__init__.py, coherence/base.py,
	  coherence/upnp/core/device.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/devices/media_renderer.py: first steps towards the
	  removal off an once activated local device

2007-10-14 15:25  dev

	* coherence/upnp/core/DIDLLite.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/variable.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/services/clients/av_transport_client.py,
	  coherence/upnp/services/clients/connection_manager_client.py,
	  coherence/upnp/services/clients/content_directory_client.py,
	  coherence/upnp/services/clients/rendering_control_client.py: * a
	  DIDLLite fragment transformed from string into objects uses now
	  the proper UPnP classes
	  * variable subscriptions can now be callback and signal based
	  * variables send out signals on modification
	  * 'Coherence.UPnP.StateVariable.changed' - for notification on
	  changes of every variable
	  * 'Coherence.UPnP.StateVariable.<VariableName>.changed' - a
	  dedicated signal per variable
	  * removed usn from the callback/signal arguments

2007-10-14 15:10  dev

	* coherence/upnp/core/ssdp.py: catch Attribute exceptions too, in
	  the case we are trying to send out something during shutdown

2007-10-14 15:07  dev

	* coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/backends/mediadb_storage.py: added childCount
	  attributes at the proper level again and some minor
	  rearrangements

2007-10-14 15:05  dev

	* coherence/extern/covers_by_amazon.py: added a way to use the
	  cover getter it as a simple command-line tool and removed some
	  debugging output

2007-10-14 15:02  dev

	* coherence/base.py: no "warning" log message if there are no
	  plugins to activate

2007-10-03 18:45  dev

	* coherence/upnp/services/clients/content_directory_client.py,
	  coherence/upnp/services/servers/content_directory_server.py: *
	  handle migration to the new browse call more gracefully
	  * and be a bit more forgiving with uncompleted backends

2007-10-03 08:04  philn

	* coherence/base.py: s/error/warning

2007-10-02 11:35  dev

	* coherence/backends/mediadb_storage.py,
	  coherence/upnp/devices/media_server.py,
	  docs/coherence.conf.example: some updates to sort out the
	  Rhythmbox vs. PS3 issues

2007-09-30 21:23  dev

	* bin/coherence, coherence/__init__.py, coherence/dbus_service.py,
	  docs/coherence.conf.example: * moved import of Coherence - is it
	  the logging framework that installs the reactor early?
	  * some cleanup in the DBusPontoon and a bit more logging output
	  * increase version number

2007-09-30 18:41  dev

	* coherence/dbus_service.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/variable.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server_client.py: updates on the
	  D-Bus integration, now we have a D-Bus method per service named
	  'subscribe' to get an initial set of StateVariable values and
	  D-Bus signals are now created when a StateVariable gets updated

2007-09-28 21:38  philn

	* Coherence.egg-info/SOURCES.txt: remove unuseful file

2007-09-28 21:36  philn

	* ., Coherence.egg-info, Coherence.egg-info/PKG-INFO,
	  Coherence.egg-info/SOURCES.txt,
	  Coherence.egg-info/dependency_links.txt,
	  Coherence.egg-info/entry_points.txt,
	  Coherence.egg-info/top_level.txt: put Coherence.egg-info under
	  source control, for a safer world

2007-09-26 21:52  dev

	* coherence/base.py, coherence/dbus_service.py: more work on the
	  D-Bus interface, now split into UPnP device and UPnP service
	  D-Bus objects

2007-09-26 21:51  dev

	* coherence/upnp/core/service.py,
	  coherence/upnp/services/clients/av_transport_client.py,
	  coherence/upnp/services/clients/connection_manager_client.py,
	  coherence/upnp/services/clients/content_directory_client.py,
	  coherence/upnp/services/clients/rendering_control_client.py: have
	  a reference in the service class to the client class, to make
	  things in the D-Bus (and others) gateway easier, but maybe
	  refactoring and subclassing the client from the service class is
	  a much better idea

2007-09-23 19:05  dev

	* bin/coherence, coherence/__init__.py, coherence/base.py,
	  coherence/dbus_service.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/services/clients/content_directory_client.py:
	  first experiment of some Coherence/DBus coupling

2007-09-23 13:12  dev

	* coherence/backends/mediadb_storage.py: better default path for
	  media db

2007-09-23 13:10  dev

	* coherence/backends/gstreamer_audio_player.py: minor log output
	  change

2007-09-23 13:08  dev

	* coherence/backends/flickr_storage.py: added a timeout of 60
	  seconds to the flickr request method

2007-09-22 22:14  dev

	* coherence/extern/inotify.py: added syscall ids for x86_64, closes
	  #98.
	  
	  Thx!

2007-09-19 12:50  dev

	* coherence/upnp/core/msearch.py, coherence/upnp/core/ssdp.py: add
	  the missing ''import''

2007-09-19 12:49  dev

	* coherence/base.py: * change a message from loglevel ''error'' to
	  ''warning'', as an ''error'' message leads to the raise off a
	  SystemExit exception in the logging framework
	  * replace ''installed_plugins'' with ''available_plugins'', as we
	  are talking about the usable backends, not the ones we have
	  activated
	  * return in add_plugin the class of the activated device, to
	  support local accessing of local activated devices in some near
	  future

2007-09-13 10:49  dev

	* coherence/upnp/core/msearch.py, coherence/upnp/core/ssdp.py:
	  wrapped multicast and unicast messages in try/except to catch and
	  log socket errors caused by gone network connections

2007-09-06 13:23  dev

	* coherence/extern/et.py: change from a sys.exit and therefore a
	  program abort to a more application friendly ImportError
	  exception when no suitable ElementTree implementation can be
	  found

2007-09-03 11:40  philn

	* coherence/log.py, docs/coherence.conf.example: redirect only
	  stderr, refs #95 ... Depends on patch at
	  https://core.fluendo.com/flumotion/trac/ticket/748

2007-08-16 17:17  dev

	* coherence/base.py, coherence/upnp/core/service.py: * use
	  os.path.join to get the system specific path-separator
	  * minor log output fixes

2007-08-16 17:08  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: * fix for a potential
	  race condition where the backend signals to be ready and the
	  signal collector not yet being in place

2007-08-14 15:01  dev

	* coherence/backends/gstreamer_audio_player.py: revert wrong
	  checkin

2007-08-14 14:54  dev

	* coherence/backends/gstreamer_audio_player.py, coherence/base.py,
	  coherence/log.py, coherence/upnp/core/service.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py,
	  docs/coherence.conf.example: * move to lowercase log category
	  names
	  * categories in the config(-file) will be converted to lower

2007-08-14 13:01  dev

	* coherence/base.py, coherence/extern/simple_plugin.py,
	  coherence/upnp/devices/media_server.py: add a callable for log
	  output to the simple-plugin, so errors there fit nicely into the
	  overall look

2007-08-14 09:22  dev

	* coherence/backends/gstreamer_audio_player.py, setup.py: use the
	  same name for class _and_ entrypoint, if not the fallback plugin
	  handling will fail

2007-08-14 09:07  dev

	* coherence/base.py, coherence/log.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: more adjustments to work
	  with the new logging framework

2007-08-13 16:32  dev

	* coherence/__init__.py, coherence/backends/axiscam_storage.py,
	  coherence/backends/buzztard_control.py,
	  coherence/backends/elisa_renderer.py,
	  coherence/backends/elisa_storage.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/backends/mediadb_storage.py, coherence/base.py: added
	  our little simple_plugin as a fallback if we can't use
	  pkg_resources from setuptools

2007-08-13 16:25  dev

	* coherence/upnp/core/soap_proxy.py: added some log output

2007-08-13 16:23  dev

	* coherence/extern/simple_plugin.py: little helper module
	  implementing a real simple plugin system, just enough to fulfill
	  our needs when we are on a system with no
	  setuptools/pkg_resources available

2007-07-31 16:15  dev

	* ChangeLog: ChangeLog update

2007-07-31 16:08  dev

	* ChangeLog, coherence/__init__.py,
	  coherence/backends/flickr_storage.py, coherence/base.py,
	  coherence/upnp/core/event.py, coherence/upnp/core/service.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py,
	  coherence/web/ui.py, docs/coherence.conf.example, setup.py:
	  Preparations for the 0.4.0 release.
	  
	  This release brings
	  
	  * integration of a new logging module
	  logging can now be configured via the config file or through an
	  environment variable COHERENCE_DEBUG, which overrides the config
	  values.
	  
	  Usage is like
	  COHERENCE_DEBUG=*:3 emit INFO level messages from all modules
	  COHERENCE_DEBUG=*:2,ssdp:4 WARNING level messages from all
	  modules,
	  plus debug level for the ssdp module
	  
	  * removed the dependency for SOAPpy, now using own methods and
	  ElementTree only
	  * start reworking the client API, to make things there easier
	  too,
	  see as an example
	  https://coherence.beebits.net/wiki/CoherenceMediaRenderer
	  * serving cover art now to DLNA MediaRenderers
	  * refinements on the object creation and the import into the
	  MediaServers
	  * an installable package for the Nokia Maemo platform on the
	  N800,
	  complete with all dependecies, thanks to Rob Tylor of
	  http://codethink.co.uk
	  * and a lot more of the usual bugfixes and enhancements

2007-07-31 08:51  philn

	* coherence/extern/inotify.py: don't set _instance_ too early

2007-07-30 17:13  dev

	* coherence/upnp/core/device.py, coherence/upnp/core/service.py:
	  more log level rearrangements

2007-07-30 16:42  philn

	* coherence/extern/inotify.py: check self._fd existence before
	  release

2007-07-30 14:34  dev

	* coherence/backends/flickr_storage.py, coherence/base.py,
	  coherence/log.py, coherence/upnp/core/service.py: * added
	  disabling of any log output again, with 'none' as logmode in the
	  configuration
	  * rearranging the levels of some log messages

2007-07-27 10:07  dev

	* coherence/upnp/core/soap_proxy.py: return the failure from the
	  errback of a soap call, so the upstream errback is called too

2007-07-27 10:06  dev

	* coherence/upnp/core/service.py: removed some debug noise

2007-07-27 10:05  dev

	* coherence/upnp/core/event.py: catch errors when sending
	  UNSUBSCRIBE messages after the socket is gone

2007-07-26 18:49  dev

	* coherence/upnp/services/servers/connection_manager_server.py:
	  fixed a wrong indentation

2007-07-26 16:10  philn

	* coherence/log.py: woo colored log output

2007-07-26 15:45  dev

	* coherence/__init__.py, coherence/base.py,
	  coherence/upnp/core/device.py, coherence/upnp/core/event.py,
	  coherence/upnp/core/service.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server_client.py,
	  coherence/upnp/services/clients/av_transport_client.py,
	  coherence/upnp/services/clients/connection_manager_client.py,
	  coherence/upnp/services/clients/content_directory_client.py,
	  coherence/upnp/services/clients/rendering_control_client.py:
	  event UNSUBSCRIBE messages haven't been send out on device
	  shutdown.
	  
	  Using the proper write method to send out the request and
	  rearrangement of the deferred cascade during the shutdown of
	  Coherence solves that issue.

2007-07-25 18:29  dev

	* coherence/upnp/services/servers/connection_manager_server.py:
	  react upon a malformed RemoteProtocolInfo with an error

2007-07-25 16:41  dev

	* coherence/upnp/core/DIDLLite.py: remove the '''optional'''
	  preamble from the DIDLLite fragment, as some older
	  ContentDirectory clients - notably the NOXON-2 software - can't
	  handle it

2007-07-25 16:39  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: follow-up to [585], do
	  not suppress a lower-version number service announcement

2007-07-25 16:33  dev

	* coherence/upnp/core/msearch.py, coherence/upnp/core/ssdp.py: * do
	  not send out ssdp notifications for ''silent'' devices and
	  services on a '''ssdp:all''' request, only answer when exactly
	  irthe type is queried
	  * some log level adjustments

2007-07-25 16:26  dev

	* coherence/backends/mediadb_storage.py, coherence/log.py: * handle
	  already existing cover art in the MediaDB store
	  * forgotten argument passing at the log.critical convenience
	  method

2007-07-25 10:43  dev

	* coherence/upnp/core/ssdp.py: do not append ''SILENT'' to the
	  MSEARCH responses

2007-07-24 21:45  dev

	* coherence/upnp/core/service.py: added a namespace identifier to
	  the event notification xml elements, closes #93

2007-07-24 21:35  dev

	* coherence/upnp/core/event.py, coherence/upnp/core/ssdp.py: a
	  follow-up to [586], this time with the right files checked in :-(

2007-07-24 21:27  dev

	* coherence/upnp/core/event.py: have a proper event notification
	  sequence number rollover - finally, after all these years ;-)

2007-07-24 21:11  dev

	* coherence/upnp/core/event.py, coherence/upnp/core/ssdp.py: added
	  Date header to MSEARCH responses and event subscription messages
	  to make the test-tool (and micxer) happy

2007-07-24 21:05  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/media_receiver_registrar_server.py:
	  do not just register services in relation to the devices version
	  number, react appropriate to version 1 only services like the
	  MediaReceiverRegistrar and the ScheduledRecording one - this
	  closes #92

2007-07-24 12:33  dev

	* coherence/upnp/core/DIDLLite.py: added ''originalTrackNumber'' to
	  DIDLLite and be bit more tolerant to attributes with integer
	  values

2007-07-24 08:06  dev

	* coherence/base.py: rearrange log-system initialization - a
	  COHERENCE_DEBUG environment variable has always precedence over
	  the log-level definitions in the config file

2007-07-23 20:28  dev

	* coherence/base.py, coherence/log.py: enable logging and level
	  definition per subsystem via configuration file again

2007-07-23 17:46  dev

	* coherence/base.py, coherence/log.py: enable logging into a file
	  via configuration again

2007-07-23 09:06  dev

	* coherence/base.py: be a bit more informative why a plugin import
	  failed

2007-07-22 12:45  dev

	* coherence/backends/fs_storage.py, coherence/extern/inotify.py:
	  append content of a directory if that directory was '''moved'''
	  in, fixes #90

2007-07-15 15:19  dev

	* coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/services/clients/content_directory_client.py: *
	  moved upnp:artist into the root class
	  * return more info from the browse request

2007-07-11 23:42  dev

	* coherence/backends/fs_storage.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/utils.py,
	  coherence/upnp/services/clients/content_directory_client.py:
	  refinements of the CreateObject and ImportResource methods in the
	  FSStore MediaServer, works fine now with our MediaRenderer

2007-07-11 23:39  dev

	* coherence/upnp/core/action.py, coherence/upnp/core/soap_proxy.py:
	  adapt the handling of a single value result to the changes from
	  the move from SOAPpy to our own ElementTree based parser

2007-07-11 23:36  dev

	* coherence/__init__.py, coherence/base.py: one more step in the
	  ''we get the interface detection right'' direction

2007-07-09 21:05  dev

	* coherence/upnp/services/servers/av_transport_server.py: removed
	  some lingering import of twisted.web.soap

2007-07-06 10:33  dev

	* coherence/upnp/core/utils.py: a lame fix to get the interface
	  name on OSX, closes #88

2007-07-05 14:41  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: fix the wrong if clause
	  of [548]

2007-07-05 12:57  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: added a keyword argument
	  ''no_thread_needed'' (defaults to False) to initiate backends
	  that are Twisted-friendly or need to run in a non-thread
	  environment

2007-07-04 17:03  philn

	* coherence/extern/inotify.py: call reactor.removeReader when
	  instance release is requested

2007-07-03 20:37  dev

	* coherence/__init__.py, coherence/base.py: some rearrangement of
	  the eggs plugin handling
	  
	  * entrypoints are looked up only if there is at least one plugin
	  to load defined

2007-07-03 19:07  dev

	* coherence/extern/covers_by_amazon.py: now the proper doc string
	  adjustment

2007-07-03 18:57  dev

	* coherence/extern/covers_by_amazon.py: doc string adjustment

2007-07-03 18:48  dev

	* coherence/extern/covers_by_amazon.py: some cosmetic changes re
	  [541]

2007-07-03 15:29  philn

	* coherence/extern/covers_by_amazon.py: applied patch from
	  lightyear

2007-07-03 15:03  philn

	* coherence/backends/mediadb_storage.py,
	  coherence/extern/covers_by_amazon.py: API key is now a parameter
	  of the coverGetter

2007-07-03 14:53  dev

	* MANIFEST.in, coherence/extern/covers_by_amazon.py,
	  coherence/extern/et.py, coherence/upnp/core/utils.py: * added
	  MANIFEST.in to be prepared for the exclusion of the debion
	  directory
	  * moved parse_xml out of upnp.core.utils.py into
	  coherence.extern.et.py, to remove the dependency from
	  covers_by_amazon.py

2007-07-03 12:05  dev

	* coherence/backends/elisa_renderer.py: changed the check for a
	  fitting protocolInfo

2007-07-02 17:06  philn

	* coherence/backends/elisa_renderer.py,
	  coherence/upnp/core/ssdp.py: various fixes

2007-06-30 12:10  dev

	* coherence/base.py: do not '''print''' the tracebacks, return them
	  as string for the log system to handle them

2007-06-30 11:05  dev

	* coherence/extern/et.py: we need that specific module import path
	  for the ElementTree module on the Python 2.5 version on the Maemo
	  platform

2007-06-29 17:17  philn

	* coherence/upnp/core/device.py, coherence/upnp/core/ssdp.py: don't
	  attempt to write on None transport

2007-06-27 19:17  philn

	* coherence/backends/elisa_storage.py: ObjectIDs are not integers
	  anymore

2007-06-27 18:43  dev

	* coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py: small change to see if we can
	  support album art on the container level

2007-06-27 18:11  dev

	* coherence/upnp/core/DIDLLite.py: DLNA attributes for
	  upnp:albumArtURI (testing)

2007-06-27 17:11  dev

	* coherence/upnp/core/DIDLLite.py: disable DLNA decorator due to
	  immanent stupidity

2007-06-27 16:58  dev

	* coherence/extern/et.py, coherence/upnp/core/utils.py: set proper
	  default encoding and handle data that is unicode already

2007-06-27 16:53  dev

	* coherence/upnp/devices/media_server.py: reduce noise

2007-06-27 12:16  dev

	* coherence/extern/et.py, coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/core/soap_lite.py: changed some of the ElementTree
	  action to really send out utf-8 data (experimental and untested
	  with Python2.4), re #89

2007-06-26 17:44  dev

	* coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server_client.py: follow up to
	  [510], adjusting some debug helper methods

2007-06-26 10:47  dev

	* coherence/upnp/core/DIDLLite.py, coherence/upnp/core/dlna.py: * a
	  beginning of a DLNA decorator module
	  * added xml preamble to the DIDLLite string

2007-06-26 10:45  dev

	* coherence/upnp/core/variable.py: add the device usn as a
	  parameter to the StateVariable updated notification

2007-06-26 10:43  dev

	* coherence/base.py, coherence/upnp/core/device.py,
	  coherence/upnp/core/ssdp.py: some modifications on the reaction
	  upon a SSDP device bye-bye message

2007-06-26 10:41  dev

	* coherence/upnp/devices/media_server_client.py: adjusting to the
	  new ContentDirectoryService ''browse'' action

2007-06-26 10:39  dev

	* coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/upnp/devices/media_server.py: some more fixed regarding
	  the unicode filenames

2007-06-25 19:18  dev

	* coherence/upnp/services/clients/content_directory_client.py:
	  preserve backward compatibility, call new version of the UPnP
	  ContentDirectoryService client Browse action only if requested
	  explicitly

2007-06-25 18:40  dev

	* coherence/extern/inotify.py: some solution to handle unicode
	  pathnames, again this might work only on utf-8 encoded
	  filesystems

2007-06-25 15:06  dev

	* coherence/upnp/services/clients/content_directory_client.py: new
	  version of the UPnP ContentDirectoryService client Browse action,
	  returns a dict with the results of the query as another dict with
	  the key ''items'' included. Might maybe change once more.

2007-06-25 14:51  dev

	* coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py: * add mp4 files to
	  the list of supported protocolType - closes #87, thx!
	  * store filenames within the FSStore MediaServer as unicode
	  strings - re #63.
	  This will probably still have issues with filesystems that don't
	  use utf-8 encoding.

2007-06-22 15:00  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: get around a missing
	  method in the new logging framework

2007-06-22 14:53  dev

	* coherence/backends/flickr_storage.py: added missing Loggable
	  inheritance

2007-06-22 14:47  philn

	* coherence/upnp/core/service.py: ServiceServer should be a
	  Loggable

2007-06-22 11:58  dev

	* coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py: some protocolType
	  additions for a simple test of the video handling capabilities of
	  the MediaServer and the MediaRenderer

2007-06-22 08:04  dev

	* coherence/upnp/devices/media_renderer.py: fixed missing import
	  that broke the MediaRenderer

2007-06-22 07:59  dev

	* coherence/extern/covers_by_amazon.py: added usage restrictions
	  (by the Amazon Webservices license) to the doc string

2007-06-20 09:27  philn

	* coherence/base.py, coherence/upnp/core/event.py,
	  coherence/upnp/devices/control_point.py: changed some warnings to
	  info()

2007-06-20 09:01  philn

	* ., coherence/log.py: forgot a file

2007-06-20 08:58  philn

	* ChangeLog, coherence/backends/axiscam_storage.py,
	  coherence/backends/buzztard_control.py,
	  coherence/backends/elisa_renderer.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/backends/mediadb_storage.py, coherence/base.py,
	  coherence/upnp/core/action.py, coherence/upnp/core/device.py,
	  coherence/upnp/core/event.py, coherence/upnp/core/msearch.py,
	  coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_service.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/core/variable.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/devices/media_server_client.py,
	  coherence/upnp/services/servers/connection_manager_server.py,
	  coherence/web/ui.py: * coherence/backends/axiscam_storage.py:
	  * coherence/backends/buzztard_control.py:
	  * coherence/backends/elisa_renderer.py:
	  * coherence/backends/flickr_storage.py:
	  * coherence/backends/fs_storage.py:
	  * coherence/backends/gstreamer_audio_player.py:
	  * coherence/backends/mediadb_storage.py:
	  * coherence/base.py:
	  * coherence/upnp/core/action.py:
	  * coherence/upnp/core/device.py:
	  * coherence/upnp/core/event.py:
	  * coherence/upnp/core/msearch.py:
	  * coherence/upnp/core/service.py:
	  * coherence/upnp/core/soap_service.py:
	  * coherence/upnp/core/ssdp.py:
	  * coherence/upnp/core/variable.py:
	  * coherence/upnp/devices/control_point.py:
	  * coherence/upnp/devices/media_renderer.py:
	  * coherence/upnp/devices/media_renderer_client.py:
	  * coherence/upnp/devices/media_server.py:
	  * coherence/upnp/devices/media_server_client.py:
	  * coherence/upnp/services/servers/connection_manager_server.py:
	  * coherence/web/ui.py:
	  Slighly changed the way we do logging :-) There's now a
	  COHERENCE_DEBUG env variable you can use to debug Coherence.

2007-06-20 08:30  dev

	* coherence/upnp/core/soap_lite.py,
	  coherence/upnp/core/soap_service.py: more rework on the creation
	  of an UPnP SOAP error

2007-06-20 08:19  dev

	* coherence/upnp/core/service.py: changed a log level

2007-06-20 08:19  dev

	* coherence/upnp/core/ssdp.py: send bye-bye notifications for
	  "silent" (not-actively) announced devices/services

2007-06-19 20:22  dev

	* coherence/upnp/core/soap_service.py: bug fix for wrong UPnPError
	  creation

2007-06-19 19:26  dev

	* coherence/extern/elementsoap, coherence/upnp/core/action.py,
	  coherence/upnp/core/soap_lite.py,
	  coherence/upnp/core/soap_proxy.py,
	  coherence/upnp/core/soap_service.py: * rewrite of the SOAP
	  classes, now relying solely on the ElementTree api.
	  * this allows us to remove the SOAPpy dependency

2007-06-18 13:40  dev

	* coherence/extern/logger.py: bug fix

2007-06-18 13:33  dev

	* coherence/__init__.py, coherence/base.py,
	  coherence/upnp/core/device.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/utils.py: * add a new device only to the
	  internal list of devices after the detection of its services and
	  its own one has completed successfully, re #82
	  * maybe keep a reference of that unsuccessful attempt and ignore
	  this device after three,... failed attempts?
	  * be more informative about errors during plugin setup
	  * increase svn version number to 0.3.1

2007-06-18 13:22  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: create better looking
	  (more readable) xml when in debug mode

2007-06-18 13:21  dev

	* coherence/extern/logger.py: helper methods to find out on which
	  log level we are

2007-06-18 13:20  dev

	* coherence/extern/et.py: a little helper method to generate
	  human-readable xml

2007-06-12 09:32  dev

	* coherence/extern/covers_by_amazon.py: make the WorkQueue a bit
	  more general

2007-06-11 18:40  dev

	* setup.py: added version news into the package description

2007-06-11 18:08  dev

	* ChangeLog, coherence/__init__.py,
	  coherence/backends/fs_storage.py: preparations for the 0.3.0
	  release

2007-06-10 14:57  dev

	* coherence/upnp/core/ssdp.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: make some local device
	  and service registrations ''silent'', meaning not announcing them
	  via SSDP alive notification messages, but still answer for
	  MSEARCH requests.
	  
	  This should solve an issue causing the PS3 to overbalance when
	  getting notification messages from the same device for different
	  device versions.

2007-06-10 14:52  dev

	* coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py: revert some changes made during
	  the PS3 tests which seem to be unnecessary

2007-06-10 10:46  dev

	* coherence/upnp/core/service.py,
	  coherence/upnp/devices/media_server.py: fixes some wrong
	  assumption about an int really being one

2007-06-09 15:18  dev

	* coherence/__init__.py, coherence/backends/elisa_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/extern/et.py, coherence/extern/inotify.py,
	  coherence/extern/uuid/uuid.README.txt,
	  coherence/upnp/core/DIDLLite.py, coherence/upnp/core/event.py,
	  coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_service.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/core/utils.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py,
	  docs/coherence.conf.example, tests/rpc_client.py: merged all
	  PS3-test branch changes r456:469 back into trunk.

2007-05-24 19:44  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: enable support for device
	  icons
	  
	  configuration isn't yet optimal - in the section of the
	  MediaServer or MediaRenderer backend in the config file we need
	  something like this:
	  
	  {{{
	  [[[icon]]]
	  mimetype = image/png
	  height = 48
	  width = 48
	  depth = 24
	  url = file:///home/dev/elisa/elisa.png
	  }}}
	  
	  or in the config dict:
	  
	  {{{
	  'icon': { 'url':'http://coherence.beebits.net/image.png',
	  'mimetype': 'image/png',
	  'width':120,
	  'height':120,
	  'depth':24
	  }
	  }}}
	  
	  According to the
	  [http://upnp.org/specs/arch/UPnP-DeviceArchitecture-v1.0-20060720.pdf
	  UPnP Device Architecture p.28] all fields are required. Maybe
	  later Coherence can autogenerate the values with a PIL call.
	  
	  Multiple icons are supported to. The config above has to be
	  wrapped into an '''icons''' section or dictionary, and the
	  '''icon''' has to be replaced with an unique name.

2007-05-21 12:40  dev

	* coherence/backends/elisa_storage.py,
	  coherence/upnp/core/DIDLLite.py: enable the Elisa MediaServer to
	  supply cover images too

2007-05-20 19:03  dev

	* coherence/backends/mediadb_storage.py: use other id3 tag library
	  ([http://pyid3lib.sourceforge.net pyid3lib]) if available, as
	  requested by konttori

2007-05-20 19:00  dev

	* coherence/upnp/devices/media_server.py: small cleanup

2007-05-20 18:59  dev

	* coherence/extern/covers_by_amazon.py: * works now with artist and
	  title in unicode
	  * typo fix

2007-05-19 09:53  dev

	* coherence/backends/mediadb_storage.py: this is a comment addon
	  for [449]
	  
	  * added the image extension to the cover request uri, so clients
	  like the Nokia Media Streamer - which determine the image type by
	  extension and ignore the mimetype - can handle it. This closes
	  #78
	  
	  * reworked the container structure and added an "All tracks of
	  <artist>" at the beginning of the Artist container

2007-05-19 09:43  dev

	* coherence/backends/mediadb_storage.py,
	  coherence/upnp/devices/media_server.py: adapt the recognition of
	  a request for cover art to the new uri with the image extension
	  added, addresses #78

2007-05-19 09:41  dev

	* coherence/upnp/services/servers/content_directory_server.py:
	  remove the wrong conversion of the ObjectID to an integer

2007-05-18 12:26  dev

	* coherence/upnp/devices/media_server.py: adjustments to proper
	  display unicode names and titles in the web-interface

2007-05-18 12:25  dev

	* coherence/backends/mediadb_storage.py: Look Ma - now with 'All'
	  and 'Artists' containers

2007-05-18 12:23  dev

	* coherence/upnp/core/utils.py: some minor cleanup

2007-05-17 19:55  dev

	* coherence/backends/mediadb_storage.py: * made the MediaStore a
	  working MediaServer backend
	  * added album art/cover image support

2007-05-17 19:52  dev

	* coherence/upnp/devices/media_server.py: adjustments to work with
	  the MediaStore backend and to support album art/cover retrieval

2007-05-17 19:46  dev

	* coherence/upnp/core/DIDLLite.py: extend MusicTrack with
	  'upnp:albumArtURI' attribute, which could move up to Item anyway

2007-05-17 19:41  dev

	* coherence/extern/covers_by_amazon.py: allow keeping the received
	  image in memory or converting it into a different format with
	  [http://www.pythonware.com/products/pil/index.htm PIL]

2007-05-17 12:18  dev

	* coherence/backends/buzztard_control.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/upnp/services/servers/content_directory_server.py: use
	  methods to access the MediaServer item attributes, allowing the
	  item to create them on the fly

2007-05-17 12:16  dev

	* setup.py: add the new MediaStore backend to the MediaServer
	  entrypoints

2007-05-17 11:55  dev

	* coherence/extern/logger.py: got it right this time? :-/

2007-05-17 11:40  dev

	* coherence/extern/logger.py: handle unicode log msg arguments

2007-05-13 20:17  dev

	* coherence/backends/mediadb_storage.py: first version of a
	  MediaStore with a database backend, provides some basic internal
	  functionality, but far from complete

2007-05-13 19:37  dev

	* coherence/extern/covers_by_amazon.py: deal a bit better with the
	  filename extension

2007-05-12 20:30  dev

	* coherence/extern/covers_by_amazon.py: now callback handling with
	  parameter passing

2007-05-12 11:23  dev

	* coherence/extern/covers_by_amazon.py: added a callback parameter,
	  so the initiator will get informed when an image retrieval has
	  succeeded

2007-05-12 10:57  dev

	* coherence/extern/covers_by_amazon.py: a small helper module to
	  retrieve covers/album-art via the Amazon ECommerce Webservice
	  with Twisted
	  
	  * works for ASIN and ARTIST/TITLE
	  * saves the retrieved image in a file
	  * includes a small Queue module to reduce the number of parallel
	  requests

2007-05-10 16:30  dev

	* coherence/extern/inotify.py: added system call ids for ARM/Maemo
	  platform

2007-05-10 16:29  dev

	* coherence/upnp/core/event.py: reduce the amount of log output

2007-05-07 20:21  dev

	* coherence/backends/gstreamer_audio_player.py, setup.py: rework of
	  the GStreamer MediaRenderer
	  
	  supports ogg now and works way better on the N800 (still a few
	  issues open, e.g. seems to stop sending UPnP events)
	  
	  re #74

2007-05-07 08:28  dev

	* coherence/upnp/core/service.py: store the information about
	  vendor defines in the ''allowed value range'' too

2007-05-07 08:26  dev

	* coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py: adaption for ogg-files

2007-05-05 13:31  dev

	* coherence/__init__.py, coherence/base.py,
	  coherence/upnp/core/device.py, coherence/upnp/core/event.py,
	  coherence/upnp/core/service.py, coherence/upnp/core/ssdp.py: Fix
	  the shutdown method of Coherence, the
	  ''reactor.addSystemEventTrigger( 'before', 'shutdown',
	  self.shutdown)'' expects self.shutdown to return a deferred and
	  waits until that has finished.
	  
	  Now we return a
	  [http://twistedmatrix.com/projects/core/documentation/howto/defer.html#auto7
	  deferredList] in which we collect and wait for all cleanups that
	  have to be done.
	  
	  In addition the way the event unsubscription had to be changed. A
	  new EventProtocol instance seems not to be created by the
	  ClientCreater when the reactor is going down. Which makes some
	  sense anyway. :-)
	  
	  So we keep the protocol instance after our first event
	  subscription request for reuse around and are now able to send
	  out the unsubscribe request.
	  
	  This fixes #75 - at least it is supposed to. If not pls reopen
	  this ticket.

2007-05-04 10:51  dev

	* coherence/backends/flickr_storage.py: Flickr seems to have
	  changed the way original photos can be retrieved.
	  
	  [http://flickr.com/services/api/misc.urls.html Flickr Photo
	  Source URLs]
	  
	  To access the original photos, we need to construct the url with
	  an ''originalsecret'', which isn't returned in the response to
	  our current request.
	  
	  So for now we just take the default image (medium resolution?)
	  that Flickr offers and try to sort out later what's needed to
	  retrieve that ''originalsecret'' value.
	  
	  This closes #73.

2007-04-26 10:54  micxer

	* coherence/extern/uuid/uuid.py: fixed typo in uuid.py

2007-04-16 19:03  dev

	* coherence/backends/gstreamer_audio_player.py: added id3lib to the
	  GStreamer pipeline on the N800, to avoid crashes of dspmp3sink
	  with files containing tags it cant handle

2007-04-15 18:40  dev

	* coherence/backends/fs_storage.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_server.py, tests/rpc_client.py:
	  added the missing http-put content import method, needs probably
	  a bit more error checking
	  
	  {{{
	  tests/rpc_client.py -c put_resource
	  "url=http://host:port/uuid/id?import" "path=file.mp3"
	  }}}

2007-04-11 20:38  dev

	* coherence/backends/gstreamer_audio_player.py: more work on the
	  GStreamer MediaRenderer for the Nokia N800,
	  fixed some wrong assumptions on how GStreamer ticks,
	  addresses [74]

2007-04-11 15:42  dev

	* coherence/backends/gstreamer_audio_player.py: volume control on
	  the Nokia N800 dspm3sink

2007-04-11 13:06  dev

	* coherence/backends/gstreamer_audio_player.py: some changes in the
	  GStreamer MediaRenderer to work on the Nokia N800, addresses #74

2007-04-11 13:04  dev

	* coherence/upnp/services/clients/av_transport_client.py: added
	  necessary parameter for AVTransport Play (we do check this now)

2007-04-05 16:36  dev

	* tests/rpc_client.py: cut 'n paste error

2007-04-04 21:21  dev

	* coherence/upnp/devices/control_point.py, tests/rpc_client.py:
	  more work on the ContentDirectory action ImportResource? in the
	  file-system MediaServer
	  
	  an upload should now be possible with
	  
	  {{{
	  test/rpc_client.py -c import_resource -d <uuid of MediaServer>
	  source_uri=http://host/file
	  destination_uri=http://mediaserver/location?import
	  }}}

2007-04-04 16:17  dev

	* coherence/backends/fs_storage.py: handle non-existent inotify
	  support graciously

2007-04-04 10:09  dev

	* setup.py: generate download url from __version__

2007-04-03 19:38  dev

	* coherence/__init__.py, coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/core/DIDLLite.py, coherence/upnp/core/utils.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/clients/content_directory_client.py,
	  coherence/upnp/services/servers/content_directory_server.py,
	  tests/rpc_client.py: initial work to support the ContentDirectory
	  actions CreateObject and ImportResource in the file-system
	  MediaServer
	  
	  for testing there is at the moment only the rpc_client
	  
	  {{{
	  test/rpc_client.py -c list_devices
	  
	  test/rpc_client.py -c create_object -d <uuid of MediaServer> -i
	  1000 title=abc upnp_class=object.container.storageFolder
	  parentID=1000
	  }}}

2007-04-03 18:53  dev

	* coherence/__init__.py, coherence/base.py: fix plugin load for
	  plugins with missing dependencies

2007-04-01 10:19  dev

	* setup.py: update setup.py to allow registering with pypi

2007-04-01 09:38  dev

	* coherence/__init__.py: update version to 0.2.0

2007-03-26 12:52  dev

	* coherence/backends/axiscam_storage.py: put the signal somethere
	  where it makes sense

2007-03-26 11:58  dev

	* coherence/backends/elisa_renderer.py: some more fixes for the
	  Elisa MediaRenderer

2007-03-26 11:57  dev

	* coherence/backends/axiscam_storage.py: add forgotten louie signal
	  to the axiscam_store

2007-03-23 10:52  dev

	* coherence/backends/elisa_renderer.py,
	  coherence/backends/elisa_storage.py, coherence/base.py,
	  coherence/upnp/core/utils.py: remove twisted internal
	  log-messages from the Coherence log

2007-03-22 22:01  dev

	* coherence/__init__.py, coherence/backends/elisa_renderer.py,
	  coherence/backends/elisa_storage.py: incooperated patch from
	  philn with some minor adjustments
	  
	  re #72

2007-03-21 09:50  philn

	* coherence/backends/elisa_renderer.py,
	  coherence/backends/elisa_storage.py: Some progress on internal
	  elisa renderer

2007-03-20 19:51  dev

	* coherence/plugins: removed not needed plugins directory

2007-03-20 19:50  dev

	* coherence/__init__.py, coherence/base.py, setup.py: switched to
	  an entry points/setuptools based plugin system as
	  [http://base-art.net/Articles/64/ described by Philippe Normand]
	  
	  current entry points are:
	  
	  * coherence.plugins.backend.media_server
	  * coherence.plugins.backend.media_renderer
	  
	  Now external backends can much easier integrated and even
	  installed separately.
	  
	  This addresses #22 and closes #42.

2007-03-20 19:38  dev

	* coherence/backends/gstreamer_audio_player.py,
	  docs/coherence.conf.example: renamend GStreamer MediaRenderer
	  class from Player to GStreamerPlayer to be a bit more descriptive
	  in the plugin definition

2007-03-20 19:27  dev

	* coherence/upnp/core/device.py, coherence/upnp/core/service.py:
	  more fixes following [384]

2007-03-18 13:49  dev

	* coherence/upnp/core/device.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_proxy.py: proper handle of deferred
	  result, that's now a tuple
	  error introduced in [384]

2007-03-18 11:56  philn

	* coherence/upnp/core/utils.py: twisted.web.getPage returns a list
	  for me

2007-03-15 22:23  dev

	* coherence/upnp/core/device.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_proxy.py, coherence/upnp/core/utils.py:
	  disable log messages from the twisted.web.client in switching to
	  our own subclass

2007-03-15 10:13  dev

	* coherence/backends/buzztard_control.py: more work in the Buzztard
	  ContentDirectory update

2007-03-14 21:57  dev

	* coherence/backends/buzztard_control.py: attempt to fix missing
	  ContentDirectory change event propagation

2007-03-14 16:20  dev

	* coherence/backends/buzztard_control.py: some update on the repeat
	  handling

2007-03-14 16:16  dev

	* coherence/backends/buzztard_control.py: fix for missing stream
	  position update

2007-03-14 16:04  dev

	* coherence/backends/buzztard_control.py: added playmode handling -
	  NORMAL|REPEAT_ONE|REPEAT_ALL

2007-03-14 15:42  dev

	* coherence/backends/gstreamer_audio_player.py: small fix regarding
	  upnp_SetAVTransportURI, do not return an error when no
	  CurrentURIMetaData is present

2007-03-14 15:40  dev

	* coherence/__init__.py, docs/coherence.conf.example: version up to
	  0.1.2 and proper config example again

2007-03-14 15:40  dev

	* coherence/backends/buzztard_control.py,
	  coherence/upnp/core/service.py: change print to log.msg

2007-03-14 15:39  dev

	* coherence/base.py, coherence/extern/logger.py: switch in
	  logger.py to the twisted.python.log module and activated the
	  config 'logfile'
	  
	  re #15

2007-03-13 22:03  dev

	* coherence/backends/buzztard_control.py: next fix

2007-03-13 21:48  dev

	* coherence/backends/buzztard_control.py: use label:<index> as uri

2007-03-13 21:38  dev

	* coherence/backends/buzztard_control.py: proper host setting for
	  internal:

2007-03-13 21:24  dev

	* coherence/backends/buzztard_control.py: fix for now unused
	  parameter

2007-03-13 21:17  dev

	* coherence/backends/buzztard_control.py: more debug output

2007-03-13 21:01  dev

	* coherence/backends/buzztard_control.py,
	  coherence/upnp/core/DIDLLite.py: a not so smart attempt to
	  outsmart Nokias Media Streamer

2007-03-13 20:34  dev

	* coherence/backends/buzztard_control.py: bind the matching methods
	  to their signals

2007-03-13 20:30  dev

	* coherence/backends/buzztard_control.py: some update on the play
	  command

2007-03-13 20:15  dev

	* coherence/backends/buzztard_control.py: some changes on how
	  volume and mute values are retrieved

2007-03-13 14:28  dev

	* coherence/backends/buzztard_control.py: add Volume and Mute
	  handling to the Buzztard control

2007-03-13 13:52  dev

	* coherence/backends/buzztard_control.py,
	  coherence/backends/buzztard_renderer.py,
	  coherence/backends/buzztard_storage.py, coherence/base.py: merge
	  Buzzard MediaServer and MediaRenderer in one file

2007-03-13 10:18  dev

	* coherence/upnp/core/variable.py: proper handling of allowed
	  values in StateVariables with vendor defines

2007-03-13 09:43  dev

	* coherence/upnp/devices/media_renderer_client.py: stupid
	  copy&paste left over

2007-03-12 22:02  dev

	* coherence/backends/buzztard_storage.py: one more fix

2007-03-12 21:56  dev

	* coherence/backends/buzztard_storage.py: add playlist prefix to
	  Buzztard browse response

2007-03-12 21:52  dev

	* coherence/backends/buzztard_storage.py: next fix on event
	  handling

2007-03-12 21:48  dev

	* coherence/backends/buzztard_storage.py: fix on event signal

2007-03-12 21:43  dev

	* coherence/backends/buzztard_storage.py: connect Buzztard flush
	  signal

2007-03-12 21:38  dev

	* coherence/backends/buzztard_storage.py: signal a Buzztad event to
	  the MediaRenderer

2007-03-12 21:33  dev

	* coherence/backends/buzztard_renderer.py,
	  coherence/backends/buzztard_storage.py, coherence/base.py,
	  docs/coherence.conf.example: combine Buzztard MediaServer and
	  MediaRenderer

2007-03-12 19:52  dev

	* coherence/backends/buzztard_renderer.py: minor fix for Buzztard
	  MediaRenderer

2007-03-12 19:46  dev

	* coherence/backends/buzztard_storage.py: forgot to tupleize

2007-03-12 18:40  dev

	* coherence/upnp/core/service.py: one more correction on how the
	  StateVariable 'LastChange' is evented.
	  
	  This is a follow up to [334] and addresses #70

2007-03-12 18:34  dev

	* coherence/upnp/core/event.py: be a bit more verbose on the log
	  messages

2007-03-12 17:09  dev

	* coherence/backends/elisa_renderer.py: fixes for the Elisa
	  MediaRenderer

2007-03-11 20:41  dev

	* coherence/backends/buzztard_renderer.py,
	  coherence/backends/buzztard_storage.py,
	  docs/coherence.conf.example: append index number to the buzztard
	  playlist items

2007-03-11 20:27  dev

	* coherence/backends/buzztard_renderer.py: further updates on the
	  Buzztard MediaRenderer

2007-03-11 10:49  dev

	* coherence/backends/buzztard_renderer.py,
	  docs/coherence.conf.example: update on the Buzztard MediaRenderer

2007-03-10 14:55  dev

	* coherence/backends/buzztard_storage.py: fix missing import

2007-03-10 14:27  dev

	* coherence/backends/buzztard_storage.py: wrong name fix

2007-03-10 14:03  dev

	* coherence/base.py: activate buzztard_* backends

2007-03-10 13:56  dev

	* coherence/backends/buzztard_renderer.py,
	  coherence/backends/buzztard_storage.py,
	  docs/coherence.conf.example: more work on the Buzztard
	  MediaServer

2007-03-10 12:22  dev

	* coherence/backends/elisa_renderer.py: removed a noisy print

2007-03-10 10:37  dev

	* coherence/backends/buzztard_storage.py,
	  coherence/backends/elisa_storage.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: use louie signal for
	  backend<->device communication

2007-03-09 14:31  dev

	* coherence/upnp/core/service.py, coherence/upnp/core/variable.py,
	  coherence/upnp/core/xml-service-descriptions/AVTransport2.xml:
	  update a StateVariable value only if the value really, really has
	  changed.
	  
	  added a new attribute to the xml service description to prevent
	  certain nonevented variables to not even show up in a LastChange
	  event.

2007-03-09 14:23  dev

	* coherence/upnp/services/servers/connection_manager_server.py:
	  make StateVariable CurrentConnectionIDs work for the MediaServer
	  again

2007-03-09 14:20  dev

	* coherence/upnp/core/event.py: be more specific in the log message
	  about the destination of the event notification

2007-03-09 14:19  dev

	* coherence/backends/elisa_renderer.py,
	  coherence/backends/gstreamer_audio_player.py: set the
	  res@duration attribute on every res item

2007-03-08 16:14  dev

	* coherence/backends/gstreamer_audio_player.py: revert small typo
	  change

2007-03-08 15:39  dev

	* coherence/backends/gstreamer_audio_player.py: first shot to
	  choose a suitable resource from within the MediaRenderer, helps
	  e.g. with the "internal:" resources and Nokias Media Streamer,
	  addresses #68

2007-03-08 14:25  dev

	* coherence/upnp/core/service.py: on a LastChange event send only
	  the StateVariables that have been changed

2007-03-07 20:24  dev

	* coherence/backends/buzztard_storage.py: initial version of a
	  MediaStreamer backend for [http://www.buzztard.org Buzztard]

2007-03-07 09:34  dev

	* coherence/base.py: catch traceback if hostname resolving fails,
	  closes #69

2007-03-06 09:44  dev

	* coherence/backends/elisa_renderer.py,
	  coherence/backends/elisa_storage.py: add support for 'internal'
	  res items to the Elisa backends

2007-03-06 09:16  dev

	* coherence/backends/elisa_renderer.py,
	  coherence/backends/gstreamer_audio_player.py: fix for empty
	  CurrentURIMetaData

2007-03-06 08:23  dev

	* coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py: test for additional
	  'internal' res items

2007-03-06 08:19  dev

	* coherence/upnp/core/variable.py: fix traceback due to a wrong
	  placed variable

2007-03-05 18:06  dev

	* coherence/backends/axiscam_storage.py: better mimetype and
	  protocol_type handling

2007-03-05 18:02  dev

	* coherence/upnp/core/variable.py: allow Set for string
	  StateVariable update too

2007-03-05 14:56  dev

	* coherence/backends/axiscam_storage.py, coherence/base.py: Axis
	  Cam MediaServer, addresses #67
	  
	  needs a config entry like this:
	  
	  {{{
	  [plugins]
	  [[AxisCamStore]]
	  name = Elisa is watching you
	  [[[Cam 1]]]
	  url = http://192.168.1.222:554/mpeg4/1/media.amp
	  protocol = rtsp-rtp-udp:*:video/MP4V-ES:*
	  [[[Cam 2]]]
	  url = http://192.168.1.222:554/mpeg4/2/media.amp
	  protocol = rtsp-rtp-udp:*:video/MP4V-ES:*
	  }}}

2007-03-05 13:35  dev

	* coherence/upnp/devices/media_server.py: fix wrong
	  ContentDirectory web-listing resource

2007-03-05 09:33  dev

	* coherence/upnp/core/variable.py: Allow the update value for a
	  StateVariable of type string to be
	  
	  * a string
	  * a comma-separated string
	  * a list
	  * a tuple.
	  
	  Lists and tuples will be transformed into a comma-separated
	  string.

2007-03-02 14:57  dev

	* coherence/upnp/devices/media_renderer_client.py: del proper
	  service object when removing MediaRenderer device client

2007-02-20 20:05  dev

	* coherence/backends/elisa_renderer.py,
	  coherence/backends/gstreamer_audio_player.py: some changes to
	  better follow the specs (maybe), at least we get now a progress
	  report with the N800 Media Streamer
	  
	  this addresses #55

2007-02-20 19:27  dev

	* coherence/upnp/core/DIDLLite.py: added handling of duration
	  attribute to Resource

2007-02-20 19:26  dev

	* coherence/upnp/core/xml-service-descriptions/AVTransport2.xml:
	  correct default value

2007-02-20 10:41  dev

	* coherence/backends/elisa_renderer.py: now with position and
	  duration info

2007-02-19 20:48  dev

	* coherence/backends/elisa_renderer.py: cleanups and a simple test
	  to retrieve the state info from the Elisa player

2007-02-19 16:01  dev

	* coherence/backends/elisa_renderer.py: now with load, play, pause
	  and stop support

2007-02-19 15:02  dev

	* coherence/backends/elisa_renderer.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/devices/media_renderer.py,
	  docs/coherence.conf.example: first version of a MediaRenderer
	  backend for Elisa (needs a patched player.py in Elisa)
	  
	  using signal 'Coherence.UPnP.Backend.init_completed' to notify
	  when the backend has finished initialization, as for the Elsia
	  backend we need to wait for the twisted.pb connection to Elisa
	  
	  corresponding changes in backends/gstreamer_audio_player.py and
	  devices/media_renderer.py

2007-02-19 14:53  dev

	* coherence/__init__.py, setup.py: move version to 0.1.1 and
	  retrieve it in setup.py from coherence.__init__.py

2007-02-19 14:52  dev

	* coherence/base.py: small fix for better error handling with a
	  nonexistant backend/device

2007-02-19 14:50  dev

	* coherence/upnp/core/service.py: allow passing a deferred to
	  service.set_variable and update the value with the result that
	  deferred returns

2007-02-17 09:09  dev

	* ., coherence/backends/fs_storage.py,
	  coherence/upnp/devices/media_server.py,
	  docs/coherence.conf.example: allow to export from the FSStore
	  more than one physical directory
	  
	  closes #51

2007-02-16 14:25  dev

	* coherence/upnp/core/DIDLLite.py, coherence/upnp/core/utils.py:
	  added datefaker function to utils.py and use it for UPnP items
	  with no own date element.
	  
	  This closes #60 and addresses #59.

2007-02-16 09:45  dev

	* setup.py: version change in setup.py from 0.1 to 0.1.0

2007-02-15 09:56  dev

	* docs/coherence.conf.example: add the serverport default value
	  change to the config file

2007-02-15 09:54  dev

	* coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/extern/elementsoap/ElementGoogle.py,
	  coherence/extern/elementsoap/ElementSOAP.py,
	  coherence/extern/elementsoap/ElementTree.py,
	  coherence/extern/elementsoap/HTTPClient.py,
	  coherence/extern/elementsoap/__init__.py, coherence/extern/et.py,
	  coherence/upnp/core/DIDLLite.py, coherence/upnp/core/device.py,
	  coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_proxy.py,
	  coherence/upnp/core/soap_service.py,
	  coherence/upnp/core/utils.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/av_transport_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py,
	  coherence/upnp/services/servers/content_directory_server.py,
	  coherence/upnp/services/servers/media_receiver_registrar_server.py,
	  coherence/upnp/services/servers/rendering_control_server.py:
	  merge branch go-4-python-2.5 changes r302:303 into trunk

2007-02-15 09:51  dev

	* coherence/web/__init__.py, coherence/web/ui.py: add forgotten UI
	  file

2007-02-15 08:57  dev

	* coherence/base.py: make the port used for all the http related
	  services by default choosable by the OS, this closes #65

2007-02-12 20:09  dev

	* coherence/base.py, coherence/web/Coherence.Base.js,
	  coherence/web/Coherence.Devices.js,
	  coherence/web/Coherence.Logging.js, coherence/web/Coherence.js,
	  coherence/web/MochiKit.js, coherence/web/main.css,
	  coherence/web/static, coherence/web/static/Coherence.Base.js,
	  coherence/web/static/Coherence.Devices.js,
	  coherence/web/static/Coherence.Logging.js,
	  coherence/web/static/Coherence.js,
	  coherence/web/static/MochiKit.js, coherence/web/static/main.css,
	  docs/coherence.conf.example, setup.py: - rework of the web
	  interface module
	  - get everything Nevow related in its own package
	  
	  this closes #44 and in some way #64

2007-02-12 14:25  dev

	* coherence/base.py, coherence/web/Coherence.Base.js,
	  coherence/web/Coherence.Devices.js,
	  coherence/web/Coherence.Logging.js, coherence/web/main.css: bring
	  new web-interface up to date with Nevow >= 0.9

2007-02-12 14:22  dev

	* coherence/upnp/services/clients/content_directory_client.py: an
	  attempt to solve the encoding issues re #63

2007-02-12 11:15  dev

	* coherence/upnp/core/service.py: check if we aren't removed
	  already from the subscribers dict

2007-02-11 10:44  dev

	* coherence/extern/elementsoap/ElementSOAP.py,
	  coherence/upnp/core/DIDLLite.py, coherence/upnp/core/action.py,
	  coherence/upnp/core/device.py, coherence/upnp/core/event.py,
	  coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_proxy.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/services/clients/av_transport_client.py,
	  coherence/upnp/services/clients/connection_manager_client.py,
	  coherence/upnp/services/clients/content_directory_client.py,
	  coherence/upnp/services/clients/rendering_control_client.py:
	  removed unnecessary executable bit on python module files, closes
	  #62

2007-02-11 10:33  dev

	* coherence/upnp/core/utils.py: added missing failure class

2007-02-11 10:31  dev

	* setup.py: include data files (non-python) in setup too

2007-02-09 13:09  dev

	* coherence/upnp/core/variable.py: follow up to [292]

2007-02-09 12:30  philn

	* coherence/backends/elisa_storage.py,
	  coherence/upnp/core/utils.py: Some XML parsing and elisa_storage
	  fixes

2007-02-09 11:54  philn

	* coherence/upnp/core/variable.py: when variable value is unicode,
	  encode it to utf-8

2007-02-09 10:58  philn

	* coherence/upnp/services/clients/content_directory_client.py:
	  removed some prints and try to deal better with empty browse
	  results

2007-02-08 19:01  dev

	* coherence/base.py, coherence/upnp/core/device.py,
	  coherence/upnp/core/event.py, coherence/upnp/core/service.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server_client.py,
	  coherence/upnp/services/clients/av_transport_client.py,
	  coherence/upnp/services/clients/connection_manager_client.py,
	  coherence/upnp/services/clients/content_directory_client.py,
	  coherence/upnp/services/clients/rendering_control_client.py,
	  docs/coherence.conf.example: ControlPoint now sends proper
	  signals on detection and removal of a new device
	  
	  Coherence.UPnP.ControlPoint.MediaServer.detected : client obj,
	  usn
	  Coherence.UPnP.ControlPoint.MediaRenderer.detected : client obj,
	  usn
	  
	  Coherence.UPnP.ControlPoint.MediaServer.removed : usn
	  Coherence.UPnP.ControlPoint.MediaRenderer.removed : usn
	  
	  and a lot of fixes all over the place to get the instantiated
	  objects deleted.

2007-02-08 18:33  dev

	* coherence/extern/logger.py: change level info/debug order

2007-02-08 11:16  dev

	* coherence/upnp/core/action.py: bug fix

2007-02-08 10:40  dev

	* coherence/upnp/core/action.py, coherence/upnp/core/event.py:
	  better error handling and logging in client actions and a small
	  bugfix in event.py

2007-02-07 23:13  dev

	* coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/upnp/core/DIDLLite.py, coherence/upnp/core/utils.py:
	  add dc:date element to every upnp item and convert it in
	  DIDLLite.py from either a datetime object or a string
	  
	  this solves and closes #54

2007-02-07 17:17  dev

	* coherence/base.py, coherence/upnp/core/DIDLLite.py,
	  coherence/upnp/core/device.py, coherence/upnp/core/event.py,
	  coherence/upnp/devices/control_point.py,
	  docs/coherence.conf.example: more work to get the ControlPoint
	  back into line

2007-02-07 15:41  dev

	* setup.py: correct version number

2007-02-07 15:13  dev

	* ., setup.py: filled gaps in the setup.py

2007-02-07 14:37  philn

	* setup.py: initial setup.py checkin

2007-02-06 19:52  dev

	* coherence/base.py: missed one

2007-02-06 19:27  dev

	* coherence/base.py: redacting last changeset

2007-02-06 18:01  philn

	* coherence/base.py: Coherence class now acts as a singleton

2007-02-06 15:31  dev

	* coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/services/servers/connection_manager_server.py:
	  better compliance with the ConnectionManager and the AVTransport
	  spec, closes #49

2007-02-06 15:29  dev

	* coherence/upnp/core/service.py: new get_variable method from the
	  service class

2007-02-06 09:31  dev

	* coherence/backends/gstreamer_audio_player.py: better compliance
	  with the AVTransport spec

2007-02-06 09:30  dev

	* coherence/upnp/core/soap_service.py: one more log message

2007-02-06 09:30  dev

	* coherence/upnp/core/xml-service-descriptions/AVTransport2.xml:
	  small adjustment

2007-02-06 09:03  dev

	* coherence/web/Coherence.Base.js: small cleanup

2007-02-02 11:07  dev

	* coherence/base.py, coherence/web/Coherence.Base.js: better web UI
	  menu tab creation

2007-02-02 10:00  dev

	* coherence/base.py, coherence/web,
	  coherence/web/Coherence.Base.js,
	  coherence/web/Coherence.Devices.js,
	  coherence/web/Coherence.Logging.js, coherence/web/Coherence.js,
	  coherence/web/MochiKit.js, coherence/web/main.css: - reworked the
	  web UI to make more usage of the Athena features.
	  - breaks for now browser based device inspection.
	  - and addresses #15 too.

2007-02-02 09:55  dev

	* coherence/upnp/core/event.py: fix for backends with no name

2007-02-02 09:54  dev

	* coherence/extern/logger.py: added a method to retrieve data about
	  all log feeders

2007-01-31 21:51  dev

	* coherence/upnp/devices/media_renderer.py: relict?

2007-01-31 21:34  dev

	* docs/coherence.conf.example: have a less noisy example

2007-01-31 21:28  dev

	* coherence/upnp/core/event.py: better error and logging handling

2007-01-31 21:26  dev

	* coherence/base.py, docs/coherence.conf.example: add subsystem
	  specific logging option
	  
	  this allows to have for example an overall log level 'warning'
	  and set it to 'info' for the Event and Service subsystem
	  
	  addresses #15

2007-01-31 08:19  dev

	* coherence/extern/inotify.py: really a stupid bug - great catch
	  Kaleo, thx!
	  
	  https://core.fluendo.com/elisa/trac/changeset/1402/trunk/elisa/extern/inotify.py

2007-01-30 14:32  dev

	* coherence/upnp/devices/media_server.py: added HEAD http request
	  sanitizing for the ReverseProxyResource, seems to be necessary
	  for the N800 file-manager

2007-01-29 23:11  dev

	* coherence/upnp/devices/media_server.py: stupid errors

2007-01-29 21:08  dev

	* coherence/backends/flickr_storage.py: one more

2007-01-29 21:03  dev

	* coherence/upnp/devices/media_server.py: one print too much

2007-01-29 19:05  dev

	* coherence/backends/flickr_storage.py,
	  docs/coherence.conf.example: check with Flickr every n minutes if
	  there are any new images and update the local store

2007-01-29 18:26  dev

	* coherence/upnp/devices/media_server.py: an attempt to fix
	  inappropriate http GET requests from the XBox when relaying them
	  to some other service, re #52

2007-01-28 10:32  dev

	* coherence/backends/fs_storage.py, docs/coherence.conf.example:
	  fix content path in fs_storage.py and change directive to
	  'content'

2007-01-28 10:31  dev

	* coherence/base.py: stupid dodge to get around the still
	  non-existent plugin handling

2007-01-24 17:44  dev

	* coherence/upnp/devices/media_server.py: added ConnectionID
	  handling for the Flickr proxy connection

2007-01-24 17:20  dev

	* coherence/backends/flickr_storage.py,
	  coherence/upnp/devices/media_server.py,
	  docs/coherence.conf.example: Support for acting as a proxy for
	  Flickr to support MediaRenderers like the XBox, which can't
	  access the Flickr servers directly.
	  
	  Contains an unclean hook inside the MediaServers getChild method.

2007-01-24 17:17  dev

	* coherence/upnp/core/DIDLLite.py: UPnP class changes for a better
	  compliance with the XBox, addresses #50.
	  
	  Should be of no effect for the other ContentDirectory clients.
	  ;-)

2007-01-24 17:15  dev

	* coherence/upnp/core/event.py: check if the url has a port defined
	  before we try to use it

2007-01-23 21:39  dev

	* coherence/upnp/core/service.py: remove unnecessarily, error
	  engendering line of code

2007-01-23 14:20  dev

	* coherence/backends/flickr_storage.py: missing " :-(

2007-01-23 13:36  dev

	* coherence/backends/flickr_storage.py: a nicer log-message in
	  FlickrStore

2007-01-22 19:23  dev

	* coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_service.py,
	  coherence/upnp/services/servers/content_directory_server.py:
	  attempts to iron out the deviant behaviour of the new XBox UPnP
	  client,
	  addresses #50

2007-01-22 09:21  dev

	* coherence/upnp/core/service.py: some cleanups

2007-01-21 22:48  dev

	* coherence/backends/flickr_storage.py: let flickr calculate the
	  date

2007-01-21 21:50  dev

	* coherence/upnp/core/soap_service.py: follow better the specs on
	  pages 49-51 in
	  http://upnp.org/resources/documents/CleanUPnPDA101-20031202s.pdf
	  when sending back an error upon an action call
	  
	  exchanged a bit of SOAPpy using code with ElementTree

2007-01-21 12:31  dev

	* coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_service.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/content_directory_server.py: try
	  something to make the MediaServer usage from an XBox a little bit
	  more universal, addresses #36

2007-01-20 15:18  dev

	* coherence/backends/elisa_storage.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  docs/coherence.conf.example: set the 'friendly_name' of a device
	  in the configuration

2007-01-20 14:06  dev

	* coherence/backends/elisa_storage.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/content_directory_server.py:
	  Cleaned up the backend upnp_... functions, moved the universal
	  ones into the service.
	  
	  This addresses #36, but we need for this to work properly some
	  additional mapping supplied by the backend to tell which of the
	  Windows Media Connect 'directories' the backend actually
	  supports.
	  
	  Added a method to browse the content of the Flickr backend.
	  This should evolve in some future into something that allows
	  browser access to any of the non-filesystem backends.

2007-01-19 14:17  dev

	* coherence/backends/flickr_storage.py,
	  docs/coherence.conf.example: first usable Flickr backend

2007-01-19 14:16  dev

	* coherence/base.py: one more debug output line

2007-01-19 14:15  dev

	* coherence/upnp/core/service.py: some minor adjustments on how
	  services are generated from the descriptions

2007-01-18 23:00  dev

	* coherence/backends/elisa_storage.py,
	  coherence/backends/flickr_storage.py,
	  coherence/backends/fs_storage.py, coherence/base.py,
	  coherence/upnp/devices/media_server.py,
	  docs/coherence.conf.example: this adds
	  
	  - a first version of a Flickr MediaServer backend
	  - the still necessary import in base.py
	  - and changes the way arguments are passed to the devices and via
	  them to the backends

2007-01-18 22:54  dev

	* coherence/upnp/core/soap_proxy.py: an attempt to make the
	  SOAPProxy a bit more universal, probably of no real future use

2007-01-18 08:32  dev

	* docs/coherence.conf.example: put 'serverport' into
	  coherence.conf.example too

2007-01-18 08:24  dev

	* coherence/base.py: added configuration option 'serverport' to
	  specify the port coherence should bind to, to serve xml files,
	  react on control requests or event subscriptions, and to
	  distribute content.

2007-01-17 10:49  dev

	* coherence/base.py, coherence/upnp/core/utils.py: being a little
	  bit more flexible regarding interface/own IP address detection

2007-01-16 13:12  haiku

	* coherence/backends/elisa_storage.py, coherence/base.py,
	  coherence/upnp/core/utils.py: - Updated Elisa storage to work
	  with new elisa media db
	  - Config now accepts an interface parameter, to provide the
	  network
	  interface to use. If not provided, default gateway interface is
	  used

2007-01-15 10:22  dev

	* coherence/upnp/core/device.py: try to prevent errors resulting
	  from 'strange' device descriptions, addresses #48

2007-01-12 10:59  dev

	* coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server_client.py: bring ControlPoint
	  back in line

2007-01-12 10:09  dev

	* coherence/backends/elisa_storage.py: reverted change

2007-01-11 18:59  dev

	* README: add a first version of a README

2007-01-11 11:21  philn

	* coherence/backends/elisa_storage.py, coherence/base.py: some
	  fixes

2007-01-09 15:06  dev

	* coherence/backends/gstreamer_audio_player.py: one more regarding
	  volume control

2007-01-09 15:02  dev

	* coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/core/service.py, coherence/upnp/core/variable.py:
	  more fixes re proper volume control of the Gstreamer
	  MediaRenderer
	  
	  - added the channel attribute
	  - send the allowedValueRange with the service description
	  unfortunately the Intel CP still sends strange values

2007-01-09 14:59  dev

	* coherence/upnp/core/xml-service-descriptions/RenderingControl2.xml:
	  a try to hint the dependency between the audio related
	  StateVariables and the channel list

2007-01-09 10:28  dev

	* coherence/backends/gstreamer_audio_player.py: fix for stupid typo

2007-01-08 17:31  dev

	* coherence/backends/gstreamer_audio_player.py: adjustments for
	  better Gstreamer property handling, as the playbin seems not to
	  have a 'mute' property

2007-01-08 17:29  dev

	* coherence/upnp/core/variable.py: add another value to the list to
	  determine boolean True

2007-01-07 20:14  dev

	* coherence/backends/gstreamer_audio_player.py, coherence/base.py,
	  coherence/upnp/core/service.py, coherence/upnp/core/variable.py:
	  This adds Volume and Mute control to the GStreamer MediaRenderer
	  backend.
	  
	  And a first method for a backend to overwrite the vendor defines
	  in the xml-service-descriptions.

2007-01-07 15:25  dev

	* coherence/upnp/core/service.py, coherence/upnp/core/variable.py,
	  coherence/upnp/services/servers/connection_manager_server.py:
	  remove a connection from the ConnectionManager after 300 seconds
	  of inactivity - which is currently synonymous to no change of a
	  StateVariable

2007-01-06 21:05  dev

	* coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/core/service.py,
	  coherence/upnp/core/xml-service-descriptions/AVTransport2.xml,
	  coherence/upnp/core/xml-service-descriptions/RenderingControl2.xml,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py:
	  Enable several instances per MediaRenderer.
	  
	  We still need to find a way to actually tell the
	  ConnectionManager if the backend supports this!
	  
	  Adapting the MediaServer to these changes and some cosmetic fixes
	  in the xml-service-descriptions.
	  
	  This also closes #45.

2007-01-06 20:56  dev

	* coherence/upnp/devices/media_renderer.py: use the backend
	  parameter

2007-01-06 20:53  dev

	* coherence/upnp/core/variable.py: store the default value of a
	  variable so we have it available when copying them for a new
	  instance

2007-01-05 11:16  dev

	* coherence/upnp/services/servers/connection_manager_server.py:
	  without words

2007-01-04 21:49  dev

	* coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/services/servers/connection_manager_server.py:
	  some update on the MediaRenderer

2006-12-30 23:01  dev

	* bin/coherence, coherence/base.py, coherence/upnp/core/utils.py,
	  docs/coherence.conf.example: introduce 'ConfigObj' to handle the
	  configuration file
	  
	  This, and the get_ip_address function in utils.py, closes #34.

2006-12-30 22:54  dev

	* coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/core/service.py,
	  coherence/upnp/services/servers/connection_manager_server.py:
	  move universally valid upnp_ functions into the service class
	  
	  re #45

2006-12-30 22:02  dev

	* coherence/extern/logger.py: some improvements on the logger re
	  #15, this will allow us to move that ticket to the next milestone

2006-12-21 16:20  dev

	* coherence/base.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/variable.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/av_transport_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py,
	  coherence/upnp/services/servers/content_directory_server.py,
	  coherence/upnp/services/servers/media_receiver_registrar_server.py,
	  coherence/upnp/services/servers/rendering_control_server.py:
	  Check if a device backend for server service provides all needed
	  action callbacks.
	  
	  If the action is optional, just don't provide it.
	  If it is a required action, don't activate the service.
	  
	  If that service is a required one, this will lead to an abort of
	  the device
	  instantiation.
	  
	  We need an overwrite for this to create in the TestSuite
	  nonconformity devices/services.
	  
	  This closes #25.

2006-12-21 15:59  dev

	* coherence/extern/logger.py: some more logger functionality

2006-12-21 15:56  dev

	* coherence/backends/fs_storage.py: temporally add
	  upnp_GetCurrentConnectionInfo to the backend until we have a
	  solution for #45.

2006-12-20 18:21  dev

	* bin/coherence, coherence/base.py: made the backend passing to the
	  Coherence class a little bit more reasonable/readable - advice by
	  philn

2006-12-20 17:14  dev

	* bin/coherence, coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py, coherence/base.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: Some first steps in the
	  direction of a plugin system.
	  
	  Let the backends be the only visible things outside of Coherence!
	  
	  We should now be able to add and activate a plugin an startup
	  and, in the next steps, later via the WebUI too, and retrieve
	  from somewhere the configuration for each plugin.
	  
	  And this foundation should be extendable for .egg plugins too.

2006-12-18 22:28  dev

	* bin, bin/coherence, coherence.py, coherence/base.py: Moved
	  Coherence class into the coherence package and the coherence.py
	  into bin/coherence.
	  
	  Added a plugins parameter to Coherence, where a list of classes
	  can be handed over for instantiation.
	  And an add_plugin method to add one later.

2006-12-17 22:34  dev

	* coherence/upnp/core/event.py,
	  coherence/upnp/services/servers/connection_manager_server.py:
	  undo some unnecessary changes

2006-12-17 22:28  dev

	* coherence.py, coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/core/event.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/variable.py,
	  coherence/upnp/core/xml-service-descriptions/AVTransport2.xml,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py: We
	  have a controllable MediaRenderer!
	  
	  Everything that was needed to get recognized by the Intel
	  ControlPoint.
	  An audio file will be played and progress displayed on the
	  ControlPoint.
	  Pause, Start and Stop seem to work.
	  
	  There is an issue left on EOS and resetting the
	  CurrentTransportActions.
	  
	  This addresses #38 again.

2006-12-17 19:37  dev

	* coherence/upnp/devices/media_server.py: small fix and more
	  parameters on the call to
	  connection_manager_server.add_connection

2006-12-17 12:43  dev

	* coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/services/servers/connection_manager_server.py:
	  changes for a better spec compliance, but either we are still
	  missing some things or maybe the Intel ControlPoint expects
	  something out of the usual way?
	  
	  Need to check and compare this with a working MediaRenderer.

2006-12-17 12:40  dev

	* coherence/upnp/core/variable.py: wrong check for last_change
	  attribute, surfaced due to the updates with the new default
	  values in [193]

2006-12-17 12:38  dev

	* coherence/backends/fs_storage.py: proper errback return too

2006-12-17 12:38  dev

	* coherence.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_service.py,
	  coherence/upnp/devices/media_server.py: more work on the logging
	  front re #15.
	  
	  Now we need to enable on/off and a level change via the web-UI.

2006-12-17 12:35  dev

	* coherence/backends/elisa_storage.py: proper errback return

2006-12-17 12:31  dev

	* coherence/extern/inotify.py: more decent class instantiation and
	  a minor typo fix

2006-12-16 22:22  dev

	* coherence.py, coherence/extern/logger.py,
	  coherence/upnp/core/msearch.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/ssdp.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py: on the way to some
	  configurable logging function:
	  
	  * enable/disable per module
	  * set log level per module
	  
	  This addresses #15.

2006-12-15 20:05  dev

	* coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_service.py,
	  coherence/upnp/core/variable.py,
	  coherence/upnp/core/xml-service-descriptions/AVTransport2.xml,
	  coherence/upnp/core/xml-service-descriptions/ConnectionManager2.xml,
	  coherence/upnp/core/xml-service-descriptions/ContentDirectory2.xml,
	  coherence/upnp/core/xml-service-descriptions/RenderingControl2.xml:
	  a whole bunch of changes in the xml service descriptions
	  regarding default values and the definition of all allowed
	  values.
	  
	  Plus a our very first '''own''' vendor extension
	  
	  ''coherence:X_withVendorDefines = "True|False"''
	  
	  which defines if a value in
	  
	  * a allowedValueList and
	  * a allowedValueRange
	  
	  can be extended by a vendor.
	  
	  This is currently used only in the description files used for
	  service creation, but it could be inserted into the description
	  files we send out to other devices too.
	  
	  This changeset fixes #37 and #38.

2006-12-13 17:27  dev

	* coherence/backends/fs_storage.py: small self-test change

2006-12-13 10:24  dev

	* coherence/backends/fs_storage.py: fix for "stupid bug"

2006-12-13 10:19  dev

	* coherence/backends/fs_storage.py: let upnp_Browse work again with
	  the changed root_id

2006-12-13 10:01  dev

	* coherence/upnp/devices/media_server.py: take back [176], as it is
	  probably not needed for the XBox

2006-12-12 13:04  dev

	* coherence/backends/fs_storage.py: first attempt to please an XBox
	  UPnP Search Action for 'all audio items'

2006-12-12 13:00  dev

	* coherence/upnp/core/soap_service.py: let's see the headers of an
	  XBox SOAP request, maybe we have an user-agent header there too

2006-12-12 09:59  dev

	* coherence/extern/uuid: more housekeeping

2006-12-12 09:58  dev

	* coherence/upnp/core/xml-service-descriptions: housekeeping

2006-12-12 09:52  dev

	* coherence/extern/uuid, coherence/extern/uuid/__init__.py,
	  coherence/extern/uuid/uuid.html, coherence/extern/uuid/uuid.py,
	  coherence/upnp/core/uuid.py,
	  coherence/upnp/devices/media_server.py: generate proper UUIDs,
	  this closes #19 and should help us with devices that are
	  (justifiably) petty about its format.

2006-12-11 22:18  dev

	* coherence/upnp/devices/media_server.py: and again...

2006-12-11 21:48  dev

	* coherence/upnp/devices/media_server.py: one more

2006-12-11 21:33  dev

	* coherence/upnp/devices/media_server.py: is it an UUID question?

2006-12-11 20:41  dev

	* coherence/upnp/devices/media_server.py: one more change to find
	  out the XBox' likings

2006-12-11 20:18  dev

	* coherence/upnp/devices/media_server.py: some more adjustments to
	  get recognized by the XBox, added DLNA tags

2006-12-11 18:45  dev

	* coherence/upnp/devices/media_server.py: fake a Windows Media
	  Connect server to get discovered by an XBox MediaRenderer

2006-12-11 18:07  idnar

	* coherence/upnp/core/device.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_proxy.py: Pass correct args to
	  addCallbacks.

2006-12-11 17:51  dev

	* coherence/upnp/core/msearch.py, coherence/upnp/core/ssdp.py,
	  coherence/upnp/devices/media_server.py: some debugging output, it
	  is really time for proper logging :-(

2006-12-11 09:29  dev

	* coherence/backends/gstreamer_audio_player.py: initialize and
	  update more UPnP variables

2006-12-10 21:35  dev

	* coherence/backends/elisa_storage.py,
	  coherence/backends/fs_storage.py,
	  coherence/backends/gstreamer_audio_player.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/av_transport_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py,
	  coherence/upnp/services/servers/content_directory_server.py,
	  coherence/upnp/services/servers/media_receiver_registrar_server.py,
	  coherence/upnp/services/servers/rendering_control_server.py,
	  docs: first attempt of a MediaRenderer with a GStreamer (Audio)
	  backend.
	  
	  Only partially working, and maybe hobbled by a [GStreamer Bug
	  384140 http://bugzilla.gnome.org/show_bug.cgi?id=384140] too.
	  
	  Some adjustments all around.

2006-12-10 20:43  dev

	* coherence.py, coherence/upnp/core/msearch.py,
	  coherence/upnp/core/ssdp.py: Actually send out ssdp:byebye
	  messages on application shutdown.

2006-12-10 20:02  dev

	* coherence/upnp/core/device.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_proxy.py: added errbacks to
	  twisted.web.client.getPage calls

2006-12-02 16:48  dev

	* coherence/backends/elisa_storage.py,
	  coherence/backends/fs_storage.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/variable.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/services/servers/content_directory_server.py: This
	  adds auto-detection of file-system changes by means of the
	  inotify-module for the FileSystemBackend, re #33.
	  
	  Quite some other adjustments and fixes related to StateVariable
	  modifications and event propagation.

2006-12-02 16:41  dev

	* coherence/extern/inotify.py: a simple Python
	  [http://en.wikipedia.org/wiki/Inotify Inotify] interface, using
	  [http://python.net/crew/theller/ctypes/ ctypes] for the kernel
	  calls, works only on Linux with a kernel > 2.6.13 and
	  additionally at the moment only on ix86 architecture due to a
	  lame solution retrieving the kernel call ids.

2006-12-02 16:25  dev

	* LICENCE: add MIT licence file

2006-12-02 16:02  dev

	* coherence.py: reminder change re #34

2006-11-28 17:21  dev

	* coherence/upnp/core/variable.py: a reminder to fix it

2006-11-28 17:16  dev

	* ., coherence, coherence.py, coherence/__init__.py,
	  coherence/backends, coherence/backends/__init__.py,
	  coherence/backends/elisa_storage.py,
	  coherence/backends/fs_storage.py, coherence/extern,
	  coherence/extern/__init__.py, coherence/plugins, coherence/upnp,
	  coherence/upnp/__init__.py, coherence/upnp/core,
	  coherence/upnp/core/DIDLLite.py, coherence/upnp/core/__init__.py,
	  coherence/upnp/core/device.py, coherence/upnp/core/event.py,
	  coherence/upnp/core/msearch.py, coherence/upnp/core/service.py,
	  coherence/upnp/core/soap_proxy.py,
	  coherence/upnp/core/variable.py, coherence/upnp/devices,
	  coherence/upnp/devices/__init__.py,
	  coherence/upnp/devices/control_point.py,
	  coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/devices/media_server.py,
	  coherence/upnp/devices/media_server_client.py,
	  coherence/upnp/services, coherence/upnp/services/__init__.py,
	  coherence/upnp/services/clients,
	  coherence/upnp/services/clients/__init__.py,
	  coherence/upnp/services/clients/av_transport_client.py,
	  coherence/upnp/services/clients/connection_manager_client.py,
	  coherence/upnp/services/clients/content_directory_client.py,
	  coherence/upnp/services/clients/rendering_control_client.py,
	  coherence/upnp/services/servers,
	  coherence/upnp/services/servers/__init__.py,
	  coherence/upnp/services/servers/av_transport_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py,
	  coherence/upnp/services/servers/content_directory_server.py,
	  coherence/upnp/services/servers/media_receiver_registrar_server.py,
	  coherence/upnp/services/servers/rendering_control_server.py,
	  docs, tests, tests/content, tests/content/audio: a lot of small
	  adjustments after directory restructure, re #29

2006-11-28 16:45  dev

	* coherence/upnp/core/xml-service-descriptions,
	  coherence/upnp/xml-service-descriptions: Moved remotely

2006-11-28 13:14  dev

	* docs: Created folder remotely

2006-11-28 13:13  dev

	* coherence/tests, tests: Moved remotely

2006-11-28 13:08  dev

	* coherence/upnp/core/variable.py, coherence/upnp/variable.py:
	  Moved remotely

2006-11-28 13:08  dev

	* coherence/upnp/core/uuid.py, coherence/upnp/uuid.py: Moved
	  remotely

2006-11-28 13:07  dev

	* coherence/upnp/core/utils.py, coherence/upnp/utils.py: Moved
	  remotely

2006-11-28 13:07  dev

	* coherence/upnp/core/ssdp.py, coherence/upnp/ssdp.py: Moved
	  remotely

2006-11-28 13:06  dev

	* coherence/upnp/core/soap_service.py,
	  coherence/upnp/soap_service.py: Moved remotely

2006-11-28 13:06  dev

	* coherence/upnp/core/soap_proxy.py, coherence/upnp/soap_proxy.py:
	  Moved remotely

2006-11-28 13:06  dev

	* coherence/upnp/core/service.py, coherence/upnp/service.py: Moved
	  remotely

2006-11-28 13:06  dev

	* coherence/upnp/core/msearch.py, coherence/upnp/msearch.py: Moved
	  remotely

2006-11-28 13:05  dev

	* coherence/upnp/core/event.py, coherence/upnp/event.py: Moved
	  remotely

2006-11-28 13:05  dev

	* coherence/upnp/DIDLLite.py, coherence/upnp/core/DIDLLite.py:
	  Moved remotely

2006-11-28 13:05  dev

	* coherence/upnp/core/device.py, coherence/upnp/device.py: Moved
	  remotely

2006-11-28 13:04  dev

	* coherence/upnp/action.py, coherence/upnp/core/action.py: Moved
	  remotely

2006-11-28 13:04  dev

	* coherence/upnp/core: Created folder remotely

2006-11-28 13:02  dev

	* coherence/upnp/devices/media_server_client.py,
	  coherence/upnp/media_server_client.py: Moved remotely

2006-11-28 13:01  dev

	* coherence/upnp/devices/media_renderer_client.py,
	  coherence/upnp/media_renderer_client.py: Moved remotely

2006-11-28 13:01  dev

	* coherence/upnp/devices/media_server.py,
	  coherence/upnp/media_server.py: Moved remotely

2006-11-28 13:01  dev

	* coherence/upnp/devices/media_renderer.py,
	  coherence/upnp/media_renderer.py: Moved remotely

2006-11-28 13:01  dev

	* coherence/upnp/control_point.py,
	  coherence/upnp/devices/control_point.py: Moved remotely

2006-11-28 12:57  dev

	* coherence/tests/rpc_client.py, rpc_client.py: Moved remotely

2006-11-28 12:56  dev

	* coherence/upnp/rendering_control_server.py,
	  coherence/upnp/services/servers/rendering_control_server.py:
	  Moved remotely

2006-11-28 12:55  dev

	* coherence/upnp/rendering_control_client.py,
	  coherence/upnp/services/clients/rendering_control_client.py:
	  Moved remotely

2006-11-28 12:55  dev

	* coherence/upnp/media_receiver_registrar_server.py,
	  coherence/upnp/services/servers/media_receiver_registrar_server.py:
	  Moved remotely

2006-11-28 12:54  dev

	* coherence/upnp/content_directory_server.py,
	  coherence/upnp/services/servers/content_directory_server.py:
	  Moved remotely

2006-11-28 12:54  dev

	* coherence/upnp/content_directory_client.py,
	  coherence/upnp/services/clients/content_directory_client.py:
	  Moved remotely

2006-11-28 12:54  dev

	* coherence/upnp/connection_manager_server.py,
	  coherence/upnp/services/servers/connection_manager_server.py:
	  Moved remotely

2006-11-28 12:53  dev

	* coherence/upnp/connection_manager_client.py,
	  coherence/upnp/services/clients/connection_manager_client.py:
	  Moved remotely

2006-11-28 12:53  dev

	* coherence/upnp/av_transport_server.py,
	  coherence/upnp/services/servers/av_transport_server.py: Moved
	  remotely

2006-11-28 12:53  dev

	* coherence/upnp/av_transport_client.py,
	  coherence/upnp/services/clients/av_transport_client.py: Moved
	  remotely

2006-11-28 12:53  dev

	* coherence/upnp/services/clients: Created folder remotely

2006-11-28 12:52  dev

	* coherence/upnp/services/servers: Created folder remotely

2006-11-28 12:52  dev

	* coherence/upnp/services: Created folder remotely

2006-11-28 12:52  dev

	* coherence/upnp/devices: Created folder remotely

2006-11-28 12:51  dev

	* coherence/rpc_client.py, rpc_client.py: Moved remotely

2006-11-28 12:51  dev

	* coherence/upnp/variable.py, coherence/variable.py: Moved remotely

2006-11-28 12:51  dev

	* coherence/upnp/uuid.py, coherence/uuid.py: Moved remotely

2006-11-28 12:50  dev

	* coherence/upnp/utils.py, coherence/utils.py: Moved remotely

2006-11-28 12:50  dev

	* coherence/ssdp.py, coherence/upnp/ssdp.py: Moved remotely

2006-11-28 12:49  dev

	* coherence/soap_service.py, coherence/upnp/soap_service.py: Moved
	  remotely

2006-11-28 12:49  dev

	* coherence/soap_proxy.py, coherence/upnp/soap_proxy.py: Moved
	  remotely

2006-11-28 12:49  dev

	* coherence/service.py, coherence/upnp/service.py: Moved remotely

2006-11-28 12:49  dev

	* coherence/rendering_control_server.py,
	  coherence/upnp/rendering_control_server.py: Moved remotely

2006-11-28 12:48  dev

	* coherence/rendering_control_client.py,
	  coherence/upnp/rendering_control_client.py: Moved remotely

2006-11-28 12:48  dev

	* coherence/msearch.py, coherence/upnp/msearch.py: Moved remotely

2006-11-28 12:48  dev

	* coherence/media_server_client.py,
	  coherence/upnp/media_server_client.py: Moved remotely

2006-11-28 12:48  dev

	* coherence/media_server.py, coherence/upnp/media_server.py: Moved
	  remotely

2006-11-28 12:48  dev

	* coherence/media_renderer_client.py,
	  coherence/upnp/media_renderer_client.py: Moved remotely

2006-11-28 12:47  dev

	* coherence/media_renderer.py, coherence/upnp/media_renderer.py:
	  Moved remotely

2006-11-28 12:47  dev

	* coherence/media_receiver_registrar_server.py,
	  coherence/upnp/media_receiver_registrar_server.py: Moved remotely

2006-11-28 12:47  dev

	* coherence/event.py, coherence/upnp/event.py: Moved remotely

2006-11-28 12:47  dev

	* coherence/DIDLLite.py, coherence/upnp/DIDLLite.py: Moved remotely

2006-11-28 12:47  dev

	* coherence/device.py, coherence/upnp/device.py: Moved remotely

2006-11-28 12:47  dev

	* coherence/control_point.py, coherence/upnp/control_point.py:
	  Moved remotely

2006-11-28 12:46  dev

	* coherence/content_directory_server.py,
	  coherence/upnp/content_directory_server.py: Moved remotely

2006-11-28 12:46  dev

	* coherence/content_directory_client.py,
	  coherence/upnp/content_directory_client.py: Moved remotely

2006-11-28 12:46  dev

	* coherence/connection_manager_server.py,
	  coherence/upnp/connection_manager_server.py: Moved remotely

2006-11-28 12:46  dev

	* coherence/connection_manager_client.py,
	  coherence/upnp/connection_manager_client.py: Moved remotely

2006-11-28 12:46  dev

	* coherence/av_transport_server.py,
	  coherence/upnp/av_transport_server.py: Moved remotely

2006-11-28 12:46  dev

	* coherence/av_transport_client.py,
	  coherence/upnp/av_transport_client.py: Moved remotely

2006-11-28 12:45  dev

	* coherence/action.py, coherence/upnp/action.py: Moved remotely

2006-11-28 12:44  dev

	* coherence/elementsoap, coherence/extern/elementsoap: Moved
	  remotely

2006-11-28 12:44  dev

	* coherence/content, coherence/tests/content: Moved remotely

2006-11-28 12:44  dev

	* coherence/tests: Created folder remotely

2006-11-28 12:44  dev

	* coherence/extern: Created folder remotely

2006-11-28 12:43  dev

	* coherence.py, coherence/coherence.py: Moved remotely

2006-11-28 12:43  dev

	* coherence/upnp/xml-service-descriptions,
	  coherence/xml-service-descriptions: Moved remotely

2006-11-28 12:43  dev

	* coherence/backends/elisa_storage.py, coherence/elisa_storage.py:
	  Moved remotely

2006-11-28 12:43  dev

	* coherence/backends/fs_storage.py, coherence/fs_storage.py: Moved
	  remotely

2006-11-28 12:41  dev

	* coherence/plugins: Created folder remotely

2006-11-28 12:41  dev

	* coherence/backends: Created folder remotely

2006-11-28 12:41  dev

	* coherence/upnp: Created folder remotely

2006-11-28 12:40  dev

	* coherence, python-upnp: Renamed remotely

2006-11-27 15:26  dev

	* python-upnp/elisa_storage.py: doc string adjustment

2006-11-27 15:16  dev

	* python-upnp/elisa_storage.py: item.res.size is an optional
	  attribute -as the Elisa MediaStore isn't (yet) providing it, it
	  should be set to None if not present in the response from the
	  MediaStore.

2006-11-26 18:01  dev

	* python-upnp/elisa_storage.py, python-upnp/media_server.py: dumb
	  changes to test the Elisa MediaStore, time to work on the plugin
	  system

2006-11-26 16:21  dev

	* python-upnp/connection_manager_server.py,
	  python-upnp/content_directory_server.py,
	  python-upnp/fs_storage.py, python-upnp/media_server.py: keep
	  track of connections in the MediaServer ConnectionManager and
	  some cosmetically changes

2006-11-26 16:19  dev

	* python-upnp/service.py: fix soap_generic in such a way, that the
	  action.callback as intended can actually return a deferred or a
	  result-dict

2006-11-26 15:35  philn

	* python-upnp/elisa_storage.py, python-upnp/soap_service.py: Some
	  progress on Elisa store

2006-11-24 15:15  dev

	* python-upnp/elisa_storage.py: first shot of an
	  [http://www.fluendo.com/elisa/ Elisa] MediaServer backend

2006-11-24 15:13  dev

	* python-upnp/fs_storage.py: some forgotten import

2006-11-22 17:02  dev

	* python-upnp/av_transport_server.py, python-upnp/coherence.py,
	  python-upnp/connection_manager_server.py, python-upnp/content,
	  python-upnp/content/audio,
	  python-upnp/content_directory_server.py, python-upnp/device.py,
	  python-upnp/event.py, python-upnp/fs_storage.py,
	  python-upnp/media_receiver_registrar_server.py,
	  python-upnp/media_renderer.py, python-upnp/media_server.py,
	  python-upnp/msearch.py, python-upnp/rendering_control_server.py,
	  python-upnp/service.py, python-upnp/ssdp.py: A lot of fixes and
	  enhancements regarding a working MediaServer.
	  
	  Some of them concerning the different namespace, which refs to
	  #28.
	  
	  Fixed an embarrassingly stupid bug in the device registration,
	  where we had the services url in the location header of the
	  service notification, instead of the url for the device
	  description.xml, this is one of those that fixes #26.
	  
	  This only showed up due to the fact that the Noxon-2 looks only
	  for service notifications.
	  
	  Version 2 devices now send out notifications for devices v1 and
	  services v1 too. Requisite for this are different device
	  descriptions accordingly to the version, pointing to the matching
	  services.

2006-11-21 13:06  dev

	* python-upnp/media_receiver_registrar_server.py,
	  python-upnp/xml-service-descriptions/X_MS_MediaReceiverRegistrar1.xml:
	  This adds a MediaReceiverRegistrar with a FakeBackend, that just
	  affirms any IsAuthorized and IsValidated actions.

2006-11-19 16:41  dev

	* python-upnp/coherence.py, python-upnp/fs_storage.py,
	  python-upnp/media_server.py: removed 'uuid:' part from the
	  devices URL

2006-11-18 21:44  dev

	* python-upnp/DIDLLite.py, python-upnp/fs_storage.py: some progress
	  towards a simple MediaServer (plugin) with a FileSystem backend

2006-11-18 12:34  dev

	* python-upnp/fs_storage.py, python-upnp/media_renderer.py,
	  python-upnp/media_server.py: make the MediaServer return content
	  on request for an ObjectID

2006-11-18 10:34  dev

	* python-upnp/fs_storage.py: minor cosmetic changes

2006-11-17 21:58  dev

	* python-upnp/av_transport_server.py,
	  python-upnp/connection_manager_server.py,
	  python-upnp/content_directory_server.py,
	  python-upnp/fs_storage.py, python-upnp/media_renderer.py,
	  python-upnp/media_server.py,
	  python-upnp/rendering_control_server.py, python-upnp/service.py:
	  First 'usable' approach to couple the action callbacks with the
	  methods the backend provides.
	  
	  We still need 'some' knowledge about UPnP in the backend, maybe
	  this can be reduced further.

2006-11-17 11:30  dev

	* python-upnp/content_directory_server.py,
	  python-upnp/fs_storage.py, python-upnp/media_server.py: first
	  steps towards a simple MediaServer (plugin) with a FileSystem
	  backend

2006-11-17 11:26  dev

	* python-upnp/service.py: wrong use of attribute and some minor
	  fixes

2006-11-17 11:23  dev

	* python-upnp/DIDLLite.py: use cElementTree if available and
	  renamed klass to upnp_class

2006-11-17 11:16  dev

	* python-upnp/content_directory.py: removed as this is only needed
	  with the elisa UPnP plugin

2006-11-17 11:14  dev

	* python-upnp/soap_service.py: fix UPnPPublisher to get the
	  'soap'generic' function actually working with IN arguments

2006-11-16 10:26  dev

	* python-upnp/msearch.py: let the OS choose a port for the MSEARCH
	  service, fixes #23

2006-11-09 14:19  dev

	* python-upnp/event.py, python-upnp/media_renderer_client.py,
	  python-upnp/service.py, python-upnp/variable.py: added the
	  initial notification upon event subscription and proper
	  propagation of the LastChange event, closes #17 and #21.

2006-11-09 10:50  dev

	* python-upnp/coherence.py: no need to check for re-subscriptions
	  immediately, wait for the first looping call to pass

2006-11-09 10:47  dev

	* python-upnp/ssdp.py: don't (re)send notifications immediately,
	  wait for the first looping call to pass

2006-11-08 14:28  dev

	* python-upnp/av_transport_server.py,
	  python-upnp/connection_manager_client.py,
	  python-upnp/content_directory_client.py, python-upnp/event.py,
	  python-upnp/media_renderer.py,
	  python-upnp/media_renderer_client.py,
	  python-upnp/rendering_control_client.py,
	  python-upnp/rendering_control_server.py, python-upnp/service.py:
	  First stub for the MediaRenderer and its services, plus some bugs
	  fixed in the event notification stuff that showed up on the first
	  tests.

2006-11-07 14:54  dev

	* python-upnp/service.py: error checks in `soap__generic` for wrong
	  or missing IN arguments

2006-11-07 14:42  dev

	* python-upnp/soap_service.py: Proper error-code for 'method not
	  found' according to
	  [http://upnp.org/resources/documents/CleanUPnPDA101-20031202s.pdf
	  UPnP Device Architecture]

2006-11-06 22:18  dev

	* python-upnp/connection_manager_server.py,
	  python-upnp/content_directory_server.py, python-upnp/service.py:
	  follow-up on [57] and [58] which fixes the therein introduced
	  bugs

2006-11-06 21:22  dev

	* python-upnp/soap_service.py: Extending UPnPPublisher for a better
	  compliance with the
	  [http://upnp.org/resources/documents/CleanUPnPDA101-20031202s.pdf
	  UPnP Device Architecture]

2006-11-04 13:49  dev

	* python-upnp/connection_manager_server.py,
	  python-upnp/content_directory_server.py, python-upnp/service.py:
	  moved `soap__generic` and `get_action_results` out of the service
	  control classes into service.py, into their own ServiceControl
	  mix-in

2006-11-04 12:29  dev

	* python-upnp/connection_manager_server.py,
	  python-upnp/content_directory_server.py, python-upnp/service.py:
	  moved service description class into service.py

2006-11-01 21:50  dev

	* python-upnp/action.py, python-upnp/av_transport_client.py,
	  python-upnp/connection_manager_client.py,
	  python-upnp/content_directory.py,
	  python-upnp/content_directory_client.py,
	  python-upnp/control_point.py,
	  python-upnp/media_renderer_client.py,
	  python-upnp/media_server_client.py,
	  python-upnp/rendering_control_client.py,
	  python-upnp/soap_proxy.py, python-upnp/ssdp.py,
	  python-upnp/utils.py: put everything under MIT licence and added
	  appropriate copyright information, this changeset closes #7

2006-11-01 20:49  dev

	* python-upnp/service.py, python-upnp/variable.py: This adds the
	  missing methods for moderated events and closes #11.

2006-11-01 16:17  dev

	* python-upnp: property rag

2006-11-01 16:13  dev

	* python-upnp/connection_manager_server.py,
	  python-upnp/content_directory_server.py, python-upnp/service.py:
	  refactored server service into a more universal service.Server
	  class for mix-in.
	  
	  Added EventSubscriptionServer from #11.

2006-11-01 15:53  dev

	* python-upnp/event.py: server side event subscription and
	  notification, re #11
	  
	  The loop for sending out moderated events is not yet there ->
	  check [48].

2006-11-01 15:18  dev

	* python-upnp/media_server.py: minor cleanups

2006-11-01 15:11  dev

	* python-upnp/coherence.py: minor fix for device presentation in
	  the WebUI

2006-11-01 15:08  dev

	* python-upnp/device.py: changed license notes addressing #7

2006-11-01 15:03  dev

	* python-upnp/variable.py: laid foundation for moderated events, re
	  #11

2006-10-27 08:51  dev

	* python-upnp/ssdp.py, python-upnp/uuid.py: Repeat 100 times:
	  
	  Never work on code if you are tired!
	  Never work on code if you are tired!
	  Never work on code if you are tired!
	  Never work on code if you are tired!
	  ...

2006-10-26 16:26  dev

	* python-upnp/root-device.xml: removed accidentally checked-in file

2006-10-26 15:34  dev

	* python-upnp/uuid.py: Adjusted copyright just to be sure

2006-10-26 15:30  dev

	* python-upnp/media_server.py, python-upnp/uuid.py: Moved
	  generateuuid into its own UUID class so we can use it for SIDs
	  too.
	  Not sure if the str(instance) approach via __repr__ is sacrosanct
	  or if a self.uuid.get_uuid() construct is a better way to handle
	  this.

2006-10-23 11:14  dev

	* python-upnp/coherence.py,
	  python-upnp/connection_manager_server.py,
	  python-upnp/media_server.py: accommodations to
	  ArchitecturalOverview

2006-10-23 11:11  dev

	* python-upnp/ssdp.py: fixed old, mooching little bug, spotted by
	  philn

2006-10-15 20:55  dev

	* python-upnp/connection_manager_server.py: experimenting with a
	  generic soap method to save us from too many similar function
	  definitions.
	  
	  Maybe we can use this technique in the XMLRCP api too.

2006-10-15 20:51  dev

	* python-upnp/soap_service.py: extend UPnPPublisher so we can use a
	  generic soap method for the trivial actions in a server service.

2006-10-15 20:47  dev

	* python-upnp/content_directory_server.py: Copied over soap methods
	  from PyMedS.

2006-10-15 20:45  dev

	* python-upnp/action.py: Extend action class with a callback so it
	  is more useful in a server service.

2006-10-14 14:59  dev

	* python-upnp/media_server.py: Proper registration of ourself to
	  the SSDP server and corrected services url creation.

2006-10-14 14:56  dev

	* python-upnp/connection_manager_server.py,
	  python-upnp/content_directory_server.py: Fix serviceStateTable
	  typo in scpd.xml creation, added instantiation of
	  EventSubscriptionServer and use v2 of the service description
	  file.

2006-10-14 14:48  dev

	* python-upnp/media_server_client.py: Temporarily remove testing of
	  Browse action to handle our own half-done ContentDirectory
	  service.

2006-10-14 14:46  dev

	* python-upnp/content_directory_client.py: Adjust licence, address
	  #7

2006-10-14 14:44  dev

	* python-upnp/control_point.py, python-upnp/event.py: Added
	  EventSubscriptionServer and initiated it in
	  connection_manager_server.py and content_directory_server.py.
	  
	  Functionality is still missing!!!
	  
	  Removed an obsolete argument from EventServer `__init__`.
	  
	  Addresses #11.

2006-10-14 14:39  dev

	* python-upnp/ssdp.py: Reworked the SSDP server implementation.
	  
	  The dict items, that represent discovered remote or registered
	  local devices have now a manifestation attribute to distinguish
	  between local or remote devices.
	  
	  We do now resend notifications every 770 seconds.
	  These resends seem to be 'best practice' in case some
	  ControlPoint had missed the discovery responses.
	  
	  Talking of these, discovery responses are now implemented too.
	  
	  Notifications and discovery responses are only send out for local
	  devices.

2006-10-14 14:31  dev

	* python-upnp/service.py: commented out noisy print

2006-10-14 14:30  dev

	* python-upnp/coherence.py: commented out noisy print

2006-10-14 14:24  dev

	* python-upnp/msearch.py: Adjust loop time for msearch, now do
	  searches every 120 seconds.
	  Maybe that's still too often.
	  
	  Add the manifestation argument to the SSDP.register call and
	  modified the licence.

2006-10-14 14:17  dev

	* python-upnp/xml-service-descriptions/AVTransport2.xml,
	  python-upnp/xml-service-descriptions/ConnectionManager2.xml,
	  python-upnp/xml-service-descriptions/ContentDirectory2.xml,
	  python-upnp/xml-service-descriptions/MediaRenderer2.xml,
	  python-upnp/xml-service-descriptions/MediaServer2.xml,
	  python-upnp/xml-service-descriptions/RenderingControl2.xml,
	  python-upnp/xml-service-descriptions/ScheduledRecording1.xml:
	  Actually it is a good idea to use the correct xml files if you
	  want to support MediaServer V2 and MediaRenderer V2 ;-)
	  
	  This is an supplement to [25] and addresses #10 again.

2006-10-13 09:56  dev

	* python-upnp/variable.py: adjust faulty argument order in
	  StateVariable init

2006-10-12 14:48  dev

	* python-upnp/connection_manager_server.py,
	  python-upnp/content_directory_server.py,
	  python-upnp/media_server.py: Add and integrate
	  content_directory_server.py on the way to a working basic
	  MediaServer.
	  
	  Some of the changes in media_server.py in the device xml
	  description generation close #10.

2006-10-12 13:35  dev

	* python-upnp/action.py, python-upnp/coherence.py,
	  python-upnp/connection_manager_server.py,
	  python-upnp/media_server.py, python-upnp/service.py,
	  python-upnp/soap_service.py, python-upnp/variable.py,
	  python-upnp/xml-service-descriptions,
	  python-upnp/xml-service-descriptions/AVTransport1.xml,
	  python-upnp/xml-service-descriptions/ConnectionManager1.xml,
	  python-upnp/xml-service-descriptions/ContentDirectory1.xml,
	  python-upnp/xml-service-descriptions/RenderingControl1.xml:
	  Reverted the way the WebInterface is handled and add some simple
	  page-generation to allow easier browsing of the children.
	  
	  Included the xml-services-descriptions directory and use the xml
	  files therein as the source for the server services definition.
	  
	  This addresses #10.
	  
	  And finally added connection_manager_server.py and
	  soap_service.py for an initial test of a server service.

2006-10-11 16:50  dev

	* python-upnp/coherence.py, python-upnp/control_point.py,
	  python-upnp/device.py, python-upnp/media_server.py,
	  python-upnp/service.py, python-upnp/ssdp.py,
	  python-upnp/utils.py: Another big one which removes the blocking
	  urllib2.urlopen call
	  and adds signal based propagation of events, e.g. SSDP
	  new_device,
	  to get around too much deferred wizardry in the device,sub-device
	  and service detection.
	  
	  This introduces [http://pylouie.org louie] as signal dispatcher.

2006-10-09 09:52  dev

	* python-upnp/coherence.py, python-upnp/control_point.py,
	  python-upnp/event.py, python-upnp/rpc_client.py,
	  python-upnp/ssdp.py: This is a big changeset that turns upside
	  down a lot of
	  how the parts within the UPnP framework are dealt with.
	  
	  There is now an embracement class called Coherence that
	  deals with all the parts needed to run an UPnP service.
	  And allows in the future a more plugin based structure.
	  
	  There we decide whether we only want to be a ControlPoint,
	  only a MediaRenderer, only a MediaServer or any combination
	  of these.
	  
	  The SSDP and the MSEARCH subsystems have now their home there.
	  
	  And only one webserver instance is created where all the other
	  subsystems can register their services as childs.
	  
	  For example the ControlPoint appends there its Event Notification
	  service and its XMLRPC interface.
	  And of course it can append there its own web-interface.
	  
	  Likewise for the MediaServer. It appends its XML files,
	  the Event Subscription service, the SOAP interface and its
	  media files.
	  
	  Hopefully not to many things broke with this changeset,
	  actually and intendedly we should be on the same functionality
	  level like before.

2006-10-09 09:29  dev

	* python-upnp/media_server.py, python-upnp/root-device.xml: some
	  startup imports from pymeds to allow testing of the
	  framework/embracement approach

2006-10-05 21:55  dev

	* python-upnp/content_directory_client.py: added remaining action
	  methods to ContentDirectory client

2006-10-05 15:27  dev

	* python-upnp/content_directory_client.py,
	  python-upnp/media_server_client.py: fix stupid typo and solve
	  browse and search issues, herewith closes #6

2006-10-05 15:24  dev

	* python-upnp/service.py: move SOAP request method back to service
	  class, refs #9

2006-10-05 15:21  dev

	* python-upnp/action.py: change re #6

2006-10-05 15:17  dev

	* python-upnp/control_point.py: correction for error introduced in
	  [15]

2006-10-05 15:03  dev

	* python-upnp/DIDLLite.py: DIDL-Lite strings are encoded in utf-8
	  and need therefore decoding as such

2006-10-04 09:30  dev

	* python-upnp/control_point.py, python-upnp/device.py: fixed device
	  identification within the ControlPoint, corrected this in the
	  Device class and added instantiating of the MediaServerClient

2006-10-04 09:17  dev

	* python-upnp/media_renderer_client.py: first licence fix, refs #7

2006-10-04 09:12  dev

	* python-upnp/media_server_client.py: created MediaServerClient
	  class

2006-10-03 21:40  dev

	* python-upnp/action.py: added StateVariable (auto-)update on
	  return of an action call, refs #6

2006-10-03 21:32  dev

	* python-upnp/media_renderer_client.py: some more method calls to
	  test the new action handling, re #6

2006-10-03 21:29  dev

	* python-upnp/av_transport_client.py: added action
	  GetCurrentTransportActions

2006-10-03 21:28  dev

	* python-upnp/soap_proxy.py: removed some prints

2006-10-03 21:27  dev

	* python-upnp/elementsoap/ElementSOAP.py: removed an old print

2006-10-03 17:32  dev

	* python-upnp/action.py, python-upnp/av_transport_client.py,
	  python-upnp/connection_manager_client.py,
	  python-upnp/content_directory_client.py,
	  python-upnp/media_renderer_client.py,
	  python-upnp/rendering_control_client.py, python-upnp/service.py:
	  reengineered the way actions are called, breaks Search and Browse
	  actions in [source:/trunk/python-upnp/content_directory_client.py
	  ContentDirectory], addresses #6

2006-10-03 09:57  dev

	* python-upnp/control_point.py, python-upnp/event.py,
	  python-upnp/service.py: remaining adaptations for AVTransport and
	  RenderingControl LastChange events and instance based propagation
	  of that event and the therein enclosed StateVariables plus the
	  removal of some loquacious prints, closes #1,#2 and #3

2006-10-02 14:39  dev

	* python-upnp/av_transport_client.py, python-upnp/control_point.py,
	  python-upnp/media_renderer_client.py, python-upnp/service.py,
	  python-upnp/variable.py: added instance dict around
	  state_variables dict and adjusted variable related methods,
	  addresses #3

2006-10-02 13:00  dev

	* python-upnp/control_point.py, python-upnp/device.py,
	  python-upnp/event.py, python-upnp/service.py: enhanced with
	  unsubscribe service notification and proper(?) shutdown handling,
	  fixing #4

2006-10-02 12:50  dev

	* python-upnp/elementsoap: set svnignore for pyc/pyo

2006-10-01 14:53  dev

	* python-upnp: set svnignore for pyc/pyo

2006-10-01 14:39  dev

	* ., python-upnp, python-upnp/DIDLLite.py, python-upnp/__init__.py,
	  python-upnp/action.py, python-upnp/av_transport_client.py,
	  python-upnp/connection_manager_client.py,
	  python-upnp/content_directory.py,
	  python-upnp/content_directory_client.py,
	  python-upnp/control_point.py, python-upnp/device.py,
	  python-upnp/elementsoap, python-upnp/elementsoap/ElementSOAP.py,
	  python-upnp/elementsoap/HTTPClient.py,
	  python-upnp/elementsoap/README,
	  python-upnp/elementsoap/__init__.py, python-upnp/event.py,
	  python-upnp/media_renderer_client.py, python-upnp/msearch.py,
	  python-upnp/rendering_control_client.py,
	  python-upnp/rpc_client.py, python-upnp/service.py,
	  python-upnp/soap_proxy.py, python-upnp/ssdp.py,
	  python-upnp/utils.py, python-upnp/variable.py: initial import

