From 6213bdb1e8211b60ebb137d93377074df4781a6c Mon Sep 17 00:00:00 2001 From: idea4good Date: Wed, 16 Jan 2019 13:24:09 +0800 Subject: [PATCH] refactor wave --- core/src/wave_buffer.cpp | 3 +-- core/src/wave_ctrl.cpp | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/core/src/wave_buffer.cpp b/core/src/wave_buffer.cpp index 3438f71..48bfe77 100644 --- a/core/src/wave_buffer.cpp +++ b/core/src/wave_buffer.cpp @@ -57,8 +57,7 @@ int c_wave_buffer::read_wave_data_by_frame(short &max, short &min, short len, un ASSERT(FALSE); } - if(((m_refresh_sqence & 0xff) == (seq & 0xff)) && - ((m_refresh_sqence & 0xffff0000) != (seq & 0xffff0000))) + if(((m_refresh_sqence & 0xff) == (seq & 0xff))) { max = m_fb_max[offset]; min = m_fb_min[offset]; diff --git a/core/src/wave_ctrl.cpp b/core/src/wave_ctrl.cpp index b38371f..2c63d7d 100644 --- a/core/src/wave_ctrl.cpp +++ b/core/src/wave_ctrl.cpp @@ -16,8 +16,8 @@ }while(0) #define WAVE_CURSOR_WIDTH 8 -#define DATA_THRESHOLD 4 #define WAVE_LINE_WIDTH 1 +#define WAVE_MARGIN 5 c_wave_ctrl::c_wave_ctrl() { @@ -43,10 +43,10 @@ void c_wave_ctrl::on_init_children() c_rect rect; get_screen_rect(rect); - m_wave_left = rect.m_left + 22; - m_wave_right = rect.m_right; - m_wave_top = rect.m_top + 2; - m_wave_bottom = rect.m_bottom - 4; + m_wave_left = rect.m_left + WAVE_MARGIN; + m_wave_right = rect.m_right - WAVE_MARGIN; + m_wave_top = rect.m_top + WAVE_MARGIN; + m_wave_bottom = rect.m_bottom - WAVE_MARGIN; m_wave_cursor = m_wave_left; m_bg_fb = (unsigned int*)calloc(rect.Width() * rect.Height(), 4); @@ -112,8 +112,7 @@ bool c_wave_ctrl::is_data_enough() ASSERT(FALSE); return false; } - return ((m_frame_len_map[m_frame_len_map_index] * m_wave_speed - m_wave->get_cnt()) < - DATA_THRESHOLD)?true:false; + return (m_wave->get_cnt() - m_frame_len_map[m_frame_len_map_index] * m_wave_speed); } void c_wave_ctrl::refresh_wave(unsigned char frame) @@ -124,14 +123,14 @@ void c_wave_ctrl::refresh_wave(unsigned char frame) return; } - short max, min, mid, speed; - speed = m_wave_speed; - while(--speed >= 0) + short max, min, mid, offset; + offset = m_wave_speed; + while(--offset >= 0) { //get wave value mid = m_wave->read_wave_data_by_frame(max, min, m_frame_len_map[m_frame_len_map_index++], - (frame | (speed << 8) | (((unsigned long)this & 0xffff) << 16))); + (frame | (offset << 8))); m_frame_len_map_index %= sizeof(m_frame_len_map); //gain switch(m_gain)