mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-05 14:18:53 +02:00
51 lines
1.2 KiB
C++
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
|
|
}
|
|
|
|
|