X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=DEVELOP.md;h=024e9d1aa7ff13894d6885261dafefe7886bc734;hb=7fcd6582a19519331b71c2662b6f9e734ee9b2d9;hp=6896900dd35950464b680d3576b29c92d6554537;hpb=d0555983d175e76585b2409d982e09f444eab391;p=dcpomatic.git diff --git a/DEVELOP.md b/DEVELOP.md index 6896900dd..024e9d1aa 100644 --- a/DEVELOP.md +++ b/DEVELOP.md @@ -4,6 +4,39 @@ This file collects a few notes relevant to DCP-o-matic developers. There is als [on the web site](https://dcpomatic.com/development). +## Disk writer logging + +As we have no `film' folder to log to during disk writes, the logs end up: + +### macOS + +* Disk writer backend: `/var/log/dcpomatic_disk_writer_{out,err}.log` +* Disk writer frontend: `/Users/$USER/Library/Preferences/2/com.dcpomatic/2.16/disk.log` + +### Windows + +* Disk writer backend: `c:\Users\$USER\AppData\Local\dcpomatic\2.16.0\disk_writer.log` +* Disk writer frontend: `c:\Users\$USER\AppData\Local\dcpomatic\2.16.0\disk.log` + +### Linux + +* Disk writer backend: `/home/$USER/.config/dcpomatic/2.16.0/disk_writer.log` +* Disk writer frontend: `/home/$USER/.config/dcpomatic/2.16.0/disk.log` + + +## Branches + +The main dcpomatic repo has the following branches: + +* `main` - the main development branch; contains 2.16.x versions +* `v2.17.x` - development branch for v2.17.x versions; periodically rebased onto `main` + +The `test/data` submodule has the following branches: + +* `v2.16.x` - branch for use with v2.16.x versions +* `v2.18.x` - branch for use with v2.17.x versions (as will become v2.18.x) + + ## Player stress testing If you configure DCP-o-matic with `--enable-player-stress-test` you can make a script which @@ -36,10 +69,14 @@ Stop any current playback. Seek to some point in the current DCP, where 0 is the start and 4095 is the end; for example -```S 2048``` +```K 2048``` seeks half-way through the DCP. +* `E` + +Stops playback and closes the player. + The script can be run using something like ```dcpomatic2_player -s stress``` @@ -47,10 +84,27 @@ The script can be run using something like to load a script file called `stress` and start executing it. -Adding a new language +## Adding a new language + +- Edit `src/wx/config_dialog.cc` to add the language to languages. +- Add to `platform/windows/wscript`, `platform/osx/make_dmg.sh`, `cscript`. +- ./waf pot +- cp build/src/lib/libdcpomatic.pot src/lib/po/$LANG.po +- cp build/src/wx/libdcpomatic-wx.pot src/wx/po/$LANG.po +- cp build/src/tools/libdcpomatic-wx.pot src/tools/po/$LANG.po +- sed -i "s/CHARSET/UTF-8/" src/{lib,wx,tools}/po/$LANG.po +- Commit / push +- Add credit to `src/wx/about_dialog.cc` and database. +- Add to `i18n.php` on website and `update-i18n-stats` script, then run `update-i18n-stats` script. + + +## Taking screenshots for the manual -- Edit src/wx/config_dialog.cc to add the language to languages. -- Add to platform/windows/wscript, platform/osx/make_dmg.sh, cscript. -- Add credit to src/wx/about_dialog.cc and database. -- Add to i18n.php on website and update-i18n-stats script. +The manual PDF looks nice if vector screenshots are used. These can be taken as follows: +- Build `gtk-vector-screenshot.git` (using meson/ninja) +- Copy `libgtk-vector-screenshot.so` to `/usr/local/lib/gtk-3.0/modules/` +- Run DCP-o-matic using `run/dcpomatic --screenshot` +- Start `take-vector-screenshot`, click "Take screenshot" then click on the DCP-o-matic window. +- Find a PDF in `/tmp/dcpomatic2.pdf` +- Copy this to `doc/manual/raw-screenshots`