Re: [Rhythmbox-devel] Fwd: Beginning to contribute to Rhythmbox.



I would echo Donagh's excellent comments and links.

Just to say - one easy way to help to understand plugin writing,  is actually to look at some authors plugins themselves - pick an issue and work on submitting a patch.  In that way you can gain experience with collaborative working, plugin development as well as receiving direct feedback and support from the plugin developers themselves.

For example (shameless plug!) - we have lots of issues outstanding that need working up into potential solutions

 - https://github.com/fossfreedom/coverart-browser/issues?milestone=7&sort=updated&state=open

Have fun - and welcome!

David (aka fossfreedom)

On 12 March 2013 12:00, <rhythmbox-devel-request gnome org> wrote:
Send rhythmbox-devel mailing list submissions to
        rhythmbox-devel gnome org

To subscribe or unsubscribe via the World Wide Web, visit
        https://mail.gnome.org/mailman/listinfo/rhythmbox-devel
or, via email, send a message with subject or body 'help' to
        rhythmbox-devel-request gnome org

You can reach the person managing the list at
        rhythmbox-devel-owner gnome org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of rhythmbox-devel digest..."


Today's Topics:

   1. Fwd: Beginning to contribute to Rhythmbox. (Ankit Arora)
   2. Re: Fwd: Beginning to contribute to Rhythmbox. (Donagh Horgan)


----------------------------------------------------------------------

Message: 1
Date: Tue, 12 Mar 2013 14:46:30 +0530
From: Ankit Arora <ankitarora121 gmail com>
To: rhythmbox-devel gnome org
Subject: [Rhythmbox-devel] Fwd: Beginning to contribute to Rhythmbox.
Message-ID:
        <CAETFwhNFzseHqTU4FLq9kzf4yiFSgNVDXYxSFgbdLrjZVe7fZQ mail gmail com>
Content-Type: text/plain; charset="iso-8859-1"

Hey guys. I want to begin contributing to Rhythmbox, a Gnome project that I
use the most. This'll be my first venture into Open source development so
do forgive me if my question is to elementary.
I have a few good ideas on a few plugins that I want to develop for
Rhythmbox and I'm sure they'll be of decent use to the community.

I just need some basic guidance on what are the basic prerequisites I need
to have before I dive in. I've sufficient knowledge of Python so I'm
covered there. But what else do I need to read up on or get familiar with
before I start my first Rhythmbox plugin? I have no clue about GStreamer or
GObject etc.

Thanks.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.gnome.org/archives/rhythmbox-devel/attachments/20130312/239de6e6/attachment.html>

------------------------------

Message: 2
Date: Tue, 12 Mar 2013 10:16:10 +0000
From: Donagh Horgan <donagh horgan gmail com>
To: Ankit Arora <ankitarora121 gmail com>
Cc: rhythmbox-devel gnome org
Subject: Re: [Rhythmbox-devel] Fwd: Beginning to contribute to
        Rhythmbox.
Message-ID:
        <CAK1wx5uKnJXSDYpXP9yOua-AtwY5JNZ0WMKkf=naqgJd47L9hA mail gmail com>
Content-Type: text/plain; charset="iso-8859-1"

Hi Ankit,

I recently started developing Rhythmbox plugins too, so hopefully you'll
find this of some use. (To other developers, if the following is
offensively incomplete, I apologise sincerely.)

First up, there's a
guide<https://live.gnome.org/RhythmboxPlugins/WritingGuide>for writing
Rhythmbox plugins on the Gnome website. It covers the basics of
how to put together a plugin and make it do something (essentially, it
boils down to having a plugin description file which references a named
Python file containing your plugin code - from there, anywhere!). There's
also a Python plugin example
page<https://live.gnome.org/Rhythmbox%20Plugins/Python%20Plugin%20Examples>,
but I seem to recall this being a little out of date. It's probably worth a
look anyway though.

The latest source code
<http://ftp.gnome.org/pub/GNOME/sources/rhythmbox/>for Rhythmbox is
always a handy reference. If you're planning on adding UI
elements, you'll need to have a look at 'rhythmbox-ui.xml', in the
'data/ui' subdirectory. It also comes with the source code for all of the
default plugins that Rhythmbox is shipped with. In particular, there's a
fully working Python plugin example in the 'sample-plugins/sample-python'
subdirectory which you might find a good starting point. Similarly, my
first plugin<http://www.donaghhorgan.com/projects/rhythmbox/open-containing-folder/>,
which shamelessly rips off its old Rhythmbox 0.13
counterpart<http://www.infinicode.org/code/rb/>,
is probably a good minimal working example of a plugin with some UI.

The Rhythmbox Python API
reference<http://www.jetmore.org/john/misc/rb/rb297-python-bindings/index.html>is
pretty essential, and it doesn't seem to exist anywhere else on the
web.
If you're worried about the version numbering being out of date (that link
is for Rhythmbox 2.97), or just want to generate your own, then check out
John Jetmore's blog post
here<http://www.jetmore.org/john/blog/2012/07/rhythmbox-python-bindings-documentation/>.
The API reference is where you'll find functions relating to GStreamer,
etc., although if you're looking for more detailed information then the
GStreamer page itself is probably your best bet - the Python bindings just
allow you to hook into the framework (and, then, only some parts of the
framework - hopefully, what you're looking for will be exposed).

The third party Rhythmbox
plugins<https://live.gnome.org/RhythmboxPlugins/ThirdParty>are worth
checking out too, especially if you want to see how a particular
API is used in practice. The third party plugins page lists plugins for
both Rhythmbox 2.9+ and the older 0.13 variety, so be careful if you're
planning on copying code to teach yourself - the older code might look ok,
but it's often subtly different from the new API, and you might find
yourself scratching your head and wondering why something so basic just
won't work, for hours and hours and hours...

Finally, if you're stuck, the other plugin developers are great to talk to.
Most of us don't bite, and can often point in the direction of something we
might have done in the course of writing one of our plugins, that you might
find useful in writing yours.

That's about it, I think. It might seem like a lot to take it at first, but
it's not too difficult to get the hang of. Besides, my Python was (is) very
basic, so I'm sure you'll adapt a lot faster than I did...

All the best,
Donagh



On Tue, Mar 12, 2013 at 9:16 AM, Ankit Arora <ankitarora121 gmail com>wrote:

> Hey guys. I want to begin contributing to Rhythmbox, a Gnome project that
> I use the most. This'll be my first venture into Open source development so
> do forgive me if my question is to elementary.
>  I have a few good ideas on a few plugins that I want to develop for
> Rhythmbox and I'm sure they'll be of decent use to the community.
>
> I just need some basic guidance on what are the basic prerequisites I need
> to have before I dive in. I've sufficient knowledge of Python so I'm
> covered there. But what else do I need to read up on or get familiar with
> before I start my first Rhythmbox plugin? I have no clue about GStreamer or
> GObject etc.
>
> Thanks.
>
> _______________________________________________
> rhythmbox-devel mailing list
> rhythmbox-devel gnome org
> https://mail.gnome.org/mailman/listinfo/rhythmbox-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.gnome.org/archives/rhythmbox-devel/attachments/20130312/633fbc03/attachment.html>

------------------------------

Subject: Digest Footer

_______________________________________________
rhythmbox-devel mailing list
rhythmbox-devel gnome org
https://mail.gnome.org/mailman/listinfo/rhythmbox-devel


------------------------------

End of rhythmbox-devel Digest, Vol 107, Issue 3
***********************************************



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