beeps 0.1.32 → 0.1.33
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 +4 -4
- data/.doc/ext/beeps/adsr.cpp +139 -0
- data/.doc/ext/beeps/analyser.cpp +128 -0
- data/.doc/ext/beeps/beeps.cpp +9 -1
- data/.doc/ext/beeps/file_in.cpp +55 -9
- data/.doc/ext/beeps/gain.cpp +64 -0
- data/.doc/ext/beeps/mic_in.cpp +83 -0
- data/.doc/ext/beeps/native.cpp +20 -8
- data/.doc/ext/beeps/oscillator.cpp +88 -0
- data/.doc/ext/beeps/pitch_shift.cpp +64 -0
- data/.doc/ext/beeps/processor.cpp +31 -2
- data/.doc/ext/beeps/sound.cpp +90 -7
- data/.doc/ext/beeps/sound_player.cpp +156 -0
- data/.doc/ext/beeps/time_stretch.cpp +64 -0
- data/.github/workflows/release-gem.yml +4 -1
- data/ChangeLog.md +8 -0
- data/Rakefile +26 -4
- data/VERSION +1 -1
- data/beeps.gemspec +2 -2
- data/ext/beeps/adsr.cpp +150 -0
- data/ext/beeps/analyser.cpp +134 -0
- data/ext/beeps/beeps.cpp +10 -1
- data/ext/beeps/extconf.rb +1 -2
- data/ext/beeps/file_in.cpp +60 -9
- data/ext/beeps/gain.cpp +67 -0
- data/ext/beeps/mic_in.cpp +88 -0
- data/ext/beeps/native.cpp +20 -8
- data/ext/beeps/oscillator.cpp +93 -0
- data/ext/beeps/pitch_shift.cpp +67 -0
- data/ext/beeps/processor.cpp +34 -2
- data/ext/beeps/sound.cpp +99 -7
- data/ext/beeps/sound_player.cpp +169 -0
- data/ext/beeps/time_stretch.cpp +67 -0
- data/include/beeps/beeps.h +2 -1
- data/include/beeps/filter.h +179 -0
- data/include/beeps/generator.h +120 -0
- data/include/beeps/processor.h +37 -68
- data/include/beeps/ruby/filter.h +78 -0
- data/include/beeps/ruby/generator.h +60 -0
- data/include/beeps/ruby/processor.h +5 -45
- data/include/beeps/ruby/sound.h +14 -3
- data/include/beeps/signals.h +10 -4
- data/include/beeps/sound.h +67 -2
- data/lib/beeps/beeps.rb +6 -1
- data/lib/beeps/processor.rb +95 -15
- data/lib/beeps/sound.rb +29 -2
- data/src/adsr.cpp +245 -0
- data/src/analyser.cpp +254 -0
- data/src/beeps.cpp +11 -2
- data/src/file_in.cpp +94 -0
- data/src/gain.cpp +55 -0
- data/src/mic_in.cpp +262 -0
- data/src/mic_in.h +20 -0
- data/src/openal.cpp +2 -1
- data/src/oscillator.cpp +145 -0
- data/src/osx/signals.mm +83 -0
- data/src/pitch_shift.cpp +82 -0
- data/src/processor.cpp +202 -88
- data/src/processor.h +98 -0
- data/src/signals.cpp +326 -20
- data/src/signals.h +192 -2
- data/src/sound.cpp +735 -113
- data/src/sound.h +6 -1
- data/src/time_stretch.cpp +91 -0
- data/test/helper.rb +2 -1
- data/test/test_beeps.rb +10 -7
- data/test/test_beeps_init.rb +18 -0
- data/test/test_file_in.rb +15 -0
- data/test/test_processor.rb +50 -0
- data/test/test_sound.rb +87 -11
- data/test/test_sound_player.rb +134 -0
- metadata +54 -16
- data/.doc/ext/beeps/sawtooth_wave.cpp +0 -61
- data/.doc/ext/beeps/sine_wave.cpp +0 -61
- data/.doc/ext/beeps/square_wave.cpp +0 -61
- data/ext/beeps/sawtooth_wave.cpp +0 -64
- data/ext/beeps/sine_wave.cpp +0 -64
- data/ext/beeps/square_wave.cpp +0 -64
@@ -1,61 +0,0 @@
|
|
1
|
-
#include "beeps/ruby/processor.h"
|
2
|
-
|
3
|
-
|
4
|
-
#include "defs.h"
|
5
|
-
|
6
|
-
|
7
|
-
RUCY_DEFINE_VALUE_FROM_TO(Beeps::SawtoothWave)
|
8
|
-
|
9
|
-
#define THIS to<Beeps::SawtoothWave*>(self)
|
10
|
-
|
11
|
-
#define CHECK RUCY_CHECK_OBJECT(Beeps::SawtoothWave, self)
|
12
|
-
|
13
|
-
|
14
|
-
static
|
15
|
-
VALUE alloc(VALUE klass)
|
16
|
-
{
|
17
|
-
return new_type<Beeps::SawtoothWave>(klass);
|
18
|
-
}
|
19
|
-
|
20
|
-
static
|
21
|
-
VALUE set_frequency(VALUE self, VALUE frequency)
|
22
|
-
{
|
23
|
-
CHECK;
|
24
|
-
THIS->set_frequency(frequency.as_f(true));
|
25
|
-
return self;
|
26
|
-
}
|
27
|
-
|
28
|
-
static
|
29
|
-
VALUE frequency(VALUE self)
|
30
|
-
{
|
31
|
-
CHECK;
|
32
|
-
return to<float>(THIS->frequency());
|
33
|
-
}
|
34
|
-
|
35
|
-
|
36
|
-
static Class cSawtoothWave;
|
37
|
-
|
38
|
-
void
|
39
|
-
Init_beeps_sawtooth_wave ()
|
40
|
-
{
|
41
|
-
Module mBeeps = rb_define_module("Beeps");
|
42
|
-
|
43
|
-
cSawtoothWave = mBeeps.define_class("SawtoothWave", Beeps::processor_class());
|
44
|
-
rb_define_alloc_func(cSawtoothWave, alloc);
|
45
|
-
rb_define_method(cSawtoothWave, "frequency=", RUBY_METHOD_FUNC(set_frequency), 1);
|
46
|
-
rb_define_method(cSawtoothWave, "frequency", RUBY_METHOD_FUNC(frequency), 0);
|
47
|
-
}
|
48
|
-
|
49
|
-
|
50
|
-
namespace Beeps
|
51
|
-
{
|
52
|
-
|
53
|
-
|
54
|
-
Class
|
55
|
-
sawtooth_wave_class ()
|
56
|
-
{
|
57
|
-
return cSawtoothWave;
|
58
|
-
}
|
59
|
-
|
60
|
-
|
61
|
-
}// Beeps
|
@@ -1,61 +0,0 @@
|
|
1
|
-
#include "beeps/ruby/processor.h"
|
2
|
-
|
3
|
-
|
4
|
-
#include "defs.h"
|
5
|
-
|
6
|
-
|
7
|
-
RUCY_DEFINE_VALUE_FROM_TO(Beeps::SineWave)
|
8
|
-
|
9
|
-
#define THIS to<Beeps::SineWave*>(self)
|
10
|
-
|
11
|
-
#define CHECK RUCY_CHECK_OBJECT(Beeps::SineWave, self)
|
12
|
-
|
13
|
-
|
14
|
-
static
|
15
|
-
VALUE alloc(VALUE klass)
|
16
|
-
{
|
17
|
-
return new_type<Beeps::SineWave>(klass);
|
18
|
-
}
|
19
|
-
|
20
|
-
static
|
21
|
-
VALUE set_frequency(VALUE self, VALUE frequency)
|
22
|
-
{
|
23
|
-
CHECK;
|
24
|
-
THIS->set_frequency(frequency.as_f(true));
|
25
|
-
return self;
|
26
|
-
}
|
27
|
-
|
28
|
-
static
|
29
|
-
VALUE frequency(VALUE self)
|
30
|
-
{
|
31
|
-
CHECK;
|
32
|
-
return to<float>(THIS->frequency());
|
33
|
-
}
|
34
|
-
|
35
|
-
|
36
|
-
static Class cSineWave;
|
37
|
-
|
38
|
-
void
|
39
|
-
Init_beeps_sine_wave ()
|
40
|
-
{
|
41
|
-
Module mBeeps = rb_define_module("Beeps");
|
42
|
-
|
43
|
-
cSineWave = mBeeps.define_class("SineWave", Beeps::processor_class());
|
44
|
-
rb_define_alloc_func(cSineWave, alloc);
|
45
|
-
rb_define_method(cSineWave, "frequency=", RUBY_METHOD_FUNC(set_frequency), 1);
|
46
|
-
rb_define_method(cSineWave, "frequency", RUBY_METHOD_FUNC(frequency), 0);
|
47
|
-
}
|
48
|
-
|
49
|
-
|
50
|
-
namespace Beeps
|
51
|
-
{
|
52
|
-
|
53
|
-
|
54
|
-
Class
|
55
|
-
sine_wave_class ()
|
56
|
-
{
|
57
|
-
return cSineWave;
|
58
|
-
}
|
59
|
-
|
60
|
-
|
61
|
-
}// Beeps
|
@@ -1,61 +0,0 @@
|
|
1
|
-
#include "beeps/ruby/processor.h"
|
2
|
-
|
3
|
-
|
4
|
-
#include "defs.h"
|
5
|
-
|
6
|
-
|
7
|
-
RUCY_DEFINE_VALUE_FROM_TO(Beeps::SquareWave)
|
8
|
-
|
9
|
-
#define THIS to<Beeps::SquareWave*>(self)
|
10
|
-
|
11
|
-
#define CHECK RUCY_CHECK_OBJECT(Beeps::SquareWave, self)
|
12
|
-
|
13
|
-
|
14
|
-
static
|
15
|
-
VALUE alloc(VALUE klass)
|
16
|
-
{
|
17
|
-
return new_type<Beeps::SquareWave>(klass);
|
18
|
-
}
|
19
|
-
|
20
|
-
static
|
21
|
-
VALUE set_frequency(VALUE self, VALUE frequency)
|
22
|
-
{
|
23
|
-
CHECK;
|
24
|
-
THIS->set_frequency(frequency.as_f(true));
|
25
|
-
return self;
|
26
|
-
}
|
27
|
-
|
28
|
-
static
|
29
|
-
VALUE frequency(VALUE self)
|
30
|
-
{
|
31
|
-
CHECK;
|
32
|
-
return to<float>(THIS->frequency());
|
33
|
-
}
|
34
|
-
|
35
|
-
|
36
|
-
static Class cSquareWave;
|
37
|
-
|
38
|
-
void
|
39
|
-
Init_beeps_square_wave ()
|
40
|
-
{
|
41
|
-
Module mBeeps = rb_define_module("Beeps");
|
42
|
-
|
43
|
-
cSquareWave = mBeeps.define_class("SquareWave", Beeps::processor_class());
|
44
|
-
rb_define_alloc_func(cSquareWave, alloc);
|
45
|
-
rb_define_method(cSquareWave, "frequency=", RUBY_METHOD_FUNC(set_frequency), 1);
|
46
|
-
rb_define_method(cSquareWave, "frequency", RUBY_METHOD_FUNC(frequency), 0);
|
47
|
-
}
|
48
|
-
|
49
|
-
|
50
|
-
namespace Beeps
|
51
|
-
{
|
52
|
-
|
53
|
-
|
54
|
-
Class
|
55
|
-
square_wave_class ()
|
56
|
-
{
|
57
|
-
return cSquareWave;
|
58
|
-
}
|
59
|
-
|
60
|
-
|
61
|
-
}// Beeps
|
data/ext/beeps/sawtooth_wave.cpp
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
#include "beeps/ruby/processor.h"
|
2
|
-
|
3
|
-
|
4
|
-
#include "defs.h"
|
5
|
-
|
6
|
-
|
7
|
-
RUCY_DEFINE_VALUE_FROM_TO(Beeps::SawtoothWave)
|
8
|
-
|
9
|
-
#define THIS to<Beeps::SawtoothWave*>(self)
|
10
|
-
|
11
|
-
#define CHECK RUCY_CHECK_OBJECT(Beeps::SawtoothWave, self)
|
12
|
-
|
13
|
-
|
14
|
-
static
|
15
|
-
RUCY_DEF_ALLOC(alloc, klass)
|
16
|
-
{
|
17
|
-
return new_type<Beeps::SawtoothWave>(klass);
|
18
|
-
}
|
19
|
-
RUCY_END
|
20
|
-
|
21
|
-
static
|
22
|
-
RUCY_DEF1(set_frequency, frequency)
|
23
|
-
{
|
24
|
-
CHECK;
|
25
|
-
THIS->set_frequency(frequency.as_f(true));
|
26
|
-
return self;
|
27
|
-
}
|
28
|
-
RUCY_END
|
29
|
-
|
30
|
-
static
|
31
|
-
RUCY_DEF0(frequency)
|
32
|
-
{
|
33
|
-
CHECK;
|
34
|
-
return to<float>(THIS->frequency());
|
35
|
-
}
|
36
|
-
RUCY_END
|
37
|
-
|
38
|
-
|
39
|
-
static Class cSawtoothWave;
|
40
|
-
|
41
|
-
void
|
42
|
-
Init_beeps_sawtooth_wave ()
|
43
|
-
{
|
44
|
-
Module mBeeps = define_module("Beeps");
|
45
|
-
|
46
|
-
cSawtoothWave = mBeeps.define_class("SawtoothWave", Beeps::processor_class());
|
47
|
-
cSawtoothWave.define_alloc_func(alloc);
|
48
|
-
cSawtoothWave.define_method("frequency=", set_frequency);
|
49
|
-
cSawtoothWave.define_method("frequency", frequency);
|
50
|
-
}
|
51
|
-
|
52
|
-
|
53
|
-
namespace Beeps
|
54
|
-
{
|
55
|
-
|
56
|
-
|
57
|
-
Class
|
58
|
-
sawtooth_wave_class ()
|
59
|
-
{
|
60
|
-
return cSawtoothWave;
|
61
|
-
}
|
62
|
-
|
63
|
-
|
64
|
-
}// Beeps
|
data/ext/beeps/sine_wave.cpp
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
#include "beeps/ruby/processor.h"
|
2
|
-
|
3
|
-
|
4
|
-
#include "defs.h"
|
5
|
-
|
6
|
-
|
7
|
-
RUCY_DEFINE_VALUE_FROM_TO(Beeps::SineWave)
|
8
|
-
|
9
|
-
#define THIS to<Beeps::SineWave*>(self)
|
10
|
-
|
11
|
-
#define CHECK RUCY_CHECK_OBJECT(Beeps::SineWave, self)
|
12
|
-
|
13
|
-
|
14
|
-
static
|
15
|
-
RUCY_DEF_ALLOC(alloc, klass)
|
16
|
-
{
|
17
|
-
return new_type<Beeps::SineWave>(klass);
|
18
|
-
}
|
19
|
-
RUCY_END
|
20
|
-
|
21
|
-
static
|
22
|
-
RUCY_DEF1(set_frequency, frequency)
|
23
|
-
{
|
24
|
-
CHECK;
|
25
|
-
THIS->set_frequency(frequency.as_f(true));
|
26
|
-
return self;
|
27
|
-
}
|
28
|
-
RUCY_END
|
29
|
-
|
30
|
-
static
|
31
|
-
RUCY_DEF0(frequency)
|
32
|
-
{
|
33
|
-
CHECK;
|
34
|
-
return to<float>(THIS->frequency());
|
35
|
-
}
|
36
|
-
RUCY_END
|
37
|
-
|
38
|
-
|
39
|
-
static Class cSineWave;
|
40
|
-
|
41
|
-
void
|
42
|
-
Init_beeps_sine_wave ()
|
43
|
-
{
|
44
|
-
Module mBeeps = define_module("Beeps");
|
45
|
-
|
46
|
-
cSineWave = mBeeps.define_class("SineWave", Beeps::processor_class());
|
47
|
-
cSineWave.define_alloc_func(alloc);
|
48
|
-
cSineWave.define_method("frequency=", set_frequency);
|
49
|
-
cSineWave.define_method("frequency", frequency);
|
50
|
-
}
|
51
|
-
|
52
|
-
|
53
|
-
namespace Beeps
|
54
|
-
{
|
55
|
-
|
56
|
-
|
57
|
-
Class
|
58
|
-
sine_wave_class ()
|
59
|
-
{
|
60
|
-
return cSineWave;
|
61
|
-
}
|
62
|
-
|
63
|
-
|
64
|
-
}// Beeps
|
data/ext/beeps/square_wave.cpp
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
#include "beeps/ruby/processor.h"
|
2
|
-
|
3
|
-
|
4
|
-
#include "defs.h"
|
5
|
-
|
6
|
-
|
7
|
-
RUCY_DEFINE_VALUE_FROM_TO(Beeps::SquareWave)
|
8
|
-
|
9
|
-
#define THIS to<Beeps::SquareWave*>(self)
|
10
|
-
|
11
|
-
#define CHECK RUCY_CHECK_OBJECT(Beeps::SquareWave, self)
|
12
|
-
|
13
|
-
|
14
|
-
static
|
15
|
-
RUCY_DEF_ALLOC(alloc, klass)
|
16
|
-
{
|
17
|
-
return new_type<Beeps::SquareWave>(klass);
|
18
|
-
}
|
19
|
-
RUCY_END
|
20
|
-
|
21
|
-
static
|
22
|
-
RUCY_DEF1(set_frequency, frequency)
|
23
|
-
{
|
24
|
-
CHECK;
|
25
|
-
THIS->set_frequency(frequency.as_f(true));
|
26
|
-
return self;
|
27
|
-
}
|
28
|
-
RUCY_END
|
29
|
-
|
30
|
-
static
|
31
|
-
RUCY_DEF0(frequency)
|
32
|
-
{
|
33
|
-
CHECK;
|
34
|
-
return to<float>(THIS->frequency());
|
35
|
-
}
|
36
|
-
RUCY_END
|
37
|
-
|
38
|
-
|
39
|
-
static Class cSquareWave;
|
40
|
-
|
41
|
-
void
|
42
|
-
Init_beeps_square_wave ()
|
43
|
-
{
|
44
|
-
Module mBeeps = define_module("Beeps");
|
45
|
-
|
46
|
-
cSquareWave = mBeeps.define_class("SquareWave", Beeps::processor_class());
|
47
|
-
cSquareWave.define_alloc_func(alloc);
|
48
|
-
cSquareWave.define_method("frequency=", set_frequency);
|
49
|
-
cSquareWave.define_method("frequency", frequency);
|
50
|
-
}
|
51
|
-
|
52
|
-
|
53
|
-
namespace Beeps
|
54
|
-
{
|
55
|
-
|
56
|
-
|
57
|
-
Class
|
58
|
-
square_wave_class ()
|
59
|
-
{
|
60
|
-
return cSquareWave;
|
61
|
-
}
|
62
|
-
|
63
|
-
|
64
|
-
}// Beeps
|