Only in midi_prog: Makefile- diff -ur midi_prog-/test_tone.c midi_prog/test_tone.c --- midi_prog-/test_tone.c 2018-02-22 12:41:03.000000000 +0900 +++ midi_prog/test_tone.c 2018-02-23 11:09:55.000000000 +0900 @@ -10,7 +10,7 @@ int imix(int a, int b, double rate) { - return (int)dmix(a, b, rate); + return (int)( dmix(a, b, rate) + 0.5 ); } @@ -58,22 +58,27 @@ main(int ac, char **av) { -#define N 32 +#define N 128 struct tone_all_rec in, out; struct tone_rec tones[N+1]; char names[N][8], prog_names[N][8]; struct tones_lst_rec tones_lst[N+1]; struct tone_compo_rec tone_compo[N][2]; - int i; + int i, n = opt_int("-n", ac, av, 32); + + if(opt_idx("-h", ac, av) > 0){ + fprintf(stderr, "Usage: %s [-n num]\n\tnum: default 32 , max 128\n", av[0]); + return 0; + } rec_load(&in, rec_get("struct tone_all_rec"), stdin); memset(tones, 0, sizeof(tones)); memset(tones_lst, 0, sizeof(tones_lst)); memset(tone_compo, 0, sizeof(tone_compo)); - for(i=0; i $OUT +./test_tone -n $N< $IN > $OUT CH=0 CH_VOL=127 @@ -24,7 +25,7 @@ DELTA=40 DELTA2=20 -for i in $(seq 0 31) ; do +for i in $(seq 0 $(expr $N - 1)) ; do echo "delta=0 prog_num ch=$CH v=${i}" >> test_tone.txt echo "delta=0 on ch=$CH note=$NOTE velo=$VELO" >> test_tone.txt echo "delta=$DELTA off ch=$CH note=69 velo=0" >> test_tone.txt diff -ur midi_prog-/test_tone.tone midi_prog/test_tone.tone --- midi_prog-/test_tone.tone 2018-02-22 12:56:39.000000000 +0900 +++ midi_prog/test_tone.tone 2018-02-23 10:57:13.000000000 +0900 @@ -43,38 +43,38 @@ gain 0.000000 chorus 1 , - name "bar" + name "ptmsk_kikako" vco - wave1 1 - wave2 1 - tune 12 - mix 0.500000 + wave1 0 + wave2 2 + tune 0 + mix 1 ring 0 - alias_noise1 0 + alias_noise1 1 alias_noise2 0 fl1 type 1 - freq 1000.000000 - Q 7.500000 + freq 3500 + Q 20 fl2 type 0 - freq 0.000000 - Q 0.000000 + freq 0 + Q 0 env - attack 0.150000 - decay 0.500000 - sustain 0.800000 - release 0.500000 - level 1.000000 + attack 0.03 + decay 0.1 + sustain 0.3 + release 0.8 + level 0.8 lfo_modu pitch1 0 - pitch2 12 + pitch2 1000 filter1 0 filter2 0 lfo - wave 0 - freq 4.000000 - delay 0.300000 + wave 3 + freq 0 + delay 0 env_modu pitch1 0 pitch2 0 @@ -82,9 +82,9 @@ filter2 0 delay onoff 0 - sec 0.000000 - gain 0.000000 - chorus 1 + sec 0 + gain 0 + chorus 0 , name NULL vco