<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/lib/j2k_encoder.cc, branch arbitrary-hz</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=arbitrary-hz</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=arbitrary-hz'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2025-09-02T20:40:13Z</updated>
<entry>
<title>Untested conversion to num/den DCPTime.</title>
<updated>2025-09-02T20:40:13Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-12-21T23:09:57Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=33b0928b20618da5bc295711bfdf3d638863afa5'/>
<id>urn:sha1:33b0928b20618da5bc295711bfdf3d638863afa5</id>
<content type='text'>
Summary of required changes:

Replace ::from_frames with a constructor that takes num/den.
Provide and use member to_debug_string() instead of to_string().
Provide and use member to_serializable_string() and string constructor instead of fmt::to_string on .get() and number constructor.
Provide and use content_time() member instead of ContentTime constructor from DCPTime.
Use frames_round(96000) instead of get() when comparing times to see if they are "close enough".
Provide and use DCPTime(x, FrameRateChange) constructor when converting from ContentTime.
Use .seconds() when calculating proportions or sometimes when dividing by HZ.
Provide and use operator bool().
Pass explicit 96000 denominator in a lot of places.
Add member max() and use it instead of static max()
Change BOOST_CHECK_EQUAL to BOOST_CHECK
Provide operator/ and use it instead of .get() / 2.
</content>
</entry>
<entry>
<title>Remove compose.hpp includes.</title>
<updated>2025-07-10T18:50:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-07-09T20:58:37Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=bad01065584014aee4024e7cbc4a66acac7617e1'/>
<id>urn:sha1:bad01065584014aee4024e7cbc4a66acac7617e1</id>
<content type='text'>
sed -i "/include.*compose.hpp/d;" src/lib/*.cc src/wx/*.cc src/wx/*.h src/tools/*.cc src/lib/*.h test/*.cc
</content>
</entry>
<entry>
<title>Replace String::compose with fmt.</title>
<updated>2025-07-10T18:50:32Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-07-09T20:53:27Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=62c34b28567a097e8f22576e7d7891bd3dbe0ac0'/>
<id>urn:sha1:62c34b28567a097e8f22576e7d7891bd3dbe0ac0</id>
<content type='text'>
sed -i "/Plural-Forms/n;/%100/n;/scanf/n;s/%[123456789]/{}/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc src/lib/po/*.po src/wx/po/*.po src/tools/po/*.po test/*.cc
sed -i "s/String::compose */fmt::format/g" src/lib/*.cc src/lib/*.h src/wx/*.cc src/tools/*.cc test/*.cc
</content>
</entry>
<entry>
<title>Don't use an optional for the Grok config object.</title>
<updated>2025-03-07T23:12:07Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-03-03T19:51:48Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3f2675aab119e55f958563e2fe6949192a2b976d'/>
<id>urn:sha1:3f2675aab119e55f958563e2fe6949192a2b976d</id>
<content type='text'>
I'm not sure why I did it like this in the first place - perhaps so that
if the API endpoint changes there aren't so many old values stuck in
config files all over the place?  Anyway, it seems cleaner to do it like
this, as it's how we handle the other config.
</content>
</entry>
<entry>
<title>Replace assertion with a softer fix.</title>
<updated>2024-12-24T22:41:56Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-12-24T22:28:08Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=ceea64b98c1469b1e34e4897654f9671664203ee'/>
<id>urn:sha1:ceea64b98c1469b1e34e4897654f9671664203ee</id>
<content type='text'>
Had a report of this assertion tripping with "only servers encode" switched on.
The user had encode servers but they were running old software, so
wouldn't be enabled for use.  Obviously the main DCP-o-matic should not
crash in this situation.
</content>
</entry>
<entry>
<title>Log things used to decide on thread counts.</title>
<updated>2024-12-24T18:54:56Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-12-24T18:54:56Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=37b261006bc57df7d1f13f21f46d7fc824ed87ef'/>
<id>urn:sha1:37b261006bc57df7d1f13f21f46d7fc824ed87ef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix hang when encoding with GPU enabled but not working.</title>
<updated>2024-12-18T09:51:44Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-12-17T23:17:05Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=f9ab63ab6d2e7eb4b997790e5ca04b38e0ac3f7a'/>
<id>urn:sha1:f9ab63ab6d2e7eb4b997790e5ca04b38e0ac3f7a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Assert if we're about to set up 0 encoding threads.</title>
<updated>2024-12-09T00:40:48Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-12-06T20:28:08Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=22c40636c977fd5b582c242fb918d2aaa498e063'/>
<id>urn:sha1:22c40636c977fd5b582c242fb918d2aaa498e063</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Abort encode if Grok encoder threads are failing (#2899)</title>
<updated>2024-11-29T22:31:41Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-11-28T17:50:21Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=92eab12404eca23db0a96ad7574d8d500f3d0f8a'/>
<id>urn:sha1:92eab12404eca23db0a96ad7574d8d500f3d0f8a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/main' into v2.17.x</title>
<updated>2024-05-07T23:53:50Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2024-05-07T23:53:50Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=6b2119dcd16c43fd681feace00d4e10f464bb9b7'/>
<id>urn:sha1:6b2119dcd16c43fd681feace00d4e10f464bb9b7</id>
<content type='text'>
</content>
</entry>
</feed>
