ERIS CORE

◆ initialize()

void FLASHMEM AppAudioToPolyphonic::initialize ( )
inline

Definition at line 56 of file AppAudioToPolyphonic.h.

56  {
57  sprintf(name, APPNAME);
58  update_priority = 10; //set to higher priority
59  id = 1;
60  t_lastupdate = micros();
61 
62  x_end = 0;
63  x_start = 0;
64  y_end = 0;
65  y_start = 0;
66  x_last = 0;
67  y_last = 0;
68  y_last_scope = 0;
69 
70  if (ad == NULL) return; // if the audio director is somehow not available, return
71 
73  if(pink != NULL) pink->amplitude(1.0);
74 
76  if(filter != NULL){
77  filter->setLowpass(0, 4200);
78  filter->setHighpass(1, 270);
79  }
80 
81  filter = (erisAudioFilterBiquad*) (ad->getAudioStreamObjByName("biquad:2"));
82  if(filter != NULL) filter->setLowpass(0, 1800);
83 
84  filter = (erisAudioFilterBiquad*) (ad->getAudioStreamObjByName("biquad:3"));
85  if(filter != NULL) filter->setLowpass(0,12052);
86 
87  filter = (erisAudioFilterBiquad*) (ad->getAudioStreamObjByName("biquad:4"));
88  if(filter != NULL) filter->setLowpass(0,14400);
89 
90  filter = (erisAudioFilterBiquad*) (ad->getAudioStreamObjByName("biquad:5"));
91  if(filter != NULL) filter->setNotch(0,4750,5.0);
92 
94  if(reverb != NULL){
95  am->data->create("REVERB_ROOM_SIZE",(float32_t)0.88);
96  am->data->create("REVERB_DAMPING",(float32_t)0.37);
97  reverb->roomsize(am->data->readf("REVERB_ROOM_SIZE"));
98  reverb->damping(am->data->readf("REVERB_DAMPING"));
99  }
100 
102  if(mixer){
103  mixer->gain(0,0.5);//synth
104  mixer->gain(1,0.0);
105  mixer->gain(2,0.3);//input blend
106  mixer->gain(3,0.0);//reverb
107  }
108  output_gate = 1.0;
109 
111  if (delay != NULL){
112  delay->delay(0,0);
113  delay->delay(1,0);
114  delay->delay(2,0);
115  delay->delay(3,230);
116  }
117  mixer = (erisAudioMixer4*)(ad->getAudioStreamObjByName("mixer:2"));
118  if (mixer != NULL){
119  mixer->gain(0,0.000001);
120  mixer->gain(1,0.00001);
121  mixer->gain(2,0.0001);
122  mixer->gain(3,0.01);
123  }
124 
126  oscope.setWidgetDimension(110,50);
127  oscope.setPosition(5,20);
128  oscope.setDimension(315,100);
129  oscope.setParent(this);
130 
131  cqt.setWidgetPosition(125,5);
132  cqt.setWidgetDimension(SCREEN_WIDTH-10-125,50);
133  cqt.setParent(this);
134 
135  slider = new ControlSlider(this);
136  if (slider != NULL){
137  slider->setWidgetPosition(0,65);
138  slider->setWidgetDimension(SCREEN_WIDTH,10);
139  slider->setName("SLIDER");
140  slider->setText("");
141  slider->setValue(0);
142  }
143 
144  uint8_t si = 0;
145  uint16_t bx = 5;
146  uint16_t by = 90;
147  for (uint16_t i=0;i<sizeof(s)/16;i+=1){
148  button = new ControlButton(this); //reuse the button var to create many instances
149  if(bx>(SCREEN_WIDTH-78)){
150  bx=5;by+=78;
151  }
152  if (button != NULL){
153  button->setWidgetPosition(bx,by);
154  button->setWidgetDimension(66,66);
155  button->setName(s[si]);
156  button->setText(s[si]);
157  button->setImage("/I/U/I",p[si++]);
158  }
159  bx+=78;
160  }
161  }
const char PROGMEM s[][16]
Definition: Eris.h:246
const char PROGMEM p[][16]
Definition: Eris.h:247
void setWidgetPosition(int16_t new_origin_x, int16_t new_origin_y)
Set the Widget Position object.
Definition: AppBaseClass.h:145
AppManager * am
Definition: AppBaseClass.h:38
void setWidgetDimension(int16_t new_width, int16_t new_height)
Set the Widget Dimension object.
Definition: AppBaseClass.h:153
void setName(const char *name_string)
Set the app class instance name (string)
Definition: AppBaseClass.h:104
char name[MAX_NAME_LENGTH]
Definition: AppBaseClass.h:74
uint16_t update_priority
Definition: AppBaseClass.h:52
AudioDirector * ad
Definition: AppBaseClass.h:37
void setDimension(int16_t new_width, int16_t new_height)
Set the Dimension object.
Definition: AppBaseClass.h:137
void setPosition(int16_t new_origin_x, int16_t new_origin_y)
Set the Position object.
Definition: AppBaseClass.h:129
void setParent(AppBaseClass *parent)
Set the Parent object.
Definition: AppBaseClass.h:121
SvcDataDictionary * data
Definition: AppManager.h:63
AudioStream * getAudioStreamObjByName(const char *AudioStreamObjName)
void FLASHMEM setText(const char *name_string)
Definition: ControlButton.h:38
void FLASHMEM setImage(const char *path, const char *filename)
Definition: ControlButton.h:44
void setValue(int16_t new_value)
Definition: ControlSlider.h:29
void setText(const char *name_string)
Definition: ControlSlider.h:30
bool create(const char *key, int32_t val, uint32_t *owner)
create a record with ownership
float32_t readf(const char *key)
returns the float32_t value of the record

References AppBaseClass::ad, AppBaseClass::am, button, cqt, SvcDataDictionary::create(), AppManager::data, AudioDirector::getAudioStreamObjByName(), AppBaseClass::name, oscope, output_gate, p, SvcDataDictionary::readf(), s, AppBaseClass::setDimension(), ControlButton::setImage(), AppBaseClass::setName(), AppBaseClass::setParent(), AppBaseClass::setPosition(), ControlButton::setText(), ControlSlider::setText(), ControlSlider::setValue(), AppBaseClass::setWidgetDimension(), AppBaseClass::setWidgetPosition(), slider, t_lastupdate, AppBaseClass::update_priority, x_end, x_last, x_start, y_end, y_last, y_last_scope, and y_start.

Referenced by AppAudioToPolyphonic().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: