ardour.git
8 years agometer computation must use absolute value of all samples (ignoring sign bit)
Paul Davis [Wed, 13 May 2015 01:27:33 +0000 (21:27 -0400)]
meter computation must use absolute value of all samples (ignoring sign bit)

8 years agoadd windows-only AVX functions
Paul Davis [Wed, 13 May 2015 01:27:27 +0000 (21:27 -0400)]
add windows-only AVX functions

8 years agoMade optimized function Prototypes more correct.
Paul Davis [Wed, 13 May 2015 01:18:53 +0000 (21:18 -0400)]
Made optimized function Prototypes more correct.

They shouldn't be dependant on ARDOUR types as long as they will work correctly with float
samples only and with 32 unsigned int as sample counter.

8 years agoCorrected comments for x86_sse_avx_find_peaks() intrinsics built function
Paul Davis [Wed, 13 May 2015 01:15:48 +0000 (21:15 -0400)]
Corrected comments for x86_sse_avx_find_peaks() intrinsics built function

8 years agoadd new file with AVX functions.
Paul Davis [Wed, 13 May 2015 01:15:35 +0000 (21:15 -0400)]
add new file with AVX functions.

Does not fully support Linux at this time

8 years agoAdded optimized AVX function for sample processing
Paul Davis [Wed, 13 May 2015 01:07:09 +0000 (21:07 -0400)]
Added optimized AVX function for sample processing

Added AVX versions of existing 5 SSE functions. Added 6th AVX function to copy vectors which is 1.5 times faster then memcpy.
Data consistency and validness  is fully tested after processing with new AVX functions on aligned and non aligned buffers.

8 years agofix accidentally deleted return value
Paul Davis [Tue, 12 May 2015 20:38:13 +0000 (16:38 -0400)]
fix accidentally deleted return value

8 years agofix timing of Butler mapping config parameters to avoid crash.
Paul Davis [Mon, 26 Jan 2015 20:54:29 +0000 (15:54 -0500)]
fix timing of Butler mapping config parameters to avoid crash.

Amazing that this didn't show up on Linux at all, or on the first run after build. Computers ... sigh.

Conflicts:
libs/ardour/butler.cc

8 years agotwo tweaks required to fix up previous commit
Paul Davis [Fri, 6 Feb 2015 15:50:02 +0000 (10:50 -0500)]
two tweaks required to fix up previous commit

8 years agoadd preferences GUI elements to allow control of playhead priority items
Paul Davis [Fri, 16 Jan 2015 20:19:17 +0000 (15:19 -0500)]
add preferences GUI elements to allow control of playhead priority items

8 years agoinitial version of playback priority design. No GUI control over options yet
Paul Davis [Fri, 16 Jan 2015 17:17:09 +0000 (12:17 -0500)]
initial version of playback priority design. No GUI control over options yet

Conflicts:
libs/ardour/ardour/session.h
libs/ardour/ardour/types.h
libs/ardour/enums.cc
libs/ardour/session_transport.cc
system_config

8 years agoensure that working buffers (for gain + mixing) are large enough.
Paul Davis [Tue, 12 May 2015 18:33:41 +0000 (14:33 -0400)]
ensure that working buffers (for gain + mixing) are large enough.

Remove AudioDiskstream and AudioSource _working_buffers_size members, since they are no longer used

8 years agoclean up cherry-pick of varifill tweaks from Waves Tracks
Paul Davis [Fri, 30 Jan 2015 03:21:58 +0000 (22:21 -0500)]
clean up cherry-pick of varifill tweaks from Waves Tracks

8 years agomore tweaks for varifill model, and avoid filling playback buffers during session...
Paul Davis [Thu, 29 Jan 2015 23:59:40 +0000 (18:59 -0500)]
more tweaks for varifill model, and avoid filling playback buffers during session loading

Conflicts:
libs/ardour/diskstream.cc
libs/ardour/session.cc
libs/ardour/session_state.cc

Conflicts:
libs/ardour/session.cc

8 years agoadd initial support for vari-fill
Paul Davis [Wed, 28 Jan 2015 18:43:17 +0000 (13:43 -0500)]
add initial support for vari-fill

When refilling playback buffer, try to fill it completely, or at least
using the next-lowest power-of-2 as the amount to read. When locating,
where we use do_refill_with_alloc(), only partially fill the buffer.

