diff options
author | Robin Gareus <robin@gareus.org> | 2013-03-03 08:26:50 +0000 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2013-03-03 08:26:50 +0000 |
commit | 0c90adf3e6805e49058b305279e71417cd402e11 (patch) | |
tree | 4ced858c4d9dbeeadd0c9756ac992c4fd8f38c70 /libs | |
parent | dbe00236ff5cfce8f539cf84a6d34b353542dfff (diff) |
skip fade&envelope info in region XML
git-svn-id: svn://localhost/ardour2/branches/3.0@14118 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/ardour/ardour/audioregion.h | 1 | ||||
-rw-r--r-- | libs/ardour/audioregion.cc | 13 | ||||
-rw-r--r-- | libs/ardour/session_state.cc | 6 |
3 files changed, 17 insertions, 3 deletions
diff --git a/libs/ardour/ardour/audioregion.h b/libs/ardour/ardour/audioregion.h index 67946caa6f..83cd227bce 100644 --- a/libs/ardour/ardour/audioregion.h +++ b/libs/ardour/ardour/audioregion.h @@ -112,6 +112,7 @@ class AudioRegion : public Region virtual framecnt_t read_raw_internal (Sample*, framepos_t, framecnt_t, int channel) const; XMLNode& state (); + XMLNode& get_basic_state (); int set_state (const XMLNode&, int version); static void set_default_fade (float steepness, framecnt_t len); diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc index fe09774bc5..d101583aa4 100644 --- a/libs/ardour/audioregion.cc +++ b/libs/ardour/audioregion.cc @@ -754,16 +754,25 @@ AudioRegion::read_from_sources (SourceList const & srcs, framecnt_t limit, Sampl } XMLNode& -AudioRegion::state () +AudioRegion::get_basic_state () { XMLNode& node (Region::state ()); - XMLNode *child; char buf[64]; LocaleGuard lg (X_("POSIX")); snprintf (buf, sizeof (buf), "%u", (uint32_t) _sources.size()); node.add_property ("channels", buf); + return node; +} + +XMLNode& +AudioRegion::state () +{ + XMLNode& node (get_basic_state()); + XMLNode *child; + LocaleGuard lg (X_("POSIX")); + child = node.add_child ("Envelope"); bool default_env = false; diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 2dd2dfa7a0..7857e85f4c 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -1078,7 +1078,11 @@ Session::state (bool full_state) boost::shared_ptr<Region> r = i->second; /* only store regions not attached to playlists */ if (r->playlist() == 0) { - child->add_child_nocopy (r->get_state ()); + if (boost::dynamic_pointer_cast<AudioRegion>(r)) { + child->add_child_nocopy ((boost::dynamic_pointer_cast<AudioRegion>(r))->get_basic_state ()); + } else { + child->add_child_nocopy (r->get_state ()); + } } } |