CSL  6.0
DLine.h
Go to the documentation of this file.
1 //
2 // DLine.h -- an Interpolating Delay Line
3 // See the copyright notice and acknowledgment of authors in the file COPYRIGHT
4 //
5 // This is a typical circular buffer with one writer and multiple readers (tap instances)
6 
7 #ifndef INCLUDE_DLine_H
8 #define INCLUDE_DLine_H
9 
10 #include "CSL_Core.h"
11 
12 namespace csl {
13 
14 typedef enum {
18 } InterpType;
19 
20 class DLine : public FrameStream, public Processor {
21 
22 private:
24 
26  float delay_time;
30  unsigned start_frame;
31 // unsigned end_frame;
32  unsigned write_frame;
33 
34 public:
35  DLine( FrameStream &input, float max_delay );
36  ~DLine();
37 
38  bool set_target_delay_time( float tdt );
39  bool init_delay_time( float dt );
41 // update_write_frame( unsigned how_many_frames);
42 
43  status mono_next_buffer(Buffer & inputBuffer, Buffer & outputBuffer, unsigned inBufNum, unsigned outBufNum);
44  status next_buffer(Buffer & inputBuffer, Buffer & outputBuffer);
45 
46 };
47 
48 }
49 
50 #endif
unsigned start_frame
Definition: DLine.h:30
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
Definition: Accessor.h:17
~DLine()
Definition: DLine.cpp:26
float max_delay_time
Definition: DLine.h:25
InterpType
Definition: DLine.h:14
InterpType interp_type
Definition: DLine.h:29
DLine(FrameStream &input, float max_delay)
Definition: DLine.cpp:10
bool init_delay_time(float dt)
Definition: DLine.cpp:30
status next_buffer(Buffer &inputBuffer, Buffer &outputBuffer)
Definition: DLine.cpp:88
bool set_target_delay_time(float tdt)
Definition: DLine.cpp:37
float target_delay_time
Definition: DLine.h:27
float delay_time
Definition: DLine.h:26
unsigned max_delay_in_frames
Definition: DLine.h:28
Buffer – the multi-channel sample buffer class (passed around between generators and IO guys)...
Definition: CSL_Core.h:106
status mono_next_buffer(Buffer &inputBuffer, Buffer &outputBuffer, unsigned inBufNum, unsigned outBufNum)
Definition: DLine.cpp:51
Buffer ring_buffer
Definition: DLine.h:23
unsigned write_frame
Definition: DLine.h:32
bool set_interp_type(InterpType)
Definition: DLine.cpp:44