~ubuntu-branches/ubuntu/karmic/quodlibet/karmic

« back to all changes in this revision

Viewing changes to HACKING

  • Committer: Bazaar Package Importer
  • Author(s): Luca Falavigna
  • Date: 2009-01-30 23:55:34 UTC
  • mfrom: (1.1.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20090130235534-l4e72ulw0vqfo17w
Tags: 2.0-1ubuntu1
* Merge from Debian experimental (LP: #276856), remaining Ubuntu changes:
  + debian/patches/40-use-music-profile.patch:
    - Use the "Music and Movies" pipeline per default.
* Refresh the above patch for new upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
See also http://www.sacredchao.net/quodlibet/wiki/Development for
 
1
See also http://code.google.com/p/quodlibet/wiki/Development for
2
2
various proposals/roadmaps/guides.
3
3
 
4
 
Source Layout
5
 
-------------
 
4
Source Layout - quodlibet/
 
5
--------------------------
6
6
browsers/*      - Things in the View menu
7
7
formats/*       - File format support
8
8
library/*       - Library management code
9
9
qltk/*          - GTK+ widget subclasses/extensions
 
10
util/*          - General utility functions and setup code
 
11
 
10
12
tests/*         - Unit/regression tests
11
 
util/*          - General utility functions and setup code
12
13
 
13
14
If you want to get a full overview of QL's code, good places to start
14
15
are browsers/_base.py, formats/_audio.py, and library/_library.py.
15
16
 
 
17
Printing Text
 
18
-------------
 
19
All terminal output should go through the print_, print_w, print_e,
 
20
or print_d functions. These will handle Unicode recoding. They also
 
21
let us capture all output for debugging purposes.
 
22
 
16
23
Submitting Patches
17
24
------------------
18
25
If you don't follow these guidelines, your patch will be turned down.
22
29
 * Lines longer than 79 characters.
23
30
 * Sending whole files rather than patches.
24
31
 
25
 
Currently we are limiting the code to features in PyGTK 2.8 and Python
26
 
2.4.
 
32
Currently we are limiting the code to features in PyGTK 2.10 and
 
33
Python 2.4.
27
34
 
28
35
Please prepare your patches against the Subversion release, or the
29
36
most recent release. You can update a checked-out version to the
31
38
 
32
39
Translation
33
40
-----------
34
 
http://www.sacredchao.net/quodlibet/wiki/Development/Translation is
 
41
http://code.google.com/p/quodlibet/wiki/Development_Translation is
35
42
a detailed guide to handling translation. Don't be afraid to ask for
36
43
help on IRC or the mailing list.
37
44
 
38
45
Unit Tests
39
46
----------
40
 
Quod Libet comes with tests. To run them, run ./_sanity.sh. Your patch
41
 
can't break any unit tests, and if you change tests in a non-obvious way
42
 
(e.g. a patch that removes an entry point and also removes a test for it
43
 
is obvious) you should explain why.
44
 
 
45
 
These tests are not included in released versions, since they are fairly 
46
 
large and have more dependencies than Quod Libet itself.
 
47
Quod Libet comes with tests. To run them, run ./setup.py test. Your
 
48
patch can't break any unit tests, and if you change tests in a
 
49
non-obvious way (e.g. a patch that removes an entry point and also
 
50
removes a test for it is obvious) you should explain why.
47
51
 
48
52
Submitting
49
53
----------
50
54
If your patch fixes a known bug with a ticket, you should attach it to
51
55
the ticket directly. If it is a bug fix but doesn't have a ticket, you
52
56
can either make a ticket to attach it to, or send it to the mailing list,
53
 
quodlibet@lists.sacredchao.net.
 
57
quod-libet-development@googlegroups.com.
54
58
 
55
 
The ticket tracker is at http://www.sacredchao.net/quodlibet/report
56
 
and at http://www.sacredchao.net/quodlibet/newticket.
 
59
The ticket tracker is at http://code.google.com/p/quodlibet/issues/list
 
60
and at http://code.google.com/p/quodlibet/issues/entry.
57
61
 
58
62
Guidelines
59
63
----------