diff -urN midi_prog-/pitdet.c midi_prog/pitdet.c --- midi_prog-/pitdet.c Fri Sep 25 00:00:00 2015 +++ midi_prog/pitdet.c Sat Sep 26 00:00:00 2015 @@ -111,7 +111,8 @@ } for(j=0; jm; j++){ - tbuf_set_dbl(&pd->arr[j].ab.tb, sec, pd->wk[j].v); + double v = MAX(pd->wk[j].v, 0); + tbuf_set_dbl(&pd->arr[j].ab.tb, sec, v); } } @@ -234,6 +235,8 @@ int from_i, to_i, i; struct onoff_stat *ost = &p->ost; + chatt_set(&ost->ct, 0); + chatt_set(&ost->ct2, 0); ost->v = 0; ost->on_sec = -1; ost->off_sec = 0; diff -urN midi_prog-/tool.c midi_prog/tool.c --- midi_prog-/tool.c Fri Sep 25 00:00:00 2015 +++ midi_prog/tool.c Sat Sep 26 00:00:00 2015 @@ -135,30 +135,6 @@ return velo; } -int -note_onoff_is_overtone(struct note_onoff *nto, double on_sec, double off_sec) -{ - /* Fundamental, Overtone */ - - int lst[] = { 12, 12+7, 12*2 }; - int lst_n = ARR_N(lst); - int i, t; - double v = note_onoff_v(nto, on_sec, off_sec); - - for(i=0; inote - lst[i]) < 0) continue; - funda = ¬e_onoff[t]; /* ! */ - v_f = note_onoff_v(funda, on_sec, off_sec); - - if(v_f >= v * n * 0.7) return 1; - } - return 0; -} - void note_onoff_add(struct note_onoff *nto, double sec, double v, int ch) {