cannam@30: /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ cannam@30: cannam@30: /* cannam@30: Vamp feature extraction plugins using Paul Brossier's Aubio library. cannam@30: cannam@30: Centre for Digital Music, Queen Mary, University of London. cannam@30: This file copyright 2012 Queen Mary, University of London. piem@145: piem@112: This file is part of vamp-aubio-plugins. piem@112: piem@112: vamp-aubio is free software: you can redistribute it and/or modify piem@112: it under the terms of the GNU General Public License as published by piem@112: the Free Software Foundation, either version 3 of the License, or piem@112: (at your option) any later version. piem@112: piem@112: vamp-aubio is distributed in the hope that it will be useful, piem@112: but WITHOUT ANY WARRANTY; without even the implied warranty of piem@112: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the piem@112: GNU General Public License for more details. piem@112: piem@112: You should have received a copy of the GNU General Public License piem@112: along with aubio. If not, see . cannam@30: cannam@30: */ cannam@30: cannam@30: #ifndef _ONSET_TYPE_H_ cannam@30: #define _ONSET_TYPE_H_ cannam@30: piem@134: /** silence unused parameter warning by adding an attribute */ piem@134: #if defined(__GNUC__) piem@134: #define UNUSED __attribute__((unused)) piem@134: #else piem@134: #define UNUSED piem@134: #endif piem@134: cannam@30: // Note: the enum values in this header are ordered to match the Vamp cannam@30: // plugin parameter values in earlier versions of this plugin set, to cannam@30: // avoid breaking stored parameter settings that use the parameter's cannam@30: // numerical value. Any additional values must be added after all cannam@30: // existing ones. cannam@30: cannam@30: enum OnsetType { cannam@30: OnsetEnergy, cannam@30: OnsetSpecDiff, cannam@30: OnsetHFC, cannam@30: OnsetComplex, cannam@30: OnsetPhase, cannam@30: OnsetKL, cannam@30: OnsetMKL, piem@145: OnsetSpecFlux, // new in 0.4! piem@145: OnsetDefault // new in 0.5 cannam@30: }; cannam@30: cannam@30: extern const char *getAubioNameForOnsetType(OnsetType t); cannam@30: piem@89: enum SpecDescType { piem@89: SpecDescFlux, piem@89: SpecDescCentroid, piem@89: SpecDescSpread, piem@89: SpecDescSkeweness, piem@89: SpecDescKurtosis, piem@89: SpecDescSlope, piem@89: SpecDescDecrease, piem@89: SpecDescRolloff piem@89: }; piem@89: piem@89: extern const char *getAubioNameForSpecDescType(SpecDescType t); piem@89: cannam@30: enum PitchType { cannam@30: PitchYin, cannam@30: PitchMComb, cannam@30: PitchSchmitt, cannam@30: PitchFComb, cannam@30: PitchYinFFT cannam@30: }; cannam@30: cannam@30: extern const char *getAubioNameForPitchType(PitchType t); cannam@30: cannam@30: #endif cannam@30: