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
This commit is contained in:
Paul Davis 2008-02-21 18:37:00 +00:00
parent 280ade047c
commit cdf37e613b
25 changed files with 354 additions and 192 deletions

View file

@ -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;
}
}