Make route list tab LEDs follow record state correctly.
[ardour.git] / gtk2_ardour / audio_streamview.h
index a05275fa20831cafae726c506b7a53893b0798f3..93c74c5bb2bc086ec6aede0d98ab7c709bb7439f 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2001, 2006 Paul Davis 
+    Copyright (C) 2001, 2006 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
@@ -36,7 +36,6 @@ namespace Gdk {
 
 namespace ARDOUR {
        class Route;
-       class Diskstream;
        class Crossfade;
        class PeakData;
        class AudioRegion;
@@ -54,7 +53,7 @@ class Selection;
 class AudioStreamView : public StreamView
 {
   public:
-       AudioStreamView (AudioTimeAxisViewPtr);
+       AudioStreamView (AudioTimeAxisView&);
        ~AudioStreamView ();
 
        int set_samples_per_unit (gdouble spp);
@@ -63,7 +62,6 @@ class AudioStreamView : public StreamView
        gdouble get_amplitude_above_axis () { return _amplitude_above_axis; }
 
        void set_show_waveforms (bool yn);
-       void set_show_waveforms_recording (bool yn) { use_rec_regions = yn; }
 
        void foreach_crossfadeview (void (CrossfadeView::*pmf)(void));
 
@@ -79,40 +77,36 @@ class AudioStreamView : public StreamView
 
   private:
        void setup_rec_box ();
-       void rec_peak_range_ready (nframes_t start, nframes_t cnt, boost::weak_ptr<ARDOUR::Source> src); 
+       void rec_peak_range_ready (nframes_t start, nframes_t cnt, boost::weak_ptr<ARDOUR::Source> src);
        void update_rec_regions ();
-       
+
        RegionView* add_region_view_internal (boost::shared_ptr<ARDOUR::Region>, bool wait_for_waves, bool recording = false);
        void remove_region_view (boost::weak_ptr<ARDOUR::Region> );
        void remove_audio_region_view (boost::shared_ptr<ARDOUR::AudioRegion> );
 
-       void undisplay_diskstream ();
-       void redisplay_diskstream ();
-       void playlist_modified_weak (boost::weak_ptr<ARDOUR::Diskstream>);
-       void playlist_modified (boost::shared_ptr<ARDOUR::Diskstream>);
-       void playlist_changed_weak (boost::weak_ptr<ARDOUR::Diskstream>);
-       void playlist_changed (boost::shared_ptr<ARDOUR::Diskstream>);
+       void undisplay_track ();
+       void redisplay_track ();
+       void playlist_layered (boost::weak_ptr<ARDOUR::Track>);
+       void playlist_switched (boost::weak_ptr<ARDOUR::Track>);
 
-       void add_crossfade (boost::shared_ptr<ARDOUR::Crossfade>);
-       void add_crossfade_weak (boost::weak_ptr<ARDOUR::Crossfade>);
+       void add_crossfade (boost::weak_ptr<ARDOUR::Crossfade>);
        void remove_crossfade (boost::shared_ptr<ARDOUR::Region>);
 
        void color_handler ();
 
        void update_contents_height ();
+       void update_content_height (CrossfadeView *);
 
        void parameter_changed (std::string const &);
        void set_waveform_shape (ARDOUR::WaveformShape);
        void set_waveform_scale (ARDOUR::WaveformScale);
-       
+
        double _amplitude_above_axis;
-       
-       typedef std::list<CrossfadeView*> CrossfadeViewList;
+
+       typedef std::map<boost::shared_ptr<ARDOUR::Crossfade>, CrossfadeView*> CrossfadeViewList;
        CrossfadeViewList crossfade_views;
        bool              crossfades_visible;
 
-       std::list<sigc::connection>                  rec_data_ready_connections;
-       nframes_t                                    last_rec_data_frame;
        std::map<boost::shared_ptr<ARDOUR::Source>, bool> rec_data_ready_map;
 
        bool outline_region;