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.
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
10
12
tests/* - Unit/regression tests
11
util/* - General utility functions and setup code
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.
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.
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.
25
Currently we are limiting the code to features in PyGTK 2.8 and Python
32
Currently we are limiting the code to features in PyGTK 2.10 and
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
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.
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.
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.
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.
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.