Diffstat (limited to 'noncore/multimedia/powerchord/gs.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/powerchord/gs.cpp | 17 |
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 |