Je me réintéresse (enfin) au sujet.
Je sais qu'il y a quelques amateurs sur ce forum.
Donc je cherche à faire un vst instrument, le plus petit possible, implémentant le minimum requis. Je n'arrive pas à trouver de la doc décrivant le minimum à faire pour que ça marche.
Voilà ce que j'ai, apparemment ça ne suffit pas, j'ai une erreur au chargement dans fruityloops :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 // Synth2.h #ifndef SYNTH2 #define SYNTH2 #include "public.sdk/source/vst2.x/audioeffectx.h" class Synth2 : public AudioEffectX { //------------------------------------ Standard Services ------------------------------------ public: Synth2( audioMasterCallback audioMaster ); ~Synth2(); //------------------------------------ Virtual Services ------------------------------------ public: // Main sound processing callback virtual void processReplacing( float** inputs, float** outputs, VstInt32 sampleFrames ); }; #endif // define SYNTH2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 // Synth2.cpp #include "Synth2.h" #include <cstdlib> #include <ctime> #include <algorithm> struct GenNormRandNum { float operator() () { return ( float( std::rand() ) / RAND_MAX ) * 2 - 1; } }; Synth2::Synth2( audioMasterCallback audioMaster ) : AudioEffectX( audioMaster, 0, 0 ) { // initialize programs if (audioMaster) { setNumInputs (0); // no inputs setNumOutputs ( 2 ); // 2 outputs, 1 for each oscillator canProcessReplacing (); isSynth (); setUniqueID ('Syn2'); // <<<! *must* change this!!!! std::srand( std::time( NULL ) ); } } Synth2::~Synth2() { } void Synth2::processReplacing( float **inputs, float **outputs, VstInt32 sampleFrames ) { float* out1 = outputs[0]; float* out2 = outputs[1]; std::generate_n( out1, sampleFrames, GenNormRandNum() ); std::copy( out1, out1 + sampleFrames, out2 ); }J'ai du oublié qqc mais quoi ? merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // main.cpp #include "Synth2.h" AudioEffect* createEffectInstance( audioMasterCallback audioMaster ) { return new Synth2( audioMaster ); }![]()
Partager