1 
2 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
3 
4 /*
5     Rosegarden
6     A MIDI and audio sequencer and musical notation editor.
7     Copyright 2000-2021 the Rosegarden development team.
8 
9     Other copyrights also apply to some parts of this work.  Please
10     see the AUTHORS file and individual file headers for details.
11 
12     This program is free software; you can redistribute it and/or
13     modify it under the terms of the GNU General Public License as
14     published by the Free Software Foundation; either version 2 of the
15     License, or (at your option) any later version.  See the file
16     COPYING included with this distribution for more information.
17 */
18 
19 #ifndef RG_PASTECONDUCTORDATACOMMAND_H
20 #define RG_PASTECONDUCTORDATACOMMAND_H
21 
22 #include "document/Command.h"
23 #include "base/Event.h"
24 #include "base/Selection.h"
25 
26 #include <QCoreApplication>
27 
28 
29 namespace Rosegarden
30 {
31 
32 class Composition;
33 class Clipboard;
34 
35 
36 /**
37  * Paste time signature and tempo data from the given clipboard into
38  * the given composition starting at the given time.
39  */
40 class PasteConductorDataCommand : public NamedCommand
41 {
42     Q_DECLARE_TR_FUNCTIONS(Rosegarden::PasteConductorDataCommand)
43 
44 public:
45     PasteConductorDataCommand(Composition *composition,
46                               Clipboard *clipboard,
47                               timeT t);
48     ~PasteConductorDataCommand() override;
49 
50     void execute() override;
51     void unexecute() override;
52 
53 private:
54     Composition *m_composition;
55     Clipboard *m_clipboard;
56     timeT m_t0;
57     TimeSignatureSelection m_timesigsPre;
58     TempoSelection m_temposPre;
59 };
60 
61 
62 
63 }
64 
65 #endif
66