Use sigc::slots rather than templates + function ptrs for a foreach_region and foreach_crossfade.

git-svn-id: svn://localhost/ardour2/branches/3.0@5118 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2009-06-03 00:23:34 +00:00
parent 27915ccdc0
commit a75e811edb
9 changed files with 46 additions and 64 deletions

View file

@ -29,7 +29,6 @@
#include "ardour/audiofilesource.h"
#include "ardour/audio_diskstream.h"
#include "ardour/audio_track.h"
#include "ardour/playlist_templates.h"
#include "ardour/source.h"
#include "ardour/region_factory.h"
#include "ardour/profile.h"
@ -401,13 +400,16 @@ AudioStreamView::redisplay_diskstream ()
if (_trackview.is_audio_track()) {
_trackview.get_diskstream()->playlist()->foreach_region(
static_cast<StreamView*>(this),
&StreamView::add_region_view);
sigc::mem_fun (*this, &StreamView::add_region_view)
);
boost::shared_ptr<AudioPlaylist> apl = boost::dynamic_pointer_cast<AudioPlaylist>(
_trackview.get_diskstream()->playlist());
if (apl)
apl->foreach_crossfade (this, &AudioStreamView::add_crossfade);
_trackview.get_diskstream()->playlist()
);
if (apl) {
apl->foreach_crossfade (sigc::mem_fun (*this, &AudioStreamView::add_crossfade));
}
}
// Remove invalid crossfade views