projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tweak Stateful/StatefulDiffCommand changes so that SessionObject's actually get a...
[ardour.git]
/
gtk2_ardour
/
io_selector.cc
diff --git
a/gtk2_ardour/io_selector.cc
b/gtk2_ardour/io_selector.cc
index 68cd1c8408be285a6a5764f7849ddbc2e3c6a641..615ce9d69fae61c2988f027fe31fd0034916aa22 100644
(file)
--- a/
gtk2_ardour/io_selector.cc
+++ b/
gtk2_ardour/io_selector.cc
@@
-41,7
+41,7
@@
using namespace ARDOUR;
using namespace Gtk;
using namespace ARDOUR;
using namespace Gtk;
-IOSelector::IOSelector (Gtk::Window* p, ARDOUR::Session
&
session, boost::shared_ptr<ARDOUR::IO> io)
+IOSelector::IOSelector (Gtk::Window* p, ARDOUR::Session
*
session, boost::shared_ptr<ARDOUR::IO> io)
: PortMatrix (p, session, io->default_type())
, _io (io)
{
: PortMatrix (p, session, io->default_type())
, _io (io)
{
@@
-57,15
+57,20
@@
IOSelector::IOSelector (Gtk::Window* p, ARDOUR::Session& session, boost::shared_
_ours = 1;
}
_ours = 1;
}
- _port_group.reset (new PortGroup (
""
));
+ _port_group.reset (new PortGroup (
io->name()
));
_ports[_ours].add_group (_port_group);
setup_all_ports ();
_ports[_ours].add_group (_port_group);
setup_all_ports ();
+ init ();
}
void
IOSelector::setup_ports (int dim)
{
}
void
IOSelector::setup_ports (int dim)
{
+ if (!_session) {
+ return;
+ }
+
_ports[dim].suspend_signals ();
if (dim == _other) {
_ports[dim].suspend_signals ();
if (dim == _other) {
@@
-90,7
+95,7
@@
IOSelector::set_state (ARDOUR::BundleChannel c[2], bool s)
for (ARDOUR::Bundle::PortList::const_iterator i = our_ports.begin(); i != our_ports.end(); ++i) {
for (ARDOUR::Bundle::PortList::const_iterator j = other_ports.begin(); j != other_ports.end(); ++j) {
for (ARDOUR::Bundle::PortList::const_iterator i = our_ports.begin(); i != our_ports.end(); ++i) {
for (ARDOUR::Bundle::PortList::const_iterator j = other_ports.begin(); j != other_ports.end(); ++j) {
- Port* f = _session
.
engine().get_port_by_name (*i);
+ Port* f = _session
->
engine().get_port_by_name (*i);
if (!f) {
return;
}
if (!f) {
return;
}
@@
-113,13
+118,13
@@
IOSelector::get_state (ARDOUR::BundleChannel c[2]) const
if (our_ports.empty() || other_ports.empty()) {
/* we're looking at a bundle with no parts associated with this channel,
so nothing to connect */
if (our_ports.empty() || other_ports.empty()) {
/* we're looking at a bundle with no parts associated with this channel,
so nothing to connect */
- return PortMatrixNode::
UNKNOWN
;
+ return PortMatrixNode::
NOT_ASSOCIATED
;
}
for (ARDOUR::Bundle::PortList::const_iterator i = our_ports.begin(); i != our_ports.end(); ++i) {
for (ARDOUR::Bundle::PortList::const_iterator j = other_ports.begin(); j != other_ports.end(); ++j) {
}
for (ARDOUR::Bundle::PortList::const_iterator i = our_ports.begin(); i != our_ports.end(); ++i) {
for (ARDOUR::Bundle::PortList::const_iterator j = other_ports.begin(); j != other_ports.end(); ++j) {
- Port* f = _session
.
engine().get_port_by_name (*i);
+ Port* f = _session
->
engine().get_port_by_name (*i);
/* since we are talking about an IO, our ports should all have an associated Port *,
so the above call should never fail */
/* since we are talking about an IO, our ports should all have an associated Port *,
so the above call should never fail */
@@
-151,13
+156,15
@@
IOSelector::list_is_global (int dim) const
return (dim == _other);
}
return (dim == _other);
}
-IOSelectorWindow::IOSelectorWindow (ARDOUR::Session
&
session, boost::shared_ptr<ARDOUR::IO> io, bool /*can_cancel*/)
+IOSelectorWindow::IOSelectorWindow (ARDOUR::Session
*
session, boost::shared_ptr<ARDOUR::IO> io, bool /*can_cancel*/)
: _selector (this, session, io)
{
set_name ("IOSelectorWindow2");
set_title (_("I/O selector"));
: _selector (this, session, io)
{
set_name ("IOSelectorWindow2");
set_title (_("I/O selector"));
- add (_selector);
+ Gtk::Alignment* alignment = manage(new Gtk::Alignment(0.5, 0.5, 0.0, 0.0));
+ alignment->add (_selector);
+ add (*alignment);
set_position (Gtk::WIN_POS_MOUSE);
set_position (Gtk::WIN_POS_MOUSE);
@@
-165,7
+172,7
@@
IOSelectorWindow::IOSelectorWindow (ARDOUR::Session& session, boost::shared_ptr<
show_all ();
show_all ();
- signal_delete_event().connect (mem_fun (*this, &IOSelectorWindow::wm_delete));
+ signal_delete_event().connect (
sigc::
mem_fun (*this, &IOSelectorWindow::wm_delete));
}
bool
}
bool
@@
-195,7
+202,7
@@
IOSelectorWindow::on_show ()
void
IOSelectorWindow::io_name_changed (void* src)
{
void
IOSelectorWindow::io_name_changed (void* src)
{
- ENSURE_GUI_THREAD
(bind (mem_fun(*this, &IOSelectorWindow::io_name_changed), src));
+ ENSURE_GUI_THREAD
(*this, &IOSelectorWindow::io_name_changed, src)
string title;
string title;
@@
-208,7
+215,7
@@
IOSelectorWindow::io_name_changed (void* src)
set_title (title);
}
set_title (title);
}
-PortInsertUI::PortInsertUI (Gtk::Window* parent, ARDOUR::Session
&
sess, boost::shared_ptr<ARDOUR::PortInsert> pi)
+PortInsertUI::PortInsertUI (Gtk::Window* parent, ARDOUR::Session
*
sess, boost::shared_ptr<ARDOUR::PortInsert> pi)
: input_selector (parent, sess, pi->input())
, output_selector (parent, sess, pi->output())
{
: input_selector (parent, sess, pi->input())
, output_selector (parent, sess, pi->output())
{
@@
-234,7
+241,7
@@
PortInsertUI::finished (IOSelector::Result r)
}
}
-PortInsertWindow::PortInsertWindow (ARDOUR::Session
&
sess, boost::shared_ptr<ARDOUR::PortInsert> pi, bool can_cancel)
+PortInsertWindow::PortInsertWindow (ARDOUR::Session
*
sess, boost::shared_ptr<ARDOUR::PortInsert> pi, bool can_cancel)
: ArdourDialog ("port insert dialog"),
_portinsertui (this, sess, pi),
ok_button (can_cancel ? _("OK"): _("Close")),
: ArdourDialog ("port insert dialog"),
_portinsertui (this, sess, pi),
ok_button (can_cancel ? _("OK"): _("Close")),
@@
-262,12
+269,12
@@
PortInsertWindow::PortInsertWindow (ARDOUR::Session& sess, boost::shared_ptr<ARD
get_vbox()->pack_start (_portinsertui);
get_vbox()->pack_start (_portinsertui);
- ok_button.signal_clicked().connect (mem_fun (*this, &PortInsertWindow::accept));
- cancel_button.signal_clicked().connect (mem_fun (*this, &PortInsertWindow::cancel));
+ ok_button.signal_clicked().connect (
sigc::
mem_fun (*this, &PortInsertWindow::accept));
+ cancel_button.signal_clicked().connect (
sigc::
mem_fun (*this, &PortInsertWindow::cancel));
- signal_delete_event().connect (mem_fun (*this, &PortInsertWindow::wm_delete), false);
+ signal_delete_event().connect (
sigc::
mem_fun (*this, &PortInsertWindow::wm_delete), false);
-
going_away_connection = pi->GoingAway.connect (mem_fun (*this, &PortInsertWindow::plugin_going_away
));
+
pi->DropReferences.connect (going_away_connection, boost::bind (&PortInsertWindow::plugin_going_away, this), gui_context(
));
}
bool
}
bool
@@
-280,7
+287,7
@@
PortInsertWindow::wm_delete (GdkEventAny* /*event*/)
void
PortInsertWindow::plugin_going_away ()
{
void
PortInsertWindow::plugin_going_away ()
{
- ENSURE_GUI_THREAD (
mem_fun (*this, &PortInsertWindow::plugin_going_away));
+ ENSURE_GUI_THREAD (
*this, &PortInsertWindow::plugin_going_away)
going_away_connection.disconnect ();
delete_when_idle (this);
going_away_connection.disconnect ();
delete_when_idle (this);