Helge Norberg [Tue, 19 Jan 2016 12:56:03 +0000 (13:56 +0100)]
Changed meaning of frame variable in scene to a continously animating variable. The previous meaning was renamed to timeline_frame and will pause when the timeline is paused. This allows animations to continue even though the timeline is not moving.
Helge Norberg [Fri, 8 Jan 2016 15:32:26 +0000 (16:32 +0100)]
Only memcpy on Linux if the decklink card will attempt DMA directly from BGRA buffer to card. This only happens on cards with hardware support for BGRA, otherwise the driver will convert it to an YCbCr buffer before transfering to card, in which case it is an unnecessary extra copy.
Helge Norberg [Tue, 5 Jan 2016 22:02:47 +0000 (23:02 +0100)]
On Linux Decklink cannot DMA transfer from memory returned by glMapBuffer. Thanks Nick from Blackmagic for spotting this. As a workaround we will memcpy to ordinarily allocated memory before scheduling frame.
Helge Norberg [Tue, 22 Dec 2015 23:25:43 +0000 (00:25 +0100)]
Created demo scene (rope.scene and media assets) demonstrating a small part of what is possible with the scene producer. Use screen consumer for mouse interaction.
* support for cornerpinning in psd-producer via vector-masks
* support for rotation and non-uniform scaling of dynamic text-layers in psd-producer
* support for per layer blend modes in psd-producer
Helge Norberg [Fri, 4 Dec 2015 15:42:52 +0000 (16:42 +0100)]
Log expected user errors at info instead of error to not pollute the logs with errors. For example a CG STOP on a layer where no cg producer is running.
Helge Norberg [Wed, 2 Dec 2015 16:44:25 +0000 (17:44 +0100)]
Created abstraction for property tree get(), get_child() and get_value() to be able to throw our own exception with callstack and context_info to easier debug XML errors. Also integrated ptree iteration with context_info to automatically provide the xpath where iteration is at
Helge Norberg [Wed, 2 Dec 2015 16:33:10 +0000 (17:33 +0100)]
Log context_info exception attachment in addition to msg_info attachment when logging user errors without stack trace. Also concatenate the context_info of both threads at thread boundaries to get a complete contextual information
Helge Norberg [Wed, 2 Dec 2015 16:25:46 +0000 (17:25 +0100)]
Created a context_info attachment to our exceptions with information about the context in which the exception was thrown. Each part of the code can at any time contribute to the context using a scoped_context, literally appending information to the thread of execution
Helge Norberg [Mon, 30 Nov 2015 20:55:02 +0000 (21:55 +0100)]
Radically improved performance in texture.cpp at least on Nvidia Quadro 2000. GL_UNSIGNED_INT_8_8_8_8_REV increases CPU usage when used with glTexSubImage2D on nvidia (conversion of some kind I'm guessing). Only seems to be a benefit during glReadPixels.
Helge Norberg [Thu, 19 Nov 2015 15:54:48 +0000 (16:54 +0100)]
Throw user_error exception for errors that are caused by users of the system instead of bugs/environment. Allows for stack traces to not be shown in the log all the time.
Helge Norberg [Wed, 18 Nov 2015 18:04:05 +0000 (19:04 +0100)]
Log separated_producer initialization on debug instead of info, because it is sometimes part of thumbnail generation and then it gets too noisy in the log.
Helge Norberg [Tue, 17 Nov 2015 10:57:27 +0000 (11:57 +0100)]
Changed default log level to info and moved logging statements that we always want to see in a production system log from debug to info. This allows for more granularity on "development levels" debug and trace.
Helge Norberg [Mon, 16 Nov 2015 18:15:07 +0000 (19:15 +0100)]
Included libcef.dll.pdb to get stack traces for CEF code (at least temporarily while we are in the testing phase of 2.1). Changed compression format to 7Zip instead of Zip to reduce the build size to approximately the same as before. Unpacked libcef.dll.pdb is about 500 MB though, which is quite large.
Helge Norberg [Fri, 13 Nov 2015 15:39:54 +0000 (16:39 +0100)]
Implemented a TCP server, simply sending every log line to the remote client. If using the default casparcg.config it will listen on 3250. Any data sent by the client is ignored.
Helge Norberg [Fri, 13 Nov 2015 15:35:46 +0000 (16:35 +0100)]
Made protocol_strategy instantiated immediately after AsyncEventServer has accepted a connection, to be able for protocols to send data without first receiving data.