beeps 0.3 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4df684684e65c0ee091bb8054a55e57cee8e8d9b932382defa62229027cedb7
4
- data.tar.gz: 6c59120efd1f32823ef0d1982f243106f38ea4543a568739e9739811ee1e3d4c
3
+ metadata.gz: c83b46a4b2d1c3e24bcf22711ef53a8776651c7a4f7d90d069b96c9cc5e62064
4
+ data.tar.gz: 162ddb6915de1cbae2c11af0a92dcf14e6c9e35968b4fb6374868a42a11a7eef
5
5
  SHA512:
6
- metadata.gz: db163aa74ddac2978422aa52b3bef3e157295aa93f46a79e8e32b88c0b0752f337cd6bc1636e53dae751ddaac554c86b4daa72ad57f038ddf3586078253bb669
7
- data.tar.gz: 9997be8c7be61a021087d05b3e17aa695a07d3a70e9fed9bd61b3b82d66cda81c2e5279a74ef0100771281480d1ada8b9b52d6a936375f1a361fe6aa3d97d5bf
6
+ metadata.gz: 56d4eea3b0323dae779d4ec28c8b6a779b15b9fe3377178acca350ebc82e605f4be39e5969b008527fb1c14e7071ebeb08d6f1204b12c79282faa509cecc187a
7
+ data.tar.gz: cdd5ebec38e614f2cbb015c21f2899dcf5ee2e1bbdb9e83bd69681d83c7cc022a5a6002ac2044c86cb0d93a3874644787848c42120e97651cdd1343fc09e888c
@@ -5,17 +5,17 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::ADSR)
8
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::Envelope)
9
9
 
10
- #define THIS to<Beeps::ADSR*>(self)
10
+ #define THIS to<Beeps::Envelope*>(self)
11
11
 
12
- #define CHECK RUCY_CHECK_OBJ(Beeps::ADSR, self)
12
+ #define CHECK RUCY_CHECK_OBJ(Beeps::Envelope, self)
13
13
 
14
14
 
15
15
  static
16
16
  VALUE alloc(VALUE klass)
17
17
  {
18
- return value(new Beeps::RubyProcessor<Beeps::ADSR>, klass);
18
+ return value(new Beeps::RubyProcessor<Beeps::Envelope>, klass);
19
19
  }
20
20
 
21
21
  static
@@ -103,25 +103,25 @@ VALUE get_release_time(VALUE self)
103
103
  }
104
104
 
105
105
 
106
- static Class cADSR;
106
+ static Class cEnvelope;
107
107
 
108
108
  void
109
- Init_beeps_adsr ()
109
+ Init_beeps_envelope ()
110
110
  {
111
111
  Module mBeeps = rb_define_module("Beeps");
112
112
 
113
- cADSR = mBeeps.define_class("ADSR", Beeps::processor_class());
114
- rb_define_alloc_func(cADSR, alloc);
115
- cADSR.define_private_method("note_on!", note_on);
116
- cADSR.define_private_method("note_off!", note_off);
117
- rb_define_method(cADSR, "attack_time=", RUBY_METHOD_FUNC(set_attack_time), 1);
118
- rb_define_method(cADSR, "attack_time", RUBY_METHOD_FUNC(get_attack_time), 0);
119
- rb_define_method(cADSR, "decay_time=", RUBY_METHOD_FUNC(set_decay_time), 1);
120
- rb_define_method(cADSR, "decay_time", RUBY_METHOD_FUNC(get_decay_time), 0);
121
- rb_define_method(cADSR, "sustain_level=", RUBY_METHOD_FUNC(set_sustain_level), 1);
122
- rb_define_method(cADSR, "sustain_level", RUBY_METHOD_FUNC(get_sustain_level), 0);
123
- rb_define_method(cADSR, "release_time=", RUBY_METHOD_FUNC(set_release_time), 1);
124
- rb_define_method(cADSR, "release_time", RUBY_METHOD_FUNC(get_release_time), 0);
113
+ cEnvelope = mBeeps.define_class("Envelope", Beeps::processor_class());
114
+ rb_define_alloc_func(cEnvelope, alloc);
115
+ cEnvelope.define_private_method("note_on!", note_on);
116
+ cEnvelope.define_private_method("note_off!", note_off);
117
+ rb_define_method(cEnvelope, "attack_time=", RUBY_METHOD_FUNC(set_attack_time), 1);
118
+ rb_define_method(cEnvelope, "attack_time", RUBY_METHOD_FUNC(get_attack_time), 0);
119
+ rb_define_method(cEnvelope, "decay_time=", RUBY_METHOD_FUNC(set_decay_time), 1);
120
+ rb_define_method(cEnvelope, "decay_time", RUBY_METHOD_FUNC(get_decay_time), 0);
121
+ rb_define_method(cEnvelope, "sustain_level=", RUBY_METHOD_FUNC(set_sustain_level), 1);
122
+ rb_define_method(cEnvelope, "sustain_level", RUBY_METHOD_FUNC(get_sustain_level), 0);
123
+ rb_define_method(cEnvelope, "release_time=", RUBY_METHOD_FUNC(set_release_time), 1);
124
+ rb_define_method(cEnvelope, "release_time", RUBY_METHOD_FUNC(get_release_time), 0);
125
125
  }
