ardour
Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
MidiStreamView Class Reference

#include <midi_streamview.h>

Inheritance diagram for MidiStreamView:
StreamView PBD::ScopedConnectionList

Public Types

enum  VisibleNoteRange { FullRange, ContentsRange }
 
- Public Types inherited from StreamView
enum  ColorTarget { RegionColor, StreamBaseColor }
 

Public Member Functions

 MidiStreamView (MidiTimeAxisView &)
 
 ~MidiStreamView ()
 
void set_selected_regionviews (RegionSelection &)
 
void get_inverted_selectables (Selection &, std::list< Selectable * > &results)
 
void set_note_range (VisibleNoteRange r)
 
uint8_t lowest_note () const
 
uint8_t highest_note () const
 
void update_note_range (uint8_t note_num)
 
void redisplay_track ()
 
double contents_height () const
 
double note_to_y (uint8_t note) const
 
uint8_t y_to_note (double y) const
 
double note_height () const
 
uint8_t contents_note_range () const
 
RegionViewcreate_region_view (boost::shared_ptr< ARDOUR::Region >, bool, bool)
 
bool paste (ARDOUR::framepos_t pos, const Selection &selection, PasteContext &ctx)
 
void apply_note_range (uint8_t lowest, uint8_t highest, bool to_region_views)
 
void suspend_updates ()
 
void resume_updates ()
 
- Public Member Functions inherited from StreamView
virtual ~StreamView ()
 
RouteTimeAxisViewtrackview ()
 
const RouteTimeAxisViewtrackview () const
 
void attach ()
 
void set_zoom_all ()
 
int set_position (gdouble x, gdouble y)
 
virtual int set_height (double)
 
virtual int set_samples_per_pixel (double)
 
gdouble get_samples_per_pixel () const
 
void set_layer_display (LayerDisplay)
 
LayerDisplay layer_display () const
 
ArdourCanvas::Container * canvas_item ()
 
uint32_t get_region_color () const
 
void apply_color (uint32_t, ColorTarget t)
 
void apply_color (Gdk::Color const &, ColorTarget t)
 
uint32_t num_selected_regionviews () const
 
RegionViewfind_view (boost::shared_ptr< const ARDOUR::Region >)
 
void foreach_regionview (sigc::slot< void, RegionView * > slot)
 
void foreach_selected_regionview (sigc::slot< void, RegionView * > slot)
 
void set_selected_regionviews (RegionSelection &)
 
void get_selectables (ARDOUR::framepos_t, ARDOUR::framepos_t, double, double, std::list< Selectable * > &, bool within=false)
 
void get_inverted_selectables (Selection &, std::list< Selectable * > &results)
 
void add_region_view (boost::weak_ptr< ARDOUR::Region >)
 
void region_layered (RegionView *)
 
double child_height () const
 
ARDOUR::layer_t layers () const
 
void check_record_layers (boost::shared_ptr< ARDOUR::Region >, ARDOUR::framepos_t)
 
virtual void playlist_layered (boost::weak_ptr< ARDOUR::Track >)
 
- Public Member Functions inherited from PBD::ScopedConnectionList
 ScopedConnectionList ()
 
virtual ~ScopedConnectionList ()
 
void add_connection (const UnscopedConnection &c)
 
void drop_connections ()
 

Public Attributes

Gtk::Adjustment note_range_adjustment
 
ArdourCanvas::Container * midi_underlay_group
 
sigc::signal< void > NoteRangeChanged
 
- Public Attributes inherited from StreamView
sigc::signal< void, RegionView * > RegionViewAdded
 
sigc::signal< void > RegionViewRemoved
 
sigc::signal< void > ContentsHeightChanged
 

Protected Member Functions

void setup_rec_box ()
 
void update_rec_box ()
 
- Protected Member Functions inherited from StreamView
 StreamView (RouteTimeAxisView &, ArdourCanvas::Container *canvas_group=0)
 
void transport_changed ()
 
void transport_looped ()
 
void rec_enable_changed ()
 
void sess_rec_enable_changed ()
 
void create_rec_box (framepos_t frame_pos, double width)
 
virtual void remove_region_view (boost::weak_ptr< ARDOUR::Region >)
 
