diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-21 18:37:00 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2008-02-21 18:37:00 +0000 |
commit | cdf37e613b773c5b64e82697f36a489d6bd40771 (patch) | |
tree | 8d9eff90fca9f487a87c099fd13aa148844c6ee0 /gtk2_ardour/editor.cc | |
parent | 280ade047c5fc2f8ae7a9ed004810f144e4be096 (diff) |
fix deadlock in playlist::partition(); new first idle model, including message about loading visual data; make h-faders use scroll up/down and be scalable-clickable; new track menu stuff (waveform scaling/shape); fix up ordering of ruler menus; fix initial sensitivity of region menu operations
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3097 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor.cc')
-rw-r--r-- | gtk2_ardour/editor.cc | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 5dc5842f4c..3878325c27 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -1120,6 +1120,10 @@ Editor::connect_to_session (Session *t) { session = t; + /* there are never any selected regions at startup */ + + sensitize_the_right_region_actions (false); + XMLNode* node = ARDOUR_UI::instance()->editor_settings(); set_state (*node); @@ -2277,7 +2281,7 @@ Editor::set_state (const XMLNode& node) if ((prop = node.property ("show-waveforms"))) { bool yn = (prop->value() == "yes"); _show_waveforms = !yn; - RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("ToggleWaveformVisibility")); + RefPtr<Action> act = ActionManager::get_action (X_("Editor"), X_("toggle-waveform-visible")); if (act) { RefPtr<ToggleAction> tact = RefPtr<ToggleAction>::cast_dynamic(act); /* do it twice to force the change */ @@ -4489,3 +4493,27 @@ Editor::show_rhythm_ferret () rhythm_ferret->show (); rhythm_ferret->present (); } + +void +Editor::first_idle () +{ + MessageDialog* dialog = 0; + + if (track_views.size() > 1) { + dialog = new MessageDialog (*this, + _("Please wait while Ardour loads visual data"), + true, + Gtk::MESSAGE_INFO, + Gtk::BUTTONS_NONE); + dialog->present (); + ARDOUR_UI::instance()->flush_pending (); + } + + for (TrackViewList::iterator t = track_views.begin(); t != track_views.end(); ++t) { + (*t)->first_idle(); + } + + if (dialog) { + delete dialog; + } +} |