ardour
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
EditorRegions Class Reference

#include <editor_regions.h>

Inheritance diagram for EditorRegions:
EditorComponent ARDOUR::SessionHandlePtr

Classes

struct  Columns
 

Public Member Functions

 EditorRegions (Editor *)
 
void set_session (ARDOUR::Session *)
 
Gtk::Widget & widget ()
 
void clear ()
 
void toggle_full ()
 
void toggle_show_auto_regions ()
 
void reset_sort_direction (bool)
 
void reset_sort_type (Editing::RegionListSortType, bool)
 
void set_selected (RegionSelection &)
 
void selection_mapover (sigc::slot< void, boost::shared_ptr< ARDOUR::Region > >)
 
boost::shared_ptr< ARDOUR::Regionget_dragged_region ()
 
boost::shared_ptr< ARDOUR::Regionget_single_selection ()
 
Editing::RegionListSortType sort_type () const
 
void redisplay ()
 
void suspend_redisplay ()
 
void resume_redisplay ()
 
void block_change_connection (bool b)
 
void unselect_all ()
 
void remove_unused_regions ()
 
XMLNodeget_state () const
 
void set_state (const XMLNode &)
 
- Public Member Functions inherited from EditorComponent
 EditorComponent (Editor *)
 
virtual ~EditorComponent ()
 
- Public Member Functions inherited from ARDOUR::SessionHandlePtr
 SessionHandlePtr (ARDOUR::Session *s)
 
 SessionHandlePtr ()
 
virtual ~SessionHandlePtr ()
 

Private Types

typedef boost::unordered_map
< boost::shared_ptr
< ARDOUR::Region >
, Gtk::TreeModel::RowReference > 
RegionRowMap
 
typedef boost::unordered_map
< std::string,
Gtk::TreeModel::RowReference > 
RegionSourceMap
 

Private Member Functions

void freeze_tree_model ()
 
void thaw_tree_model ()
 
void region_changed (boost::shared_ptr< ARDOUR::Region >, PBD::PropertyChange const &)
 
void selection_changed ()
 
bool selection_filter (const Glib::RefPtr< Gtk::TreeModel > &model, const Gtk::TreeModel::Path &path, bool yn)
 
void name_editing_started (Gtk::CellEditable *, const Glib::ustring &)
 
void name_edit (const std::string &, const std::string &)
 
void locked_changed (std::string const &)
 
void glued_changed (std::string const &)
 
void muted_changed (std::string const &)
 
void opaque_changed (std::string const &)
 
bool key_press (GdkEventKey *)
 
bool button_press (GdkEventButton *)
 
bool focus_in (GdkEventFocus *)
 
bool focus_out (GdkEventFocus *)
 
bool enter_notify (GdkEventCrossing *)
 
bool leave_notify (GdkEventCrossing *)
 
void show_context_menu (int button, int time)
 
int sorter (Gtk::TreeModel::iterator, Gtk::TreeModel::iterator)
 
void format_position (ARDOUR::framepos_t pos, char *buf, size_t bufsize, bool onoff=true)
 
void add_region (boost::shared_ptr< ARDOUR::Region >)
 
void populate_row (boost::shared_ptr< ARDOUR::Region >, Gtk::TreeModel::Row const &)
 
void populate_row_used (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used)
 
void populate_row_position (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used)
 
void populate_row_end (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used)
 
void populate_row_sync (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used)
 
void populate_row_fade_in (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used, boost::shared_ptr< ARDOUR::AudioRegion >)
 
void populate_row_fade_out (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used, boost::shared_ptr< ARDOUR::AudioRegion >)
 
void populate_row_locked (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used)
 
void populate_row_muted (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used)
 
void populate_row_glued (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used)
 
void populate_row_opaque (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row, uint32_t used)
 
void populate_row_length (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row)
 
void populate_row_name (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row)
 
void populate_row_source (boost::shared_ptr< ARDOUR::Region > region, Gtk::TreeModel::Row const &row)
 
void update_row (boost::shared_ptr< ARDOUR::Region >)
 
void update_all_rows ()
 
void insert_into_tmp_regionlist (boost::shared_ptr< ARDOUR::Region >)
 
void drag_data_received (Glib::RefPtr< Gdk::DragContext > const &, gint, gint, Gtk::SelectionData const &, guint, guint)
 
Glib::RefPtr< Gtk::RadioAction > sort_type_action (Editing::RegionListSortType) const
 
void set_full (bool)
 
Glib::RefPtr< Gtk::Action > hide_action () const
 
Glib::RefPtr< Gtk::Action > show_action () const
 
Glib::RefPtr< Gtk::Action > remove_unused_regions_action () const
 
Glib::RefPtr< Gtk::ToggleAction > toggle_full_action () const
 
Glib::RefPtr< Gtk::ToggleAction > toggle_show_auto_regions_action () const
 

Private Attributes

Columns _columns
 
Gtk::TreeModel::RowReference last_row
 
sigc::connection _change_connection
 
Gtk::Widget * old_focus
 
Gtk::CellEditable * name_editable
 
Gtk::Menu * _menu
 
Gtk::ScrolledWindow _scroller
 
Gtk::Frame _frame
 
Gtkmm2ext::DnDTreeView
< boost::shared_ptr
< ARDOUR::Region > > 
_display
 
Glib::RefPtr< Gtk::TreeStore > _model
 
bool _show_automatic_regions
 
bool ignore_region_list_selection_change
 
bool ignore_selected_region_change
 
bool _no_redisplay
 
Editing::RegionListSortType _sort_type
 
std::list< boost::shared_ptr
< ARDOUR::Region > > 
tmp_region_list
 
RegionRowMap region_row_map
 
RegionSourceMap parent_regions_sources_map
 
PBD::ScopedConnection region_property_connection
 
PBD::ScopedConnection check_new_region_connection
 
PBD::ScopedConnection editor_freeze_connection
 
PBD::ScopedConnection editor_thaw_connection
 
bool expanded
 

Additional Inherited Members

- Protected Member Functions inherited from ARDOUR::SessionHandlePtr
virtual void session_going_away ()
 
- Protected Attributes inherited from EditorComponent
Editor_editor
 
- Protected Attributes inherited from ARDOUR::SessionHandlePtr
ARDOUR::Session_session
 
PBD::ScopedConnectionList _session_connections
 

Detailed Description

Definition at line 25 of file editor_regions.h.

Member Typedef Documentation

typedef boost::unordered_map<boost::shared_ptr<ARDOUR::Region>, Gtk::TreeModel::RowReference> EditorRegions::RegionRowMap
private

Definition at line 206 of file editor_regions.h.

typedef boost::unordered_map<std::string, Gtk::TreeModel::RowReference > EditorRegions::RegionSourceMap
private

Definition at line 207 of file editor_regions.h.

Constructor & Destructor Documentation

EditorRegions::EditorRegions ( Editor e)

Definition at line 69 of file editor_regions.cc.

Member Function Documentation

void EditorRegions::add_region ( boost::shared_ptr< ARDOUR::Region region)
private

Definition at line 289 of file editor_regions.cc.

void EditorRegions::block_change_connection ( bool  b)
inline

Definition at line 63 of file editor_regions.h.

bool EditorRegions::button_press ( GdkEventButton *  ev)
private

Definition at line 1061 of file editor_regions.cc.

void EditorRegions::clear ( )

Definition at line 1338 of file editor_regions.cc.

void EditorRegions::drag_data_received ( Glib::RefPtr< Gdk::DragContext > const &  ,
gint  ,
gint  ,
Gtk::SelectionData const &  ,
guint  ,
guint   
)
private

Definition at line 1230 of file editor_regions.cc.

bool EditorRegions::enter_notify ( GdkEventCrossing *  )
private

Definition at line 255 of file editor_regions.cc.

bool EditorRegions::focus_in ( GdkEventFocus *  )
private

Definition at line 225 of file editor_regions.cc.

bool EditorRegions::focus_out ( GdkEventFocus *  )
private

Definition at line 242 of file editor_regions.cc.

void EditorRegions::format_position ( ARDOUR::framepos_t  pos,
char *  buf,
size_t  bufsize,
bool  onoff = true 
)
private

Definition at line 688 of file editor_regions.cc.

void EditorRegions::freeze_tree_model ( )
private

Definition at line 1372 of file editor_regions.cc.

boost::shared_ptr< Region > EditorRegions::get_dragged_region ( )
Returns
Region that has been dragged out of the list, or 0

Definition at line 1323 of file editor_regions.cc.

boost::shared_ptr< Region > EditorRegions::get_single_selection ( )

Definition at line 1350 of file editor_regions.cc.

XMLNode & EditorRegions::get_state ( void  ) const

Definition at line 1443 of file editor_regions.cc.

void EditorRegions::glued_changed ( std::string const &  path)
private

Definition at line 1403 of file editor_regions.cc.

RefPtr< Action > EditorRegions::hide_action ( ) const
private

Definition at line 1582 of file editor_regions.cc.

void EditorRegions::insert_into_tmp_regionlist ( boost::shared_ptr< ARDOUR::Region )
private
bool EditorRegions::key_press ( GdkEventKey *  ev)
private

Definition at line 1029 of file editor_regions.cc.

bool EditorRegions::leave_notify ( GdkEventCrossing *  )
private

Definition at line 270 of file editor_regions.cc.

void EditorRegions::locked_changed ( std::string const &  path)
private

Definition at line 1391 of file editor_regions.cc.

void EditorRegions::muted_changed ( std::string const &  path)
private

Definition at line 1417 of file editor_regions.cc.

void EditorRegions::name_edit ( const std::string &  path,
const std::string &  new_text 
)
private

Definition at line 1294 of file editor_regions.cc.

void EditorRegions::name_editing_started ( Gtk::CellEditable *  ,
const Glib::ustring &   
)
private

Definition at line 1280 of file editor_regions.cc.

void EditorRegions::opaque_changed ( std::string const &  path)
private

Definition at line 1430 of file editor_regions.cc.

void EditorRegions::populate_row ( boost::shared_ptr< ARDOUR::Region ,
Gtk::TreeModel::Row const &   
)
private

Definition at line 749 of file editor_regions.cc.

void EditorRegions::populate_row_end ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used 
)
private

Definition at line 819 of file editor_regions.cc.

void EditorRegions::populate_row_fade_in ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used,
boost::shared_ptr< ARDOUR::AudioRegion  
)
private

Definition at line 869 of file editor_regions.cc.

void EditorRegions::populate_row_fade_out ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used,
boost::shared_ptr< ARDOUR::AudioRegion  
)
private

Definition at line 885 of file editor_regions.cc.

void EditorRegions::populate_row_glued ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used 
)
private

Definition at line 913 of file editor_regions.cc.

void EditorRegions::populate_row_length ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row 
)
private

Definition at line 811 of file editor_regions.cc.

void EditorRegions::populate_row_locked ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used 
)
private

Definition at line 901 of file editor_regions.cc.

void EditorRegions::populate_row_muted ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used 
)
private

Definition at line 927 of file editor_regions.cc.

void EditorRegions::populate_row_name ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row 
)
private

Definition at line 947 of file editor_regions.cc.

void EditorRegions::populate_row_opaque ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used 
)
private

Definition at line 937 of file editor_regions.cc.

void EditorRegions::populate_row_position ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used 
)
private

Definition at line 835 of file editor_regions.cc.

void EditorRegions::populate_row_source ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row 
)
private

Definition at line 957 of file editor_regions.cc.

void EditorRegions::populate_row_sync ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used 
)
private

Definition at line 849 of file editor_regions.cc.

void EditorRegions::populate_row_used ( boost::shared_ptr< ARDOUR::Region region,
Gtk::TreeModel::Row const &  row,
uint32_t  used 
)
private

Definition at line 803 of file editor_regions.cc.

void EditorRegions::redisplay ( )

Definition at line 598 of file editor_regions.cc.

void EditorRegions::region_changed ( boost::shared_ptr< ARDOUR::Region r,
PBD::PropertyChange const &  what_changed 
)
private

Definition at line 476 of file editor_regions.cc.

void EditorRegions::remove_unused_regions ( )

Definition at line 450 of file editor_regions.cc.

RefPtr< Action > EditorRegions::remove_unused_regions_action ( ) const
private

Definition at line 1595 of file editor_regions.cc.

void EditorRegions::reset_sort_direction ( bool  up)

Definition at line 1194 of file editor_regions.cc.

void EditorRegions::reset_sort_type ( Editing::RegionListSortType  type,
bool  force 
)

Definition at line 1185 of file editor_regions.cc.

void EditorRegions::resume_redisplay ( )
inline

Definition at line 58 of file editor_regions.h.

void EditorRegions::selection_changed ( )
private

Definition at line 538 of file editor_regions.cc.

bool EditorRegions::selection_filter ( const Glib::RefPtr< Gtk::TreeModel > &  model,
const Gtk::TreeModel::Path &  path,
bool  yn 
)
private

Definition at line 1258 of file editor_regions.cc.

void EditorRegions::selection_mapover ( sigc::slot< void, boost::shared_ptr< ARDOUR::Region > >  sl)

Definition at line 1200 of file editor_regions.cc.

void EditorRegions::set_full ( bool  f)
private

Definition at line 980 of file editor_regions.cc.

void EditorRegions::set_selected ( RegionSelection regions)

Definition at line 580 of file editor_regions.cc.

void EditorRegions::set_session ( ARDOUR::Session s)
virtual

Reimplemented from ARDOUR::SessionHandlePtr.

Definition at line 282 of file editor_regions.cc.

void EditorRegions::set_state ( const XMLNode node)

Definition at line 1459 of file editor_regions.cc.

RefPtr< Action > EditorRegions::show_action ( ) const
private

Definition at line 1589 of file editor_regions.cc.

void EditorRegions::show_context_menu ( int  button,
int  time 
)
private

Definition at line 992 of file editor_regions.cc.

Editing::RegionListSortType EditorRegions::sort_type ( ) const
inline

Definition at line 48 of file editor_regions.h.

RefPtr< RadioAction > EditorRegions::sort_type_action ( Editing::RegionListSortType  t) const
private

Definition at line 1535 of file editor_regions.cc.

int EditorRegions::sorter ( Gtk::TreeModel::iterator  ,
Gtk::TreeModel::iterator   
)
private

Definition at line 1093 of file editor_regions.cc.

void EditorRegions::suspend_redisplay ( )
inline

Definition at line 54 of file editor_regions.h.

void EditorRegions::thaw_tree_model ( )
private

Definition at line 1380 of file editor_regions.cc.

void EditorRegions::toggle_full ( )

Definition at line 974 of file editor_regions.cc.

RefPtr< ToggleAction > EditorRegions::toggle_full_action ( ) const
private

Definition at line 1601 of file editor_regions.cc.

void EditorRegions::toggle_show_auto_regions ( )

Definition at line 967 of file editor_regions.cc.

RefPtr< ToggleAction > EditorRegions::toggle_show_auto_regions_action ( ) const
private

Definition at line 1609 of file editor_regions.cc.

void EditorRegions::unselect_all ( )
inline

Definition at line 67 of file editor_regions.h.

void EditorRegions::update_all_rows ( )
private

Definition at line 667 of file editor_regions.cc.

void EditorRegions::update_row ( boost::shared_ptr< ARDOUR::Region region)
private

Definition at line 649 of file editor_regions.cc.

Gtk::Widget& EditorRegions::widget ( )
inline

Definition at line 32 of file editor_regions.h.

Member Data Documentation

sigc::connection EditorRegions::_change_connection
private

Definition at line 126 of file editor_regions.h.

Columns EditorRegions::_columns
private

Definition at line 117 of file editor_regions.h.

Gtkmm2ext::DnDTreeView<boost::shared_ptr<ARDOUR::Region> > EditorRegions::_display
private

Definition at line 193 of file editor_regions.h.

Gtk::Frame EditorRegions::_frame
private

Definition at line 191 of file editor_regions.h.

Gtk::Menu* EditorRegions::_menu
private

Definition at line 189 of file editor_regions.h.

Glib::RefPtr<Gtk::TreeStore> EditorRegions::_model
private

Definition at line 195 of file editor_regions.h.

bool EditorRegions::_no_redisplay
private

Definition at line 200 of file editor_regions.h.

Gtk::ScrolledWindow EditorRegions::_scroller
private

Definition at line 190 of file editor_regions.h.

bool EditorRegions::_show_automatic_regions
private

Definition at line 197 of file editor_regions.h.

Editing::RegionListSortType EditorRegions::_sort_type
private

Definition at line 202 of file editor_regions.h.

PBD::ScopedConnection EditorRegions::check_new_region_connection
private

Definition at line 213 of file editor_regions.h.

PBD::ScopedConnection EditorRegions::editor_freeze_connection
private

Definition at line 215 of file editor_regions.h.

PBD::ScopedConnection EditorRegions::editor_thaw_connection
private

Definition at line 216 of file editor_regions.h.

bool EditorRegions::expanded
private

Definition at line 218 of file editor_regions.h.

bool EditorRegions::ignore_region_list_selection_change
private

Definition at line 198 of file editor_regions.h.

bool EditorRegions::ignore_selected_region_change
private

Definition at line 199 of file editor_regions.h.

Gtk::TreeModel::RowReference EditorRegions::last_row
private

Definition at line 119 of file editor_regions.h.

Gtk::CellEditable* EditorRegions::name_editable
private

Definition at line 131 of file editor_regions.h.

Gtk::Widget* EditorRegions::old_focus
private

Definition at line 130 of file editor_regions.h.

RegionSourceMap EditorRegions::parent_regions_sources_map
private

Definition at line 210 of file editor_regions.h.

PBD::ScopedConnection EditorRegions::region_property_connection
private

Definition at line 212 of file editor_regions.h.

RegionRowMap EditorRegions::region_row_map
private

Definition at line 209 of file editor_regions.h.

std::list<boost::shared_ptr<ARDOUR::Region> > EditorRegions::tmp_region_list
private

Definition at line 204 of file editor_regions.h.


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