126
126
 
127
127
 
@@ -130,9 +130,9 @@ namespace Beeps
130
130
 
131
131
 
132
132
  Class
133
- adsr_class ()
133
+ envelope_class ()
134
134
  {
135
- return cADSR;
135
+ return cEnvelope;
136
136
  }
137
137
 
138
138
 
@@ -9,11 +9,12 @@ void Init_beeps_sound_player ();
9
9
  void Init_beeps_processor ();
10
10
 
11
11
  void Init_beeps_oscillator ();
12
+ void Init_beeps_sequencer ();
12
13
  void Init_beeps_file_in ();
13
14
  void Init_beeps_mic_in ();
14
15
 
15
16
  void Init_beeps_gain ();
16
- void Init_beeps_adsr ();
17
+ void Init_beeps_envelope ();
17
18
  void Init_beeps_time_stretch ();
18
19
  void Init_beeps_pitch_shift ();
19
20
  void Init_beeps_analyser ();
@@ -38,11 +39,12 @@ extern "C" void
38
39
  Init_beeps_processor();
39
40
 
40
41
  Init_beeps_oscillator();
42
+ Init_beeps_sequencer();
41
43
  Init_beeps_file_in();
42
44
  Init_beeps_mic_in();
43
45
 
44
46
  Init_beeps_gain();
45
- Init_beeps_adsr();
47
+ Init_beeps_envelope();
46
48
  Init_beeps_time_stretch();
47
49
  Init_beeps_pitch_shift();
48
50
  Init_beeps_analyser();