void display_track (boost::shared_ptr< ARDOUR::Track >)
 
virtual void undisplay_track ()
 
void diskstream_changed ()
 
void layer_regions ()
 
void playlist_switched (boost::weak_ptr< ARDOUR::Track >)
 
void setup_new_rec_layer_time (boost::shared_ptr< ARDOUR::Region >)
 

Private Member Functions

RegionViewadd_region_view_internal (boost::shared_ptr< ARDOUR::Region >, bool wait_for_waves, bool recording=false)
 
void display_region (MidiRegionView *region_view, bool load_model)
 
void display_track (boost::shared_ptr< ARDOUR::Track > tr)
 
void update_contents_height ()
 
void draw_note_lines ()
 
bool update_data_note_range (uint8_t min, uint8_t max)
 
void update_contents_metrics (boost::shared_ptr< ARDOUR::Region > r)
 
void color_handler ()
 
void note_range_adjustment_changed ()
 
void apply_note_range_to_regions ()
 

Private Attributes

bool _range_dirty
 
double _range_sum_cache
 
uint8_t _lowest_note
 currently visible More...
 
uint8_t _highest_note
 currently visible More...
 
uint8_t _data_note_min
 in data More...
 
uint8_t _data_note_max
 in data More...
 
ArdourCanvas::LineSet * _note_lines
 
bool _updates_suspended
 

Additional Inherited Members

- Protected Types inherited from StreamView
typedef std::list< RegionView * > RegionViewList
 
- Protected Attributes inherited from StreamView
RouteTimeAxisView_trackview
 
ArdourCanvas::Container * _canvas_group
 
ArdourCanvas::Rectangle * canvas_rect
 
RegionViewList region_views
 
double _samples_per_pixel
 
sigc::connection screen_update_connection
 
std::vector< RecBoxInforec_rects
 
std::list< std::pair
< boost::shared_ptr
< ARDOUR::Region >, RegionView * > > 
rec_regions
 
bool rec_updating
 
bool rec_active
 
uint32_t region_color
 Contained region color. More...
 
uint32_t stream_base_color
 Background color. More...
 
PBD::ScopedConnectionList playlist_connections
 
PBD::ScopedConnection playlist_switched_connection
 
ARDOUR::layer_t _layers
 
LayerDisplay _layer_display
 
double height
 
PBD::ScopedConnectionList rec_data_ready_connections
 
framepos_t last_rec_data_frame
 
framepos_t _new_rec_layer_time
 

Detailed Description

Definition at line 56 of file midi_streamview.h.

Member Enumeration Documentation

Enumerator
FullRange 
ContentsRange 

Definition at line 65 of file midi_streamview.h.

Constructor & Destructor Documentation

MidiStreamView::MidiStreamView ( MidiTimeAxisView tv)

Definition at line 59 of file midi_streamview.cc.

MidiStreamView::~MidiStreamView ( )

Definition at line 98 of file midi_streamview.cc.

Member Function Documentation

RegionView * MidiStreamView::add_region_view_internal ( boost::shared_ptr< ARDOUR::Region r,
bool  wait_for_waves,
bool  recording = false 
)
privatevirtual

Implements StreamView.

Definition at line 128 of file midi_streamview.cc.

void MidiStreamView::apply_note_range ( uint8_t  lowest,
uint8_t  highest,
bool  to_region_views 
)

Definition at line 373 of file midi_streamview.cc.

void MidiStreamView::apply_note_range_to_regions ( )
private

Definition at line 419 of file midi_streamview.cc.

void MidiStreamView::color_handler ( )
privatevirtual

Implements StreamView.

Definition at line 564 of file midi_streamview.cc.

double MidiStreamView::contents_height ( ) const
inline

Definition at line 82 of file midi_streamview.h.

uint8_t MidiStreamView::contents_note_range ( ) const
inline

Definition at line 94 of file midi_streamview.h.

RegionView * MidiStreamView::create_region_view ( boost::shared_ptr< ARDOUR::Region r,
bool  ,
bool  recording 
)
virtual

Reimplemented from StreamView.

Definition at line 103 of file midi_streamview.cc.

void MidiStreamView::display_region ( MidiRegionView region_view,
bool  load_model 
)
private

Definition at line 174 of file midi_streamview.cc.

