]> git.sesse.net Git - casparcg/log
casparcg
8 years agoMerge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0
Helge Norberg [Tue, 12 Apr 2016 08:18:23 +0000 (10:18 +0200)]
Merge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0

8 years agoMerge pull request #427 from krzyc/patch-1
HellGore [Tue, 12 Apr 2016 08:17:49 +0000 (10:17 +0200)]
Merge pull request #427 from krzyc/patch-1

Fix thumbnail saving on non-windows systems

8 years agoFix thumbnail saving on non-windows systems
krzyc [Mon, 11 Apr 2016 23:14:13 +0000 (01:14 +0200)]
Fix thumbnail saving on non-windows systems

where function FreeImage_SaveU does nothing

8 years agoIgnored warning preventing the server to build under VS 2015 update 2.
Helge Norberg [Wed, 6 Apr 2016 13:38:25 +0000 (15:38 +0200)]
Ignored warning preventing the server to build under VS 2015 update 2.

8 years agoFixed bug in server shut down.
Helge Norberg [Thu, 31 Mar 2016 17:05:03 +0000 (19:05 +0200)]
Fixed bug in server shut down.

8 years agoMerge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0
Helge Norberg [Thu, 31 Mar 2016 10:33:29 +0000 (12:33 +0200)]
Merge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0

8 years agoMerge pull request #425 from krzyc/patch-2
HellGore [Thu, 31 Mar 2016 10:31:33 +0000 (12:31 +0200)]
Merge pull request #425 from krzyc/patch-2

Fix issue #366 - add _GLIBCXX_USE_CXX11_ABI=0 definition

8 years agoFix issue #366 - add _GLIBCXX_USE_CXX11_ABI=0 definition
krzyc [Wed, 30 Mar 2016 20:17:41 +0000 (22:17 +0200)]
Fix issue #366 - add _GLIBCXX_USE_CXX11_ABI=0 definition

8 years agoMerge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0
Helge Norberg [Wed, 30 Mar 2016 19:16:02 +0000 (21:16 +0200)]
Merge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0

8 years agoMerge pull request #424 from krzyc/patch-1
HellGore [Wed, 30 Mar 2016 19:15:49 +0000 (21:15 +0200)]
Merge pull request #424 from krzyc/patch-1

Fix issue #366 - return false instead of nullptr

8 years agoFix issue #366 - return false instead of nullptr
krzyc [Wed, 30 Mar 2016 18:19:35 +0000 (20:19 +0200)]
Fix issue #366 - return false instead of nullptr

8 years agoRemoved audio_channel_layout from audio_decoder.
Helge Norberg [Mon, 21 Mar 2016 12:24:17 +0000 (13:24 +0100)]
Removed audio_channel_layout from audio_decoder.

8 years ago#418 Removed incorrectly implemented unused functions.
Helge Norberg [Thu, 17 Mar 2016 20:25:13 +0000 (21:25 +0100)]
#418 Removed incorrectly implemented unused functions.

8 years agoRefactored ffmpeg_producer. Uses framerate_producer for framerate conversion. Needs...
Helge Norberg [Thu, 17 Mar 2016 20:19:53 +0000 (21:19 +0100)]
Refactored ffmpeg_producer. Uses framerate_producer for framerate conversion. Needs a lot of testing.

8 years agoImplemented support for multiple audio streams in input and audio_decoder.
Helge Norberg [Tue, 8 Mar 2016 18:46:07 +0000 (19:46 +0100)]
Implemented support for multiple audio streams in input and audio_decoder.

8 years agoImplemented slow motion support for framerate_producer. Sound is turned off while...
Helge Norberg [Tue, 8 Mar 2016 10:19:09 +0000 (11:19 +0100)]
Implemented slow motion support for framerate_producer. Sound is turned off while user speed is not 1.0. Speed changes can be animated.

8 years agoCreated frame rate conversion producer wrapping another producer. Uses frame blending...
Helge Norberg [Mon, 7 Mar 2016 17:55:03 +0000 (18:55 +0100)]
Created frame rate conversion producer wrapping another producer. Uses frame blending when input frame rate is not same, double or half of output frame/field rate. Deinterlaced input is required.

8 years agoRemoved deprecated use of avcodec_alloc_frame()
Helge Norberg [Wed, 2 Mar 2016 14:45:57 +0000 (15:45 +0100)]
Removed deprecated use of avcodec_alloc_frame()