Work not yet finished, but possibly promising.

8 years agointroduce the idea of buffering presets, along with 3 possible settings (plus custom).
Paul Davis [Tue, 12 May 2015 18:15:07 +0000 (14:15 -0400)]
introduce the idea of buffering presets, along with 3 possible settings (plus custom).

Actual numbers for the parameters are still to be determined/verified, and probably subject to
some platform specificity

8 years agofix logic of previous commit for transport-stop during locate
Paul Davis [Tue, 12 May 2015 16:28:05 +0000 (12:28 -0400)]
fix logic of previous commit for transport-stop during locate

8 years agoDo not disable record (performing transport stop) during locate request when MTC...
Paul Davis [Tue, 12 May 2015 16:23:01 +0000 (12:23 -0400)]
Do not disable record (performing transport stop) during locate request when MTC source is activated

This is required for the case when we leave Tracks ready for record and then activate MTC source.

8 years agoAdd some libardour support for indicating MTC active status.
Paul Davis [Tue, 12 May 2015 16:17:17 +0000 (12:17 -0400)]
Add some libardour support for indicating MTC active status.

The general design here is wrong, because it should be more general and cover all possible sync sources.
But it does work, it is used in Tracks, and my attempt to do it correctly revealed the problem to be
an EXTREMELY difficult design issue (as in: two weeks of work on it did not really solve the
fundamental issues with slave design).

So, here it is for now, c/o Grygorii

8 years agoRevert "[Summary] Adding missing initialization of the date &time formats. “Init...
Paul Davis [Tue, 12 May 2015 15:50:59 +0000 (11:50 -0400)]
Revert "[Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog."

This reverts commit c9a190b7470d29bc6528195323a907a8d619c1d4. Change was
already in place (and used correct initialization order as well).

8 years ago[Summary] Adding missing initialization of the date &time formats. “Init trashes...
Valeriy Kamyshniy [Tue, 27 Jan 2015 21:54:15 +0000 (23:54 +0200)]
[Summary] Adding missing initialization of the date &time formats. “Init trashes” caused a bit ruined logic of the export dialog.

8 years ago[Summary] Do not restore routes connection using XML IO state for TracksLive, because...
GZharun [Mon, 23 Mar 2015 11:51:45 +0000 (13:51 +0200)]
[Summary] Do not restore routes connection using XML IO state for TracksLive, because this is redundant for TracksLive.
Moreover if the device is changed XML state of IO contains port names of  the old device which causes attempts to connect to non existent ports.
[Reviewed by] Paul Davis

8 years agoFixed f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
GZharun [Tue, 12 May 2015 14:50:26 +0000 (17:50 +0300)]
Fixed f65026f0a1cbc64862a82109c28f5d493fc45f2e merged commit related to waves backend
[Reviewed] PDavis

8 years ago[Summary] Just adding comment for better code-maintaining.
Valeriy Kamyshniy [Thu, 2 Apr 2015 22:31:44 +0000 (01:31 +0300)]
[Summary] Just adding comment for better code-maintaining.

8 years agosuperior fix for limits on track name length
Paul Davis [Tue, 12 May 2015 14:43:37 +0000 (10:43 -0400)]
superior fix for limits on track name length

8 years ago[Summary] Fixed bug: Dragging Region with copying it provoked a crash. The reason...
Valeriy Kamyshniy [Fri, 27 Feb 2015 16:29:45 +0000 (18:29 +0200)]
[Summary] Fixed bug: Dragging Region with copying it provoked a crash. The reason is: too short room for name generated for new region.

8 years ago[Summary] Fixed race condition: "should_do_transport_work" must not be dropped to...
GZharun [Wed, 25 Feb 2015 01:02:28 +0000 (03:02 +0200)]
[Summary] Fixed race condition: "should_do_transport_work" must not be dropped to 0 outside, it's illegal. It may cause "should_do_transport_work" go below 0 and make butler to round for a very-very long time (hang and possible lock of other threads) before stop() call returns.

_butler->stop () is synchronous, so its safe to wait in this call for butler to finish it's work.

[Reviewed by] PDavis

8 years agowhen reversing regions, use the original source's SR, not the current session one
Paul Davis [Tue, 12 May 2015 14:25:50 +0000 (10:25 -0400)]
when reversing regions, use the original source's SR, not the current session one

