Preserve stacked / overlaid state of tracks in the session file.

git-svn-id: svn://localhost/ardour2/branches/3.0@5593 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2009-08-26 01:06:31 +00:00
parent edfcc7badc
commit ae6dbb836c
2 changed files with 13 additions and 0 deletions

View File

@ -39,6 +39,7 @@ setup_gtk_ardour_enums ()
Width width;
ImportMode import_mode;
EditPoint edit_point;
LayerDisplay layer_display;
#define REGISTER(e) enum_writer.register_distinct (typeid(e).name(), i, s); i.clear(); s.clear()
#define REGISTER_BITS(e) enum_writer.register_bits (typeid(e).name(), i, s); i.clear(); s.clear()
@ -66,4 +67,8 @@ setup_gtk_ardour_enums ()
REGISTER_ENUM (EditAtMouse);
REGISTER_ENUM (EditAtSelectedMarker);
REGISTER (edit_point);
REGISTER_ENUM (Overlaid);
REGISTER_ENUM (Stacked);
REGISTER (layer_display);
}

View File

@ -31,6 +31,7 @@
#include "pbd/stl_delete.h"
#include "pbd/whitespace.h"
#include "pbd/memento_command.h"
#include "pbd/enumwriter.h"
#include <gtkmm/menu.h>
#include <gtkmm/menuitem.h>
@ -388,6 +389,10 @@ RouteTimeAxisView::set_state (const XMLNode& node)
XMLNodeList kids = node.children();
XMLNodeConstIterator iter;
const XMLProperty* prop;
if (_view && (prop = node.property ("layer-display"))) {
set_layer_display (LayerDisplay (string_2_enum (prop->value(), _view->layer_display ())));
}
for (iter = kids.begin(); iter != kids.end(); ++iter) {
if ((*iter)->name() == AutomationTimeAxisView::state_node_name) {
@ -2185,6 +2190,9 @@ RouteTimeAxisView::set_layer_display (LayerDisplay d)
if (_view) {
_view->set_layer_display (d);
}
ensure_xml_node ();
xml_node->add_property (N_("layer-display"), enum_2_string (d));
}
LayerDisplay