CLAM-Development
1.1
|
00001 #ifndef _SampleMetadata_ 00002 #define _SampleMetadata_ 00003 00004 #include "IndexArray.hxx" 00005 #include "Processing.hxx" 00006 #include "Err.hxx" 00007 #include "SDIFInConfig.hxx" 00008 #include "Filename.hxx" 00009 #include "SimpleLoopMetadata.hxx" 00010 #include <vector> 00011 00012 namespace CLAM 00013 { 00014 00015 #define SAMPLE_METADATA_PITCH_INDEX 1 00016 #define SAMPLE_METADATA_AMPLITUDE_INDEX 2 00017 00029 class SampleMetadata : public DynamicType 00030 { 00031 public: 00032 DYNAMIC_TYPE (SampleMetadata, 6); 00033 DYN_ATTRIBUTE(0,public, CLAM::Filename, Filename); 00034 DYN_ATTRIBUTE(SAMPLE_METADATA_PITCH_INDEX, public, double, Pitch); 00035 DYN_ATTRIBUTE(SAMPLE_METADATA_AMPLITUDE_INDEX,public, double, Amplitude); 00036 DYN_ATTRIBUTE(3,public, int, SortIndex); 00037 DYN_ATTRIBUTE(4,public, int, StartSteadyState); 00038 DYN_CONTAINER_ATTRIBUTE(5, public, std::vector<SimpleLoopMetadata>, ListOfLoops, Loop); 00039 00040 // DYN_ATTRIBUTE(3,public, EnvelopeStage, EnvelopeStage); 00041 void DefaultInit(); 00042 // when the object is restored from XML, after it is read it only has those 00043 // attributes which are defined in the XML file. so, we need to add some 00044 // more attributes to it which will be used later by other algorithms 00045 // such as the SortIndex 00046 void ConfigureAfterRestore(); 00047 bool operator<(const SampleMetadata& argSampleMetadata) const; 00048 bool operator>(const SampleMetadata& argSampleMetadata) const; 00049 bool operator==(const SampleMetadata& argSampleMetadata) const; 00050 00051 }; 00052 00053 } // end namespace CLAM 00054 00055 #endif 00056