8 years agoMade accelerator project depend on the ffmpeg module since it uses functions from...
Helge Norberg [Wed, 2 Mar 2016 14:43:05 +0000 (15:43 +0100)]
Made accelerator project depend on the ffmpeg module since it uses functions from there.

8 years agoFixed bug where CPU accelerator didn't support SET MODE changes.
Helge Norberg [Wed, 2 Mar 2016 14:26:26 +0000 (15:26 +0100)]
Fixed bug where CPU accelerator didn't support SET MODE changes.

8 years agoRemoved unnecessary requirement of having an AVCodecContext instance when calling...
Helge Norberg [Tue, 1 Mar 2016 17:41:59 +0000 (18:41 +0100)]
Removed unnecessary requirement of having an AVCodecContext instance when calling ffmpeg::get_audio_channel_layout()

8 years agoSupport boost::rational framerates instead of inexact double in ffmpeg::read_framerate()
Helge Norberg [Tue, 1 Mar 2016 17:31:11 +0000 (18:31 +0100)]
Support boost::rational framerates instead of inexact double in ffmpeg::read_framerate()

8 years agoRemoved unnecessary parameter to ffmpeg::make_frame()
Helge Norberg [Tue, 1 Mar 2016 17:23:13 +0000 (18:23 +0100)]
Removed unnecessary parameter to ffmpeg::make_frame()

8 years agoSimplified thumbnail creation, making it less intrusive in the frame_producer design.
Helge Norberg [Tue, 1 Mar 2016 16:48:10 +0000 (17:48 +0100)]
Simplified thumbnail creation, making it less intrusive in the frame_producer design.

8 years agoChanged order of source folder definitions avoiding frame_producer.h&cpp to be placed...
Helge Norberg [Tue, 1 Mar 2016 16:24:38 +0000 (17:24 +0100)]
Changed order of source folder definitions avoiding frame_producer.h&cpp to be placed under core/frame.

