1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ 2 3 /* 4 Rosegarden 5 A MIDI and audio sequencer and musical notation editor. 6 Copyright 2000-2021 the Rosegarden development team. 7 8 Other copyrights also apply to some parts of this work. Please 9 see the AUTHORS file and individual file headers for details. 10 11 This program is free software; you can redistribute it and/or 12 modify it under the terms of the GNU General Public License as 13 published by the Free Software Foundation; either version 2 of the 14 License, or (at your option) any later version. See the file 15 COPYING included with this distribution for more information. 16 */ 17 18 19 #include "EventInsertionCommand.h" 20 21 #include "base/Event.h" 22 #include "base/Segment.h" 23 #include "document/BasicCommand.h" 24 25 26 namespace Rosegarden 27 { 28 29 EventInsertionCommand::EventInsertionCommand(Segment &segment, Event *event) : 30 BasicCommand(tr("Insert Event"), segment, event->getAbsoluteTime(), 31 event->getAbsoluteTime() + event->getDuration()), 32 m_event(event) 33 { 34 // nothing 35 } 36 37 EventInsertionCommand::~EventInsertionCommand() 38 { 39 delete m_event; 40 // don't want to delete m_lastInsertedEvent, it's just an alias 41 } 42 43 void EventInsertionCommand::modifySegment() 44 { 45 m_lastInsertedEvent = new Event(*m_event); 46 getSegment().insert(m_lastInsertedEvent); 47 } 48 49 } 50