1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-05 14:18:53 +02:00
2010-01-24 09:19:39 +00:00

51 lines
1.2 KiB
C++

/* stk path initialization */
#include "stdlib.h"
#include "string.h"
// #include "instr.h"
#include "Stk.h"
#include "stkinit.h"
#ifdef __cplusplus
extern "C" {
#endif
#include "xlisp.h"
#ifdef __cplusplus
}
#endif
using namespace Nyq;
const char *rawwave_path = NULL;
extern "C" void stk_init()
{
/* wherever the sinewave.raw file is, that will become
* the rawwave_path for STK
*/
char filename[32];
strcpy(filename, "rawwaves");
filename[8] = os_pathchar;
filename[9] = '\0';
strcat(filename, "sinewave.raw");
/* find_in_xlisp_path returns const char *, but we're going to
* alter it to get just the path, so we have to coerce out the
* const attribute
*/
char *path = (char *) find_in_xlisp_path(filename);
if (!path) {
errputstr("\nERROR: Could not find sinewave.raw in rawwaves. Something is wrong with the installation or configuration.\n\n");
rawwave_path = "";
return;
}
/* remove sinewave.raw to get just the path */
path[strlen(path) - 12] = '\0';
rawwave_path = strcpy((char *) malloc(strlen(path) + 1), path); /* keep a copy */
/* note: rawwave_path is allocated but never freed */
Stk::setRawwavePath(path); // PJM
}