Signal::OperationDesc::ptr parseFile(QUrl url) { Signal::OperationDesc::ptr d; try { #if !defined(TARGET_IPHONE_SIMULATOR) || !TARGET_IPHONE_SIMULATOR d.reset(new FlacFile(url)); if (d->extent().sample_rate.is_initialized ()) return d; #endif } catch(...) {} try { d.reset(new QtAudiofile(url)); if (d->extent().sample_rate.is_initialized ()) return d; } catch(...) {} return Signal::OperationDesc::ptr(); }