Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Aria.h

Go to the documentation of this file.
00001 
00011 #ifndef __ARIA_H__
00012 #define __ARIA_H__
00013 
00026 #include <vector>
00027 using namespace std;
00028 
00029 #define MAX_PARTICIPANTS    4
00030 #define BEAT_WINDOW_SIZE    64
00031 #define HIT_WINDOW_SIZE     64
00032 
00033 enum HeuristicType {
00034     HEURISTIC_METER = 0,
00035     HEURISTIC_FREQUENCY,
00036     HEURISTIC_COUNT,
00037     HEURISTIC_AVERAGE,
00038 
00039     NUM_HEURISTICS
00040 };
00041 
00042 struct MusicBeat {
00043     int beat;
00044     long timestamp;
00045 };
00046 
00047 struct DrumHit {
00048     long timestamp;
00049 };
00050 
00051 struct HitHistory {
00052     DrumHit     hits[HIT_WINDOW_SIZE];
00053     int         readPos;
00054     int         writePos;
00055 };
00056 
00057 struct SimulationStatus
00058 {
00059     // Ratings
00060     float       ratings[MAX_PARTICIPANTS];
00061 
00062     // Beat history (in a circular buffer)
00063     MusicBeat   beats[BEAT_WINDOW_SIZE];
00064     int         beatsReadPos;
00065     int         beatsWritePos;
00066     long        avgBeatTime;
00067 
00068     // Drum hit history
00069     HitHistory  hits[MAX_PARTICIPANTS];
00070 };
00071 
00076 enum BoidBehavior {
00077     SimpleSeek,     
00078     Arrival,        
00079     Circle,         
00080     SeparationSeek, 
00081     Peck            
00082 };
00083 
00091 enum BoidDestination {
00092     TREE = 0,
00093     DRUM1,
00094     DRUM2,
00095     DRUM3,
00096     DRUM4
00097 };
00098 #define AV_NUMSEEKPOINTS 5
00099 
00101 enum BoidType {
00102     BLUEJAY = 0,
00103     GOLDFINCH,
00104     ORANGE,
00105     KIWI
00106 };
00107 #define AV_NUMBOIDTYPES 4
00108 
00109 #endif /* __ARIA_H__ */

Generated on Mon Mar 4 08:42:22 2002 for Aria by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002