~ubuntu-branches/ubuntu/quantal/ecasound2.2/quantal

« back to all changes in this revision

Viewing changes to libecasound/audiofx_mixing.h

  • Committer: Bazaar Package Importer
  • Author(s): Junichi Uekawa
  • Date: 2008-03-23 21:42:49 UTC
  • mfrom: (3.1.6 hardy)
  • Revision ID: james.westby@ubuntu.com-20080323214249-evlfv3y1o8q747la
Tags: 2.4.6.1-2
* Bug fix: "FTBFS with GCC 4.3: missing #includes", thanks to Martin
  Michlmayr (Closes: #454890).
- 13_gcc4: updated

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
 
6
6
#include "samplebuffer_iterators.h"
7
7
#include "audiofx.h"
 
8
#include "audiofx_amplitude.h"
8
9
 
9
10
/**
10
11
 * Virtual base class for channel mixing and routing effects
48
49
};
49
50
 
50
51
/**
 
52
 * Channel move (copy one channel and mute the source)
 
53
 * @author Kai Vehmanen
 
54
 */
 
55
class EFFECT_CHANNEL_MOVE : public EFFECT_MIXING {
 
56
 
 
57
private:
 
58
 
 
59
  ch_type from_channel, to_channel;
 
60
  SAMPLE_ITERATOR_CHANNEL f_iter, t_iter;
 
61
 
 
62
public:
 
63
 
 
64
  virtual std::string name(void) const { return("Channel move"); }
 
65
  virtual std::string parameter_names(void) const { return("from-channel,to-channel"); }
 
66
 
 
67
  int output_channels(int i_channels) const;
 
68
 
 
69
  virtual void parameter_description(int param, struct PARAM_DESCRIPTION *pd) const;
 
70
  virtual void set_parameter(int param, parameter_t value);
 
71
  virtual parameter_t get_parameter(int param) const;
 
72
 
 
73
  void init(SAMPLE_BUFFER *insample);
 
74
  void process(void);
 
75
 
 
76
  EFFECT_CHANNEL_MOVE* clone(void) const { return new EFFECT_CHANNEL_MOVE(*this); }
 
77
  EFFECT_CHANNEL_MOVE* new_expr(void) const { return new EFFECT_CHANNEL_MOVE(); }
 
78
  EFFECT_CHANNEL_MOVE (parameter_t from_channel = 1.0, parameter_t to_channel = 1.0);
 
79
};
 
80
 
 
81
/**
 
82
 * Channel mute (mutes one channel)
 
83
 * @author Kai Vehmanen
 
84
 */
 
85
class EFFECT_CHANNEL_MUTE : public EFFECT_AMPLIFY_CHANNEL {
 
86
 
 
87
public:
 
88
 
 
89
  virtual std::string name(void) const { return("Channel mute"); }
 
90
  virtual std::string parameter_names(void) const { return("channel"); }
 
91
 
 
92
  virtual void parameter_description(int param, struct PARAM_DESCRIPTION *pd) const;
 
93
  virtual void set_parameter(int param, parameter_t value);
 
94
  virtual parameter_t get_parameter(int param) const;
 
95
 
 
96
  EFFECT_CHANNEL_MUTE* clone(void) const { return new EFFECT_CHANNEL_MUTE(*this); }
 
97
  EFFECT_CHANNEL_MUTE* new_expr(void) const { return new EFFECT_CHANNEL_MUTE(); }
 
98
  EFFECT_CHANNEL_MUTE (parameter_t channel = 1.0);
 
99
};
 
100
 
 
101
/**
51
102
 * Channel copy (one-to-one copy)
52
103
 * @author Kai Vehmanen
53
104
 */