Ardour  9.0-pre0-582-g084a23a80d
audio_streamview.h
Go to the documentation of this file.
1 /*
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>
6  *
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.
11  *
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.
16  *
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.
20  */
21 
22 #pragma once
23 
24 #include <cmath>
25 #include <list>
26 #include <memory>
27 #include <map>
28 
29 
30 #include "ardour/location.h"
31 #include "point_selection.h"
32 #include "editing.h"
33 #include "streamview.h"
34 
35 namespace Gdk {
36  class Color;
37 }
38 
39 namespace ARDOUR {
40  class AudioRegion;
41  class Route;
42  class Source;
43  struct PeakData;
44 }
45 
46 class PublicEditor;
47 class Selectable;
48 class AudioTimeAxisView;
49 class AudioRegionView;
50 class RegionSelection;
51 class Selection;
52 
54 {
55 public:
58 
59  int set_amplitude_above_axis (gdouble app);
61 
62  void show_all_fades ();
63  void hide_all_fades ();
64 
65  std::pair<std::list<AudioRegionView*>, std::list<AudioRegionView*> > hide_xfades_with (std::shared_ptr<ARDOUR::AudioRegion> ar);
66 
67  RegionView* create_region_view (std::shared_ptr<ARDOUR::Region>, bool, bool);
69 
70  void reload_waves ();
71 
73 
75 
76 private:
77  void setup_rec_box ();
78  void rec_peak_range_ready (samplepos_t start, ARDOUR::samplecnt_t cnt, std::weak_ptr<ARDOUR::Source> src);
80 
81  RegionView* add_region_view_internal (std::shared_ptr<ARDOUR::Region>, bool wait_for_waves, bool recording = false);
82  void remove_audio_region_view (std::shared_ptr<ARDOUR::AudioRegion> );
83 
84  void redisplay_track ();
85 
86  void color_handler ();
87 
89 
90  std::map<std::shared_ptr<ARDOUR::Source>, bool> rec_data_ready_map;
91 
93 
95 };
96 
RegionView * create_region_view(std::shared_ptr< ARDOUR::Region >, bool, bool)
void show_all_fades()
void color_handler()
void rec_peak_range_ready(samplepos_t start, ARDOUR::samplecnt_t cnt, std::weak_ptr< ARDOUR::Source > src)
std::pair< std::list< AudioRegionView * >, std::list< AudioRegionView * > > hide_xfades_with(std::shared_ptr< ARDOUR::AudioRegion > ar)
void update_rec_regions(ARDOUR::samplepos_t, ARDOUR::samplecnt_t)
AudioStreamView(AudioTimeAxisView &)
double _amplitude_above_axis
gdouble get_amplitude_above_axis()
void hide_all_fades()
std::map< std::shared_ptr< ARDOUR::Source >, bool > rec_data_ready_map
ArdourCanvas::Container * region_canvas() const
void remove_audio_region_view(std::shared_ptr< ARDOUR::AudioRegion >)
void redisplay_track()
ArdourCanvas::Container * _region_group
void set_selected_points(PointSelection &)
void setup_rec_box()
int set_amplitude_above_axis(gdouble app)
void set_layer_display(LayerDisplay)
RegionView * add_region_view_internal(std::shared_ptr< ARDOUR::Region >, bool wait_for_waves, bool recording=false)
Representation of the interface of the Editor class.
Lists of selected things.
LayerDisplay
PBD::PropertyDescriptor< timepos_t > start
Temporal::samplecnt_t samplecnt_t
Temporal::samplepos_t samplepos_t