8 years agowhen creating new sources for a non-realtime Filter process, add option to use the...
Paul Davis [Tue, 12 May 2015 14:25:13 +0000 (10:25 -0400)]
when creating new sources for a non-realtime Filter process, add option to use the same SR as the initial sources

8 years agoafter changing session SR, reset all write sources to use new rate
Paul Davis [Tue, 12 May 2015 14:16:26 +0000 (10:16 -0400)]
after changing session SR, reset all write sources to use new rate

8 years agoTracks does not (want to) support destructive tracks
Paul Davis [Tue, 12 May 2015 14:12:41 +0000 (10:12 -0400)]
Tracks does not (want to) support destructive tracks

8 years agoTracks specific fix for SR reverting to previous value while creating new session
Paul Davis [Mon, 11 May 2015 22:51:14 +0000 (18:51 -0400)]
Tracks specific fix for SR reverting to previous value while creating new session

8 years agoadd 176.4kHz to available sample rates in export GUI
Paul Davis [Mon, 11 May 2015 22:50:51 +0000 (18:50 -0400)]
add 176.4kHz to available sample rates in export GUI

8 years agoadd 176.4kHz to export sample possibilities
Paul Davis [Mon, 11 May 2015 22:44:21 +0000 (18:44 -0400)]
add 176.4kHz to export sample possibilities

8 years agomore reliable check for session files, to cover *.ardour.bak cases, and exclude them
Paul Davis [Mon, 11 May 2015 22:36:04 +0000 (18:36 -0400)]
more reliable check for session files, to cover *.ardour.bak cases, and exclude them

8 years agoTracks puts the master bus remote ID into a different "namespace" than Ardour
Paul Davis [Mon, 11 May 2015 21:43:16 +0000 (17:43 -0400)]
Tracks puts the master bus remote ID into a different "namespace" than Ardour

8 years agoTracks does not use a K20 meter for the master
Paul Davis [Mon, 11 May 2015 21:11:24 +0000 (17:11 -0400)]
Tracks does not use a K20 meter for the master

