2 * Copyright (C) 2006-2012 David Robillard <d@drobilla.net>
3 * Copyright (C) 2007-2012 Carl Hetherington <carl@carlh.net>
4 * Copyright (C) 2007-2017 Paul Davis <paul@linuxaudiosystems.com>
5 * Copyright (C) 2007 Doug McLain <doug@nostar.net>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 #ifndef __ardour_audio_streamview_h__
23 #define __ardour_audio_streamview_h__
29 #include <boost/weak_ptr.hpp>
31 #include "ardour/location.h"
32 #include "point_selection.h"
34 #include "streamview.h"
49 class AudioTimeAxisView;
50 class AudioRegionView;
51 class RegionSelection;
54 class AudioStreamView : public StreamView
57 AudioStreamView (AudioTimeAxisView&);
59 int set_amplitude_above_axis (gdouble app);
60 gdouble get_amplitude_above_axis () { return _amplitude_above_axis; }
62 void show_all_fades ();
63 void hide_all_fades ();
65 std::pair<std::list<AudioRegionView*>, std::list<AudioRegionView*> > hide_xfades_with (boost::shared_ptr<ARDOUR::AudioRegion> ar);
67 RegionView* create_region_view (boost::shared_ptr<ARDOUR::Region>, bool, bool);
68 void set_selected_points (PointSelection&);
71 void setup_rec_box ();
72 void rec_peak_range_ready (samplepos_t start, ARDOUR::samplecnt_t cnt, boost::weak_ptr<ARDOUR::Source> src);
73 void update_rec_regions (ARDOUR::samplepos_t, ARDOUR::samplecnt_t);
75 RegionView* add_region_view_internal (boost::shared_ptr<ARDOUR::Region>, bool wait_for_waves, bool recording = false);
76 void remove_audio_region_view (boost::shared_ptr<ARDOUR::AudioRegion> );
78 void redisplay_track ();
80 void color_handler ();
82 double _amplitude_above_axis;
84 std::map<boost::shared_ptr<ARDOUR::Source>, bool> rec_data_ready_map;
89 #endif /* __ardour_audio_streamview_h__ */