|
4 | 4 | #include <stdio.h> |
5 | 5 | #include <stdlib.h> |
6 | 6 | #include <fstream> |
7 | | - |
8 | | -//brstm stuff |
9 | | - |
10 | | -unsigned int HEAD1_codec; //char |
11 | | -unsigned int HEAD1_loop; //char |
12 | | -unsigned int HEAD1_num_channels; //char |
13 | | -unsigned int HEAD1_sample_rate; |
14 | | -unsigned long HEAD1_loop_start; |
15 | | -unsigned long HEAD1_total_samples; |
16 | | -unsigned long HEAD1_ADPCM_offset; |
17 | | -unsigned long HEAD1_total_blocks; |
18 | | -unsigned long HEAD1_blocks_size; |
19 | | -unsigned long HEAD1_blocks_samples; |
20 | | -unsigned long HEAD1_final_block_size; |
21 | | -unsigned long HEAD1_final_block_samples; |
22 | | -unsigned long HEAD1_final_block_size_p; |
23 | | -unsigned long HEAD1_samples_per_ADPC; |
24 | | -unsigned long HEAD1_bytes_per_ADPC; |
25 | | - |
26 | | -unsigned int HEAD2_num_tracks; |
27 | | -unsigned int HEAD2_track_type; |
28 | | - |
29 | | -unsigned int HEAD2_track_num_channels[8] = {0,0,0,0,0,0,0,0}; |
30 | | -unsigned int HEAD2_track_lchannel_id [8] = {0,0,0,0,0,0,0,0}; |
31 | | -unsigned int HEAD2_track_rchannel_id [8] = {0,0,0,0,0,0,0,0}; |
32 | | -//type 1 only |
33 | | -unsigned int HEAD2_track_volume [8] = {0,0,0,0,0,0,0,0}; |
34 | | -unsigned int HEAD2_track_panning [8] = {0,0,0,0,0,0,0,0}; |
35 | | -//HEAD3 |
36 | | -unsigned int HEAD3_num_channels; |
37 | | -int16_t* PCM_samples[16]; |
38 | | - |
39 | | -int16_t* PCM_buffer[16]; //unused in this program |
40 | | - |
41 | | -unsigned long written_samples=0; |
42 | | - |
43 | | -unsigned long readLen = HEAD1_blocks_samples; |
44 | | - |
45 | | -//TODO: add getters for more vars to make everything work |
46 | | - |
47 | 7 | #include "brstm.h" |
48 | 8 |
|
49 | 9 | Brstm* brstmp; |
@@ -79,10 +39,10 @@ extern "C" unsigned long gHEAD1_blocks_samples(){ |
79 | 39 |
|
80 | 40 | extern "C" int16_t** getBufferBlock(unsigned long sampleOffset){ |
81 | 41 | //Prevent reading garbage from outside the file |
82 | | - std::cout << HEAD1_total_samples << " " << sampleOffset << " " << brstmp->blocks_samples << " " << readLen << std::endl; |
83 | | - if ((sampleOffset + brstmp->blocks_samples) > brstmp->total_samples) {readLen = HEAD1_total_samples - sampleOffset; std::cout << "End";} |
| 42 | +// std::cout << brstmp->total_samples << " " << sampleOffset << " " << brstmp->blocks_samples << " " << readLen << std::endl; |
| 43 | +// if ((sampleOffset + brstmp->blocks_samples) > brstmp->total_samples) {readLen = brstmp->total_samples - sampleOffset; std::cout << "End";} |
84 | 44 | brstm_fstream_getbuffer(brstmp, brstmfile, sampleOffset, brstmp->blocks_samples); |
85 | | - return PCM_buffer; |
| 45 | + return brstmp->PCM_buffer; |
86 | 46 | } |
87 | 47 | extern "C" void closeBrstm(){ |
88 | 48 | brstm_close(brstmp); |
|
0 commit comments