Monday, October 19, 2009

Where are you?

Hello,

I've been quite busy the last couple months with the university and I'll probably still be until December. Too many exams, course-projects and etc.

Until then, I'll be focusing on:

  • eupnp: end-user applications, documentation, tutorial, libeupnp-av. Any help would be really good!
  • (university) annoy-clock: project for the digital systems archicteture course
  • (university) voice-scrambler or de-esser: project for the communication systems course

Wednesday, August 19, 2009

GSoC final report

We've just passed the firm pencil's down date. Here's a final report for Eupnp GSoC project:

  • Discovery, Description, Control features completed (which provide a basic control point functionality set)
  • Multi-toolkit: one can easily integrate Eupnp with Qt, Glib, Ecore or any other toolkit/framework that provides the basic functionality required. We already have integration with Ecore (EFL)
  • Event Notification incomplete (we're able to subscribe for events but for now you're only able to receive raw messages)
  • Internet Gateway Device configuration tool incomplete (able to list IGD devices)

Even though the program ended, I'll obviously keep working on Eupnp. Here's an updated TODO list:
  • Finish implementing Event Notification
  • Finish IGD configuration tool
  • Finish API documentation, write a tutorial
  • libeupnp-av (UPnP Audio/Video specification) extension library
Ideas/future features:
  • Universal control point
  • Python bindings
  • Maemo porting
  • Canola plugin
  • Device building ability (UPnP server)
PS: Big thanks to Gustavo Barbieri (my mentor) who helped me throughout problems and taught me lots of programming techniques. Also thanks to EFL guys (raster, Sachiel, vtorri, cedric, etc) who had the patience to read my patches and answer my stupid questions on IRC :-P.

Monday, August 10, 2009

Eupnp & GSoC

Hello,

I've just finished implementing the last requirement (embedded devices parsing) for our IGD client.

Concerning the project as a whole, we have the following features and TODO's:

Features:

  • Discovery: SSDP client
  • Description: fast and light SAX parsers for devices and services description files
  • Control: SOAP support implemented
  • Integration interface for external toolkits/libraries (ecore, glib, qt)
  • eupnp-ecore: integration library with ecore library
  • Command line control point application example
  • IGD GUI application listing devices
Missing/TODO (by order of priority):
  1. IGD GUI controlling IGD devices
  2. Event Notification: subscribing for variables updates
  3. Docs, tutorial
  4. UPnP Audio/Video extension library (libeupnp-av)*
Also, it's good to remind that today is the suggested GSoC pencil's down date. To quote the timeline:
August 10: Suggested 'pencils down' date. Take a week to scrub code, write tests, improve documentation, etc.
Concerning their sugestion and the timeline, we are almost on schedule (on the original plan we had item #2 on the first release and item #4 on the second release*). Items #1 and #3 will certainly get done on time (before August 16). I also wish to deliver item #2 on time, which is an optional UPnP feature but is very important and widely used.

* libeupnp-av has been postponed in favour of the IGD GUI as the A/V specification is extremely extensive and the IGD GUI is a simpler showcase for the project - at least for now.

Enough with the talk, pants on and code!

Friday, August 07, 2009

Eupnp, Elementary, IGD


Nothing fancy for now, but we're on our way to end user tools :). This little application already lists and searches for Internet Gateway Devices using Eupnp and Elementary.

Next step will be about adding a dialog for controlling these devices (easy to do) but I need to strike-through one last TODO item before adding it (embedded devices parsing).

Monday, August 03, 2009

Finally!

I finally managed to get XML fetching (devices and services) done. I lost a lot of time going against libcurl directly, so the solution my mentor proposed just fit: export a core download function that is provided by the integration toolkit (e.g. ecore_con_url from ecore toolkit).

I'll try to make up for the time lost and move on now for controlling!

Cheers