8 years agoFixed bug in image_producer where a file with . in the name (except for extension...
Helge Norberg [Tue, 1 Mar 2016 16:06:11 +0000 (17:06 +0100)]
Fixed bug in image_producer where a file with . in the name (except for extension .) would cause an access violation

8 years agoseparated_producer not under correct source folder in Visual Studio project
Helge Norberg [Tue, 1 Mar 2016 15:46:00 +0000 (16:46 +0100)]
separated_producer not under correct source folder in Visual Studio project

8 years agocolor_producer not under correct source folder in Visual Studio project
Helge Norberg [Tue, 1 Mar 2016 15:45:24 +0000 (16:45 +0100)]
color_producer not under correct source folder in Visual Studio project

8 years agoImproved help for ADD command, mentioning the possibility of specifying a custom...
Helge Norberg [Tue, 1 Mar 2016 15:28:03 +0000 (16:28 +0100)]
Improved help for ADD command, mentioning the possibility of specifying a custom consumer index.

8 years agoMerge pull request #415 from drakmor/2.1.0
HellGore [Tue, 1 Mar 2016 12:54:15 +0000 (13:54 +0100)]
Merge pull request #415 from drakmor/2.1.0

Fix compilation in VS2015 version 14.0.24720.00 Update 1

8 years agoMove fix issue #410 to VS include file.
drakmor [Tue, 1 Mar 2016 12:33:12 +0000 (15:33 +0300)]
Move fix issue #410 to VS include file.

8 years agoFix compilation in VS2015 version 14.0.24720.00 Update 1
drakmor [Mon, 29 Feb 2016 23:23:05 +0000 (02:23 +0300)]
Fix compilation in VS2015 version 14.0.24720.00 Update 1
Issue #410

8 years ago#414 Added help for color producer.
Helge Norberg [Mon, 29 Feb 2016 11:59:42 +0000 (12:59 +0100)]
#414 Added help for color producer.

8 years agoMerge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0
Helge Norberg [Mon, 8 Feb 2016 17:39:42 +0000 (18:39 +0100)]
Merge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0

8 years agoMade decklink < 10.2 work while at the same time providing compatibility with newer...
Helge Norberg [Mon, 8 Feb 2016 17:37:28 +0000 (18:37 +0100)]
Made decklink < 10.2 work while at the same time providing compatibility with newer versions (Even those completely missing the backwards compatibility with IDeckLinkConfiguration_v10_2)

8 years agoUpdate README.md
Jonas Hummelstrand [Fri, 5 Feb 2016 16:04:07 +0000 (17:04 +0100)]
Update README.md

8 years agoUpdate README
Jonas Hummelstrand [Fri, 5 Feb 2016 16:03:22 +0000 (17:03 +0100)]
Update README

8 years agoLog "q" in console.
Helge Norberg [Tue, 26 Jan 2016 09:54:58 +0000 (10:54 +0100)]
Log "q" in console.

8 years agoFixed compilation problem in Linux.
Helge Norberg [Mon, 25 Jan 2016 12:49:24 +0000 (13:49 +0100)]
Fixed compilation problem in Linux.

8 years agoImproved backwards compatibility in the usage of the Decklink SDK
Helge Norberg [Mon, 25 Jan 2016 11:23:24 +0000 (12:23 +0100)]
Improved backwards compatibility in the usage of the Decklink SDK

8 years agoFixed unit test
Helge Norberg [Tue, 19 Jan 2016 13:14:02 +0000 (14:14 +0100)]
Fixed unit test

8 years agoChanged meaning of frame variable in scene to a continously animating variable. The...
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.

8 years agoAdded support for delaying frames to layer_producer and channel_producer.
Helge Norberg [Fri, 8 Jan 2016 18:08:53 +0000 (19:08 +0100)]
Added support for delaying frames to layer_producer and channel_producer.

8 years agoClarified logic around memcpy or not in Linux decklink consumer.
Helge Norberg [Fri, 8 Jan 2016 16:06:44 +0000 (17:06 +0100)]
Clarified logic around memcpy or not in Linux decklink consumer.

8 years agoOnly memcpy on Linux if the decklink card will attempt DMA directly from BGRA buffer...
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.

8 years agoOn Linux Decklink cannot DMA transfer from memory returned by glMapBuffer. Thanks...
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.

8 years agopromoted no_init_proxy to own file under common
Helge Norberg [Tue, 5 Jan 2016 21:53:30 +0000 (22:53 +0100)]
promoted no_init_proxy to own file under common

8 years ago#405 Fixed typo.
Helge Norberg [Mon, 4 Jan 2016 15:34:57 +0000 (16:34 +0100)]
#405 Fixed typo.

8 years agoMerge pull request #404 from krzyc/patch-1
HellGore [Mon, 4 Jan 2016 10:36:37 +0000 (11:36 +0100)]
Merge pull request #404 from krzyc/patch-1

Fix inconsistent config parameter name

8 years agoInconsistent config parameter name - changed predefined_client to predefined-client
krzyc [Sat, 26 Dec 2015 18:26:14 +0000 (19:26 +0100)]
Inconsistent config parameter name - changed predefined_client to predefined-client

8 years agoFix compilation problem in Linux
Helge Norberg [Tue, 22 Dec 2015 23:33:03 +0000 (00:33 +0100)]
Fix compilation problem in Linux

8 years agoCreated demo scene (rope.scene and media assets) demonstrating a small part of what...
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.

8 years agosin() and cos() function added to scene producer expressions.
Helge Norberg [Tue, 22 Dec 2015 23:20:34 +0000 (00:20 +0100)]
sin() and cos() function added to scene producer expressions.

8 years agomouse hover position exposed as mouse_x and mouse_y variable in scene_producers for...
Helge Norberg [Tue, 22 Dec 2015 23:19:38 +0000 (00:19 +0100)]
mouse hover position exposed as mouse_x and mouse_y variable in scene_producers for rudimental interaction support.

8 years agoAdded support for animated bindings in scene_producer.
Helge Norberg [Tue, 22 Dec 2015 19:20:42 +0000 (20:20 +0100)]
Added support for animated bindings in scene_producer.

8 years agoFixed bug in scene_producer expression parser where trailing numbers could not be...
Helge Norberg [Tue, 22 Dec 2015 19:19:02 +0000 (20:19 +0100)]
Fixed bug in scene_producer expression parser where trailing numbers could not be part of identifieres

8 years agoMade it possible to equality compare tweener objects
Helge Norberg [Tue, 22 Dec 2015 19:13:10 +0000 (20:13 +0100)]
Made it possible to equality compare tweener objects

8 years agoFixed bug in xml_scene_producer with interlaced rendering of subscene
Helge Norberg [Tue, 22 Dec 2015 19:08:04 +0000 (20:08 +0100)]
Fixed bug in xml_scene_producer with interlaced rendering of subscene

8 years agoReverted pdwCookie change
Helge Norberg [Tue, 22 Dec 2015 09:52:12 +0000 (10:52 +0100)]
Reverted pdwCookie change

8 years agoFixed access violation in decklink_producer where input frame without audio was not...
Helge Norberg [Thu, 17 Dec 2015 14:35:36 +0000 (15:35 +0100)]
Fixed access violation in decklink_producer where input frame without audio was not handled.

8 years agoMade calltracing configurable
Helge Norberg [Wed, 16 Dec 2015 19:56:19 +0000 (20:56 +0100)]
Made calltracing configurable

8 years agoSeparated call trace to separate log file calltrace.log
Helge Norberg [Wed, 16 Dec 2015 14:02:51 +0000 (15:02 +0100)]
Separated call trace to separate log file calltrace.log

8 years agoAdd call tracing at selected placed in the code to help debug deadlocks in OpenGL.
Helge Norberg [Wed, 16 Dec 2015 13:31:15 +0000 (14:31 +0100)]
Add call tracing at selected placed in the code to help debug deadlocks in OpenGL.

8 years agoAdded support for categorizing log into normal, call and communication.
Helge Norberg [Wed, 16 Dec 2015 13:14:40 +0000 (14:14 +0100)]
Added support for categorizing log into normal, call and communication.

8 years agoFixed file_nb_frames bug when video stream length is not available. Needs testing.
Helge Norberg [Mon, 14 Dec 2015 17:16:15 +0000 (18:16 +0100)]
Fixed file_nb_frames bug when video stream length is not available. Needs testing.

8 years agoRevert "* OpenGL debug logging"
Niklas P Andersson [Mon, 14 Dec 2015 15:33:54 +0000 (16:33 +0100)]
Revert "* OpenGL debug logging"

This reverts commit 93ab04423a54d305412f84ef367849721896f730.

8 years ago* revert of casparcg.config
Niklas P Andersson [Mon, 14 Dec 2015 15:17:12 +0000 (16:17 +0100)]
* revert of casparcg.config

8 years agoMerge branch '2.1.0' of https://github.com/CasparCG/Server into Branch_dc5575b2004ed4...
Niklas P Andersson [Mon, 14 Dec 2015 13:35:42 +0000 (14:35 +0100)]
Merge branch '2.1.0' of https://github.com/CasparCG/Server into Branch_dc5575b2004ed4682a1de29f6501529967743559

8 years ago* OpenGL debug logging
Niklas P Andersson [Mon, 14 Dec 2015 13:31:08 +0000 (14:31 +0100)]
* OpenGL debug logging

8 years ago* fixed broken text-rendering
Niklas P Andersson [Mon, 14 Dec 2015 11:53:09 +0000 (12:53 +0100)]
* fixed broken text-rendering

8 years ago* support for cornerpinning in psd-producer via vector-masks
Niklas P Andersson [Mon, 14 Dec 2015 11:44:05 +0000 (12:44 +0100)]
* 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

8 years agoImproved hotswap_producer
Helge Norberg [Wed, 9 Dec 2015 16:21:36 +0000 (17:21 +0100)]
Improved hotswap_producer

8 years agoTry to use a unique pdwCookie when Advising an ITimerSink in flash producer. This...
Helge Norberg [Wed, 9 Dec 2015 13:56:31 +0000 (14:56 +0100)]
Try to use a unique pdwCookie when Advising an ITimerSink in flash producer. This might avoid a deadlock, but we are not sure.

8 years agoIf a template host is running but a specific flash layer is not found, log at info...
Helge Norberg [Fri, 4 Dec 2015 15:53:10 +0000 (16:53 +0100)]
If a template host is running but a specific flash layer is not found, log at info instead of error.

8 years agoDon't start a flash player for CG commands that are only useful if one or more templa...
Helge Norberg [Fri, 4 Dec 2015 15:45:43 +0000 (16:45 +0100)]
Don't start a flash player for CG commands that are only useful if one or more templates are already running on the video layer.

8 years agoLog expected user errors at info instead of error to not pollute the logs with errors...
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.

8 years agoMove most template host logging that is not interesting during day to day operation...
Helge Norberg [Fri, 4 Dec 2015 15:39:06 +0000 (16:39 +0100)]
Move most template host logging that is not interesting during day to day operation to debug level instead of info.

8 years agosupport for rectangular vectors masks in PSD-files with binding to crop transform
Niklas P Andersson [Thu, 3 Dec 2015 12:54:46 +0000 (13:54 +0100)]
support for rectangular vectors masks in PSD-files with binding to crop transform

8 years agoIndent stack traces in Linux as well
Helge Norberg [Thu, 3 Dec 2015 10:39:36 +0000 (11:39 +0100)]
Indent stack traces in Linux as well

8 years agoMerge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0
Helge Norberg [Thu, 3 Dec 2015 10:21:44 +0000 (11:21 +0100)]
Merge branch '2.1.0' of https://github.com/CasparCG/Server into 2.1.0

8 years agoWrite timestamp, thread and severity on each line in a multiline log statement, not...
Helge Norberg [Thu, 3 Dec 2015 10:21:22 +0000 (11:21 +0100)]
Write timestamp, thread and severity on each line in a multiline log statement, not only the first.

8 years agoIndent stack trace lines so it is easier to read
Helge Norberg [Thu, 3 Dec 2015 10:20:07 +0000 (11:20 +0100)]
Indent stack trace lines so it is easier to read

8 years agoFixed compilation problem in Linux
Helge Norberg [Wed, 2 Dec 2015 19:31:33 +0000 (20:31 +0100)]
Fixed compilation problem in Linux

8 years agoStarted using ptree_get, ptree_get_value, witerate_children and welement_context_iter...
Helge Norberg [Wed, 2 Dec 2015 19:17:45 +0000 (20:17 +0100)]
Started using ptree_get, ptree_get_value, witerate_children and welement_context_iteration where it is relevant

8 years agoCreated abstraction for property tree get(), get_child() and get_value() to be able...
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

8 years agoLog context_info exception attachment in addition to msg_info attachment when logging...
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

8 years agoCreated a context_info attachment to our exceptions with information about the contex...
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

8 years agoperformance fix concerning nested scene-producers
Niklas P Andersson [Wed, 2 Dec 2015 12:27:47 +0000 (13:27 +0100)]
performance fix concerning nested scene-producers

8 years agofixed timeline-annotations in psd-producer that was accidentally broken in 5dcb547
Niklas P Andersson [Wed, 2 Dec 2015 10:08:21 +0000 (11:08 +0100)]
fixed timeline-annotations in psd-producer that was accidentally broken in 5dcb547
using ENUM_ENABLE_BITWISE for the layer_tag enum

8 years agoRevert accidental change
Helge Norberg [Tue, 1 Dec 2015 19:10:46 +0000 (20:10 +0100)]
Revert accidental change

8 years agoQualify conflicting names
Helge Norberg [Tue, 1 Dec 2015 19:09:32 +0000 (20:09 +0100)]
Qualify conflicting names

8 years agoinitial fixes for new psd workflow
Niklas P Andersson [Tue, 1 Dec 2015 14:36:02 +0000 (15:36 +0100)]
initial fixes for new psd workflow

8 years ago* don't throw on not finding a font file, just ignore that font
Niklas P Andersson [Thu, 26 Nov 2015 09:38:01 +0000 (10:38 +0100)]
* don't throw on not finding a font file, just ignore that font
* handle groups in psd
* improved handling of masks in psd

8 years agoTurned off vsync by default in screen consumer.
Helge Norberg [Tue, 1 Dec 2015 10:00:18 +0000 (11:00 +0100)]
Turned off vsync by default in screen consumer.

8 years agoImprove performance by bypass libavfilter when we are not doing any filtering.
Helge Norberg [Mon, 30 Nov 2015 21:11:26 +0000 (22:11 +0100)]
Improve performance by bypass libavfilter when we are not doing any filtering.

8 years agoUse fast_memcpy in more places
Helge Norberg [Mon, 30 Nov 2015 20:59:29 +0000 (21:59 +0100)]
Use fast_memcpy in more places

8 years agoUse hardware concurrency as tbb grain size during memcpy and memset
Helge Norberg [Mon, 30 Nov 2015 20:57:05 +0000 (21:57 +0100)]
Use hardware concurrency as tbb grain size during memcpy and memset

8 years agoRadically improved performance in texture.cpp at least on Nvidia Quadro 2000. GL_UNSI...
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.

8 years agoFixed bug where format_desc of channel_grid channel was not used as output format...
Helge Norberg [Wed, 25 Nov 2015 19:44:25 +0000 (20:44 +0100)]
Fixed bug where format_desc of channel_grid channel was not used as output format in channel_producer, but rather the input format_desc.

8 years agoImproved performance in OSC message formatting especially noticeable in debug mode.
Helge Norberg [Wed, 25 Nov 2015 19:40:08 +0000 (20:40 +0100)]
Improved performance in OSC message formatting especially noticeable in debug mode.