Skip to content

Commit b713f25

Browse files
committed
Correction du bug aléatoire d'ouverture des tables sur win 7
-> inclusion de dr_wav Signed-off-by: Edge <mayatito51@hotmail.com>
1 parent 8656ce1 commit b713f25

3 files changed

Lines changed: 4400 additions & 35 deletions

File tree

src/K_Rush.cpp

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@
66
#include <fstream>
77
#include <string>
88

9-
10-
9+
#include "dep/dr_wav.h"
1110

1211

1312
using namespace std;
@@ -23,9 +22,9 @@ struct Diode{
2322
RCFilter filter1;
2423

2524
string plug_directory = assetPlugin(plugin, "res/waves2/");
26-
float wave[64][256]={{0}};
25+
float wave[64][256]={{0.0f}};
2726
const string wavefiles[64]={"00.wav","01.wav","02.wav","03.wav","04.wav","05.wav","06.wav","07.wav","08.wav","09.wav","10.wav","11.wav","12.wav","13.wav","14.wav","15.wav","16.wav","17.wav","18.wav","19.wav","20.wav","21.wav","22.wav","23.wav","24.wav","25.wav","26.wav","27.wav","28.wav","29.wav","30.wav","31.wav","32.wav","33.wav","34.wav","35.wav","36.wav","37.wav","38.wav","39.wav","40.wav","41.wav","42.wav","43.wav","44.wav","45.wav","46.wav","47.wav","48.wav","49.wav","50.wav","51.wav","52.wav","53.wav","54.wav","55.wav","56.wav","57.wav","58.wav","59.wav","60.wav","61.wav","62.wav","63.wav"};
28-
FILE *wave_f = NULL;
27+
2928
short temp_buf[256]={0};
3029
bool tab_loaded = false;
3130
float out = 0.0f;
@@ -36,21 +35,15 @@ struct Diode{
3635

3736
for(int j=0; j<64; j++){
3837
string file_name = plug_directory+wavefiles[j];
39-
const char *c = file_name.c_str();
40-
wave_f = NULL;
41-
wave_f = fopen(c,"r");
42-
if(wave_f!=NULL){
43-
fseek(wave_f,44,SEEK_SET);
44-
fread(temp_buf,sizeof(temp_buf),256,wave_f);
45-
for(int i = 0; i<256 ; i++){
46-
wave[j][i] = ((float)temp_buf[i])/pow(256,2);
47-
}
48-
fclose(wave_f);
49-
}
50-
else{
51-
j=0;
52-
38+
const char *chemin = file_name.c_str();
39+
unsigned int channels;
40+
unsigned int sampleRate;
41+
drwav_uint64 totalPCMFrameCount;
42+
float* pSampleData = drwav_open_file_and_read_pcm_frames_f32(chemin, &channels, &sampleRate, &totalPCMFrameCount);
43+
for(int i = 0; i<256 ; i++){
44+
wave[j][i] = pSampleData[i]/2.0f;
5345
}
46+
drwav_free(pSampleData);;
5447
}
5548
tab_loaded = true;
5649
}
@@ -106,7 +99,7 @@ struct Diode{
10699
interp_l+= interpolateLinear(wave[(int)type],index)*coef1f;
107100
interp_l+= interpolateLinear(wave[(int)type+1],index)*coef2f;
108101

109-
Ov_Buffer[i] *= 1- ((clamp((gain-1),0.0f,8.0f)*0.3)*(interp_l+0.5f));
102+
Ov_Buffer[i] *= 1- ((clamp((gain-1),0.0f,8.0f)*0.2)*(interp_l+0.5f));
110103

111104

112105
Ov_Buffer[i] *= (gain*2.0f);

src/WCO_Osc.cpp

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
#include <string>
99

1010

11+
#define DR_WAV_IMPLEMENTATION
12+
#include "dep/dr_wav.h"
1113

1214

1315
using namespace std;
@@ -34,8 +36,7 @@ struct VoltageControlledOscillator {
3436
bool syncDirection = false;
3537
bool invert = false;
3638
bool tab_loaded = false;
37-
//FILE * temp_file_out = NULL;
38-
FILE * wave_f = NULL;
39+
3940
short temp_buf[256]={0};
4041
float mid_phase = 0.0f;
4142
float buf_wavefront[256]={0};
@@ -62,21 +63,15 @@ struct VoltageControlledOscillator {
6263

6364
for(int j=0; j<64; j++){
6465
string file_name = plug_directory+wavefiles[j];
65-
const char *c = file_name.c_str();
66-
wave_f = NULL;
67-
wave_f = fopen(c,"r");
68-
if(wave_f!=NULL){
69-
fseek(wave_f,44,SEEK_SET);
70-
fread(temp_buf,sizeof(temp_buf),256,wave_f);
71-
for(int i = 0; i<256 ; i++){
72-
wave[j][i] = ((float)temp_buf[i])/pow(256,2);
73-
}
74-
fclose(wave_f);
75-
}
76-
else{
77-
j=0;
78-
66+
const char *chemin = file_name.c_str();
67+
unsigned int channels;
68+
unsigned int sampleRate;
69+
drwav_uint64 totalPCMFrameCount;
70+
float* pSampleData = drwav_open_file_and_read_pcm_frames_f32(chemin, &channels, &sampleRate, &totalPCMFrameCount);
71+
for(int i = 0; i<256 ; i++){
72+
wave[j][i] = pSampleData[i]/2.0f;
7973
}
74+
drwav_free(pSampleData);;
8075
}
8176
tab_loaded = true;
8277
}

0 commit comments

Comments
 (0)