ERIS CORE

◆ AudioDirector() [1/2]

FLASHMEM AudioDirector::AudioDirector ( )

Definition at line 23 of file AudioDirector.cpp.

23  {
24  parameter_controller = NULL;
25  sci = NULL;
26  obj_count=0;
31  printstats_block = 0;
32  AudioMemory(MAX_AUDIO_MEMORY_BLOCKS);
33  //init pointer arrays
34  for (uint16_t i=0; i < MAX_AUDIO_TYPES_BY_FUNCTION_QUERY_RESULT; i++){
35  query_result[i]=0;
36  }
37  for (uint16_t j = 0; j < MAX_AUDIO_FUNCTION_CATEGORIES; j++){
38  functionsList[j] =0;
39  }
42 
43 
47  //addAudioStreamObj(new erisAudioAnalyzeNoteFrequency);
50  //addAudioStreamObj(new erisAudioSynthNoiseWhite);
52 
53  erisAudioSynthWaveform * tmp_asw;
54  erisAudioSynthWaveformhd *tmp_asw2k;
55  for (int i=0; i < 8; i++){
56  tmp_asw2k = new erisAudioSynthWaveformhd;
57  tmp_asw2k->arbitraryProgram(35);
58  addAudioStreamObj(tmp_asw2k);
59  }
60 
61  for (int i=0; i < 18; i++){
62  //addAudioStreamObj(new erisAudioEffectEnvelope);
63  tmp_asw = new erisAudioSynthWaveform;
64  addAudioStreamObj(tmp_asw);
65  }
66 
67 
68  for (int i=0; i < 6; i++){
73  }
74 
75  //addAudioStreamObj(new erisAudioMixer8);
76  //addAudioStreamObj(new erisAudioMixer8);
77  //addAudioStreamObj(new erisAudioMixer8);
78 
81 
82  //addAudioStreamObj(new erisAudioEffectDelay);
83 
84  Serial.print(F("M AudioDirector::AudioDirector() objects: "));
85  Serial.println(obj_count);
86 
88  Serial.print(F("M AudioDirector::AudioDirector() object categories: "));
89  Serial.println(category_count);
90  for (uint16_t j = 0; j < category_count; j++)Serial.printf("M %s\n",*functionsList[j]);
91 
92  AudioStream* test = getAudioStreamObjByName("mixer:2");
93  Serial.println(F("M AudioDirector::AudioDirector() getAudioStreamObjByName test: (should be mixer #2)"));
94  Serial.print(test->short_name);
95  Serial.print(F(":"));
96  Serial.println(test->instance);
97 
98  Serial.println(F("M AudioDirector::AudioDirector() building AudioConnection pool"));
99  for(uint16_t i=0; i < MAX_CONNECTIONS;i++){
100  p_cord[i] = new AudioConnection(NULL, (unsigned char)0,NULL, (unsigned char)0);
101  }
102  p_heap_end = p_cord[MAX_CONNECTIONS-1] + (p_cord[MAX_CONNECTIONS-1] - p_cord[MAX_CONNECTIONS-2]);
103  Serial.print(F("M AudioDirector::AudioDirector() Estimated Memory Useage: "));
104  long s = (uint32_t)p_heap_start;
105  long e = (uint32_t)p_heap_end;
106  Serial.print(e-s);
107  Serial.println(F(" Bytes"));
108 };
const char PROGMEM s[][16]
Definition: Eris.h:246
uint8_t printstats_select
Definition: AudioDirector.h:74
uint16_t printstats_block
Definition: AudioDirector.h:75
char **volatile functionsList[MAX_AUDIO_FUNCTION_CATEGORIES]
Definition: AudioDirector.h:80
uint16_t query_result_count
Definition: AudioDirector.h:79
char **volatile query_result[MAX_AUDIO_TYPES_BY_FUNCTION_QUERY_RESULT]
Definition: AudioDirector.h:81
AudioStream * getAudioStreamObjByName(const char *AudioStreamObjName)
void * p_heap_start
Definition: AudioDirector.h:69
AudioConnection * p_cord[MAX_CONNECTIONS]
Definition: AudioDirector.h:82
uint16_t active_connections
Definition: AudioDirector.h:76
void * p_heap_end
Definition: AudioDirector.h:70
bool addAudioStreamObj(AudioStream *obj)
SvcErisAudioParameterController * parameter_controller
Definition: AudioDirector.h:68
erisAudioInputI2S audiostream_input_port
Definition: AudioDirector.h:72
uint16_t category_count
Definition: AudioDirector.h:78
void generateFunctionList()
get the list of function types in the obj pool
SvcSerialCommandInterface * sci
Definition: AudioDirector.h:67
erisAudioOutputI2S audiostream_output_port
Definition: AudioDirector.h:73
uint16_t obj_count
Definition: AudioDirector.h:77
uint8_t instance
Definition: AudioStream.h:188
const char * short_name
Definition: AudioStream.h:184
void arbitraryProgram(uint8_t program)

References active_connections, addAudioStreamObj(), AudioSynthWaveformhd::arbitraryProgram(), audiostream_input_port, audiostream_output_port, category_count, functionsList, generateFunctionList(), getAudioStreamObjByName(), AudioStream::instance, obj_count, p_cord, p_heap_end, p_heap_start, parameter_controller, printstats_block, printstats_select, query_result, query_result_count, s, sci, and AudioStream::short_name.

+ Here is the call graph for this function: