Re: [Banshee-List] Sync to Folder / plans for Dap on Mac OS X?
- From: "Andres G. Aragoneses" <knocte gmail com>
- To: banshee-list gnome org
- Subject: Re: [Banshee-List] Sync to Folder / plans for Dap on Mac OS X?
- Date: Fri, 16 Sep 2011 10:56:39 +0100
Hey Timo, welcome!
See inline:
On 09/16/2011 10:18 AM, Timo Dörr wrote:
Hi everybody,
since iTunes sucks big time when handling media files stored on a NAS, I
looked on current banshee-on-mac status and found the recently posted
Lion build (see mail:
http://mail.gnome.org/archives/banshee-list/2011-September/msg00020.html) which
works quite good on my snow leopard machine, too (with the same
mentioned dragging glitches that were discussed for Lion). Kudos for
that build, btw!
Now I found that banshee on mac has disabled all kind of Dap/device
syncing stuff. As I store all my music on a NAS in the network, I
occasinally need to sync some playlists with new/recent music to my
macbook and my android device when I'm at home to have some music with
me on the go.
It is disabled because, as you noticed, nobody implemented MacOS support.
That's why I've started a little hacking and created a basic
DirectorySync Addin, which is currently capable to do this. Everything
is very ugly right now but the copy process to my android device and
creation of .m3u lists works so far. See a screenshot here:
http://dl.dropbox.com/u/14469783/Ohne%20Titel.png
Woo, great!
Now I dug into the banshee sourcecode and found most of the
functionality i imeplemented is arelady there in the Dap/MassStorage
backends. I think a cleaner solution would be for me to implement a new
device type "FolderDevice" based on the device interfaces already
defined and have banshee do all the syncing. But it seems to me the Dap
stuff is tightly coupled to dbus/gnome libs for hardware detection,
which is the reason its disabled on Mac OS X builds, isn't it?
I'm no expert (yet) in all of Banshee's abstractions, but from what I've
read in the source over the years, you're not completely correct.
First, Banshee is divided in a lot of assemblies (libraries and
executables). I guess the ones relevant to our discussion are:
Banshee.Dap.dll
Banshee.Dap.MassStorage.dll
Banshee.Services.dll
Banshee.Osx.dll
In theory, the two first ones (Dap) contain all the relevant bits that
you unfortunately have been duplicating. They should not depend at all
on non-cross-platform dependencies (I just did a search on those
projects for the word "dbus", and in their references, and no results).
Take in account that some "gnome libs", as you name them, are still
cross-platform (otherwise banshee couldn't work on Lion as it worked for
you), like gtk, gdk, etc.
So, it's ok for Banshee.Dap.dll to link to Gtk and Gdk, but it wouldn't
be OK that Banshee.Dap depends on Banshee.Unix.dll (which may work in
MacOS but not in Windows), Banshee.Gio.dll (which would just work on
Linux AFAIU), etc.
This is the reason why Banshee.Dap.dll and Banshee.Dap.MassStorage.dll
depend on Banshee.Services, which contains several interfaces (i.e.
under the Banshee.Hardware namespace, that are later used in the
separate platform-specific DLLs).
So if you are still with me, I guess you already noticed I mentioned
something that you may have not seen: Banshee.Osx.dll, a library which
is actually already implementing some Banshee.Hardware interfaces. I
guess, because of lack of developer time/resources, this library was not
finished and then Dap support is marked as disabled in the Mac build.
Is there currently a roadmap for banshee on mac that will introduce
basic Dap stuff at least to some extend where all current devices are
not compiled in, but the core syncing infrastructe? That way I could
create a FolderDevice backend that would be usable on mac. If that's
currently not the case, I would continue to work on the addin-based
solution and maybe do some cleanup and refactoring to try getting it
into mainline BCE. Of course only if there is demand by users for that
addin.
The main Roadmap is https://live.gnome.org/Banshee/Roadmap .
As you see from that, we lack non-Linux developers so your help is
highly appreciated.
Having your work in BCE is great, better than nothing and a lot of users
will appreciate it if it gets bundled/packaged as soon as possible. But
the longer term solution is start merging your code with the
Banshee.Osx.dll to make it work out of the box in Banshee.Core, like it
does for other platforms.
So, if I were you, I would start hanging out with us in
irc://irc.gnome.org/banshee to ask for advice and let us know about your
progress!
Cheers,
Andres
--
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]