summaryrefslogtreecommitdiff
path: root/noncore/multimedia/powerchord/gs.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/powerchord/gs.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/powerchord/gs.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/noncore/multimedia/powerchord/gs.cpp b/noncore/multimedia/powerchord/gs.cpp
index a3e85c9..fdcfb74 100644
--- a/noncore/multimedia/powerchord/gs.cpp
+++ b/noncore/multimedia/powerchord/gs.cpp
@@ -15,12 +15,13 @@
#include <string.h>
#include <stdlib.h>
//#include <qpainter.h>
#include <qmessagebox.h>
+#include <qstring.h>
gs::gs()
{
finger[0] = OPEN;
@@ -63,40 +64,44 @@ gs::gs()
for (reverb_ptr=0;reverb_ptr<1024;reverb_ptr++){
reverb[reverb_ptr] = 0;
}
reverb_ptr = 0;
reverb_max = 1024;
- // load sampled 'E' string
+ // load sampled 'E' string
int samplen = 25000;
signed short *dsp_buf = (signed short *)malloc(samplen * sizeof(signed short));
signed short *dsp_buf_ptr = dsp_buf;
int raw_fd;
- raw_fd = open(ACGUITAR_PATH_S, O_RDONLY);
-
+
+ QString path = getenv( "OPIEDIR" );
+ path.append( "/share/powerchord/acguitar.raw" );
+
+ raw_fd = open( (const char*) path, O_RDONLY);
+
if (raw_fd < 0){
fprintf(stderr, "Failed to open raw file (%s)\n", strerror(errno));
exit(-1);
}
int totread = 0;
int i;
-
+
while (totread < samplen*2){
int want = samplen*2 - totread;
int numread = read(raw_fd, dsp_buf_ptr, want);
fprintf(stderr, "read %d bytes\n", numread);
totread += numread;
dsp_buf_ptr += numread/2;
-
+
if (numread == 0){
fprintf(stderr, "failed to read bytes\n");
- exit(-1);
+ exit(-1);
}
}
close(raw_fd);
// scale down a bit for mixing