[Summary] Progressing TRACKs like mixer

[git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 465076]
This commit is contained in:
Valeriy Kamyshniy 2014-06-02 06:37:18 -05:00 committed by Paul Davis
parent b25e95ef60
commit 451c902616
3 changed files with 18 additions and 11 deletions

View file

@ -78,12 +78,11 @@ GainMeterBase::GainMeterBase (Session* s, bool horizontal, int fader_length, int
next_release_selects = false;
_width = Wide;
if (horizontal) {
gain_slider = manage (new HSliderController (&gain_adjustment, fader_length, fader_girth, false));
} else {
gain_slider = manage (new VSliderController (&gain_adjustment, fader_length, fader_girth, false));
gain_slider->set_image(::get_icon("fader_handle"));
}
gain_slider = manage (new Fader (gain_adjustment,
"slider_controller_fader.png",
"slider_controller_fader_handle.png",
"slider_controller_fader_handle.png",
10, 187, 10, 0));
level_meter = new LevelMeterHBox(_session);
@ -555,7 +554,7 @@ void
GainMeterBase::update_gain_sensitive ()
{
bool x = !(_amp->gain_control()->alist()->automation_state() & Play);
static_cast<Gtkmm2ext::SliderController*>(gain_slider)->set_sensitive (x);
gain_slider->set_sensitive (x);
}
static MeterPoint

View file

@ -42,7 +42,7 @@
#include "gtkmm2ext/click_box.h"
#include "gtkmm2ext/focus_entry.h"
#include "gtkmm2ext/slider_controller.h"
#include "gtkmm2ext/fader.h"
#include "enums.h"
#include "level_meter.h"
@ -90,7 +90,7 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
boost::shared_ptr<PBD::Controllable> get_controllable();
LevelMeterHBox& get_level_meter() const { return *level_meter; }
Gtkmm2ext::SliderController& get_gain_slider() const { return *gain_slider; }
Gtkmm2ext::Fader& get_gain_slider() const { return *gain_slider; }
/** Emitted in the GUI thread when a button is pressed over the level meter;
* return true if the event is handled.
@ -111,7 +111,7 @@ class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
bool ignore_toggle;
bool next_release_selects;
Gtkmm2ext::SliderController *gain_slider;
Gtkmm2ext::Fader *gain_slider;
Gtk::Adjustment gain_adjustment;
Gtkmm2ext::FocusEntry gain_display;
Gtk::Button peak_display;

View file

@ -26,6 +26,9 @@
#include <gtkmm/drawingarea.h>
#include <gtkmm/adjustment.h>
#include <gdkmm.h>
#include <gtkmm2ext/binding_proxy.h>
#include <boost/shared_ptr.hpp>
#include "gtkmm2ext/visibility.h"
@ -45,6 +48,8 @@ class LIBGTKMM2EXT_API Fader : public Gtk::DrawingArea
virtual ~Fader ();
void set_controllable (boost::shared_ptr<PBD::Controllable> c) { binding_proxy.set_controllable (c); }
void set_default_value (float);
protected:
@ -61,11 +66,14 @@ class LIBGTKMM2EXT_API Fader : public Gtk::DrawingArea
bool on_enter_notify_event (GdkEventCrossing* ev);
bool on_leave_notify_event (GdkEventCrossing* ev);
protected:
Gtk::Adjustment& adjustment;
BindingProxy binding_proxy;
private:
Glib::RefPtr<Gdk::Pixbuf> _handle_pixbuf;
Glib::RefPtr<Gdk::Pixbuf> _active_handle_pixbuf;
Glib::RefPtr<Gdk::Pixbuf> _face_pixbuf;
Gtk::Adjustment& adjustment;
int _min_pos_x;
int _min_pos_y;
int _max_pos_x;