#include <limits.h>
-#include "ardour/io.h"
-#include "ardour/dB.h"
#include <gtkmm2ext/utils.h>
#include <gtkmm2ext/barcontroller.h>
+
#include "midi++/manager.h"
#include "pbd/fastlog.h"
+#include "ardour/pannable.h"
+#include "ardour/panner.h"
+#include "ardour/panner_shell.h"
+#include "ardour/session.h"
+
#include "ardour_ui.h"
#include "panner_ui.h"
#include "panner2d.h"
#include "stereo_panner.h"
#include "mono_panner.h"
-#include "ardour/delivery.h"
-#include "ardour/session.h"
-#include "ardour/panner.h"
-#include "ardour/pannable.h"
-#include "ardour/panner_shell.h"
-#include "ardour/route.h"
-
#include "i18n.h"
using namespace std;
pan_astate_menu->items().clear ();
}
- pan_astate_menu->items().push_back (MenuElem (_("Manual"), sigc::bind (
+ /** TRANSLATORS: this is `Manual' in the sense of automation not being played,
+ so that changes to pan must be done by hand.
+ */
+ pan_astate_menu->items().push_back (MenuElem (S_("Automation|Manual"), sigc::bind (
sigc::mem_fun (_panner.get(), &Panner::set_automation_state),
- (AutoState) Off)));
+ (AutoState) ARDOUR::Off)));
pan_astate_menu->items().push_back (MenuElem (_("Play"), sigc::bind (
sigc::mem_fun (_panner.get(), &Panner::set_automation_state),
(AutoState) Play)));
pan_astyle_menu->items().push_back (MenuElem (_("Abs")));
}
-boost::shared_ptr<PBD::Controllable>
-PannerUI::get_controllable()
-{
- assert (!pan_bars.empty());
- return pan_bars[0]->get_controllable();
-}
-
void
PannerUI::on_size_allocate (Allocation& a)
{
PannerUI::~PannerUI ()
{
- for (vector<MonoPanner*>::iterator i = pan_bars.begin(); i != pan_bars.end(); ++i) {
- delete (*i);
- }
-
delete twod_panner;
delete big_window;
delete pan_menu;
bypass_menu_item->signal_toggled().connect (sigc::mem_fun(*this, &PannerUI::pan_bypass_toggle));
items.push_back (MenuElem (_("Reset"), sigc::mem_fun (*this, &PannerUI::pan_reset)));
+ items.push_back (MenuElem (_("Edit..."), sigc::mem_fun (*this, &PannerUI::pan_edit)));
}
void
}
}
+void
+PannerUI::pan_edit ()
+{
+ if (_mono_panner) {
+ _mono_panner->edit ();
+ } else if (_stereo_panner) {
+ _stereo_panner->edit ();
+ }
+}
+
void
PannerUI::pan_reset ()
{
_stereo_panner->queue_draw ();
} else if (twod_panner) {
twod_panner->queue_draw ();
- } else {
- for (vector<MonoPanner*>::iterator i = pan_bars.begin(); i != pan_bars.end(); ++i) {
- (*i)->queue_draw ();
- }
- }
+ }
}
void
break;
}
- bool x = (pannable->automation_state() != Off);
+ bool x = (pannable->automation_state() != ARDOUR::Off);
if (pan_automation_state_button.get_active() != x) {
ignore_toggle = true;
string sstr;
switch (state) {
- case Off:
+ case ARDOUR::Off:
sstr = (shrt ? "M" : _("M"));
break;
case Play: