[weekly report] Week 2: Music sharing in Banshee using Telepathy



Hey all,

Week 2 was less exciting, but still productive. My TODO list was:

* review what I've already done
* figure out what do about this Mono bug and possibly install Mono 2.4
(a drag because Banshee won't have a 2.4 requirement for awhile,
AFAIK)
* filter connection to the ones that support tubes and file transfers
(that result in Jabber only, but don't want to hard code that. Will be
using the API to query)
* filter the contacts so only the ones that support the Banshee
extension are displayed.

I have reviewed my code and some small changes were made in addition
to small tweaks suggested by my mentor. Class modifier changes, better
organization, better variable naming, and the option to announce what
you're listening to now persists instead of resetting when Banshee
terminates.

As for the Mono bug, I have a workaround for the time being. Instead
of querying Telepathy for what capabilities a connection provides, I
am hardcoding the use of Jabber connections only. The connection
filtering is a very minor part of the project, and I don't think Tube
capability will come to other protocols any time soon, if ever. So,
this is safe, for now. When Banshee officially depends on Mono 2.4,
this code can be revisited.

The contacts displayed in Banshee when my extension loads are now
filtered. Only contacts advertising that they support the Telepathy
extension are shown. The actual ServiceName being advertised is just a
dummy one for testing purposes. But, anyway, most of the work for the
filtering is done. I spent quite a bit of time debugging this, as I
had a timing issue where I was advertising the ServiceName to
Telepathy too early. I finally figured out that if I delayed the
advertisement, everything was cool. Then, I was able to figure out
what was wrong and adjust my code accordingly. That was one nasty,
frustrating day!

TODO for this week:
* Get as much of the Tube framework done as possible. This includes
detecting when contacts want to communicate with each other over a
tube, accepting requests to communicate, denying requests,
establishing the DBus connection between contacts,
registering/unregistering exportable DBus objects, etc.

So, the basics for all the exciting stuff are in development now. I'm
getting excited, as I'm getting closer and closer to letting contacts
share their Banshee libraries! I'm sorry to report that there will be
no sequel to last week's screencast yet. But, don't worry, it's coming
soon! :)

That's all for now,
Neil


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]