-
Notifications
You must be signed in to change notification settings - Fork 7
/
test_wrapper.cpp
82 lines (72 loc) · 1.93 KB
/
test_wrapper.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "wrapper.h"
void play() {
using namespace imajuscule;
using namespace audio;
using namespace audioelement;
harmonicProperties_t har[10]{
{0.f, 1.f},
{0.f, 0.f},
{0.f, 0.f},
{0.f, 0.f},
{0.f, 0.f},
{0.f, 0.f},
{0.f, 0.f},
{0.f, 0.f},
{0.f, 0.f},
{0.f, 0.f},
};
midiNoteOnAHDSR_(OscillatorType::Sinus,
EnvelopeRelease::WaitForKeyRelease,
100,
27,
2560,
100,
4,
1,
12800,
22,
har,
10,
71,
1,
-1,
0);
std::this_thread::sleep_for(std::chrono::milliseconds(300));
midiNoteOffAHDSR_(OscillatorType::Sinus,
EnvelopeRelease::WaitForKeyRelease,
100,
27,
2560,
100,
4,
1,
12800,
22,
har,
10,
71,
-1,
0);
}
template<typename F>
void repeat(int n, F f) {
for (int i=0; i<n; ++i) {
f();
}
}
int sequence() {
// Reproduces the sequence of calls done by imj-game-synth when playing a note with reverb
setMaxMIDIJitter(0);
initializeAudioOutput(0.008f, 0);
useReverb_("/Users/Olivier/Dev/audio.ir/waves/Theaters/Yerba Buena Theatre/", "Yerba_xog1v2.wir");
repeat(10, play);
std::this_thread::sleep_for(std::chrono::milliseconds(1000));
teardownAudioOutput();
}
int main() {
for(int i=0; i < 10; ++i) {
std::cout << "iteration " << i << std::endl;
sequence();
}
return 0;
}