void MidiStreamView::display_track ( boost::shared_ptr< ARDOUR::Track tr)
private

Definition at line 209 of file midi_streamview.cc.

void MidiStreamView::draw_note_lines ( )
private

Definition at line 297 of file midi_streamview.cc.

void MidiStreamView::get_inverted_selectables ( Selection ,
std::list< Selectable * > &  results 
)
uint8_t MidiStreamView::highest_note ( ) const
inline

Definition at line 76 of file midi_streamview.h.

uint8_t MidiStreamView::lowest_note ( ) const
inline

Definition at line 75 of file midi_streamview.h.

double MidiStreamView::note_height ( ) const
inline

Definition at line 91 of file midi_streamview.h.

void MidiStreamView::note_range_adjustment_changed ( )
private

Definition at line 576 of file midi_streamview.cc.

double MidiStreamView::note_to_y ( uint8_t  note) const
inline

Definition at line 85 of file midi_streamview.h.

bool MidiStreamView::paste ( ARDOUR::framepos_t  pos,
const Selection selection,
PasteContext ctx 
)

Definition at line 665 of file midi_streamview.cc.

void MidiStreamView::redisplay_track ( )
virtual

Implements StreamView.

Definition at line 247 of file midi_streamview.cc.

void MidiStreamView::resume_updates ( )

Resume updates to region note ranges and note lines, and update them now.

Definition at line 648 of file midi_streamview.cc.

void MidiStreamView::set_note_range ( VisibleNoteRange  r)

Definition at line 359 of file midi_streamview.cc.

void MidiStreamView::set_selected_regionviews ( RegionSelection )
void MidiStreamView::setup_rec_box ( )
protectedvirtual

Implements StreamView.

Definition at line 436 of file midi_streamview.cc.

void MidiStreamView::suspend_updates ( )

Suspend updates to the regions' note ranges and our note lines until resume_updates() is called.

Definition at line 639 of file midi_streamview.cc.

void MidiStreamView::update_contents_height ( )
privatevirtual

Reimplemented from StreamView.

Definition at line 287 of file midi_streamview.cc.

void MidiStreamView::update_contents_metrics ( boost::shared_ptr< ARDOUR::Region r)
privatevirtual

Reimplemented from StreamView.

Definition at line 219 of file midi_streamview.cc.

bool MidiStreamView::update_data_note_range ( uint8_t  min,
uint8_t  max 
)
private

Definition at line 232 of file midi_streamview.cc.

void MidiStreamView::update_note_range ( uint8_t  note_num)

Definition at line 429 of file midi_streamview.cc.

void MidiStreamView::update_rec_box ( )
protectedvirtual

Reimplemented from StreamView.

Definition at line 604 of file midi_streamview.cc.

uint8_t MidiStreamView::y_to_note ( double  y) const

Definition at line 621 of file midi_streamview.cc.

Member Data Documentation

uint8_t MidiStreamView::_data_note_max
private

in data

Definition at line 138 of file midi_streamview.h.

uint8_t MidiStreamView::_data_note_min
private

in data

Definition at line 137 of file midi_streamview.h.

uint8_t MidiStreamView::_highest_note
private

currently visible

Definition at line 136 of file midi_streamview.h.

uint8_t MidiStreamView::_lowest_note
private

currently visible

Definition at line 135 of file midi_streamview.h.

ArdourCanvas::LineSet* MidiStreamView::_note_lines
private

Definition at line 139 of file midi_streamview.h.

bool MidiStreamView::_range_dirty
private

Definition at line 133 of file midi_streamview.h.

double MidiStreamView::_range_sum_cache
private

Definition at line 134 of file midi_streamview.h.

bool MidiStreamView::_updates_suspended
private

true if updates to the note lines and regions are currently suspended

Definition at line 141 of file midi_streamview.h.

ArdourCanvas::Container* MidiStreamView::midi_underlay_group

Definition at line 71 of file midi_streamview.h.

Gtk::Adjustment MidiStreamView::note_range_adjustment

Definition at line 70 of file midi_streamview.h.

sigc::signal<void> MidiStreamView::NoteRangeChanged

Definition at line 97 of file midi_streamview.h.


The documentation for this class was generated from the following files: