beeps 0.3 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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