Re: [Banshee-devel-list] Banshee top level module



Hi,

Some information below.

On Mon, Jun 27, 2011 at 5:44 AM, Ananth Padmanabhan
<ak_ananth hotmail com> wrote:
> Dear Banshee developers,
>
> This is likely too basic a question for you. But I figured I try you anyway.
>
> first of all let me congratulate you in developing a fantastic piece of
> software/application. To let me have an open source alternative to other
> music management software (with ipod sync capabilities).
>
> Now that I have been more than satisfied as a user, my desire deepens to
> understand the source code to the point where I might actually make some
> modifications and try to contribute back to the community.
>
> I am new to application programming (I have basic C-level knowledge). I have
> downloaded your source code, but I am a little lost in figuring out where to
> start browsing through the code.
>
> Can you please point me to the top level module (application level that
> calls the gui functions, and which then call the lower level triggers like
> (importing songs, playing songs etc)?

Thanks for the kind words.

The main UI for Banshee is called Nereid, and its source code can be
found in the src/Clients/Nereid/Nereid/ directory.
As you can see, there's not a lot of code, as it mostly puts together
widgets and elements that are defined elsewhere in the source.

I would recommend using MonoDevelop to navigate around the source
code. I'm using Right-click > "Go to declaration" and "Find
references" all the time.
You can also search for strings which are visible in the UI to find
where the corresponding feature is implemented.

I've just salvaged the following diagram from our old website :
http://download.banshee.fm/misc/banshee-assemblies_old.png
Beware, it is quite old and somewhat outdated, but at least it's not
misleading. It's also very simple and high level, but details the
roles of the some of the core assemblies in Banshee.

By the way, if someone could come up with an updated version of that
diagram, that would be great !

I hope this helps.

-- 
Bertrand Lorentz


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