/* * GLIB - a Generic LIBrarian and editor for synths * * Data Display Routines * * Code started 16 JAN 89 -- Michael R. Kesti mrk@gvgspd.GVG.TEK.COM */ #include char * vispan(v) { switch (v) { case 0: return("7>"); case 1: return("6>"); case 2: return("5>"); case 3: return("4>"); case 4: return("3>"); case 5: return("2>"); case 6: return("1>"); case 7: return("><"); case 8: return("<1"); case 9: return("<2"); case 10: return("<3"); case 11: return("<4"); case 12: return("<5"); case 13: return("<6"); case 14: return("<7"); } return("*"); } char * visreverbtype(v) { switch (v) { case 0: return("ROOM 1"); case 1: return("ROOM 2"); case 2: return("HALL 1"); case 3: return("HALL 2"); case 4: return("PLATE"); case 5: return("DELAY 1"); case 6: return("DELAY 2"); case 7: return("DELAY 3"); case 8: return("OFF"); } return("*"); } char *visreverbtime(v) { static char visreverbtimebuf[2]; if((v >= 0) && (v <= 7)) { sprintf(visreverbtimebuf,"%d",v + 1); return(visreverbtimebuf); } else { return("*"); } } char *visreverblevel(v) { static char visreverblevelbuf[2]; if((v >= 0) && (v <= 7)) { sprintf(visreverblevelbuf,"%d",v); return(visreverblevelbuf); } else { return("*"); } } char *vispatchlevel(v) { static char vispatchlevelbuf[4]; if((v >= 0) && (v <= 100)) { sprintf(vispatchlevelbuf,"%d",v); return(vispatchlevelbuf); } else { return("*"); } } char * viskeymode(v) { switch (v) { case 0: return("WHOLE"); case 1: return("DUAL"); case 2: return("SPLIT"); } return("*"); } static char *split_table[] = { "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B" }; char * vissplit(v) { static char vissplitbuf[4]; if((v >= 0) && (v <= 61)) { strcpy(vissplitbuf, split_table[v % 12]); if(strlen(vissplitbuf) == 1) { vissplitbuf[1] = (((v / 12) + 2) + '0'); vissplitbuf[2] = 0; } else { vissplitbuf[2] = (((v / 12) + 2) + '0'); vissplitbuf[3] = 0; } return(vissplitbuf); } else { return("*"); } } char * vistonegroup(v) { switch (v) { case 0: return("A"); case 1: return("B"); case 2: return("I"); case 3: return("R"); } return("*"); } char * visrtone(v) { static char visrtonebuf[4]; if(v >= 0 && v <= 127) { if(v < 64) { sprintf(visrtonebuf,"% 02d",v + 1); visrtonebuf[0] = 'I'; } else { if(v == 127) { strcpy(visrtonebuf, "OFF"); } else { v -= 64; sprintf(visrtonebuf," %02d",v + 1); visrtonebuf[0] = 'R'; } } return(visrtonebuf); } return("*"); } char *vistonenum(v) { static char vistonenumbuf[3]; if((v >= 0) && (v <= 63)) { sprintf(vistonenumbuf,"%02d",v + 1); return(vistonenumbuf); } else { return("*"); } } char *viskeyshift(v) { static char viskeyshiftbuf[4]; if((v >= 0) && (v <= 23)) { sprintf(viskeyshiftbuf,"-%d",abs(v - 24)); return(viskeyshiftbuf); } else if(v == 24) { sprintf(viskeyshiftbuf,"0"); return(viskeyshiftbuf); } else if((v >= 25) && (v <= 48)) { sprintf(viskeyshiftbuf,"+%d", (v - 24)); return(viskeyshiftbuf); } else { return("*"); } } char *visfinetune(v) { static char visfinetunebuf[4]; if((v >= 0) && (v <= 49)) { sprintf(visfinetunebuf,"-%d",abs(v - 50)); return(visfinetunebuf); } else if(v == 50) { sprintf(visfinetunebuf,"0"); return(visfinetunebuf); } else if((v >= 51) && (v <= 100)) { sprintf(visfinetunebuf,"+%d",(v - 50)); return(visfinetunebuf); } else { return("*"); } } char *visbendrange(v) { static char visbendrangebuf[3]; if((v >= 0) && (v <= 24)) { sprintf(visbendrangebuf,"%d",v); return(visbendrangebuf); } else { return("*"); } } char *visassignmode(v) { static char visassignmodebuf[2]; if((v >= 0) && (v <= 3)) { sprintf(visassignmodebuf,"%d",v); return(visassignmodebuf); } else { return("*"); } } char *vistonebal(v) { static char vistonebalbuf[30]; static char vistonebalbuf1[30]; int n; if((v >= 0) && (v <= 100)) { sprintf(vistonebalbuf,"%d", v); for(n = 0 ; n < (30 - strlen(vistonebalbuf)) ; n++) strcat(vistonebalbuf, " "); sprintf(vistonebalbuf1,"%d", abs(v - 100)); strcat(vistonebalbuf, vistonebalbuf1); return(vistonebalbuf); } else { return("*"); } } char * visstruct(v) { if((v >= 0) && (v <= 12)) { switch(v) { case 0: return("~l~l~u~u~u __|_ ~d~l~l~l~l~l~l| |~d~l~l~l~l~l~l| |~d~l~l~l~l~l~lS 1 S"); break; case 1: return("~l~l~u~u~u __| ~d~l~l~l~l~l~l| RM ~d~l~l~l~l~l~l|/ \\ ~d~l~l~l~l~l~lS 2 S"); break; case 2: return("~l~l~u~u~u __|_ ~d~l~l~l~l~l~l| |~d~l~l~l~l~l~l| |~d~l~l~l~l~l~lP 3 S"); break; case 3: return("~l~l~u~u~u __| ~d~l~l~l~l~l~l| RM ~d~l~l~l~l~l~l|/ \\ ~d~l~l~l~l~l~lP 4 S"); break; case 4: return("~l~l~u~u~u __| ~d~l~l~l~l~l~l| RM ~d~l~l~l~l~l~l|/ \\ ~d~l~l~l~l~l~lS 5 P"); break; case 5: return("~l~l~u~u~u __|_ ~d~l~l~l~l~l~l| |~d~l~l~l~l~l~l| |~d~l~l~l~l~l~lP 6 P"); break; case 6: return("~l~l~u~u~u __| ~d~l~l~l~l~l~l| RM ~d~l~l~l~l~l~l|/ \\ ~d~l~l~l~l~l~lP 7 P"); break; case 7: return("~l~l~u~u~u| |~d~l~l~l~l~l~l| |~d~l~l~l~l~l~l| |~d~l~l~l~l~l~lS 8 S"); break; case 8: return("~l~l~u~u~u| |~d~l~l~l~l~l~l| |~d~l~l~l~l~l~l| |~d~l~l~l~l~l~lP 9 P"); break; case 9: return("~l~l~u~u~u | ~d~l~l~l~l~l~l RM ~d~l~l~l~l~l~l / \\ ~d~l~l~l~l~l~lS 10 S"); break; case 10: return("~l~l~u~u~u | ~d~l~l~l~l~l~l RM ~d~l~l~l~l~l~l / \\ ~d~l~l~l~l~l~lP 11 S"); break; case 11: return("~l~l~u~u~u | ~d~l~l~l~l~l~l RM ~d~l~l~l~l~l~l / \\ ~d~l~l~l~l~l~lS 12 P"); break; case 12: return("~l~l~u~u~u | ~d~l~l~l~l~l~l RM ~d~l~l~l~l~l~l / \\ ~d~l~l~l~l~l~lP 13 P"); break; } } else { return("*"); } } char * vispmute(v) { switch (v) { case 0: return("_ _ _ _"); case 1: return("1 _ _ _"); case 2: return("_ 2 _ _"); case 3: return("1 2 _ _"); case 4: return("_ _ 3 _"); case 5: return("1 _ 3 _"); case 6: return("_ 2 3 _"); case 7: return("1 2 3 _"); case 8: return("_ _ _ 4"); case 9: return("1 _ _ 4"); case 10: return("_ 2 _ 4"); case 11: return("1 2 _ 4"); case 12: return("_ _ 3 4"); case 13: return("1 _ 3 4"); case 14: return("_ 2 3 4"); case 15: return("1 2 3 4"); } return("*"); } char * visenvmode(v) { switch (v) { case 0: return("NORMAL"); case 1: return("NO SUSTAIN"); } return("*"); } static char *cpitch_table[] = { "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#", "A", "A#", "B" }; char * viscpitch(v) { static char viscpitchbuf[4]; if((v >= 0) && (v <= 96)) { strcpy(viscpitchbuf, cpitch_table[v % 12]); if(strlen(viscpitchbuf) == 1) { viscpitchbuf[1] = (((v / 12) + 1) + '0'); viscpitchbuf[2] = 0; } else { viscpitchbuf[2] = (((v / 12) + 1) + '0'); viscpitchbuf[3] = 0; } return(viscpitchbuf); } else { return("*"); } } char * vispkeyfol(v) { switch (v) { case 0: return("-1"); case 1: return("-1/2"); case 2: return("-1/4"); case 3: return("0"); case 4: return("1/8"); case 5: return("1/4"); case 6: return("3/8"); case 7: return("1/2"); case 8: return("5/8"); case 9: return("3/4"); case 10: return("7/8"); case 11: return("1"); case 12: return("5/4"); case 13: return("3/2"); case 14: return("2"); case 15: return("s1"); case 16: return("s2"); } return("*"); } char * vistkeyfol(v) { switch (v) { case 0: return("-1"); case 1: return("-1/2"); case 2: return("-1/4"); case 3: return("0"); case 4: return("1/8"); case 5: return("1/4"); case 6: return("3/8"); case 7: return("1/2"); case 8: return("5/8"); case 9: return("3/4"); case 10: return("7/8"); case 11: return("1"); case 12: return("5/4"); case 13: return("3/2"); case 14: return("2"); } return("*"); } char *viswavebank(v) { switch (v) { case 0: return("SQU1"); case 1: return("SAW1"); case 2: return("SQU2"); case 3: return("SAW2"); } return("*"); } char *vispcmnum(v) { static char vispcmnumbuf[3]; if((v >= 0) && (v <= 127)) { sprintf(vispcmnumbuf,"%d",v + 1); return(vispcmnumbuf); } else { return("*"); } } char *visvelsens(v) { static char visvelsensbuf[3]; if((v >= 0) && (v <= 6)) { sprintf(visvelsensbuf,"-%d",abs(v - 7)); return(visvelsensbuf); } else if(v == 7) { sprintf(visvelsensbuf,"0"); return(visvelsensbuf); } else if((v >= 8) && (v <= 14)) { sprintf(visvelsensbuf,"+%d",abs(v - 7)); return(visvelsensbuf); } else { return("*"); } } char *visenvlev(v) { static char visenvlevbuf[4]; if((v >= 0) && (v <= 49)) { sprintf(visenvlevbuf,"-%d",abs(v - 50)); return(visenvlevbuf); } else if(v == 50) { sprintf(visenvlevbuf,"0"); return(visenvlevbuf); } else if((v >= 51) && (v <= 100)) { sprintf(visenvlevbuf,"+%d",abs(v - 50)); return(visenvlevbuf); } else { return("*"); } } char *visbiaslev(v) { static char visbiaslevbuf[3]; if((v >= 0) && (v <= 6)) { sprintf(visbiaslevbuf,"-%d",abs(v - 7)); return(visbiaslevbuf); } else if(v == 7) { sprintf(visbiaslevbuf,"0"); return(visbiaslevbuf); } else if((v >= 8) && (v <= 14)) { sprintf(visbiaslevbuf,"+%d",abs(v - 7)); return(visbiaslevbuf); } else { return("*"); } } static char *bpitch_table[] = { "A", "A#", "B", "C", "C#", "D", "D#", "E", "F", "F#", "G", "G#" }; char * visbiaspd(v) { static char visbiaspdbuf[5]; static char visbiaspdbuf1[2]; if((v >= 0) && (v <= 127)) { if(v >= 64) { strcpy(visbiaspdbuf, ">"); v -= 64; } else { strcpy(visbiaspdbuf, "<"); } strcat(visbiaspdbuf, bpitch_table[v % 12]); v += 9; sprintf(visbiaspdbuf1, "%d", (v / 12) + 1); strcat(visbiaspdbuf, visbiaspdbuf1); return(visbiaspdbuf); } else { return("*"); } } char *vistvablev(v) { static char vistvablevbuf[4]; if((v >= 0) && (v <= 12)) { if(v == 12) { return("0"); } else { sprintf(vistvablevbuf,"-%d",abs(v - 12)); return(vistvablevbuf); } } else { return("*"); } } /* end */