diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2010-03-17 16:01:58 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2010-03-17 16:01:58 +0000 |
commit | 8caed20c973636343a8a337dc78b34a399b74d78 (patch) | |
tree | a4a0136e581109c92faae36b4aa1d8913c355071 /gtk2_ardour | |
parent | da3f9e3e079049884fea2ad1cc4c84aa2e404b76 (diff) |
fixes for various consistency/settings issues in monitor section; minor edit to PACKAGER_README
git-svn-id: svn://localhost/ardour2/branches/3.0@6771 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/monitor_section.cc | 76 |
1 files changed, 53 insertions, 23 deletions
diff --git a/gtk2_ardour/monitor_section.cc b/gtk2_ardour/monitor_section.cc index ca40dc614a..8909a1649c 100644 --- a/gtk2_ardour/monitor_section.cc +++ b/gtk2_ardour/monitor_section.cc @@ -692,35 +692,32 @@ MonitorSection::map_state () } } - act = ActionManager::get_action (X_("Monitor"), "monitor-solo"); - if (act) { - Glib::RefPtr<RadioAction> ract = Glib::RefPtr<RadioAction>::cast_dynamic (act); - if (ract) { - ract->set_active (_monitor->mono()); - } - } - act = ActionManager::get_action (X_("Monitor"), "monitor-cut-all"); if (act) { - Glib::RefPtr<RadioAction> ract = Glib::RefPtr<RadioAction>::cast_dynamic (act); - if (ract) { - ract->set_active (_monitor->cut_all()); + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); + if (tact) { + cerr << "Set monitor cut all action to " << _monitor->cut_all () << endl; + tact->set_active (_monitor->cut_all()); + } else { + cerr << " no global cut action\n"; } + } else { + cerr << " no global cut action2\n"; } act = ActionManager::get_action (X_("Monitor"), "monitor-dim-all"); if (act) { - Glib::RefPtr<RadioAction> ract = Glib::RefPtr<RadioAction>::cast_dynamic (act); - if (ract) { - ract->set_active (_monitor->dim_all()); + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); + if (tact) { + tact->set_active (_monitor->dim_all()); } } - + act = ActionManager::get_action (X_("Monitor"), "monitor-mono"); if (act) { - Glib::RefPtr<RadioAction> ract = Glib::RefPtr<RadioAction>::cast_dynamic (act); - if (ract) { - ract->set_active (_monitor->mono()); + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); + if (tact) { + tact->set_active (_monitor->mono()); } } @@ -729,11 +726,44 @@ MonitorSection::map_state () assert (nchans == _channel_buttons.size ()); for (uint32_t n = 0; n < nchans; ++n) { - ChannelButtonSet* cbs = _channel_buttons[n]; - cbs->cut.set_active (_monitor->cut (n)); - cbs->dim.set_active (_monitor->dimmed (n)); - cbs->solo.set_active (_monitor->soloed (n)); - cbs->invert.set_active (_monitor->inverted (n)); + + char action_name[32]; + + snprintf (action_name, sizeof (action_name), "monitor-cut-%u", n+1); + act = ActionManager::get_action (X_("Monitor"), action_name); + if (act) { + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); + if (tact) { + tact->set_active (_monitor->cut (n)); + } + } + + snprintf (action_name, sizeof (action_name), "monitor-dim-%u", n+1); + act = ActionManager::get_action (X_("Monitor"), action_name); + if (act) { + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); + if (tact) { + tact->set_active (_monitor->dimmed (n)); + } + } + + snprintf (action_name, sizeof (action_name), "monitor-solo-%u", n+1); + act = ActionManager::get_action (X_("Monitor"), action_name); + if (act) { + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); + if (tact) { + tact->set_active (_monitor->soloed (n)); + } + } + + snprintf (action_name, sizeof (action_name), "monitor-invert-%u", n+1); + act = ActionManager::get_action (X_("Monitor"), action_name); + if (act) { + Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (act); + if (tact) { + tact->set_active (_monitor->inverted (n)); + } + } } } |