diff --git a/samplebrain/src/main.cpp b/samplebrain/src/main.cpp index 30d673f..73bffc7 100644 --- a/samplebrain/src/main.cpp +++ b/samplebrain/src/main.cpp @@ -98,7 +98,7 @@ int main(int argc, char *argv[]) */ brain source; - ifstream ifs("shosta.brain",ios::binary); + ifstream ifs("mix.brain",ios::binary); ifs||source; ifs.close(); @@ -124,7 +124,7 @@ int main(int argc, char *argv[]) rr.get_params()->m_num_synapses=40; rr.set_slide_error(3400.5); rr.set_search_algo(renderer::SYNAPTIC); - rr.set_target_mix(0.2); + rr.set_target_mix(0.9); rr.set_stretch(10); a->start_recording("debug"); a->m_client.set_callback(run_audio, &rr); diff --git a/samplebrain/src/renderer.cpp b/samplebrain/src/renderer.cpp index 42cf1b4..7b60854 100644 --- a/samplebrain/src/renderer.cpp +++ b/samplebrain/src/renderer.cpp @@ -33,7 +33,7 @@ void renderer::init(brain &source, brain &target) { m_search_algo=BASIC; m_slide_error=1; m_target_index=0; - m_target_counter=0; + m_render_index=0; m_stretch=1; m_last_tgt_shift=0; } @@ -44,7 +44,7 @@ void renderer::reset() { m_target_time=0; m_render_time=0; m_target_index=0; - m_target_counter=0; + m_render_index=0; m_render_blocks.clear(); m_source.jiggle(); } @@ -59,15 +59,21 @@ void renderer::process(u32 nframes, float *buf) { clean_up(); m_render_time+=nframes; - m_target_time+=nframes/(float)m_stretch; + //m_target_time+=nframes/(float)m_stretch; } +// target_time = samples time into target stream +// render_time = position in output stream, updated per process - used for offsets + bool renderer::find_render_blocks(u32 nframes) { // get new blocks from source for the current buffer // where are we phase? u32 tgt_shift = m_target.get_block_size()-m_target.get_overlap(); + m_target_index = m_target_time/(float)tgt_shift; u32 tgt_end = (m_target_time+nframes)/(float)tgt_shift; + u32 rnd_end = (m_render_time+nframes)/(float)tgt_shift; + // stuff has changed - recompute and abort if (tgt_shift!=m_last_tgt_shift || @@ -79,23 +85,26 @@ bool renderer::find_render_blocks(u32 nframes) { return false; } - -/* cerr<<"-----------------"<