@@ -0,0 +1,87 @@
1
+ #include "beeps/ruby/generator.h"
2
+
3
+
4
+ #include "beeps/ruby/processor.h"
5
+ #include "defs.h"
6
+
7
+
8
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::Sequencer)
9
+
10
+ #define THIS to<Beeps::Sequencer*>(self)
11
+
12
+ #define CHECK RUCY_CHECK_OBJ(Beeps::Sequencer, self)
13
+
14
+
15
+ static
16
+ VALUE alloc(VALUE klass)
17
+ {
18
+ return value(new Beeps::RubyProcessor<Beeps::Sequencer>, klass);
19
+ }
20
+
21
+ static
22
+ VALUE add(VALUE self, VALUE processor, VALUE offset, VALUE duration)
23
+ {
24
+ CHECK;
25
+
26
+ THIS->add(
27
+ to<Beeps::Processor*>(processor),
28
+ to<float>(offset),
29
+ to<float>(duration));
30
+ }
31
+
32
+ static
33
+ VALUE remove(VALUE self, VALUE processor, VALUE offset)
34
+ {
35
+ CHECK;
36
+
37
+ THIS->remove(
38
+ to<Beeps::Processor*>(processor),
39
+ to<float>(offset));
40
+ }
41
+
42
+ static
43
+ VALUE set_time_scale(VALUE self, VALUE time_scale)
44
+ {
45
+ CHECK;
46
+
47
+ THIS->set_time_scale(to<float>(time_scale));
48
+ return time_scale;
49
+ }
50
+
51
+ static
52
+ VALUE get_time_scale(VALUE self)
53
+ {
54
+ CHECK;
55
+
56
+ return value(THIS->time_scale());
57
+ }
58
+
59
+
60
+ static Class cSequencer;
61
+
62
+ void
63
+ Init_beeps_sequencer ()
64
+ {
65
+ Module mBeeps = rb_define_module("Beeps");
66
+
67
+ cSequencer = mBeeps.define_class("Sequencer", Beeps::processor_class());
68
+ rb_define_alloc_func(cSequencer, alloc);
69
+ rb_define_method(cSequencer, "add", RUBY_METHOD_FUNC(add), 3);
70
+ rb_define_method(cSequencer, "remove", RUBY_METHOD_FUNC(remove), 2);
71
+ //rb_define_method(cSequencer, "time_scale=", RUBY_METHOD_FUNC(set_time_scale), 1);
72
+ //rb_define_method(cSequencer, "time_scale", RUBY_METHOD_FUNC(get_time_scale), 0);
73
+ }
74
+
75
+
76
+ namespace Beeps
77
+ {
78
+
79
+
80
+ Class
81
+ sequencer_class ()
82
+ {
83
+ return cSequencer;
84
+ }
85
+
86
+
87
+ }// Beeps
data/ChangeLog.md CHANGED
@@ -1,6 +1,14 @@
1
1
  # beeps ChangeLog
2
2
 
3
3
 
4
+ ## [v0.3.1] - 2025-01-13
5
+
6
+ - Add Sequencer class
7
+ - Add 'triangle' type to Oscillator
8
+ - Add LICENSE file
9
+ - Rename: ADSR -> Envelope
10
+
11
+
4
12
  ## [v0.3] - 2024-07-06
5
13
 
6
14
  - Support Windows
data/Gemfile.lock CHANGED
@@ -9,7 +9,7 @@ GEM
9
9
 
10
10
  PLATFORMS
11
11
  arm64-darwin-21
12
- arm64-darwin-22
12
+ arm64-darwin-23
13
13
 
14
14
  DEPENDENCIES
15
15
  rake
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2015 xord.org
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/Rakefile CHANGED
@@ -1,6 +1,5 @@
1
1
  # -*- mode: ruby -*-
2
2
 
3
-
4
3
  %w[../xot ../rucy .]
5
4
  .map {|s| File.expand_path "#{s}/lib", __dir__}
6
5
  .each {|s| $:.unshift s if !$:.include?(s) && File.directory?(s)}
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3
1
+ 0.3.1
data/beeps.gemspec CHANGED
@@ -25,8 +25,8 @@ Gem::Specification.new do |s|
25
25
  s.platform = Gem::Platform::RUBY
26
26
  s.required_ruby_version = '>= 3.0.0'
27
27
 
28
- s.add_runtime_dependency 'xot', '~> 0.3'
29
- s.add_runtime_dependency 'rucy', '~> 0.3'
28
+ s.add_runtime_dependency 'xot', '~> 0.3.1'
29
+ s.add_runtime_dependency 'rucy', '~> 0.3.1'
30
30
 
31
31
  s.files = `git ls-files`.split $/
32
32
  s.executables = s.files.grep(%r{^bin/}) {|f| File.basename f}
@@ -5,17 +5,17 @@
5
5
  #include "defs.h"
6
6
 
7
7
 
8
- RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::ADSR)
8
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::Envelope)
9
9
 
10
- #define THIS to<Beeps::ADSR*>(self)
10
+ #define THIS to<Beeps::Envelope*>(self)
11
11
 
