From 1f9fde78db3e0ddbdb63b43cb243cc7b007a46f0 Mon Sep 17 00:00:00 2001 From: Dave Griffiths Date: Mon, 13 Jul 2015 00:26:30 +0100 Subject: [PATCH] jiggery pokery and crash fixes --- samplebrain/qt/audio_thread.cpp | 2 +- samplebrain/qt/process_thread.cpp | 5 +++-- samplebrain/src/brain.cpp | 1 + samplebrain/src/renderer.cpp | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/samplebrain/qt/audio_thread.cpp b/samplebrain/qt/audio_thread.cpp index 8f2b693..9c64fd6 100644 --- a/samplebrain/qt/audio_thread.cpp +++ b/samplebrain/qt/audio_thread.cpp @@ -10,11 +10,11 @@ audio_thread::audio_thread(process_thread &p) : m_brain_mutex(p.m_brain_mutex), m_osc("8888") { + start_audio(); pthread_mutex_lock(m_brain_mutex); m_renderer = new renderer(p.m_source,p.m_target); pthread_mutex_unlock(m_brain_mutex); m_osc.run(); - start_audio(); } void audio_thread::start_audio() { diff --git a/samplebrain/qt/process_thread.cpp b/samplebrain/qt/process_thread.cpp index 78ebaf8..7543294 100644 --- a/samplebrain/qt/process_thread.cpp +++ b/samplebrain/qt/process_thread.cpp @@ -51,7 +51,7 @@ void process_thread::process() { m_source_block_size = cmd.get_int(0); } if (name=="/source_overlap") { - m_source_overlap = m_source_block_size-m_source_block_size/cmd.get_float(0); + m_source_overlap = m_source_block_size*cmd.get_float(0); } if (name=="/generate_brain") { pthread_mutex_lock(m_brain_mutex); @@ -68,7 +68,8 @@ void process_thread::process() { m_target_block_size = cmd.get_int(0); } if (name=="/target_overlap") { - m_target_overlap = m_target_block_size-m_target_block_size/cmd.get_float(0); + m_target_overlap = m_target_block_size*cmd.get_float(0); + cerr<=block_size) overlap=0; while (pos+block_size-1=m_target.get_num_blocks()) { + if (tgt_end>=m_target.get_num_blocks() || m_source.get_num_blocks()==0) { m_render_time=0; m_render_blocks.clear(); // next time...