Lumiera  0.pre.03
»edit your freedom«
sequence-cmd.cpp
Go to the documentation of this file.
1 /*
2  SequenceCmd - actual steam command scripts for actions operating within a sequence
3 
4  Copyright (C)
5  2017, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 * *****************************************************************/
13 
14 
29 #include "steam/cmd.hpp"
31 //#include "steam/mobject/session.hpp"
32 //#include "lib/symbol.hpp"
33 #include "lib/idi/entry-id.hpp"
34 //#include "lib/format-string.hpp"
35 
36 //#include <string>
37 
38 using lib::hash::LuidH;
39 //using std::string;
40 //using util::cStr;
41 //using util::_Fmt;
42 
43 
44 namespace steam {
45 namespace cmd {
46  namespace error = lumiera::error;
47 
48  //using mobject::Session;
49 
50  namespace { // implementation helper...
51  }//(End) implementation helper
52 
53 
54 
55 
60  COMMAND_DEFINITION (sequence_newTrack)
61  {
62  def.operation ([](LuidH context, LuidH newID)
63  {
64  UNIMPLEMENTED ("add a new Track into the given context scope within the Session");
65  })
66  .captureUndo ([](LuidH, LuidH addedTrack) -> LuidH
67  {
68  return addedTrack;
69  })
70  .undoOperation ([](LuidH context, LuidH newID, LuidH addedTrack)
71  {
72  REQUIRE (addedTrack == newID);
73  UNIMPLEMENTED ("how to remove a sub-track from the given context");
74  });
75  };
76 
77 
78 
79 
84 }} // namespace steam::cmd
#define COMMAND_DEFINITION(_NAME_)
Macro to write command definitions in a compact form.
Common ID definitions for Steam-Layer commands.
Steam-Layer implementation namespace root.
Hash implementation based on a lumiera unique object id (LUID) When invoking the default ctor...
Bare symbolic and hash ID used for accounting of asset like entries.
Actually defining a command and binding it to execution parameters.