beeps 0.1.32 → 0.1.34
Sign up to get free protection for your applications and to get access to all the features.
- 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 +14 -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 +14 -2
- data/src/file_in.cpp +94 -0
- data/src/gain.cpp +55 -0
- data/src/mic_in.cpp +271 -0
- data/src/mic_in.h +22 -0
- data/src/openal.cpp +1 -2
- 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
|