From bedfac4620a232b7a6b906ac6e6967ac6e863bdb Mon Sep 17 00:00:00 2001 From: drobilla Date: Wed, 22 Dec 2010 00:01:15 +0000 Subject: [PATCH] Less code. git-svn-id: http://subversion.ardour.org/svn/ardour2/ardour2/branches/3.0@8322 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/region_factory.cc | 47 +++++++++++-------------------------------- 1 file changed, 12 insertions(+), 35 deletions(-) diff --git a/libs/ardour/region_factory.cc b/libs/ardour/region_factory.cc index 1098cb214..9bf04d50d 100644 --- a/libs/ardour/region_factory.cc +++ b/libs/ardour/region_factory.cc @@ -53,15 +53,11 @@ RegionFactory::create (boost::shared_ptr region, bool announce) if ((ar = boost::dynamic_pointer_cast(region)) != 0) { - AudioRegion* arn = new AudioRegion (ar, 0); - boost::shared_ptr arp (arn); - ret = boost::static_pointer_cast (arp); + ret = boost::shared_ptr (new AudioRegion (ar, 0)); } else if ((mr = boost::dynamic_pointer_cast(region)) != 0) { - MidiRegion* mrn = new MidiRegion (mr, 0); - boost::shared_ptr mrp (mrn); - ret = boost::static_pointer_cast (mrp); + ret = boost::shared_ptr (new MidiRegion (mr, 0)); } else { fatal << _("programming error: RegionFactory::create() called with unknown Region type") @@ -93,15 +89,11 @@ RegionFactory::create (boost::shared_ptr region, const PropertyList& pli if ((other_a = boost::dynamic_pointer_cast(region)) != 0) { - AudioRegion* ar = new AudioRegion (other_a); - boost::shared_ptr arp (ar); - ret = boost::static_pointer_cast (arp); + ret = boost::shared_ptr (new AudioRegion (other_a)); } else if ((other_m = boost::dynamic_pointer_cast(region)) != 0) { - MidiRegion* mr = new MidiRegion (other_m); - boost::shared_ptr mrp (mr); - ret = boost::static_pointer_cast (mrp); + ret = boost::shared_ptr (new MidiRegion (other_m)); } else { fatal << _("programming error: RegionFactory::create() called with unknown Region type") @@ -132,15 +124,11 @@ RegionFactory::create (boost::shared_ptr region, frameoffset_t offset, c if ((other_a = boost::dynamic_pointer_cast(region)) != 0) { - AudioRegion* ar = new AudioRegion (other_a, offset); - boost::shared_ptr arp (ar); - ret = boost::static_pointer_cast (arp); - + ret = boost::shared_ptr (new AudioRegion (other_a, offset)); + } else if ((other_m = boost::dynamic_pointer_cast(region)) != 0) { - MidiRegion* mr = new MidiRegion (other_m, offset); - boost::shared_ptr mrp (mr); - ret = boost::static_pointer_cast (mrp); + ret = boost::shared_ptr (new MidiRegion (other_m, offset)); } else { fatal << _("programming error: RegionFactory::create() called with unknown Region type") @@ -176,9 +164,7 @@ RegionFactory::create (boost::shared_ptr region, const SourceList& srcs, // XXX use me in caller where plist is setup, this is start i think srcs.front()->length (srcs.front()->timeline_position()) - AudioRegion* ar = new AudioRegion (other, srcs); - boost::shared_ptr arp (ar); - ret = boost::static_pointer_cast (arp); + ret = boost::shared_ptr (new AudioRegion (other, srcs)); } else { fatal << _("programming error: RegionFactory::create() called with unknown Region type") @@ -216,15 +202,11 @@ RegionFactory::create (const SourceList& srcs, const PropertyList& plist, bool a if ((as = boost::dynamic_pointer_cast(srcs[0])) != 0) { - AudioRegion* ar = new AudioRegion (srcs); - boost::shared_ptr arp (ar); - ret = boost::static_pointer_cast (arp); + ret = boost::shared_ptr (new AudioRegion (srcs)); } else if ((ms = boost::dynamic_pointer_cast(srcs[0])) != 0) { - MidiRegion* mr = new MidiRegion (srcs); - boost::shared_ptr mrp (mr); - ret = boost::static_pointer_cast (mrp); + ret = boost::shared_ptr (new MidiRegion (srcs)); } @@ -258,20 +240,15 @@ RegionFactory::create (SourceList& srcs, const XMLNode& node) if (srcs[0]->type() == DataType::AUDIO) { - AudioRegion* ar = new AudioRegion (srcs); - boost::shared_ptr arp (ar); - ret = boost::static_pointer_cast (arp); + ret = boost::shared_ptr (new AudioRegion (srcs)); } else if (srcs[0]->type() == DataType::MIDI) { - MidiRegion* mr = new MidiRegion (srcs); - boost::shared_ptr mrp (mr); - ret = boost::static_pointer_cast (mrp); + ret = boost::shared_ptr (new MidiRegion (srcs)); } if (ret) { - if (ret->set_state (node, Stateful::loading_state_version)) { ret.reset (); } else { -- 2.11.4.GIT