summaryrefslogtreecommitdiff
path: root/libs/ardour/session_command.cc
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-08-11 03:24:57 +0000
committerDavid Robillard <d@drobilla.net>2006-08-11 03:24:57 +0000
commit30c08ba655330232767554c48bda1975bfb5628c (patch)
treec6bf6b62de69afdd6b2a42ef3a7d9f80e0f65f7c /libs/ardour/session_command.cc
parentab6f1ed9bafa869648b6e94ee5186ff317b32c3e (diff)
- Changed IO's vector<Port*>'s to PortList
- Added new Port classes, code to drive them - Added PortList, which is a filthy mess ATM (nevermind that, it's the interface that's important at this stage) - Added ChanCount, though it isn't very thoroughly used yet. That's the next step.... - Fixed a few bugs relating to loading sessions saved with trunk - Fixed a few random other bugs Slowly working towards type agnosticism while keeping all the former code/logic intact is the name of the game here Warning: Removing ports is currently (intentionally) broken due solely to laziness. git-svn-id: svn://localhost/ardour2/branches/midi@786 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_command.cc')
-rw-r--r--libs/ardour/session_command.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/libs/ardour/session_command.cc b/libs/ardour/session_command.cc
index 9a43de55de..1b8d6b3718 100644
--- a/libs/ardour/session_command.cc
+++ b/libs/ardour/session_command.cc
@@ -1,7 +1,29 @@
#include <ardour/session.h>
#include <ardour/route.h>
+#include <pbd/memento_command.h>
+#include <ardour/diskstream.h>
namespace ARDOUR {
+
+Command *Session::memento_command_factory(XMLNode *n)
+{
+ PBD::ID id;
+ XMLNode *before, *after;
+ //void *obj;
+
+ /* get obj_id */
+
+ /* get before and/or after */
+
+ /* get an object by id by trial and error, and use it to construct an
+ * appropriate memento command */
+ // e.g.
+ if (Diskstream *obj = diskstream_by_id(id))
+ return new MementoCommand<Diskstream>(*obj, *before, *after);
+ // etc.
+ return 0;
+}
+
// solo
Session::GlobalSoloStateCommand::GlobalSoloStateCommand(Session &sess, void *src)
: sess(sess), src(src)