struct NoteChange {
NoteDiffCommand::Property property;
NotePtr note;
+ uint32_t note_id;
+
union {
uint8_t old_value;
TimeType old_time;
int set_state (const XMLNode&, int version);
XMLNode & get_state ();
+ void remove (SysExPtr sysex);
void operator() ();
void undo ();
private:
struct Change {
boost::shared_ptr<Evoral::Event<TimeType> > sysex;
+ gint sysex_id;
SysExDiffCommand::Property property;
TimeType old_time;
TimeType new_time;
typedef std::list<Change> ChangeList;
ChangeList _changes;
+ std::list<SysExPtr> _removed;
+
XMLNode & marshal_change (const Change &);
Change unmarshal_change (XMLNode *);
};
struct Change {
PatchChangePtr patch;
Property property;
+ gint patch_id;
union {
TimeType old_time;
uint8_t old_channel;