Test reference tweaks.
[dcpomatic.git] / DEVELOP.md
1 # DCP-o-matic development notes
2
3 This file collects a few notes relevant to DCP-o-matic developers.  There is also some information
4 [on the web site](https://dcpomatic.com/development).
5
6
7 ## Player stress testing
8
9 If you configure DCP-o-matic with `--enable-player-stress-test` you can make a script which
10 will run and manipulate the player in predictable ways.  The script is a series of commands
11 read line-by-line, and each line can be one of:
12
13 * `O <path>`
14
15 Open a DCP, for example
16
17 ```O /home/carl/DCP/MyTestDCP```
18
19 * `P`
20
21 Start playing the currently-loaded DCP.
22
23 * `W <time-in-milliseconds>`
24
25 Wait for approximately the given time before carrying on, for example
26
27 ```W 14000```
28
29 to wait for 14 seconds.
30
31 * `S`
32
33 Stop any current playback.
34
35 * `K <position>`
36
37 Seek to some point in the current DCP, where 0 is the start and 4095 is the end; for example
38
39 ```K 2048```
40
41 seeks half-way through the DCP.
42
43 * `E`
44
45 Stops playback and closes the player.
46
47 The script can be run using something like
48
49 ```dcpomatic2_player -s stress```
50
51 to load a script file called `stress` and start executing it.
52
53
54 ## Adding a new language
55
56 - Edit src/wx/config_dialog.cc to add the language to languages.
57 - Add to platform/windows/wscript, platform/osx/make_dmg.sh, cscript.
58 - Add credit to src/wx/about_dialog.cc and database.
59 - Add to i18n.php on website and update-i18n-stats script.
60