RE: [Banshee-List] Keeping in sync



Hi Dogacan,

well the one who really needs to comment on this is Aaron for sure.
But in order to help you out as possible as i can i have a few comments.

Did not really check the whole code but here it goes.
Most of the crashes may be related with some asychronous calls to banshee components while Transacting.
You probably need to check existing transaction related code to better handle them.(if you really think that async. calls may not be that relevant you could also check db.reader code for null references..)

The other issue regarding the ui updates is actually there is no code i ve noticed that forces gui to update.(not sure though)
I guess the better and elegant way of doing this is to handle inotify (mosy likely with event handlers.) callbacks within playerinterface and use the appropriate Update routines and source checks.

Hope this helps.

Best.
ulas



-----Original Message-----
From: banshee-list-bounces gnome org on behalf of Dogacan Guney
Sent: Sat 12.11.2005 16:09
To: banshee-list gnome org
Subject: Re: [Banshee-List] Keeping in sync
 
Hello everyone,

OK, this is my second attempt. Let's see how this goes:)

It adds 3 files to libbanshee (inotify.h inotify-syscalls.h
inotify-glue.c), adds Inotify.cs and Watch.cs to src. The inotify
files are taken from beagle's source code, and the InotifiedWatch
class is mostly ported from Muine's InotifyPlugin.cs (which did not
have a copyright notice, so I did not put anything in Watch.cs).

I overloaded the Library.Remove function, because it does not actually
need the whole track info, id and uri is enough.

Also, I changed FileLoadTransaction a bit, it can load more than 1
paths at once now.

The rest of the changes are basic stuff, like initializing the watch, etc.

The code works to a degree but has some major and minor problems:

1) Banshee almost always crashes when new music is added.  Note that
after a restart, the new files are in the library.

2) When a file or folder is deleted, I both delete it from the
database and also remove it from the library, but the UI does not
reflect the change. Again, after a restart you won't see the files.

3) If you don't have inotify banshee won't compile. (Heh, actually I
added code to monitor files with FileSystemWatcher too in case there
is no inotify, but, since there is no check for inotify at configure,
this is useless.)

I don't really know how to solve these problems. So, my choices were
either sitting on this code forever or posting it to the mailinglist,
and I chose the latter:). Sorry, if I am creating too much noise.

Good day,
Dogacan Güney

<<winmail.dat>>



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