void KEY_ON() { if (AEG.state==EG_Release) { //if it was off then turn it on ! enable(); // reset AEG SetAegState(EG_Attack); AEG.SetValue(0x3FF);//start from 0x3FF ? .. it seems so ! //reset FEG SetFegState(EG_Attack); //set values and crap //Reset sampling state CA=0; step.full=0; loop.looped=false; adpcm.Reset(this); StepStreamInitial(this); key_printf("[%d] KEY_ON %s @ %f Hz, loop : %d\n",Channel,stream_names[ChanData->PCMS],(44100.0*update_rate)/1024,ChanData->LPCTL); } else { //ignore ? } }
Item *keyboard(List *expression) { Item *last = 0; for (List *remaining = rest(expression); remaining; remaining = rest(remaining)) { last = first(remaining); key_printf("%s", eval_as_string(last)); } return last; }
void KEY_OFF() { if (AEG.state!=EG_Release) { key_printf("[%d] KEY_OFF -> Release\n",Channel); SetAegState(EG_Release); //switch to release state } else { //ignore ? } }