/*
- Copyright (C) 2000-2007 Paul Davis
+ Copyright (C) 2000-2007 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
*/
-#include "ardour/location.h"
-#include "ardour/audio_diskstream.h"
+#include "ardour/rc_configuration.h"
+
+#include "canvas/canvas.h"
#include "ardour_ui.h"
#include "editor.h"
using namespace PBD;
void
-Editor::set_show_waveforms_recording (bool yn)
-{
- AudioTimeAxisView* atv;
-
- if (_show_waveforms_recording != yn) {
- _show_waveforms_recording = yn;
- for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
- if ((atv = dynamic_cast<AudioTimeAxisView*>(*i)) != 0) {
- atv->set_show_waveforms_recording (yn);
- }
- }
- }
-}
-
-gint
-Editor::start_updating ()
+Editor::start_updating_meters ()
{
RouteTimeAxisView* rtv;
- //cerr << "Editor::start_updating () called" << endl;//DEBUG
- if (is_mapped() && session) {
+ if (is_mapped() && _session) {
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
if ((rtv = dynamic_cast<RouteTimeAxisView*>(*i)) != 0) {
rtv->reset_meter ();
}
}
- if (!meters_running) {
- fast_screen_update_connection = ARDOUR_UI::SuperRapidScreenUpdate.connect (mem_fun(*this, &Editor::fast_update_strips));
- meters_running = true;
- }
- return 0;
+ meters_running = true;
}
-gint
-Editor::stop_updating ()
+void
+Editor::stop_updating_meters ()
{
RouteTimeAxisView* rtv;
-
+
meters_running = false;
- fast_screen_update_connection.disconnect();
- //cerr << "Editor::stop_updating () called" << endl;//DEBUG
- if (is_mapped() && session) {
+
+ if (is_mapped() && _session) {
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
if ((rtv = dynamic_cast<RouteTimeAxisView*>(*i)) != 0) {
rtv->hide_meter ();
}
}
}
-
- return 0;
}
void
Editor::toggle_meter_updating()
{
- if (Config->get_show_track_meters()) {
- start_updating();
+ DisplaySuspender ds;
+ if (ARDOUR_UI::config()->get_show_track_meters()) {
+ start_updating_meters ();
} else {
- stop_updating ();
+ stop_updating_meters ();
}
- track_canvas_allocate(track_canvas->get_allocation());
-}
-
-void
-Editor::fast_update_strips ()
-{
- RouteTimeAxisView* rtv;
- if (is_mapped() && session) {
- for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
- if ((rtv = dynamic_cast<RouteTimeAxisView*>(*i)) != 0) {
- rtv->fast_update ();
- }
- }
- }
+ track_canvas_viewport_allocate (_track_canvas->get_allocation());
}