feat: add a bounded WAV sampler with looping, relinking and saved presets
This commit is contained in:
parent
159fa939a1
commit
35bf6a00a1
24 changed files with 213 additions and 32 deletions
|
|
@ -9,6 +9,7 @@
|
|||
#include <stdlib.h>
|
||||
#include <pthread.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
|
||||
void *__real_malloc(size_t size);
|
||||
void *__real_calloc(size_t count, size_t size);
|
||||
|
|
@ -156,15 +157,16 @@ static void history_reservations(void)
|
|||
static void builtin_failures(void)
|
||||
{
|
||||
unsigned int id;
|
||||
for(id=0;id<4;++id) {
|
||||
for(id=0;id<5;++id) {
|
||||
int failure, succeeded=0; xtc_plugin_spec spec;
|
||||
assert(xtc_plugin_probe(XTC_BUILTIN_PATH,id,48000,&spec)==XTC_OK);
|
||||
if(id==4) {assert(getcwd(spec.sample_path,sizeof(spec.sample_path)));strcat(spec.sample_path,"/examples/projects/original-pluck.wav");}
|
||||
for(failure=0;failure<16;++failure) {
|
||||
xtc_plugin *plugin=NULL; xtc_result result; float in[256]={0},out[256];
|
||||
fail_after=failure;result=xtc_plugin_create(&spec,48000,256,&plugin);fail_after=-1;
|
||||
if(result!=XTC_OK) {assert(result==XTC_ERR_OUT_OF_MEMORY && !plugin);continue;}
|
||||
processing=1;
|
||||
if(id<2) {xtc_midi_event event={0,XTC_MIDI_NOTE_ON,0,60,100};
|
||||
if(spec.instrument) {xtc_midi_event event={0,XTC_MIDI_NOTE_ON,0,60,100};
|
||||
assert(xtc_plugin_process_midi(plugin,&event,1,out,256)==XTC_OK);
|
||||
} else assert(xtc_plugin_process(plugin,in,out,256)==XTC_OK);
|
||||
processing=0;xtc_plugin_destroy(plugin);succeeded=1;break;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue