23 #include <glibmm/threads.h>
60 latency_apply_button (Stock::APPLY),
69 using namespace Notebook_Helpers;
77 notebook.set_name (
"RouteParamNotebook");
86 route_display.get_selection()->set_mode(Gtk::SELECTION_SINGLE);
92 dynamic_cast<Gtk::CellRendererText*
>(
route_display.get_column_cell_renderer(0))->property_ellipsize() = Pango::ELLIPSIZE_START;
108 notebook.set_name (
"InspectorNotebook");
140 set_name (
"RouteParamsWindow");
141 set_default_size (620,370);
142 set_wmclass (
X_(
"ardour_route_parameters"), PROGRAM_NAME);
148 add_events (Gdk::KEY_PRESS_MASK|Gdk::KEY_RELEASE_MASK|Gdk::BUTTON_RELEASE_MASK);
163 for (RouteList::iterator x = routes.begin(); x != routes.end(); ++x) {
199 for(TreeModel::Children::iterator iter = rows.begin(); iter != rows.end(); ++iter) {
209 error <<
_(
"route display list item for renamed route not found!") <<
endmsg;
225 case AudioTrack::Frozen:
279 snprintf (buf,
sizeof (buf),
_(
"Playback delay: %" PRId64
" samples"),
_route->
initial_delay());
307 snprintf (buf,
sizeof (buf),
_(
"Playback delay: %" PRId64
" samples"),
_route->
initial_delay());
365 if (stopupdate && (plugui = dynamic_cast<GenericPluginUI*>(
_active_view)) != 0) {
388 TreeModel::Children::iterator ri;
390 for(TreeModel::Children::iterator iter = rows.begin(); iter != rows.end(); ++iter) {
434 SessionHandlePtr::session_going_away ();
451 Glib::RefPtr<TreeSelection> selection =
route_display.get_selection();
452 TreeModel::iterator iter = selection->get_selected();
518 using namespace Menu_Helpers;
524 (MenuElem (
_(
"Add Track or Bus"),
527 track_menu->popup (1, gtk_get_current_event_time());
538 if ((boost::dynamic_pointer_cast<InternalSend> (proc)) != 0) {
543 }
else if ((send = boost::dynamic_pointer_cast<Send> (proc)) != 0) {
554 }
else if ((retrn = boost::dynamic_pointer_cast<Return> (proc)) != 0) {
565 }
else if ((plugin_insert = boost::dynamic_pointer_cast<PluginInsert> (proc)) != 0) {
577 }
else if ((port_insert = boost::dynamic_pointer_cast<PortInsert> (proc)) != 0) {
619 printf (
"redirect going away\n");
638 title +=
_(
"No Track or Bus Selected");
662 if ((sui = dynamic_cast<SendUI*> (
_active_view)) != 0) {
PBD::Signal0< void > initial_delay_changed
PBD::ScopedConnectionList latency_connections
void cleanup_processor_boxes()
void cleanup_view(bool stopupdate=true)
PBD::Signal0< void > DropReferences
bool stop_updating(GdkEventAny *)
void route_property_changed(const PBD::PropertyChange &, boost::weak_ptr< ARDOUR::Route > route)
PBD::ScopedConnectionList route_connections
PBD::Signal1< void, const PropertyChange & > PropertyChanged
LatencyGUI * latency_widget
Gtk::ScrolledWindow route_select_scroller
PBD::Signal0< void > FreezeChange
PluginSelector * _plugin_selector
shared_ptr< T > dynamic_pointer_cast(shared_ptr< U > const &r)
static ARDOUR_UI * instance()
LIBARDOUR_API PBD::PropertyDescriptor< std::string > name
Gtk::TreeView route_display
void setup_latency_frame()
LIBPBD_API Transmitter error
RouteDisplayModelColumns route_display_columns
bool is_auditioner() const
std::ostream & endmsg(std::ostream &ostr)
boost::shared_ptr< Plugin > plugin(uint32_t num=0) const
void redirect_selected(boost::shared_ptr< ARDOUR::Processor >)
void set_route(boost::shared_ptr< ARDOUR::Route >)
framecnt_t frame_rate() const
#define ENSURE_GUI_THREAD(obj, method,...)
boost::shared_ptr< ARDOUR::Route > _route
PBD::ScopedConnection _processor_going_away_connection
const std::string & get_string()
sigc::signal< void, boost::shared_ptr< ARDOUR::Processor > > ProcessorSelected
void route_removed(boost::weak_ptr< ARDOUR::Route > route)
Glib::RefPtr< Gtk::ListStore > route_display_model
PluginSelector * plugin_selector()
Gtk::Button latency_apply_button
void session_going_away()
RouteProcessorSelection _rr_selection
Gtk::Frame route_param_frame
void set_session(ARDOUR::Session *)
void cleanup_latency_frame()
sigc::connection update_connection
IOSelector * _input_iosel
Gtk::Container * _active_view
boost::shared_ptr< RouteList > get_routes() const
framecnt_t initial_delay() const
Gtk::TreeModelColumn< boost::shared_ptr< ARDOUR::Route > > route
PBD::ScopedConnectionList _session_connections
Gtk::Label track_input_label
void plugin_going_away(ARDOUR::Placement)
PBD::Signal1< void, RouteProcessorChange > processors_changed
ProcessorBox * insert_box
void processor_going_away(boost::weak_ptr< ARDOUR::Processor >)
IOSelector * _output_iosel
sigc::signal< void, Result > Finished
boost::shared_ptr< IO > input() const
void processors_changed(ARDOUR::RouteProcessorChange)
void setup_processor_boxes()
FreezeState freeze_state() const
bool contains(PropertyDescriptor< T > p) const
virtual void set_session(ARDOUR::Session *)
boost::shared_ptr< IO > output() const
boost::shared_ptr< ARDOUR::Processor > _processor
PBD::ScopedConnection _route_processors_connection
Gtk::TreeModelColumn< std::string > text
void add_routes(ARDOUR::RouteList &)
Gtk::HButtonBox latency_button_box
bool start_updating(GdkEventAny *)
sigc::connection rapid_connect(const sigc::slot< void > &slot)
std::list< boost::shared_ptr< Route > > RouteList
sigc::signal< void, boost::shared_ptr< ARDOUR::Processor > > ProcessorUnselected
void add_route(Gtk::Window *float_window)
Gtk::Frame route_select_frame
ARDOUR::Session * _session
sigc::connection latency_click_connection
PBD::Signal1< void, RouteList & > RouteAdded
PBD::Signal0< void > signal_latency_changed