cannam@18: #ifndef _SEGMENT_H cannam@18: #define _SEGMENT_H cannam@18: cannam@20: #ifdef __cplusplus cannam@20: extern "C" { cannam@20: #endif cannam@20: cannam@18: /* cannam@18: * segment.h cannam@18: * cannam@18: * Created by Mark Levy on 06/04/2006. Chris@84: * Copyright 2006 Centre for Digital Music, Queen Mary, University of London. Chris@84: Chris@84: This program is free software; you can redistribute it and/or Chris@84: modify it under the terms of the GNU General Public License as Chris@84: published by the Free Software Foundation; either version 2 of the Chris@84: License, or (at your option) any later version. See the file Chris@84: COPYING included with this distribution for more information. cannam@18: * cannam@18: */ cannam@18: cannam@18: typedef struct segment_t cannam@18: { cannam@18: long start; /* in samples */ cannam@18: long end; cannam@18: int type; cannam@18: } segment_t; cannam@18: cannam@18: typedef struct segmentation_t cannam@18: { cannam@18: int nsegs; /* number of segments */ cannam@18: int nsegtypes; /* number of segment types, so possible types are {0,1,...,nsegtypes-1} */ cannam@18: int samplerate; cannam@18: segment_t* segments; cannam@18: } segmentation_t; cannam@18: cannam@18: typedef enum cannam@18: { cannam@18: FEATURE_TYPE_UNKNOWN = 0, cannam@18: FEATURE_TYPE_CONSTQ = 1, cannam@26: FEATURE_TYPE_CHROMA = 2, cannam@26: FEATURE_TYPE_MFCC = 3 cannam@18: } feature_types; cannam@18: cannam@20: #ifdef __cplusplus cannam@20: } cannam@18: #endif cannam@18: cannam@20: #endif cannam@20: