summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-02-16 05:13:05 +0000
committerDavid Robillard <d@drobilla.net>2009-02-16 05:13:05 +0000
commit458c588e2c7dfe7c0e62647fb5e0d0c06cdf8f04 (patch)
tree32ebd393dd6aae397a1e272ec51a6e2d548b704b
parentfb254fb2fc89f89142a2c991d9b09364ca1dac02 (diff)
Don't bind playlist_modified with a shared_ptr<Playlist> parameter.
Clean up. git-svn-id: svn://localhost/ardour2/branches/3.0@4599 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/audio_streamview.cc25
-rw-r--r--gtk2_ardour/audio_streamview.h1
-rw-r--r--gtk2_ardour/automation_time_axis.cc37
-rw-r--r--gtk2_ardour/midi_channel_selector.cc13
-rw-r--r--gtk2_ardour/midi_channel_selector.h2
-rw-r--r--gtk2_ardour/midi_scroomer.cc2
-rw-r--r--gtk2_ardour/midi_time_axis.cc22
-rw-r--r--gtk2_ardour/route_time_axis.cc1
-rw-r--r--gtk2_ardour/streamview.cc68
-rw-r--r--gtk2_ardour/streamview.h1
-rw-r--r--libs/ardour/smf_source.cc1
11 files changed, 98 insertions, 75 deletions
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc
index 320bc1f195..d205e400d2 100644
--- a/gtk2_ardour/audio_streamview.cc
+++ b/gtk2_ardour/audio_streamview.cc
@@ -248,11 +248,9 @@ void
AudioStreamView::playlist_modified_weak (boost::weak_ptr<Diskstream> ds)
{
boost::shared_ptr<Diskstream> sp (ds.lock());
- if (!sp) {
- return;
+ if (sp) {
+ playlist_modified (sp);
}
-
- playlist_modified (sp);
}
void
@@ -271,15 +269,28 @@ AudioStreamView::playlist_modified (boost::shared_ptr<Diskstream> ds)
}
void
+AudioStreamView::playlist_changed_weak (boost::weak_ptr<Diskstream> ds)
+{
+ boost::shared_ptr<Diskstream> sp (ds.lock());
+ if (sp) {
+ playlist_changed (sp);
+ }
+}
+
+void
AudioStreamView::playlist_changed (boost::shared_ptr<Diskstream> ds)
{
- ENSURE_GUI_THREAD (bind (mem_fun (*this, &AudioStreamView::playlist_changed), ds));
+ ENSURE_GUI_THREAD (bind (
+ mem_fun (*this, &AudioStreamView::playlist_changed_weak),
+ boost::weak_ptr<Diskstream> (ds)));
StreamView::playlist_changed(ds);
boost::shared_ptr<AudioPlaylist> apl = boost::dynamic_pointer_cast<AudioPlaylist>(ds->playlist());
- if (apl)
- playlist_connections.push_back (apl->NewCrossfade.connect (mem_fun (*this, &AudioStreamView::add_crossfade)));
+ if (apl) {
+ playlist_connections.push_back (apl->NewCrossfade.connect (
+ mem_fun (*this, &AudioStreamView::add_crossfade)));
+ }
}
void
diff --git a/gtk2_ardour/audio_streamview.h b/gtk2_ardour/audio_streamview.h
index 85055249c5..d7f0c2571e 100644
--- a/gtk2_ardour/audio_streamview.h
+++ b/gtk2_ardour/audio_streamview.h
@@ -93,6 +93,7 @@ class AudioStreamView : public StreamView
void redisplay_diskstream ();
void playlist_modified_weak (boost::weak_ptr<ARDOUR::Diskstream>);
void playlist_modified (boost::shared_ptr<ARDOUR::Diskstream>);
+ void playlist_changed_weak (boost::weak_ptr<ARDOUR::Diskstream>);
void playlist_changed (boost::shared_ptr<ARDOUR::Diskstream>);
void add_crossfade (boost::shared_ptr<ARDOUR::Crossfade>);
diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc
index d46a3cdbaa..93418201ec 100644
--- a/gtk2_ardour/automation_time_axis.cc
+++ b/gtk2_ardour/automation_time_axis.cc
@@ -381,10 +381,8 @@ AutomationTimeAxisView::set_height (uint32_t h)
{
bool changed = (height != (uint32_t) h) || first_call_to_set_height;
bool changed_between_small_and_normal = (
- (height < hNormal && h >= hNormal) ||
- (height >= hNormal ||
- h < hNormal)
- );
+ (height < hNormal && h >= hNormal)
+ || (height >= hNormal || h < hNormal) );
TimeAxisView* state_parent = get_parent_with_state ();
assert(state_parent);
@@ -515,20 +513,24 @@ AutomationTimeAxisView::build_display_menu ()
auto_state_menu->set_name ("ArdourContextMenu");
MenuList& as_items = auto_state_menu->items();
- as_items.push_back (CheckMenuElem (_("Manual"),
- bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Off)));
+ as_items.push_back (CheckMenuElem (_("Manual"), bind (
+ mem_fun(*this, &AutomationTimeAxisView::set_automation_state),
+ (AutoState) Off)));
auto_off_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
- as_items.push_back (CheckMenuElem (_("Play"),
- bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Play)));
+ as_items.push_back (CheckMenuElem (_("Play"), bind (
+ mem_fun(*this, &AutomationTimeAxisView::set_automation_state),
+ (AutoState) Play)));
auto_play_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
- as_items.push_back (CheckMenuElem (_("Write"),
- bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Write)));
+ as_items.push_back (CheckMenuElem (_("Write"), bind (
+ mem_fun(*this, &AutomationTimeAxisView::set_automation_state),
+ (AutoState) Write)));
auto_write_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
- as_items.push_back (CheckMenuElem (_("Touch"),
- bind (mem_fun(*this, &AutomationTimeAxisView::set_automation_state), (AutoState) Touch)));
+ as_items.push_back (CheckMenuElem (_("Touch"), bind (
+ mem_fun(*this, &AutomationTimeAxisView::set_automation_state),
+ (AutoState) Touch)));
auto_touch_item = dynamic_cast<CheckMenuItem*>(&as_items.back());
items.push_back (MenuElem (_("State"), *auto_state_menu));
@@ -860,17 +862,6 @@ AutomationTimeAxisView::exited ()
_line->track_exited();
}
-/*void
-AutomationTimeAxisView::set_colors ()
-{
- for (list<GhostRegion*>::iterator i=ghosts.begin(); i != ghosts.end(); i++ ) {
- (*i)->set_colors();
- }
-
- if (_line)
- _line->set_colors();
- }*/
-
void
AutomationTimeAxisView::color_handler ()
{
diff --git a/gtk2_ardour/midi_channel_selector.cc b/gtk2_ardour/midi_channel_selector.cc
index 1b5baff7d5..12eea5bb12 100644
--- a/gtk2_ardour/midi_channel_selector.cc
+++ b/gtk2_ardour/midi_channel_selector.cc
@@ -28,13 +28,14 @@ using namespace Gtk;
using namespace sigc;
using namespace ARDOUR;
-MidiChannelSelector::MidiChannelSelector(int no_rows, int no_columns, int start_row, int start_column) : Table(no_rows, no_columns, true)
- , _recursion_counter(0)
+MidiChannelSelector::MidiChannelSelector(int n_rows, int n_columns, int start_row, int start_column)
+ : Table(n_rows, n_columns, true)
+ , _recursion_counter(0)
{
- assert(no_rows >= 4);
- assert(no_rows >= start_row + 4);
- assert(no_columns >=4);
- assert(no_columns >= start_column + 4);
+ assert(n_rows >= 4);
+ assert(n_rows >= start_row + 4);
+ assert(n_columns >=4);
+ assert(n_columns >= start_column + 4);
property_column_spacing() = 0;
property_row_spacing() = 0;
diff --git a/gtk2_ardour/midi_channel_selector.h b/gtk2_ardour/midi_channel_selector.h
index a72bea0cf1..7485f96257 100644
--- a/gtk2_ardour/midi_channel_selector.h
+++ b/gtk2_ardour/midi_channel_selector.h
@@ -33,7 +33,7 @@
class MidiChannelSelector : public Gtk::Table
{
public:
- MidiChannelSelector(int no_rows = 4, int no_columns = 4, int start_row = 0, int start_column = 0);
+ MidiChannelSelector(int n_rows = 4, int n_columns = 4, int start_row = 0, int start_column = 0);
virtual ~MidiChannelSelector() = 0;
sigc::signal<void, ARDOUR::ChannelMode, uint16_t> mode_changed;
diff --git a/gtk2_ardour/midi_scroomer.cc b/gtk2_ardour/midi_scroomer.cc
index f3bafb7584..0299e8d2d5 100644
--- a/gtk2_ardour/midi_scroomer.cc
+++ b/gtk2_ardour/midi_scroomer.cc
@@ -166,8 +166,6 @@ MidiScroomer::on_size_request(Gtk::Requisition* r)
{
r->width = 12;
r->height = 100;
- //r->width = 32;
- //r->height = 512;
}
void
diff --git a/gtk2_ardour/midi_time_axis.cc b/gtk2_ardour/midi_time_axis.cc
index 2c852fb211..3df63d11f7 100644
--- a/gtk2_ardour/midi_time_axis.cc
+++ b/gtk2_ardour/midi_time_axis.cc
@@ -88,7 +88,8 @@ using namespace Editing;
static const uint32_t MIDI_CONTROLS_BOX_MIN_HEIGHT = 162;
static const uint32_t KEYBOARD_MIN_HEIGHT = 140;
-MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess, boost::shared_ptr<Route> rt, Canvas& canvas)
+MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess,
+ boost::shared_ptr<Route> rt, Canvas& canvas)
: AxisView(sess) // virtually inherited
, RouteTimeAxisView(ed, sess, rt, canvas)
, _ignore_signals(false)
@@ -150,10 +151,9 @@ MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess, boost::shar
MIDI::Name::MidiPatchManager& patch_manager = MIDI::Name::MidiPatchManager::instance();
- for (MIDI::Name::MasterDeviceNames::Models::const_iterator model = patch_manager.all_models().begin();
- model != patch_manager.all_models().end();
- ++model) {
- _model_selector.append_text(model->c_str());
+ MIDI::Name::MasterDeviceNames::Models::const_iterator m = patch_manager.all_models().begin();
+ for (; m != patch_manager.all_models().end(); ++m) {
+ _model_selector.append_text(m->c_str());
}
_model_selector.signal_changed().connect(mem_fun(*this, &MidiTimeAxisView::model_changed));
@@ -178,7 +178,8 @@ MidiTimeAxisView::MidiTimeAxisView (PublicEditor& ed, Session& sess, boost::shar
boost::shared_ptr<MidiDiskstream> diskstream = midi_track()->midi_diskstream();
// restore channel selector settings
- _channel_selector.set_channel_mode(diskstream->get_channel_mode(), diskstream->get_channel_mask());
+ _channel_selector.set_channel_mode(diskstream->get_channel_mode(),
+ diskstream->get_channel_mask());
_channel_selector.mode_changed.connect(
mem_fun(*midi_track()->midi_diskstream(), &MidiDiskstream::set_channel_mode));
@@ -207,7 +208,8 @@ void MidiTimeAxisView::model_changed()
_custom_device_mode_selector.clear_items();
- for (std::list<std::string>::const_iterator i = device_modes.begin(); i != device_modes.end(); ++i) {
+ for (std::list<std::string>::const_iterator i = device_modes.begin();
+ i != device_modes.end(); ++i) {
cerr << "found custom device mode " << *i << " thread_id: " << pthread_self() << endl;
_custom_device_mode_selector.append_text(*i);
}
@@ -217,7 +219,8 @@ void MidiTimeAxisView::model_changed()
void MidiTimeAxisView::custom_device_mode_changed()
{
- _midi_patch_settings_changed.emit(_model_selector.get_active_text(), _custom_device_mode_selector.get_active_text());
+ _midi_patch_settings_changed.emit(_model_selector.get_active_text(),
+ _custom_device_mode_selector.get_active_text());
}
MidiStreamView*
@@ -556,6 +559,3 @@ MidiTimeAxisView::route_active_changed ()
}
}
-
-
-
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index 543082dd50..7895a25a8c 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -350,7 +350,6 @@ RouteTimeAxisView::set_edit_group_from_menu (RouteGroup *eg)
void
RouteTimeAxisView::playlist_changed ()
-
{
label_view ();
diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc
index 5810d10eaf..83cdc61afc 100644
--- a/gtk2_ardour/streamview.cc
+++ b/gtk2_ardour/streamview.cc
@@ -72,14 +72,21 @@ StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Group* group)
canvas_rect->property_outline_what() = (guint32) (0x2|0x8); // outline RHS and bottom
- canvas_rect->signal_event().connect (bind (mem_fun (_trackview.editor(), &PublicEditor::canvas_stream_view_event), canvas_rect, &_trackview));
+ canvas_rect->signal_event().connect (bind (
+ mem_fun (_trackview.editor(), &PublicEditor::canvas_stream_view_event),
+ canvas_rect, &_trackview));
if (_trackview.is_track()) {
- _trackview.track()->DiskstreamChanged.connect (mem_fun (*this, &StreamView::diskstream_changed));
- _trackview.session().TransportStateChange.connect (mem_fun (*this, &StreamView::transport_changed));
- _trackview.session().TransportLooped.connect (mem_fun (*this, &StreamView::transport_looped));
- _trackview.get_diskstream()->RecordEnableChanged.connect (mem_fun (*this, &StreamView::rec_enable_changed));
- _trackview.session().RecordStateChanged.connect (mem_fun (*this, &StreamView::sess_rec_enable_changed));
+ _trackview.track()->DiskstreamChanged.connect (
+ mem_fun (*this, &StreamView::diskstream_changed));
+ _trackview.session().TransportStateChange.connect (
+ mem_fun (*this, &StreamView::transport_changed));
+ _trackview.session().TransportLooped.connect (
+ mem_fun (*this, &StreamView::transport_looped));
+ _trackview.get_diskstream()->RecordEnableChanged.connect (
+ mem_fun (*this, &StreamView::rec_enable_changed));
+ _trackview.session().RecordStateChanged.connect (
+ mem_fun (*this, &StreamView::sess_rec_enable_changed));
}
ColorsChanged.connect (mem_fun (*this, &StreamView::color_handler));
@@ -207,18 +214,9 @@ StreamView::display_diskstream (boost::shared_ptr<Diskstream> ds)
{
playlist_change_connection.disconnect();
playlist_changed (ds);
- playlist_change_connection = ds->PlaylistChanged.connect (bind (mem_fun (*this, &StreamView::playlist_changed), ds));
-}
-
-void
-StreamView::playlist_modified_weak (boost::weak_ptr<Diskstream> ds)
-{
- boost::shared_ptr<Diskstream> sp (ds.lock());
- if (!sp) {
- return;
- }
-
- playlist_modified (sp);
+ playlist_change_connection = ds->PlaylistChanged.connect (bind (
+ mem_fun (*this, &StreamView::playlist_changed_weak),
+ boost::weak_ptr<Diskstream> (ds)));
}
void
@@ -279,6 +277,15 @@ StreamView::layer_regions()
}
void
+StreamView::playlist_modified_weak (boost::weak_ptr<Diskstream> ds)
+{
+ boost::shared_ptr<Diskstream> sp (ds.lock());
+ if (sp) {
+ playlist_modified (sp);
+ }
+}
+
+void
StreamView::playlist_modified (boost::shared_ptr<Diskstream> ds)
{
/* we do not allow shared_ptr<T> to be bound to slots */
@@ -294,14 +301,25 @@ StreamView::playlist_modified (boost::shared_ptr<Diskstream> ds)
}
void
+StreamView::playlist_changed_weak (boost::weak_ptr<Diskstream> ds)
+{
+ boost::shared_ptr<Diskstream> sp (ds.lock());
+ if (sp) {
+ playlist_changed (sp);
+ }
+}
+
+void
StreamView::playlist_changed (boost::shared_ptr<Diskstream> ds)
{
- /* XXX: binding to a shared_ptr, is this ok? */
- ENSURE_GUI_THREAD (bind (mem_fun (*this, &StreamView::playlist_changed), ds));
+ ENSURE_GUI_THREAD (bind (
+ mem_fun (*this, &StreamView::playlist_changed_weak),
+ boost::weak_ptr<Diskstream> (ds)));
/* disconnect from old playlist */
- for (vector<sigc::connection>::iterator i = playlist_connections.begin(); i != playlist_connections.end(); ++i) {
+ for (vector<sigc::connection>::iterator i = playlist_connections.begin();
+ i != playlist_connections.end(); ++i) {
(*i).disconnect();
}
@@ -319,7 +337,9 @@ StreamView::playlist_changed (boost::shared_ptr<Diskstream> ds)
/* catch changes */
- playlist_connections.push_back (ds->playlist()->Modified.connect (bind (mem_fun (*this, &StreamView::playlist_modified_weak), ds)));
+ playlist_connections.push_back (ds->playlist()->Modified.connect (bind (
+ mem_fun (*this, &StreamView::playlist_modified_weak),
+ ds)));
}
void
@@ -328,7 +348,9 @@ StreamView::diskstream_changed ()
boost::shared_ptr<Track> t;
if ((t = _trackview.track()) != 0) {
- Gtkmm2ext::UI::instance()->call_slot (bind (mem_fun (*this, &StreamView::display_diskstream), t->diskstream()));
+ Gtkmm2ext::UI::instance()->call_slot (bind (
+ mem_fun (*this, &StreamView::display_diskstream),
+ t->diskstream()));
} else {
Gtkmm2ext::UI::instance()->call_slot (mem_fun (*this, &StreamView::undisplay_diskstream));
}
diff --git a/gtk2_ardour/streamview.h b/gtk2_ardour/streamview.h
index 0cbb4447d5..16a637d674 100644
--- a/gtk2_ardour/streamview.h
+++ b/gtk2_ardour/streamview.h
@@ -126,6 +126,7 @@ protected:
void diskstream_changed ();
void layer_regions ();
+ virtual void playlist_changed_weak (boost::weak_ptr<ARDOUR::Diskstream>);
virtual void playlist_changed (boost::shared_ptr<ARDOUR::Diskstream>);
virtual void playlist_modified_weak (boost::weak_ptr<ARDOUR::Diskstream>);
virtual void playlist_modified (boost::shared_ptr<ARDOUR::Diskstream>);
diff --git a/libs/ardour/smf_source.cc b/libs/ardour/smf_source.cc
index b43b628ce2..ab0c290191 100644
--- a/libs/ardour/smf_source.cc
+++ b/libs/ardour/smf_source.cc
@@ -612,7 +612,6 @@ SMFSource::load_model(bool lock, bool force_reload)
}
if (_model && !force_reload) {
- cerr << _name << " not reloading model " << _model.get() << endl;
return;
}