blob: b5da36884737f013e5797708a58839fbc9de7f80 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#include <stdlib.h>
#include <stdio.h>
#include "wrapper.h"
#define FILENAME "/tmp/modplayjs.mod"
#ifdef __cplusplus
extern "C" {
#endif
void* initialize_player(char* filename) {
player* p = new player(filename);
if (p->valid()) {
return p;
}
free_player(p);
return NULL;
}
buf_wrap* read_from_player(void* ptr, bool loop) {
player* p = reinterpret_cast<player*>(ptr);
return p->read(loop);
}
void free_buffer(buf_wrap* ptr) {
delete[] (float*)ptr->buf;
delete ptr;
}
void free_player(void* ptr) {
if (ptr != NULL) {
delete reinterpret_cast<player*>(ptr);
}
}
char* write_to_file(void* ptr, int size) {
char* filename = FILENAME;
FILE* p = fopen(filename, "wb");
if (p == NULL) {
return NULL;
}
fwrite(ptr, size, 1, p);
fclose(p);
free(ptr);
return filename;
}
#ifdef __cplusplus
} /* extern "C" */
#endif
|