mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2026-09-10 16:49:36 +00:00
Add sliding-frequency audio receiver tuning
This commit is contained in:
@@ -83,8 +83,10 @@ class FrequencyScale : public Widget {
|
||||
bool on_touch(const TouchEvent touch) override;
|
||||
|
||||
void set_spectrum_sampling_rate(const int new_sampling_rate);
|
||||
void set_channel_filter(const int low_frequency, const int high_frequency, const int transition);
|
||||
void set_channel_filter(const int offset, const int low_frequency, const int high_frequency, const int transition);
|
||||
void set_cursor_position(const int32_t position);
|
||||
void set_live_tuning(const bool enabled) { live_tuning = enabled; }
|
||||
bool is_live_tuning() const { return live_tuning; }
|
||||
|
||||
void paint(Painter& painter) override;
|
||||
|
||||
@@ -94,15 +96,19 @@ class FrequencyScale : public Widget {
|
||||
int32_t cursor_position{0};
|
||||
int spectrum_sampling_rate{0};
|
||||
const int spectrum_bins = std::tuple_size<decltype(ChannelSpectrum::db)>::value;
|
||||
int channel_filter_offset{0};
|
||||
int channel_filter_low_frequency{0};
|
||||
int channel_filter_high_frequency{0};
|
||||
int channel_filter_transition{0};
|
||||
bool live_tuning{false};
|
||||
|
||||
void clear();
|
||||
void clear_background(Painter& painter, const Rect r);
|
||||
|
||||
void draw_frequency_ticks(Painter& painter, const Rect r);
|
||||
void draw_filter_ranges(Painter& painter, const Rect r);
|
||||
void redraw_filter_cursor(const int old_offset);
|
||||
void restore_tick_lines(Painter& painter, const Rect r, const Rect dirty);
|
||||
};
|
||||
|
||||
/* NB: These visualizations rely on having a baseband image running.
|
||||
@@ -147,6 +153,7 @@ class WaterfallView : public View {
|
||||
void set_parent_rect(const Rect new_parent_rect) override;
|
||||
void show_audio_spectrum_view(const bool show);
|
||||
void load_gradient();
|
||||
void set_live_tuning(const bool enabled) { frequency_scale.set_live_tuning(enabled); }
|
||||
|
||||
private:
|
||||
void update_widgets_rect();
|
||||
|
||||
Reference in New Issue
Block a user