summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/midi_model.h
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-12-09 21:34:31 +0000
committerCarl Hetherington <carl@carlh.net>2010-12-09 21:34:31 +0000
commit7d4e03e28e58a9315f163738f35559f57b099d37 (patch)
tree37b39ea5e40835a918a77845b01fb4ab1515ba66 /libs/ardour/ardour/midi_model.h
parentebf3762fa91d911af411f1b5c68e3c67f2c47170 (diff)
Use a weak_ptr rather than a bald pointer for _midi_source in MidiModel.
git-svn-id: svn://localhost/ardour2/branches/3.0@8228 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/ardour/midi_model.h')
-rw-r--r--libs/ardour/ardour/midi_model.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/libs/ardour/ardour/midi_model.h b/libs/ardour/ardour/midi_model.h
index e959535a36..27ffa4d8a2 100644
--- a/libs/ardour/ardour/midi_model.h
+++ b/libs/ardour/ardour/midi_model.h
@@ -51,7 +51,7 @@ class MidiModel : public AutomatableSequence<Evoral::MusicalTime> {
public:
typedef Evoral::MusicalTime TimeType;
- MidiModel(MidiSource* s);
+ MidiModel (boost::shared_ptr<MidiSource>);
NoteMode note_mode() const { return (percussive() ? Percussive : Sustained); }
void set_note_mode(NoteMode mode) { set_percussive(mode == Percussive); };
@@ -140,8 +140,8 @@ public:
PBD::Signal0<void> ContentsChanged;
- const MidiSource* midi_source() const { return _midi_source; }
- void set_midi_source (MidiSource *);
+ boost::shared_ptr<const MidiSource> midi_source ();
+ void set_midi_source (boost::shared_ptr<MidiSource>);
boost::shared_ptr<Evoral::Note<TimeType> > find_note (NotePtr);
boost::shared_ptr<Evoral::Note<TimeType> > find_note (gint note_id);
@@ -181,7 +181,7 @@ private:
PBD::ScopedConnectionList _midi_source_connections;
// We cannot use a boost::shared_ptr here to avoid a retain cycle
- MidiSource* _midi_source;
+ boost::weak_ptr<MidiSource> _midi_source;
InsertMergePolicy _insert_merge_policy;
};