Remove per-track mono option, as it seems somewhat useless now that we have a mix mono button in the monitor section.

git-svn-id: svn://localhost/ardour2/branches/3.0@8675 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2011-02-02 02:06:30 +00:00
parent 04724c21b6
commit 1b0b7849ee
6 changed files with 5 additions and 59 deletions

View File

@ -1358,8 +1358,6 @@ MixerStrip::build_route_ops_menu ()
MenuList& items = route_ops_menu->items();
items.push_back (CheckMenuElem (_("Mono"), sigc::mem_fun (*this, &MixerStrip::toggle_mono)));
_mono_menu_item = dynamic_cast<CheckMenuItem*> (&items.back ());
items.push_back (CheckMenuElem (_("Comments..."), sigc::mem_fun (*this, &MixerStrip::toggle_comment)));
_comment_menu_item = dynamic_cast<CheckMenuItem*> (&items.back ());
items.push_back (MenuElem (_("Save As Template..."), sigc::mem_fun(*this, &RouteUI::save_as_template)));
@ -1893,12 +1891,6 @@ MixerStrip::on_leave_notify_event (GdkEventCrossing* ev)
return false;
}
void
MixerStrip::toggle_mono ()
{
panners.set_mono (_mono_menu_item->get_active ());
}
PluginSelector*
MixerStrip::plugin_selector()
{

View File

@ -191,7 +191,6 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
void comment_editor_done_editing ();
void setup_comment_editor ();
void toggle_comment ();
void toggle_mono ();
Gtk::Button group_button;
Gtk::Label group_label;
@ -217,7 +216,6 @@ class MixerStrip : public RouteUI, public Gtk::EventBox
void diskstream_changed ();
Gtk::Menu *send_action_menu;
Gtk::CheckMenuItem* _mono_menu_item;
Gtk::CheckMenuItem* _comment_menu_item;
Gtk::MenuItem* rename_menu_item;
void build_send_action_menu ();

View File

@ -424,7 +424,7 @@ PannerUI::effective_pan_display ()
void
PannerUI::update_pan_sensitive ()
{
bool const sensitive = !(_panner->is_mono()) && !(_panner->pannable()->automation_state() & Play);
bool const sensitive = !(_panner->pannable()->automation_state() & Play);
#ifdef PANNER_HACKS
pan_vbox.set_sensitive (sensitive);
@ -584,13 +584,6 @@ PannerUI::_astyle_string (AutoStyle style, bool shrt)
}
}
void
PannerUI::set_mono (bool yn)
{
_panner->set_mono (yn);
update_pan_sensitive ();
}
void
PannerUI::show_width ()
{

View File

@ -79,7 +79,6 @@ class PannerUI : public Gtk::HBox, public ARDOUR::SessionHandlePtr
void set_meter_strip_name (std::string name);
boost::shared_ptr<PBD::Controllable> get_controllable();
void set_mono (bool);
void on_size_allocate (Gtk::Allocation &);
static void setup_slider_pix ();

View File

@ -83,9 +83,6 @@ class Panner : public PBD::Stateful, public PBD::ScopedConnectionList
virtual bool bypassed() const { return _bypassed; }
virtual void set_bypassed (bool yn);
virtual bool is_mono () const { return _mono; }
virtual void set_mono (bool);
void set_automation_state (AutoState);
AutoState automation_state() const;
void set_automation_style (AutoStyle);
@ -128,8 +125,7 @@ class Panner : public PBD::Stateful, public PBD::ScopedConnectionList
* @param nframes Number of frames in the input.
*
* Derived panners can choose to implement these if they need to gain more control over the panning algorithm.
* the default is to (1) check if _mono is true, and if so, just deliver .. (2) otherwise, call
* distribute_one() or distribute_one_automated() on each input buffer to deliver it to each output
* the default is to call distribute_one() or distribute_one_automated() on each input buffer to deliver it to each output
* buffer.
*
* If a panner does not need to override this default behaviour, it can just implement
@ -141,7 +137,7 @@ class Panner : public PBD::Stateful, public PBD::ScopedConnectionList
pan_t** buffers);
PBD::Signal0<void> Changed; /* for positional info */
PBD::Signal0<void> StateChanged; /* for mute, mono */
PBD::Signal0<void> StateChanged; /* for mute */
int set_state (const XMLNode&, int version);
virtual XMLNode& state (bool full_state) = 0;
@ -162,7 +158,6 @@ class Panner : public PBD::Stateful, public PBD::ScopedConnectionList
protected:
boost::shared_ptr<Pannable> _pannable;
bool _mono;
bool _bypassed;
XMLNode& get_state ();

View File

@ -29,7 +29,6 @@ using namespace ARDOUR;
Panner::Panner (boost::shared_ptr<Pannable> p)
: _pannable (p)
, _mono (0)
{
}
@ -46,25 +45,12 @@ Panner::set_bypassed (bool yn)
}
}
void
Panner::set_mono (bool yn)
{
if (yn != _mono) {
_mono = yn;
StateChanged ();
}
}
int
Panner::set_state (const XMLNode& node, int version)
{
const XMLProperty* prop;
XMLNodeConstIterator iter;
if ((prop = node.property (X_("mono")))) {
set_mono (string_is_affirmative (prop->value()));
}
if ((prop = node.property (X_("bypassed"))) != 0) {
set_bypassed (string_is_affirmative (prop->value()));
}
@ -77,7 +63,6 @@ Panner::get_state ()
{
XMLNode* node = new XMLNode (X_("Panner"));
node->add_property (X_("mono"), (_mono ? "yes" : "no"));
node->add_property (X_("bypassed"), (bypassed() ? "yes" : "no"));
return *node;
@ -89,15 +74,7 @@ Panner::distribute (BufferSet& ibufs, BufferSet& obufs, gain_t gain_coeff, pfram
uint32_t which = 0;
for (BufferSet::audio_iterator src = ibufs.audio_begin(); src != ibufs.audio_end(); ++src, ++which) {
if (_mono) {
/* we're in mono mode, so just pan the input to all outputs equally (XXX should we scale?) */
for (BufferSet::audio_iterator o = obufs.audio_begin(); o != obufs.audio_end(); ++o) {
mix_buffers_with_gain ((*o).data(), (*src).data(), nframes, gain_coeff);
}
} else {
/* normal mode, call the `real' distribute method */
distribute_one (*src, obufs, gain_coeff, nframes, which);
}
distribute_one (*src, obufs, gain_coeff, nframes, which);
}
}
@ -108,15 +85,7 @@ Panner::distribute_automated (BufferSet& ibufs, BufferSet& obufs,
uint32_t which = 0;
for (BufferSet::audio_iterator src = ibufs.audio_begin(); src != ibufs.audio_end(); ++src, ++which) {
if (_mono) {
/* we're in mono mode, so just pan the input to all outputs equally (XXX should we scale?) */
for (BufferSet::audio_iterator o = obufs.audio_begin(); o != obufs.audio_end(); ++o) {
mix_buffers_with_gain ((*o).data(), (*src).data(), nframes, 1.0);
}
} else {
/* normal mode, call the `real' distribute method */
distribute_one_automated (*src, obufs, start, end, nframes, buffers, which);
}
distribute_one_automated (*src, obufs, start, end, nframes, buffers, which);
}
}