ODIN
seqdelay.h
1 /***************************************************************************
2  seqdelay.h - description
3  -------------------
4  begin : Wed Aug 8 2001
5  copyright : (C) 2000-2021 by Thies H. Jochimsen
6  email : thies@jochimsen.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef SEQDELAY_H
19 #define SEQDELAY_H
20 
21 #include <odinseq/seqobj.h>
22 #include <odinseq/seqdur.h>
23 #include <odinseq/seqdriver.h>
24 
25 
30 class SeqDelayDriver : public SeqDriverBase {
31 
32  public:
33  SeqDelayDriver() {}
34  virtual ~SeqDelayDriver() {}
35 
36  virtual STD_string get_program(programContext& context, double duration, const STD_string& cmd, const STD_string& durcmd) const = 0;
37 
38  virtual SeqDelayDriver* clone_driver() const = 0;
39 };
40 
42 
43 
54 class SeqDelay : public SeqObjBase, public SeqDur {
55 
56  public:
57 
67  SeqDelay(const STD_string& object_label = "unnamedSeqDelay",float delayduration=0.0,
68  const STD_string& command="",const STD_string& durationVariable="" );
69 
73  SeqDelay(const SeqDelay& sd);
74 
79 
83  SeqDelay& operator = (float dur);
84 
88  SeqDelay& set_command(const STD_string& command);
89 
90 
91  // overloading virtual function from SeqTreeObj
92  STD_string get_program(programContext& context) const;
93 
94 
95  private:
96  mutable SeqDriverInterface<SeqDelayDriver> delaydriver;
97 
98  STD_string cmd;
99  STD_string durcmd;
100 };
101 
102 
103 
104 
109 #endif
Timing delay.
Definition: seqdelay.h:54
STD_string get_program(programContext &context) const
SeqDelay & set_command(const STD_string &command)
SeqDelay & operator=(const SeqDelay &sd)
SeqDelay(const SeqDelay &sd)
SeqDelay(const STD_string &object_label="unnamedSeqDelay", float delayduration=0.0, const STD_string &command="", const STD_string &durationVariable="")
Definition: seqdur.h:38