diff options
author | Jesse Chappell <jesse@essej.net> | 2006-12-16 05:14:34 +0000 |
---|---|---|
committer | Jesse Chappell <jesse@essej.net> | 2006-12-16 05:14:34 +0000 |
commit | 732a482f439f6df818b90634a5abb1b5d64ff05e (patch) | |
tree | 4b0a7c70665ff01b7ca88c79c7e0ab23f28796c8 /gtk2_ardour/audio_time_axis.cc | |
parent | df9bb392efc120e30321f9d03bc0241ad32c4ce4 (diff) |
added logarithmic option for waveform scaling. added save/restore of rectified and logscale waveform options in session. modified sconstruct to look for certain libs in some common locations, this should be usable controllable but isnt yet. deals better with the libsndfile build when flac is installed.
git-svn-id: svn://localhost/ardour2/trunk@1219 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_time_axis.cc')
-rw-r--r-- | gtk2_ardour/audio_time_axis.cc | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc index 45c8700a6a..81ef046eeb 100644 --- a/gtk2_ardour/audio_time_axis.cc +++ b/gtk2_ardour/audio_time_axis.cc @@ -253,14 +253,40 @@ AudioTimeAxisView::append_extra_display_menu_items () waveform_item->set_active (editor.show_waveforms()); ignore_toggle = false; + waveform_items.push_back (SeparatorElem()); + RadioMenuItem::Group group; - + waveform_items.push_back (RadioMenuElem (group, _("Traditional"), bind (mem_fun(*this, &AudioTimeAxisView::set_waveform_shape), Traditional))); traditional_item = static_cast<RadioMenuItem *> (&waveform_items.back()); waveform_items.push_back (RadioMenuElem (group, _("Rectified"), bind (mem_fun(*this, &AudioTimeAxisView::set_waveform_shape), Rectified))); rectified_item = static_cast<RadioMenuItem *> (&waveform_items.back()); + waveform_items.push_back (SeparatorElem()); + + RadioMenuItem::Group group2; + + waveform_items.push_back (RadioMenuElem (group2, _("Linear"), bind (mem_fun(*this, &AudioTimeAxisView::set_waveform_scale), LinearWaveform))); + linearscale_item = static_cast<RadioMenuItem *> (&waveform_items.back()); + + waveform_items.push_back (RadioMenuElem (group2, _("Logarithmic"), bind (mem_fun(*this, &AudioTimeAxisView::set_waveform_scale), LogWaveform))); + logscale_item = static_cast<RadioMenuItem *> (&waveform_items.back()); + + // setting initial item state + AudioStreamView* asv = audio_view(); + if (asv) { + ignore_toggle = true; + if (asv->get_waveform_shape() == Rectified) + rectified_item->set_active(true); + else traditional_item->set_active(true); + + if (asv->get_waveform_scale() == LogWaveform) + logscale_item->set_active(true); + else linearscale_item->set_active(true); + ignore_toggle = false; + } + items.push_back (MenuElem (_("Waveform"), *waveform_menu)); } @@ -303,7 +329,7 @@ AudioTimeAxisView::set_waveform_shape (WaveformShape shape) { AudioStreamView* asv = audio_view(); - if (asv) { + if (asv && !ignore_toggle) { asv->set_waveform_shape (shape); } @@ -311,6 +337,18 @@ AudioTimeAxisView::set_waveform_shape (WaveformShape shape) } void +AudioTimeAxisView::set_waveform_scale (WaveformScale scale) +{ + AudioStreamView* asv = audio_view(); + + if (asv && !ignore_toggle) { + asv->set_waveform_scale (scale); + } + + map_frozen (); +} + +void AudioTimeAxisView::add_gain_automation_child () { XMLProperty* prop; |