Chris@0: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ Chris@0: Chris@0: /* Chris@0: Sonic Annotator Chris@0: A utility for batch feature extraction from audio files. Chris@0: Mark Levy, Chris Sutton and Chris Cannam, Queen Mary, University of London. Chris@0: Copyright 2007-2008 QMUL. Chris@0: Chris@0: This program is free software; you can redistribute it and/or Chris@0: modify it under the terms of the GNU General Public License as Chris@0: published by the Free Software Foundation; either version 2 of the Chris@0: License, or (at your option) any later version. See the file Chris@0: COPYING included with this distribution for more information. Chris@0: */ Chris@0: Chris@0: Chris@0: #include "FeatureWriterFactory.h" Chris@0: Chris@0: #include "DefaultFeatureWriter.h" Chris@154: Chris@0: #include "rdf/RDFFeatureWriter.h" Chris@154: #include "transform/CSVFeatureWriter.h" Chris@154: Chris@0: #include "AudioDBFeatureWriter.h" Chris@136: #include "MIDIFeatureWriter.h" Chris@145: #include "JAMSFeatureWriter.h" Chris@154: #include "LabFeatureWriter.h" Chris@0: Chris@0: set Chris@0: FeatureWriterFactory::getWriterTags() Chris@0: { Chris@0: set tags; Chris@0: tags.insert("default"); Chris@0: tags.insert("rdf"); Chris@0: tags.insert("audiodb"); Chris@0: tags.insert("csv"); Chris@154: tags.insert("lab"); Chris@136: tags.insert("midi"); Chris@200: tags.insert("jams"); Chris@0: return tags; Chris@0: } Chris@0: Chris@0: FeatureWriter * Chris@0: FeatureWriterFactory::createWriter(string tag) Chris@0: { Chris@0: if (tag == "default") { Chris@0: return new DefaultFeatureWriter(); Chris@0: } else if (tag == "rdf") { Chris@0: return new RDFFeatureWriter(); Chris@0: } else if (tag == "audiodb") { Chris@0: return new AudioDBFeatureWriter(); Chris@0: } else if (tag == "csv") { Chris@0: return new CSVFeatureWriter(); Chris@154: } else if (tag == "lab") { Chris@154: return new LabFeatureWriter(); Chris@136: } else if (tag == "midi") { Chris@136: return new MIDIFeatureWriter(); Chris@200: } else if (tag == "jams") { Chris@145: return new JAMSFeatureWriter(); Chris@0: } Chris@0: Chris@0: return 0; Chris@0: }