1 # DCP-o-matic development notes
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).
7 ## Player stress testing
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:
15 Open a DCP, for example
17 ```O /home/carl/DCP/MyTestDCP```
21 Start playing the currently-loaded DCP.
23 * `W <time-in-milliseconds>`
25 Wait for approximately the given time before carrying on, for example
29 to wait for 14 seconds.
33 Stop any current playback.
37 Seek to some point in the current DCP, where 0 is the start and 4095 is the end; for example
41 seeks half-way through the DCP.
45 Stops playback and closes the player.
47 The script can be run using something like
49 ```dcpomatic2_player -s stress```
51 to load a script file called `stress` and start executing it.
54 ## Adding a new language
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`.
59 - cp build/src/lib/libdcpomatic.pot src/lib/po/$LANG.po
60 - cp build/src/wx/libdcpomatic-wx.pot src/wx/po/$LANG.po
61 - cp build/src/tools/libdcpomatic-wx.pot src/tools/po/$LANG.po
62 - sed -i "s/CHARSET/UTF-8/" src/{lib,wx,tools}/po/$LANG.po
64 - Add credit to `src/wx/about_dialog.cc` and database.
65 - Add to `i18n.php` on website and `update-i18n-stats` script, then run `update-i18n-stats` script.