12
- #define CHECK RUCY_CHECK_OBJ(Beeps::ADSR, self)
12
+ #define CHECK RUCY_CHECK_OBJ(Beeps::Envelope, self)
13
13
 
14
14
 
15
15
  static
16
16
  RUCY_DEF_ALLOC(alloc, klass)
17
17
  {
18
- return value(new Beeps::RubyProcessor<Beeps::ADSR>, klass);
18
+ return value(new Beeps::RubyProcessor<Beeps::Envelope>, klass);
19
19
  }
20
20
  RUCY_END
21
21
 
@@ -114,25 +114,25 @@ RUCY_DEF0(get_release_time)
114
114
  RUCY_END
115
115
 
116
116
 
117
- static Class cADSR;
117
+ static Class cEnvelope;
118
118
 
119
119
  void
120
- Init_beeps_adsr ()
120
+ Init_beeps_envelope ()
121
121
  {
122
122
  Module mBeeps = define_module("Beeps");
123
123
 
124
- cADSR = mBeeps.define_class("ADSR", Beeps::processor_class());
125
- cADSR.define_alloc_func(alloc);
126
- cADSR.define_private_method("note_on!", note_on);
127
- cADSR.define_private_method("note_off!", note_off);
128
- cADSR.define_method( "attack_time=", set_attack_time);
129
- cADSR.define_method( "attack_time", get_attack_time);
130
- cADSR.define_method( "decay_time=", set_decay_time);
131
- cADSR.define_method( "decay_time", get_decay_time);
132
- cADSR.define_method("sustain_level=", set_sustain_level);
133
- cADSR.define_method("sustain_level", get_sustain_level);
134
- cADSR.define_method("release_time=", set_release_time);
135
- cADSR.define_method("release_time", get_release_time);
124
+ cEnvelope = mBeeps.define_class("Envelope", Beeps::processor_class());
125
+ cEnvelope.define_alloc_func(alloc);
126
+ cEnvelope.define_private_method("note_on!", note_on);
127
+ cEnvelope.define_private_method("note_off!", note_off);
128
+ cEnvelope.define_method( "attack_time=", set_attack_time);
129
+ cEnvelope.define_method( "attack_time", get_attack_time);
130
+ cEnvelope.define_method( "decay_time=", set_decay_time);
131
+ cEnvelope.define_method( "decay_time", get_decay_time);
132
+ cEnvelope.define_method("sustain_level=", set_sustain_level);
133
+ cEnvelope.define_method("sustain_level", get_sustain_level);
134
+ cEnvelope.define_method("release_time=", set_release_time);
135
+ cEnvelope.define_method("release_time", get_release_time);
136
136
  }
137
137
 
138
138
 
@@ -141,9 +141,9 @@ namespace Beeps
141
141
 
142
142
 
143
143
  Class
144
- adsr_class ()
144
+ envelope_class ()
145
145
  {
146
- return cADSR;
146
+ return cEnvelope;
147
147
  }
148
148
 
149
149
 
data/ext/beeps/native.cpp CHANGED
@@ -9,11 +9,12 @@ void Init_beeps_sound_player ();
9
9
  void Init_beeps_processor ();
10
10
 
11
11
  void Init_beeps_oscillator ();
12
+ void Init_beeps_sequencer ();
12
13
  void Init_beeps_file_in ();
13
14
  void Init_beeps_mic_in ();
14
15
 
15
16
  void Init_beeps_gain ();
16
- void Init_beeps_adsr ();
17
+ void Init_beeps_envelope ();
17
18
  void Init_beeps_time_stretch ();
18
19
  void Init_beeps_pitch_shift ();
19
20
  void Init_beeps_analyser ();
@@ -38,11 +39,12 @@ extern "C" void
38
39
  Init_beeps_processor();
39
40
 
40
41
  Init_beeps_oscillator();
42
+ Init_beeps_sequencer();
41
43
  Init_beeps_file_in();
42
44
  Init_beeps_mic_in();
43
45
 
44
46
  Init_beeps_gain();