8 years ago[Summary] In Location::set_state - adding emitted FlagsChanged (if any flag changed...
VKamyshniy [Thu, 19 Feb 2015 20:04:33 +0000 (22:04 +0200)]
[Summary] In Location::set_state - adding emitted FlagsChanged (if any flag changed). This is not a hot fix - it's for UNDO changed skipping state for SKIP markers. Paul has approved this change.

8 years agoremove unnecessary and unused changes from grygorii
Paul Davis [Mon, 11 May 2015 20:31:14 +0000 (16:31 -0400)]
remove unnecessary and unused changes from grygorii

8 years agoremove unused method
Paul Davis [Sun, 10 May 2015 17:46:25 +0000 (13:46 -0400)]
remove unused method

8 years agofix whitespace/indentation and remove references to ScopedConnectionLists that were...
Paul Davis [Sun, 10 May 2015 17:44:23 +0000 (13:44 -0400)]
fix whitespace/indentation and remove references to ScopedConnectionLists that were not used even in Tracks

8 years ago[Summary] Eliminated redundant marker update notification which lead to creation...
GZharun [Sun, 15 Feb 2015 11:02:16 +0000 (13:02 +0200)]
[Summary] Eliminated redundant marker update notification which lead to creation of huge amount of redundant session events

8 years agonoop: indentation
Paul Davis [Sun, 10 May 2015 17:19:02 +0000 (13:19 -0400)]
noop: indentation

8 years agoadd required header
Paul Davis [Sun, 10 May 2015 17:18:06 +0000 (13:18 -0400)]
add required header

8 years agomake use of loop range as default export range being Tracks specific
Paul Davis [Sun, 10 May 2015 17:17:32 +0000 (13:17 -0400)]
make use of loop range as default export range being Tracks specific

8 years ago[Summary] Per Igor's request: if auto play loop is set on, the main timespan should...
VKamyshniy [Tue, 3 Feb 2015 17:14:27 +0000 (19:14 +0200)]
[Summary] Per Igor's request: if auto play loop is set on, the main timespan should be the range loop location.

8 years agowhen loop range is set, if loop-is-mode and seamless looping, set loop for all tracks
Paul Davis [Sun, 10 May 2015 17:15:46 +0000 (13:15 -0400)]
when loop range is set, if loop-is-mode and seamless looping, set loop for all tracks

8 years agofix inadvertent typo
Paul Davis [Sun, 10 May 2015 17:09:28 +0000 (13:09 -0400)]
fix inadvertent typo

8 years agoTracks uses -inf gain on newly created tracks
Paul Davis [Sun, 10 May 2015 16:57:48 +0000 (12:57 -0400)]
Tracks uses -inf gain on newly created tracks

8 years agobring in more connection-related changes from Tracks
Paul Davis [Sat, 9 May 2015 23:34:50 +0000 (19:34 -0400)]
bring in more connection-related changes from Tracks

8 years agoadd engine_state_controller.cc to libardour sources when building tracks
Paul Davis [Sat, 9 May 2015 23:34:36 +0000 (19:34 -0400)]
add engine_state_controller.cc to libardour sources when building tracks

8 years agoadd track auto-naming options from Tracks
Paul Davis [Sat, 9 May 2015 23:34:05 +0000 (19:34 -0400)]
add track auto-naming options from Tracks

8 years agofix crash caused by missing return; add explanatory comments
Paul Davis [Sat, 9 May 2015 23:33:26 +0000 (19:33 -0400)]
fix crash caused by missing return; add explanatory comments

8 years agofix typo in Tracks build
Paul Davis [Sat, 9 May 2015 19:06:06 +0000 (15:06 -0400)]
fix typo in Tracks build

8 years agoinclude Tracks engine state controller header for Tracks build
Paul Davis [Sat, 9 May 2015 19:05:50 +0000 (15:05 -0400)]
include Tracks engine state controller header for Tracks build

8 years agoadd required profile header
Paul Davis [Sat, 9 May 2015 19:05:31 +0000 (15:05 -0400)]
add required profile header

8 years agochange names for scene I/O port connection methods
Paul Davis [Sat, 9 May 2015 18:48:36 +0000 (14:48 -0400)]
change names for scene I/O port connection methods

8 years agoavoid redundant IO port reconnections in Tracks runtime case
Paul Davis [Sat, 9 May 2015 18:46:40 +0000 (14:46 -0400)]
avoid redundant IO port reconnections in Tracks runtime case

8 years agonoop: more style guide fixes
Paul Davis [Sat, 9 May 2015 02:32:43 +0000 (22:32 -0400)]
noop: more style guide fixes

8 years agonoop: fix indentation to match style guide
Paul Davis [Sat, 9 May 2015 02:30:03 +0000 (22:30 -0400)]
noop: fix indentation to match style guide

8 years agoadd EngineStateController code from Tracks
Paul Davis [Sat, 9 May 2015 02:27:48 +0000 (22:27 -0400)]
add EngineStateController code from Tracks

8 years agoFixed issue with crash when invalid get_connections request is made on invalid port...
Paul Davis [Sat, 9 May 2015 01:01:26 +0000 (21:01 -0400)]
Fixed issue with crash when invalid get_connections request is made on invalid port handle. (Grygorii)

8 years agoadd in more Tracks-related auto-(re)connect changes
Paul Davis [Sat, 9 May 2015 00:56:10 +0000 (20:56 -0400)]
add in more Tracks-related auto-(re)connect changes

8 years agoadd in more Tracks-related auto-(re)connect changes, all conditionalized by Profile
Paul Davis [Sat, 9 May 2015 00:39:39 +0000 (20:39 -0400)]
add in more Tracks-related auto-(re)connect changes, all conditionalized by Profile

8 years agoinitial incorporation of Tracks' automatic reconnect features, based on current Track...
Paul Davis [Sat, 9 May 2015 00:30:30 +0000 (20:30 -0400)]
initial incorporation of Tracks' automatic reconnect features, based on current Tracks code

8 years agomerge several of the trickiest Tracks- and platform-specific RC configuration variables
Paul Davis [Fri, 8 May 2015 21:49:51 +0000 (17:49 -0400)]
merge several of the trickiest Tracks- and platform-specific RC configuration variables

8 years agono-op: indentation and whitespace fixes
Paul Davis [Fri, 8 May 2015 20:53:14 +0000 (16:53 -0400)]
no-op: indentation and whitespace fixes

8 years ago[Summary] Added export cleanup
GZharun [Thu, 15 Jan 2015 11:47:06 +0000 (13:47 +0200)]
[Summary] Added export cleanup
[Reviewed by] Andriy Mishyn

8 years agoindentation and formatting cleanup
Paul Davis [Fri, 8 May 2015 20:49:43 +0000 (16:49 -0400)]
indentation and formatting cleanup

8 years ago[Summary] Fixed issue with export built on Mavericks. There was not check on empty...
GZharun [Thu, 25 Dec 2014 07:57:46 +0000 (09:57 +0200)]
[Summary] Fixed issue with export built on Mavericks. There was not check on empty sets in ExportFormatSpecification class.
C standard, section 6.5.6.8 says:
"...if the result points one past the last element of the array object, it shall not be used as the operand of a unary * operator that is evaluated..."
So GCC compiler and CLANG compiler (Mavericks) process this operation different way. GCC returns 0 on an attempt to dereference end iterator when CLANG returns a non 0 value.

8 years ago[Summary] Fixed windows build
Greg Zharun [Mon, 15 Dec 2014 11:56:04 +0000 (13:56 +0200)]
[Summary] Fixed windows build

8 years agoadd channel_count() to audio source API
Paul Davis [Fri, 8 May 2015 20:28:46 +0000 (16:28 -0400)]
add channel_count() to audio source API

8 years agoanother signal related to record state added from Tracks.
Paul Davis [Fri, 8 May 2015 20:26:52 +0000 (16:26 -0400)]
another signal related to record state added from Tracks.

This doesn't appear to have obviously distinct semantics from RecordStateChanged
but Tracks is using it and I can't verify instantly that it could be replaced
by RecordStateChanged.

8 years agodistribute use of RouteAddedOrRemoved to appropriate places.
Paul Davis [Fri, 8 May 2015 20:12:51 +0000 (16:12 -0400)]
distribute use of RouteAddedOrRemoved to appropriate places.

It might be wise to use this rather than GUIIdle but that needs further investigation

8 years agoinclude emission of RouteAddedOrRemoved in Session::add_audio_track()
Paul Davis [Fri, 8 May 2015 20:08:41 +0000 (16:08 -0400)]
include emission of RouteAddedOrRemoved in Session::add_audio_track()

8 years agointegrate Session::remove_routes() from Tracks and replace Session::remove_route...
Paul Davis [Fri, 8 May 2015 20:04:15 +0000 (16:04 -0400)]
integrate Session::remove_routes() from Tracks and replace Session::remove_route() internal implementation.

The singular case replicated (and was the model for) the plural case.

8 years agore-do previous commit with less variables
Paul Davis [Fri, 8 May 2015 19:33:00 +0000 (15:33 -0400)]
re-do previous commit with less variables

8 years agoTracks calls tracks "Tracks"; Ardour uses type-names
Paul Davis [Fri, 8 May 2015 19:29:19 +0000 (15:29 -0400)]
Tracks calls tracks "Tracks"; Ardour uses type-names

8 years agoSession::reconnect_midi_scene_ports() is a Tracks thing.
Paul Davis [Fri, 8 May 2015 19:20:05 +0000 (15:20 -0400)]
Session::reconnect_midi_scene_ports() is a Tracks thing.

It requires the EngineStateController which is not merged at this time

8 years agoadd missing profile header
Paul Davis [Fri, 8 May 2015 19:19:39 +0000 (15:19 -0400)]
add missing profile header

8 years agofix bank ID when MIDI Scene change handles a program change message
GZharun [Mon, 1 Dec 2014 14:54:04 +0000 (16:54 +0200)]
fix bank ID when MIDI Scene change handles a program change message

8 years agoadd Session::reconnect_midi_scene_ports()
Paul Davis [Fri, 8 May 2015 19:03:06 +0000 (15:03 -0400)]
add Session::reconnect_midi_scene_ports()

8 years agoadd comment
Paul Davis [Fri, 8 May 2015 18:57:49 +0000 (14:57 -0400)]
add comment

8 years agototally bizarre and incorrect solo/mute behaviour for Tracks (ONLY)
Paul Davis [Fri, 8 May 2015 18:11:43 +0000 (14:11 -0400)]
totally bizarre and incorrect solo/mute behaviour for Tracks (ONLY)

8 years ago[Summary] Changed function name update_route_active_state() on update_route_record_st...
nikolay [Fri, 19 Sep 2014 13:45:01 +0000 (16:45 +0300)]
[Summary] Changed function name update_route_active_state() on update_route_record_state()
[Reviewed] GZharun

Conflicts:
libs/ardour/ardour/session.h
libs/ardour/session.cc
libs/ardour/session_state.cc

8 years agoprovide Session::have_rec_disabled_track()
Paul Davis [Fri, 8 May 2015 17:46:42 +0000 (13:46 -0400)]
provide Session::have_rec_disabled_track()

8 years agoadd the Tracks version of Track::monitoring_state()
Paul Davis [Fri, 8 May 2015 17:44:24 +0000 (13:44 -0400)]
add the Tracks version of Track::monitoring_state()

This drastically-stripped down version of the Ardour original is used only when USE_TRACKS_CODE_FEATURES
is defined. It doesn't respond to many aspects/features of libardour.

8 years agoadding routes no longer saves session but leaves it marked dirty (Tracks semantics...
Paul Davis [Fri, 8 May 2015 16:48:07 +0000 (12:48 -0400)]
adding routes no longer saves session but leaves it marked dirty (Tracks semantics for add_routes() retained)

8 years agofix indentation
Paul Davis [Fri, 8 May 2015 16:39:07 +0000 (12:39 -0400)]
fix indentation

8 years ago[Summary] Region changes will make session dirty
GZharun [Wed, 21 Jan 2015 11:37:39 +0000 (13:37 +0200)]
[Summary] Region changes will make session dirty

8 years agomark session dirty when markers/ranges are changed
Paul Davis [Fri, 8 May 2015 16:20:25 +0000 (12:20 -0400)]
mark session dirty when markers/ranges are changed

8 years agofixed previous commit from Tracks to work correctly in all cases
Paul Davis [Fri, 8 May 2015 16:12:08 +0000 (12:12 -0400)]
fixed previous commit from Tracks to work correctly in all cases

8 years ago[Summary] BUG FIXED: New name of a session saved with “save as”, was not stored in...
Valeriy Kamyshniy [Mon, 6 Apr 2015 10:04:15 +0000 (13:04 +0300)]
[Summary] BUG FIXED: New name of a session saved with “save as”, was not stored in the session recent list.
[Reviewed] YPozdnyakov

8 years ago[Summary] Adding informative message to failed file copy exception in Session::save_as.
Valeriy Kamyshniy [Thu, 2 Apr 2015 23:15:35 +0000 (02:15 +0300)]
[Summary] Adding informative message to failed file copy exception in Session::save_as.
[Review required] Paul Davis

8 years agosave recent templates analogously to recent sessions
Paul Davis [Fri, 8 May 2015 16:07:33 +0000 (12:07 -0400)]
save recent templates analogously to recent sessions

8 years agoTracks-specific handling of template dir
Paul Davis [Fri, 8 May 2015 15:58:23 +0000 (11:58 -0400)]
Tracks-specific handling of template dir

8 years agofix cherry-pick logic failure with Session::save_template() - Tracks case already...
Paul Davis [Fri, 8 May 2015 15:47:12 +0000 (11:47 -0400)]
fix cherry-pick logic failure with Session::save_template() - Tracks case already taken care of

8 years ago[Summary] a) On MAC OS, .DS_Store files are ignored when saving a session by “Save...
Valeriy Kamyshniy [Mon, 6 Apr 2015 18:25:42 +0000 (21:25 +0300)]
[Summary] a) On MAC OS, .DS_Store files are ignored when saving a session by “Save As”.
b) plugins folder is not created for Templates.

[Required review] Paul Davis, YPozdnyakov

Conflicts:
libs/ardour/session_state.cc

8 years ago[Summary] For tracks when saving templates, we need stored the Auto Loop Range and...
Valeriy Kamyshniy [Thu, 2 Apr 2015 21:25:56 +0000 (00:25 +0300)]
[Summary] For tracks when saving templates, we need stored the Auto Loop Range and all MIDI markers. As well, just to follow canonical rule: dealing with a pointer (_location in Session::state) check it for NULL prior to any operation (s), accessing the pointer.
[Review required] YPozdnyakov, GZharun, Paul Davis

8 years agoemit SessionSaveUnderWay signal during template save
Paul Davis [Fri, 8 May 2015 15:42:16 +0000 (11:42 -0400)]
emit SessionSaveUnderWay signal during template save