<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dcpomatic/src/wx/film_viewer.cc, branch edgecode2</title>
<subtitle>DCP-o-matic DCP tools</subtitle>
<id>https://git.carlh.net/cgit/dcpomatic/atom?h=edgecode2</id>
<link rel='self' href='https://git.carlh.net/cgit/dcpomatic/atom?h=edgecode2'/>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/'/>
<updated>2025-10-10T19:13:45Z</updated>
<entry>
<title>Keep screen awake while playing on Windows (#3095).</title>
<updated>2025-10-10T19:13:45Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-10-08T22:39:08Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b2c2a9e6ec7a4f8ef8e31f97d4feece18c9c3286'/>
<id>urn:sha1:b2c2a9e6ec7a4f8ef8e31f97d4feece18c9c3286</id>
<content type='text'>
</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>Pass Ratio around as an object rather than a pointer.</title>
<updated>2025-06-16T22:04:03Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-05-31T23:39:04Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=ec06811bae7ed4fc6bd80c3154fd473028ee8e13'/>
<id>urn:sha1:ec06811bae7ed4fc6bd80c3154fd473028ee8e13</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove functors for choosing pixel format output from make_image().</title>
<updated>2025-05-26T19:51:18Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-05-25T20:16:19Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=df9b4676aba8b941f124b174393988cad21677e1'/>
<id>urn:sha1:df9b4676aba8b941f124b174393988cad21677e1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use case for property checks now that it's possible.</title>
<updated>2025-05-11T19:05:56Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-05-11T19:05:56Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=72f6f3de6a098cc74394e047aaa3fa5f9f44aa83'/>
<id>urn:sha1:72f6f3de6a098cc74394e047aaa3fa5f9f44aa83</id>
<content type='text'>
This would have prevented the bug fixed in 6bbf7dee.
</content>
</entry>
<entry>
<title>White space: film_viewer.{cc,h}</title>
<updated>2025-04-16T19:39:24Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-04-16T19:39:24Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=b4639456621d7f37d0b5a5b41e04268e551a99bc'/>
<id>urn:sha1:b4639456621d7f37d0b5a5b41e04268e551a99bc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't bind a shared_ptr&lt;PlayerVideo&gt; to ImageChanged (#3013).</title>
<updated>2025-04-13T19:09:37Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-04-13T19:09:37Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=d16267be986c0994f05fc6a3889b83ba53a230b0'/>
<id>urn:sha1:d16267be986c0994f05fc6a3889b83ba53a230b0</id>
<content type='text'>
Otherwise if the GUI is busy when the emissions build up, each one holds
a reference to a potentially large image.

This caused enormous memory use when playing a DCP and verifying it at
the same time.
</content>
</entry>
<entry>
<title>Fix error when pressing the HTTP server play button twice in a row.</title>
<updated>2025-04-03T20:04:18Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-04-03T20:04:18Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=3107b37b0fe3d8d27bcba3257a1ebac327344a53'/>
<id>urn:sha1:3107b37b0fe3d8d27bcba3257a1ebac327344a53</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Seek the player before creating a new butler.</title>
<updated>2025-03-19T00:08:06Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-03-19T00:04:43Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=5374dde4a0057066697c4963ce30f025980dc3c1'/>
<id>urn:sha1:5374dde4a0057066697c4963ce30f025980dc3c1</id>
<content type='text'>
Consider the case where we switch to a different sound card when the
player GUI is showing frame 0.

At this point, the butler will be full up to some readahead, so the
player will also "think" it's at the readahead position.

If we create a new butler, the first get of video from the new buffer
would previously return a frame from the readahead position (because
that's where the player was).

Since the new butler would coincide with the audio stream position
being 0, the video thread would think it was ahead by the ring buffer
readahead and so would sleep for quite a long time.

Meanwhile audio arrives and is played, and when the video thread finally
wakes it is a long time behind the audio.
</content>
</entry>
<entry>
<title>Pass tolerant flag into Player.</title>
<updated>2025-01-20T19:36:46Z</updated>
<author>
<name>Carl Hetherington</name>
<email>cth@carlh.net</email>
</author>
<published>2025-01-19T23:33:08Z</published>
<link rel='alternate' type='text/html' href='https://git.carlh.net/cgit/dcpomatic/commit/?id=8850569d93a8524625b3b595cb6edf45bdf6de07'/>
<id>urn:sha1:8850569d93a8524625b3b595cb6edf45bdf6de07</id>
<content type='text'>
This is needed because the DCPDecoder ends up needing it when it reads
reel information from CPLs.

Maybe all that stuff should be in our metadata.
</content>
</entry>
</feed>