45
- Init_beeps_adsr();
47
+ Init_beeps_envelope();
46
48
  Init_beeps_time_stretch();
47
49
  Init_beeps_pitch_shift();
48
50
  Init_beeps_analyser();
@@ -0,0 +1,92 @@
1
+ #include "beeps/ruby/generator.h"
2
+
3
+
4
+ #include "beeps/ruby/processor.h"
5
+ #include "defs.h"
6
+
7
+
8
+ RUCY_DEFINE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::Sequencer)
9
+
10
+ #define THIS to<Beeps::Sequencer*>(self)
11
+
12
+ #define CHECK RUCY_CHECK_OBJ(Beeps::Sequencer, self)
13
+
14
+
15
+ static
16
+ RUCY_DEF_ALLOC(alloc, klass)
17
+ {
18
+ return value(new Beeps::RubyProcessor<Beeps::Sequencer>, klass);
19
+ }
20
+ RUCY_END
21
+
22
+ static
23
+ RUCY_DEF3(add, processor, offset, duration)
24
+ {
25
+ CHECK;
26
+
27
+ THIS->add(
28
+ to<Beeps::Processor*>(processor),
29
+ to<float>(offset),
30
+ to<float>(duration));
31
+ }
32
+ RUCY_END
33
+
34
+ static
35
+ RUCY_DEF2(remove, processor, offset)
36
+ {
37
+ CHECK;
38
+
39
+ THIS->remove(
40
+ to<Beeps::Processor*>(processor),
41
+ to<float>(offset));
42
+ }
43
+ RUCY_END
44
+
45
+ static
46
+ RUCY_DEF1(set_time_scale, time_scale)
47
+ {
48
+ CHECK;
49
+
50
+ THIS->set_time_scale(to<float>(time_scale));
51
+ return time_scale;
52
+ }
53
+ RUCY_END
54
+
55
+ static
56
+ RUCY_DEF0(get_time_scale)
57
+ {
58
+ CHECK;
59
+
60
+ return value(THIS->time_scale());
61
+ }
62
+ RUCY_END
63
+
64
+
65
+ static Class cSequencer;
66
+
67
+ void
68
+ Init_beeps_sequencer ()
69
+ {
70
+ Module mBeeps = define_module("Beeps");
71
+
72
+ cSequencer = mBeeps.define_class("Sequencer", Beeps::processor_class());
73
+ cSequencer.define_alloc_func(alloc);
74
+ cSequencer.define_method("add", add);
75
+ cSequencer.define_method("remove", remove);
76
+ //cSequencer.define_method("time_scale=", set_time_scale);
77
+ //cSequencer.define_method("time_scale", get_time_scale);
78
+ }
79
+
80
+
81
+ namespace Beeps
82
+ {
83
+
84
+
85
+ Class
86
+ sequencer_class ()
87
+ {
88
+ return cSequencer;
89
+ }
90
+
91
+
92
+ }// Beeps
@@ -37,16 +37,16 @@ namespace Beeps
37
37
  };// Gain
38
38
 
39
39
 
40
- class ADSR : public Filter
40
+ class Envelope : public Filter
41
41
  {
42
42
 
43
43
  typedef Filter Super;
44
44
 
45
45
  public:
46
46
 
47
- ADSR (Processor* input = NULL);
47
+ Envelope (Processor* input = NULL);
48
48
 
49
- virtual ~ADSR ();
49
+ virtual ~Envelope ();
50
50
 
51
51
  virtual void note_on (float delay = 0);
52
52
 
@@ -77,7 +77,7 @@ namespace Beeps
77
77
 
78
78
  Xot::PImpl<Data> self;
79
79
 
80
- };// ADSR
80
+ };// Envelope
81
81
 
82
82
 
83
83
  class TimeStretch : public Filter
@@ -46,6 +46,37 @@ namespace Beeps
46
46
  };// Oscillator
47
47
 
48
48
 
49
+ class Sequencer : public Generator
50
+ {
51
+
52
+ typedef Generator Super;
53
+
54
+ public:
55
+
56
+ Sequencer ();
57
+
58
+ virtual ~Sequencer ();
59
+
60
+ virtual void add (Processor* processor, float offset, float duration);
61
+
62
+ virtual void remove (Processor* processor, float offset);
63
+
64
+ virtual void set_time_scale (float scale);
65
+
66
+ virtual float time_scale () const;
67
+
68
+ virtual void generate (
69
+ Context* context, Signals* signals, uint* offset) override;
70
+
71
+ virtual operator bool () const override;
72
+
73
+ struct Data;
74
+
75
+ Xot::PImpl<Data> self;
76
+
77
+ };// Sequencer
78
+
79
+
49
80
  class FileIn : public Generator
50
81
  {
51
82
 
@@ -9,10 +9,16 @@
9
9
  #include <beeps/filter.h>
10
10
 
11
11
 
12
+ RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::Gain)
13
+
14
+ RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::Envelope)
15
+
12
16
  RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::TimeStretch)
13
17
 
14
18
  RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::PitchShift)
15
19
 
20
+ RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::Analyser)
21
+
16
22
 
17
23
  namespace Beeps
18
24
  {
@@ -21,8 +27,8 @@ namespace Beeps
21
27
  BEEPS_EXPORT Rucy::Class gain_class ();
22
28
  // class Beeps::Gain
23
29
 
24
- BEEPS_EXPORT Rucy::Class adsr_class ();
25
- // class Beeps::ADSR
30
+ BEEPS_EXPORT Rucy::Class envelope_class ();
31
+ // class Beeps::Envelope
26
32
 
27
33
  BEEPS_EXPORT Rucy::Class time_stretch_class ();
28
34
  // class Beeps::TimeStretch
@@ -48,9 +54,9 @@ namespace Rucy
48
54
  }
49
55
 
50
56
  template <> inline Class
51
- get_ruby_class<Beeps::ADSR> ()
57
+ get_ruby_class<Beeps::Envelope> ()
52
58
  {
53
- return Beeps::adsr_class();
59
+ return Beeps::envelope_class();
54
60
  }
55
61
 
56
62
  template <> inline Class
@@ -11,8 +11,12 @@
11
11
 
12
12
  RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::Oscillator)
13
13
 
14
+ RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::Sequencer)
15
+
14
16
  RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::FileIn)
15
17
 
18
+ RUCY_DECLARE_WRAPPER_VALUE_FROM_TO(BEEPS_EXPORT, Beeps::MicIn)
19
+
16
20
 
17
21
  namespace Beeps
18
22
  {
@@ -21,6 +25,9 @@ namespace Beeps
21
25
  BEEPS_EXPORT Rucy::Class oscillator_class ();
22
26
  // class Beeps::Oscillator
23
27
 
28
+ BEEPS_EXPORT Rucy::Class sequencer_class ();
29
+ // class Beeps::Sequencer
30
+
24
31
  BEEPS_EXPORT Rucy::Class file_in_class ();
25
32
  // class Beeps::FileIn
26
33
 
@@ -41,6 +48,12 @@ namespace Rucy
41
48
  return Beeps::oscillator_class();
42
49
  }
43
50
 
51
+ template <> inline Class
52
+ get_ruby_class<Beeps::Sequencer> ()
53
+ {
54
+ return Beeps::sequencer_class();
55
+ }
56
+
44
57
  template <> inline Class
45
58
  get_ruby_class<Beeps::FileIn> ()
46
59
  {
@@ -75,7 +75,7 @@ module Beeps
75
75
  end# Gain
76
76
 
77
77
 
78
- class ADSR
78
+ class Envelope
79
79
 
80
80
  def note_on(delay = 0)
81
81
  note_on! delay
@@ -96,7 +96,7 @@ module Beeps
96
96
  alias release= release_time=
97
97
  alias release release_time
98
98
 
99
- end# ADSR
99
+ end# Envelope
100
100
 
101
101
 
102
102
  class TimeStretch