From 2384d7b295c1b162edf64886c16a0ae0c9046bc5 Mon Sep 17 00:00:00 2001 From: Len Shustek Date: Wed, 2 Jan 2019 16:46:17 -0800 Subject: [PATCH] Fix bug: no delays were generated until tempo was set --- miditones.c | 470 +++++++++++++++++++++----------------------------- miditones.exe | Bin 201832 -> 60416 bytes 2 files changed, 192 insertions(+), 278 deletions(-) diff --git a/miditones.c b/miditones.c index 8a98f68..2dd74cd 100644 --- a/miditones.c +++ b/miditones.c @@ -127,8 +127,8 @@ * If the high-order bit of the byte is 1, then it is one of the following commands: * * 9t nn [vv] -* Start playing note nn on tone generator t, replacing any previous note. -* Generators are numbered starting with 0. The note numbers are the MIDI +* Start playing note nn on tone generator t, replacing any previous note. +* Generators are numbered starting with 0. The note numbers are the MIDI * numbers for the chromatic scale, with decimal 69 being Middle A (440 Hz). * If the -v option was given, a second byte is added to indicate note volume. * @@ -191,7 +191,7 @@ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF, OR * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *********************************************************************************************/ -// formatted with: indent miditones.c -br -brf -brs -ce -npsl -nut -i3 -l100 -lc100 +// formatted with: Astyle -style=lisp -indent=spaces=3 -mode=c /* * Change log @@ -264,8 +264,14 @@ * - Don't generate zero-length delays * 13 September 2018, Paul Stoffregen, V1.17 - Fix compile errors on Linux with gcc run in default mode +* 1 January 2019, Len Shustek, V1.18 + - Fix the bug found by Chris van Marle (thanks!) that caused delays not to be + generated until the tempo was set. (The default is 500,000 usec/beat, not 0.) + - Abandon LCC and compile under Microsoft Visual Studio 2017. + - Reformat to condense the source code, so you see more protein and less + syntactic sugar on each screen. */ -#define VERSION "1.17" +#define VERSION "1.18" /*-------------------------------------------------------------------------------------------- @@ -280,61 +286,57 @@ lower case letters are hex digits. If preceeded by 0, only low 7 bits are used. "xx" are ascii text characters {xxx}... means indefinite repeat of xxx -A MIDI file is: header_chunk {track_chunk}... - -header_chunk -"MThd" 00000006 ffff nnnn dddd - -track_chunk - -"MTrk" llllllll { track_event}... - -"running status" track_event - -0x to 7x: assume a missing 8n to En event code which is the same as the last MIDI-event track_event - -MIDI-event track_event - -8n 0kk 0vv note off, channel n, note kk, velocity vv -9n 0kk 0vv note on, channel n, note kk, velocity vv -An 0kk 0vv key pressure, channel n, note kk, pressure vv -Bn 0cc 0vv control value change, channel n, controller cc, new value vv -Cn 0pp program patch (instrument) change, channel n, new program pp -Dn 0vv channel pressure, channel n, pressure vv -En 0ll 0mm pitch wheel change, value llmm - -Note that channel 9 (called 10 by some programs) is used for percussion, particularly notes 35 to 81. - -Sysex event track_event - -F0 0ii {0dd}... F7 system-dependent data for manufacture ii. See www.gweep.net/~prefect/eng/reference/protocol/midispec.html -F2 0ll 0mm song position pointer -F3 0ss song select -F6 tune request -F7 end of system-dependent data -F8 timing clock sync -FA start playing -FB continue playing -FC stop playing -FE active sensing (hearbeat) - -Meta event track_event - -FF 00 02 ssss specify sequence number -FF 01 "xx"... arbitrary text -FF 02 "xx"... copyright notice -FF 03 "xx"... sequence or track name -FF 04 "xx"... instrument name -FF 05 "xx"... lyric to be sung -FF 06 "xx"... name of marked point in the score -FF 07 "xx"... description of cue point in the score -FF 20 01 0c default channel for subsequent events without a channel is c -FF 2F 00 end of track -FF 51 03 tttttt set tempo in microseconds per quarter-note -FF 54 05 hhmmssfrff set SMPTE time to start the track -FF 58 04 nnddccbb set time signature -FF 59 02 sfmi set key signature -FF 7F data sequencer-specific data +a MIDI file is: + header_chunk {track_chunk}... + +a header_chunk is: + "MThd" 00000006 ffff nnnn dddd + +a track_chunk is: + "MTrk" llllllll { track_event}... + +a running status track_event is: + 0x to 7x: assume a missing 8n to En event code which is the same as the last MIDI-event track_event + +a MIDI-event track_event is: + 8n 0kk 0vv note off, channel n, note kk, velocity vv + 9n 0kk 0vv note on, channel n, note kk, velocity vv + An 0kk 0vv key pressure, channel n, note kk, pressure vv + Bn 0cc 0vv control value change, channel n, controller cc, new value vv + Cn 0pp program patch (instrument) change, channel n, new program pp + Dn 0vv channel pressure, channel n, pressure vv + En 0ll 0mm pitch wheel change, value llmm + + Note that channel 9 (called 10 by some programs) is used for percussion, particularly notes 35 to 81. + +a Sysex event track_event is: + F0 0ii {0dd}... F7 system-dependent data for manufacture ii. See www.gweep.net/~prefect/eng/reference/protocol/midispec.html + F2 0ll 0mm song position pointer + F3 0ss song select + F6 tune request + F7 end of system-dependent data + F8 timing clock sync + FA start playing + FB continue playing + FC stop playing + FE active sensing (hearbeat) + +a meta event track_event is: + FF 00 02 ssss specify sequence number + FF 01 "xx"... arbitrary text + FF 02 "xx"... copyright notice + FF 03 "xx"... sequence or track name + FF 04 "xx"... instrument name + FF 05 "xx"... lyric to be sung + FF 06 "xx"... name of marked point in the score + FF 07 "xx"... description of cue point in the score + FF 20 01 0c default channel for subsequent events without a channel is c + FF 2F 00 end of track + FF 51 03 tttttt set tempo in microseconds per quarter-note + FF 54 05 hhmmssfrff set SMPTE time to start the track + FF 58 04 nnddccbb set time signature + FF 59 02 sfmi set key signature + FF 7F data sequencer-specific data --------------------------------------------------------------------------------------------*/ @@ -353,13 +355,11 @@ struct midi_header { uint32_t header_size; uint16_t format_type; uint16_t number_of_tracks; - uint16_t time_division; -}; + uint16_t time_division; }; struct track_header { int8_t MTrk[4]; - uint32_t track_size; -}; + uint32_t track_size; }; /*********** Global variables ******************/ @@ -368,10 +368,11 @@ struct track_header { #define DEFAULT_TONEGENS 6 /* default number of tone generators */ #define MAX_TRACKS 24 /* max number of MIDI tracks we will process */ #define PERCUSSION_TRACK 9 /* the track MIDI uses for percussion sounds */ +#define DEFAULT_TEMPO 500000L /* the MIDI-specified default tempo in usec/beat */ bool loggen, logparse, parseonly, strategy1, strategy2, binaryoutput, define_progmem, - velocityoutput, instrumentoutput, percussion_ignore, percussion_translate, do_header, - gen_restart; + velocityoutput, instrumentoutput, percussion_ignore, percussion_translate, do_header, + gen_restart; FILE *infile, *outfile, *logfile; uint8_t *buffer, *hdrptr; unsigned long buflen; @@ -398,8 +399,7 @@ struct tonegen_status { /* current status of a tone generator */ int instrument; /* what instrument? */ } tonegen[MAX_TONEGENS] = { { - 0} -}; + 0 } }; struct track_status { /* current processing point of a MIDI track */ uint8_t *trkptr; /* ptr to the next note change */ @@ -415,12 +415,10 @@ struct track_status { /* current processing point of a MIDI track */ bool tonegens[MAX_TONEGENS]; /* which tone generators our notes are playing on */ } track[MAX_TRACKS] = { { - 0} -}; + 0 } }; int midi_chan_instrument[16] = { - 0 -}; /* which instrument is currently being played on each channel */ + 0 }; /* which instrument is currently being played on each channel */ /* output bytestream commands, which are also stored in track_status.cmd */ @@ -444,7 +442,7 @@ struct file_hdr_t { /* what the optional file header looks like */ unsigned char f2; // flag byte 2 unsigned char num_tgens; // how many tone generators are used by this score } file_header = { -'P', 't', sizeof (struct file_hdr_t), 0, 0, MAX_TONEGENS}; + 'P', 't', sizeof (struct file_hdr_t), 0, 0, MAX_TONEGENS }; #define HDR_F1_VOLUME_PRESENT 0x80 #define HDR_F1_INSTRUMENTS_PRESENT 0x40 @@ -486,21 +484,19 @@ void SayUsage (char *programName) { " -pi ignore notes in the percussion track (9)", " -dp define PROGMEM in output C code", " -r terminate output file with \"restart\" instead of \"stop\" command", - NULL - }; + NULL }; int i = 0; while (usage[i] != NULL) - fprintf (stderr, "%s\n", usage[i++]); -} + fprintf (stderr, "%s\n", usage[i++]); } int HandleOptions (int argc, char *argv[]) { -/* returns the index of the first argument that is not an option; i.e. -does not start with a dash or a slash*/ + /* returns the index of the first argument that is not an option; i.e. + does not start with a dash or a slash*/ int i, nch, firstnonoption = 0; -/* --- The following skeleton comes from C:\lcc\lib\wizard\textmode.tpl. */ + /* --- The following skeleton comes from C:\lcc\lib\wizard\textmode.tpl. */ for (i = 1; i < argc; i++) { if (argv[i][0] == '/' || argv[i][0] == '-') { switch (toupper (argv[i][1])) { @@ -521,8 +517,7 @@ does not start with a dash or a slash*/ case 'P': if (argv[i][2] == '\0') { parseonly = true; - break; - } + break; } else if (toupper (argv[i][2]) == 'I') percussion_ignore = true; else if (toupper (argv[i][2]) == 'T') @@ -559,7 +554,7 @@ does not start with a dash or a slash*/ break; case 'T': if (sscanf (&argv[i][2], "%d%n", &num_tonegens, &nch) != 1 - || num_tonegens < 1 || num_tonegens > MAX_TONEGENS) + || num_tonegens < 1 || num_tonegens > MAX_TONEGENS) goto opterror; printf ("Using %d tone generators.\n", num_tonegens); if (argv[i][2 + nch] != '\0') @@ -580,7 +575,7 @@ does not start with a dash or a slash*/ break; case 'K': if (sscanf (&argv[i][2], "%d%n", &keyshift, &nch) != 1 || keyshift < -100 - || keyshift > 100) + || keyshift > 100) goto opterror; printf ("Using keyshift %d.\n", keyshift); if (argv[i][2 + nch] != '\0') @@ -589,8 +584,7 @@ does not start with a dash or a slash*/ case 'D': if (argv[i][2] == '\0') { do_header = true; - break; - } + break; } if (toupper (argv[i][2]) == 'P') define_progmem = true; else @@ -604,27 +598,22 @@ does not start with a dash or a slash*/ goto opterror; break; /* add more option switches here */ - opterror: +opterror: default: fprintf (stderr, "\n*** unknown option: %s\n\n", argv[i]); SayUsage (argv[0]); - exit (4); - } - } else { + exit (4); } } + else { firstnonoption = i; - break; - } - } - return firstnonoption; -} + break; } } + return firstnonoption; } void print_command_line (int argc, char *argv[]) { int i; fprintf (outfile, "// command line: "); for (i = 0; i < argc; i++) fprintf (outfile, "%s ", argv[i]); - fprintf (outfile, "\n"); -} + fprintf (outfile, "\n"); } /**************** utility routines **********************/ @@ -633,27 +622,23 @@ void print_command_line (int argc, char *argv[]) { int strlength (const char *str) { int i; for (i = 0; str[i] != '\0'; ++i); - return i; -} + return i; } /* safe string copy */ size_t miditones_strlcpy (char *dst, const char *src, size_t siz) { char *d = dst; const char *s = src; size_t n = siz; -/* Copy as many bytes as will fit */ + /* Copy as many bytes as will fit */ if (n != 0) { while (--n != 0) { if ((*d++ = *s++) == '\0') - break; - } - } -/* Not enough room in dst, add NUL and traverse rest of src */ + break; } } + /* Not enough room in dst, add NUL and traverse rest of src */ if (n == 0) { if (siz != 0) *d = '\0'; /* NUL-terminate dst */ - while (*s++); - } + while (*s++); } return (s - src - 1); /* count does not include NUL */ } @@ -664,7 +649,7 @@ size_t miditones_strlcat (char *dst, const char *src, size_t siz) { const char *s = src; size_t n = siz; size_t dlen; -/* Find the end of dst and adjust bytes left but don't go past end */ + /* Find the end of dst and adjust bytes left but don't go past end */ while (n-- != 0 && *d != '\0') d++; dlen = d - dst; @@ -674,10 +659,8 @@ size_t miditones_strlcat (char *dst, const char *src, size_t siz) { while (*s != '\0') { if (n != 1) { *d++ = *s; - n--; - } - s++; - } + n--; } + s++; } *d = '\0'; return (dlen + (s - src)); /* count does not include NUL */ } @@ -690,8 +673,7 @@ int charcmp (const char *buf, const char *match) { for (i = 0; i < len; ++i) if (buf[i] != match[i]) return 0; - return 1; -} + return 1; } /* announce a fatal MIDI file format error */ @@ -699,33 +681,29 @@ void midi_error (char *msg, unsigned char *bufptr) { unsigned char *ptr; fprintf (stderr, "---> MIDI file error at position %04X (%d): %s\n", (uint16_t) (bufptr - buffer), (uint16_t) (bufptr - buffer), msg); -/* print some bytes surrounding the error */ + /* print some bytes surrounding the error */ ptr = bufptr - 16; if (ptr < buffer) ptr = buffer; for (; ptr <= bufptr + 16 && ptr < buffer + buflen; ++ptr) fprintf (stderr, ptr == bufptr ? " [%02X] " : "%02X ", *ptr); fprintf (stderr, "\n"); - exit (8); -} + exit (8); } /* check that we have a specified number of bytes left in the buffer */ void chk_bufdata (unsigned char *ptr, unsigned long int len) { if ((unsigned) (ptr + len - buffer) > buflen) - midi_error ("data missing", ptr); -} + midi_error ("data missing", ptr); } /* fetch big-endian numbers */ uint16_t rev_short (uint16_t val) { - return ((val & 0xff) << 8) | ((val >> 8) & 0xff); -} + return ((val & 0xff) << 8) | ((val >> 8) & 0xff); } uint32_t rev_long (uint32_t val) { return (((rev_short ((uint16_t) val) & 0xffff) << 16) | - (rev_short ((uint16_t) (val >> 16)) & 0xffff)); -} + (rev_short ((uint16_t) (val >> 16)) & 0xffff)); } /* account for new items in the non-binary output file and generate a newline every so often. */ @@ -735,9 +713,7 @@ void outfile_items (int n) { outfile_itemcount += n; if (!binaryoutput && outfile_itemcount >= outfile_maxitems) { fprintf (outfile, "\n"); - outfile_itemcount = 0; - } -} + outfile_itemcount = 0; } } /************** process the MIDI file header *****************/ @@ -760,11 +736,9 @@ void process_header (void) { fprintf (logfile, "Format type %d\n", rev_short (hdr->format_type)); fprintf (logfile, "Number of tracks %d\n", num_tracks); fprintf (logfile, "Time division %04X\n", time_division); - fprintf (logfile, "Ticks/beat = %d\n", ticks_per_beat); - } + fprintf (logfile, "Ticks/beat = %d\n", ticks_per_beat); } hdrptr += rev_long (hdr->header_size) + 8; /* point past header to track header, presumably. */ - return; -} + return; } /**************** Process a MIDI track header *******************/ @@ -791,8 +765,8 @@ void start_track (int tracknum) { /* Get a MIDI-style variable-length integer */ unsigned long get_varlen (uint8_t ** ptr) { -/* Get a 1-4 byte variable-length value and adjust the pointer past it. -These are a succession of 7-bit values with a MSB bit of zero marking the end */ + /* Get a 1-4 byte variable-length value and adjust the pointer past it. + These are a succession of 7-bit values with a MSB bit of zero marking the end */ unsigned long val; int i, byte; @@ -802,10 +776,8 @@ These are a succession of 7-bit values with a MSB bit of zero marking the end */ byte = *(*ptr)++; val = (val << 7) | (byte & 0x7f); if (!(byte & 0x80)) - return val; - } - return val; -} + return val; } + return val; } /*************** Process the MIDI track data ***************************/ @@ -823,7 +795,7 @@ void find_note (int tracknum) { struct track_status *t; char *tag; -/* process events */ + /* process events */ t = &track[tracknum]; /* our track status structure */ while (t->trkptr < t->trkend) { @@ -832,17 +804,14 @@ void find_note (int tracknum) { if (logparse) { fprintf (logfile, "trk %d ", tracknum); if (delta_time) { - fprintf (logfile, "delta time %4ld, ", delta_time); - } else { - fprintf (logfile, " "); - } - } + fprintf (logfile, "delta time %4ld, ", delta_time); } + else { + fprintf (logfile, " "); } } t->time += delta_time; if (*t->trkptr < 0x80) event = t->last_event; /* using "running status": same event as before */ else { /* otherwise get new "status" (event type) */ - event = *t->trkptr++; - } + event = *t->trkptr++; } if (event == 0xff) { /* meta-event */ meta_cmd = *t->trkptr++; meta_length = get_varlen (&t->trkptr); @@ -865,10 +834,8 @@ void find_note (int tracknum) { fprintf (outfile, "// "); for (i = 0; i < meta_length; ++i) { int ch = t->trkptr[i]; - fprintf (outfile, "%c", isprint (ch) ? ch : '?'); - } - fprintf (outfile, "\n"); - } + fprintf (outfile, "%c", isprint (ch) ? ch : '?'); } + fprintf (outfile, "\n"); } goto show_text; case 0x04: tag = "instrument name"; @@ -881,15 +848,13 @@ void find_note (int tracknum) { goto show_text; case 0x07: tag = "cue point"; - show_text: +show_text: if (logparse) { fprintf (logfile, "meta cmd %02X, length %d, %s: \"", meta_cmd, meta_length, tag); for (i = 0; i < meta_length; ++i) { int ch = t->trkptr[i]; - fprintf (logfile, "%c", isprint (ch) ? ch : '?'); - } - fprintf (logfile, "\"\n"); - } + fprintf (logfile, "%c", isprint (ch) ? ch : '?'); } + fprintf (logfile, "\"\n"); } break; case 0x20: if (logparse) @@ -925,18 +890,15 @@ void find_note (int tracknum) { goto show_hex; default: /* unknown meta command */ tag = "???"; - show_hex: +show_hex: if (logparse) { fprintf (logfile, "meta cmd %02X, length %d, %s: ", meta_cmd, meta_length, tag); for (i = 0; i < meta_length; ++i) fprintf (logfile, "%02X ", t->trkptr[i]); - fprintf (logfile, "\n"); - } + fprintf (logfile, "\n"); } - break; - } - t->trkptr += meta_length; - } + break; } + t->trkptr += meta_length; } else if (event < 0x80) midi_error ("Unknown MIDI event type", t->trkptr); @@ -950,7 +912,7 @@ void find_note (int tracknum) { case 0x8: t->note = *t->trkptr++; velocity = *t->trkptr++; - note_off: +note_off: if (logparse) fprintf (logfile, "note %d off, chan %d, velocity %d\n", t->note, chan, velocity); if ((1 << chan) & channel_mask) { /* if we're processing this channel */ @@ -1006,34 +968,26 @@ void find_note (int tracknum) { t->trkptr += sysex_length; break; default: - midi_error ("Unknown MIDI command", t->trkptr); - } - } - } + midi_error ("Unknown MIDI command", t->trkptr); } } } t->cmd = CMD_TRACKDONE; /* no more notes to process */ - ++tracks_done; -} + ++tracks_done; } /* generate "stop note" commands for any channels that have them pending */ void gen_stopnotes(void) { - struct tonegen_status *tg; - int tgnum; - for (tgnum = 0; tgnum < num_tonegens; ++tgnum) { - tg = &tonegen[tgnum]; - if (tg->stopnote_pending) { - if (binaryoutput) { - putc (CMD_STOPNOTE | tgnum, outfile); - outfile_bytecount += 1; - } else { - fprintf (outfile, "0x%02X, ", CMD_STOPNOTE | tgnum); - outfile_items (1); - } - tg->stopnote_pending = false; - } - } -} + struct tonegen_status *tg; + int tgnum; + for (tgnum = 0; tgnum < num_tonegens; ++tgnum) { + tg = &tonegen[tgnum]; + if (tg->stopnote_pending) { + if (binaryoutput) { + putc (CMD_STOPNOTE | tgnum, outfile); + outfile_bytecount += 1; } + else { + fprintf (outfile, "0x%02X, ", CMD_STOPNOTE | tgnum); + outfile_items (1); } + tg->stopnote_pending = false; } } } /********************* main ****************************/ @@ -1050,20 +1004,18 @@ int main (int argc, char *argv[]) { printf ("MIDITONES V%s, (C) 2011-2016 Len Shustek\n", VERSION); if (argc == 1) { /* no arguments */ SayUsage (argv[0]); - return 1; - } + return 1; } -/* process options */ + /* process options */ argno = HandleOptions (argc, argv); if (argno == 0) { fprintf (stderr, "\n*** No basefilename given\n\n"); SayUsage (argv[0]); - exit (4); - } + exit (4); } filebasename = argv[argno]; -/* Open the log file */ + /* Open the log file */ if (logparse || loggen) { miditones_strlcpy (filename, filebasename, MAXPATH); @@ -1071,22 +1023,19 @@ int main (int argc, char *argv[]) { logfile = fopen (filename, "w"); if (!logfile) { fprintf (stderr, "Unable to open log file %s\n", filename); - return 1; - } - fprintf (logfile, "MIDITONES V%s log file\n", VERSION); - } + return 1; } + fprintf (logfile, "MIDITONES V%s log file\n", VERSION); } -/* Open the input file */ + /* Open the input file */ miditones_strlcpy (filename, filebasename, MAXPATH); miditones_strlcat (filename, ".mid", MAXPATH); infile = fopen (filename, "rb"); if (!infile) { fprintf (stderr, "Unable to open input file %s\n", filename); - return 1; - } + return 1; } -/* Read the whole input file into memory */ + /* Read the whole input file into memory */ fseek (infile, 0, SEEK_END); /* find file size */ buflen = ftell (infile); @@ -1094,31 +1043,28 @@ int main (int argc, char *argv[]) { buffer = (unsigned char *) malloc (buflen + 1); if (!buffer) { fprintf (stderr, "Unable to allocate %ld bytes for the file\n", buflen); - return 1; - } + return 1; } fread (buffer, buflen, 1, infile); fclose (infile); if (logparse) fprintf (logfile, "Processing %s, %ld bytes\n", filename, buflen); -/* Create the output file */ + /* Create the output file */ if (!parseonly) { miditones_strlcpy (filename, filebasename, MAXPATH); if (binaryoutput) { miditones_strlcat (filename, ".bin", MAXPATH); - outfile = fopen (filename, "wb"); - } else { + outfile = fopen (filename, "wb"); } + else { miditones_strlcat (filename, ".c", MAXPATH); - outfile = fopen (filename, "w"); - } + outfile = fopen (filename, "w"); } if (!outfile) { fprintf (stderr, "Unable to open output file %s\n", filename); - return 1; - } + return 1; } file_header.f1 = (velocityoutput ? HDR_F1_VOLUME_PRESENT : 0) - | (instrumentoutput ? HDR_F1_INSTRUMENTS_PRESENT : 0) - | (percussion_translate ? HDR_F1_PERCUSSION_PRESENT : 0); + | (instrumentoutput ? HDR_F1_INSTRUMENTS_PRESENT : 0) + | (percussion_translate ? HDR_F1_PERCUSSION_PRESENT : 0); file_header.num_tgens = num_tonegens; if (!binaryoutput) { /* create header of C file that initializes score data */ time_t rawtime; @@ -1136,26 +1082,22 @@ int main (int argc, char *argv[]) { fprintf (outfile, "#include \n"); fprintf (outfile, "#else\n"); fprintf (outfile, "#define PROGMEM\n"); - fprintf (outfile, "#endif\n"); - } + fprintf (outfile, "#endif\n"); } fprintf (outfile, "const unsigned char PROGMEM score [] = {\n"); if (do_header) { // write the C initialization for the file header fprintf (outfile, "'P','t', 6, 0x%02X, 0x%02X, ", file_header.f1, file_header.f2); fflush (outfile); file_header_num_tgens_position = ftell (outfile); // remember where the number of tone generators is fprintf (outfile, "%2d, // (Playtune file header)\n", file_header.num_tgens); - outfile_bytecount += 6; - } - } else if (do_header) { // write the binary file header + outfile_bytecount += 6; } } + else if (do_header) { // write the binary file header int i; for (i = 0; i < sizeof (file_header); ++i) fputc (((unsigned char *) &file_header)[i], outfile); file_header_num_tgens_position = (char *) &file_header.num_tgens - (char *) &file_header; - outfile_bytecount += sizeof (file_header); - } - } + outfile_bytecount += sizeof (file_header); } } -/* process the MIDI file header */ + /* process the MIDI file header */ hdrptr = buffer; /* pointer to file and track headers */ process_header (); @@ -1163,20 +1105,21 @@ int main (int argc, char *argv[]) { if (num_tracks > MAX_TRACKS) midi_error ("Too many tracks", buffer); -/* initialize processing of all the tracks */ + /* initialize processing of all the tracks */ + tempo = DEFAULT_TEMPO; for (tracknum = 0; tracknum < num_tracks; ++tracknum) { + track[tracknum].tempo = DEFAULT_TEMPO; start_track (tracknum); /* process the track header */ find_note (tracknum); /* position to the first note on/off */ /* if we are in "parse only" mode, do the whole track, so we do them one at a time instead of time-synchronized. */ if (parseonly) while (track[tracknum].cmd != CMD_TRACKDONE) - find_note (tracknum); - } + find_note (tracknum); } -/* Continue processing all tracks, in an order based on the simulated time. -This is not unlike multiway merging used for tape sorting algoritms in the 50's! */ + /* Continue processing all tracks, in an order based on the simulated time. + This is not unlike multiway merging used for tape sorting algoritms in the 50's! */ tracknum = 0; if (!parseonly) { @@ -1213,9 +1156,7 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! trk = &track[tracknum]; if (trk->cmd != CMD_TRACKDONE && trk->time < earliest_time) { earliest_time = trk->time; - earliest_tracknum = tracknum; - } - } + earliest_tracknum = tracknum; } } while (--count_tracks); tracknum = earliest_tracknum; /* the track we picked */ @@ -1230,9 +1171,7 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! delta_time = earliest_time - timenow; if (delta_time) { /* Convert ticks to milliseconds based on the current tempo */ - unsigned long long temp; - temp = ((unsigned long long) delta_time * tempo) / ticks_per_beat; - delta_msec = temp / 1000; // get around LCC compiler bug + delta_msec = ((unsigned long long) delta_time * tempo) / ticks_per_beat / 1000; if (delta_msec) { // if time delay didn't round down to zero msec gen_stopnotes(); /* first check if any tone generators have "stop note" commands pending */ if (loggen) @@ -1243,13 +1182,10 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! if (binaryoutput) { putc ((unsigned char) (delta_msec >> 8), outfile); putc ((unsigned char) (delta_msec & 0xff), outfile); - outfile_bytecount += 2; - } else { + outfile_bytecount += 2; } + else { fprintf (outfile, "%ld,%ld, ", delta_msec >> 8, delta_msec & 0xff); - outfile_items (2); - } - } - } + outfile_items (2); } } } timenow = earliest_time; /* If this track event is "set tempo", just change the global tempo. @@ -1259,8 +1195,7 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! tempo = trk->tempo; if (loggen) fprintf (logfile, "Tempo changed to %ld usec/qnote\n", tempo); - find_note (tracknum); - } + find_note (tracknum); } /* If this track event is "stop note", process it and all subsequent "stop notes" for this track that are happening at the same time. Doing so frees up as many tone generators as possible. */ @@ -1278,9 +1213,7 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! tg->note, tgnum, tracknum); tg->stopnote_pending = true; /* must stop the current note if another doesn't start first */ tg->playing = false; - trk->tonegens[tgnum] = false; - } - } + trk->tonegens[tgnum] = false; } } find_note (tracknum); // use up the note } while (trk->cmd == CMD_STOPNOTE && trk->time == timenow); @@ -1296,27 +1229,21 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! tg = &tonegen[trk->preferred_tonegen]; if (!tg->playing) { tgnum = trk->preferred_tonegen; - foundgen = true; - } - } + foundgen = true; } } /* if not, then try for a free tone generator that had been playing the same instrument we need */ if (!foundgen) for (tgnum = 0; tgnum < num_tonegens; ++tgnum) { tg = &tonegen[tgnum]; if (!tg->playing && tg->instrument == midi_chan_instrument[trk->chan]) { foundgen = true; - break; - } - } + break; } } /* if not, then try for any free tone generator */ if (!foundgen) for (tgnum = 0; tgnum < num_tonegens; ++tgnum) { tg = &tonegen[tgnum]; if (!tg->playing) { foundgen = true; - break; - } - } + break; } } if (foundgen) { int shifted_note; if (tgnum + 1 > num_tonegens_used) @@ -1337,52 +1264,44 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! if (instrumentoutput) { /* output a "change instrument" command */ if (binaryoutput) { putc (CMD_INSTRUMENT | tgnum, outfile); - putc (tg->instrument, outfile); - } else { + putc (tg->instrument, outfile); } + else { fprintf (outfile, "0x%02X,%d, ", CMD_INSTRUMENT | tgnum, tg->instrument); - outfile_items (2); - } - } - } + outfile_items (2); } } } if (loggen) fprintf (logfile, "->Start note %d, generator %d, instrument %d, track %d\n", trk->note, tgnum, tg->instrument, tracknum); if (percussion_translate && trk->chan == PERCUSSION_TRACK) { /* if requested, */ shifted_note = trk->note + 128; // shift percussion notes up to 128..255 - } else { /* shift notes as requested */ + } + else { /* shift notes as requested */ shifted_note = trk->note + keyshift; if (shifted_note < 0) shifted_note = 0; if (shifted_note > 127) - shifted_note = 127; - } + shifted_note = 127; } if (binaryoutput) { putc (CMD_PLAYNOTE | tgnum, outfile); putc (shifted_note, outfile); outfile_bytecount += 2; if (velocityoutput) { putc (trk->velocity, outfile); - outfile_bytecount++; - } - } else { + outfile_bytecount++; } } + else { if (velocityoutput == 0) { fprintf (outfile, "0x%02X,%d, ", CMD_PLAYNOTE | tgnum, shifted_note); - outfile_items (2); - } else { + outfile_items (2); } + else { fprintf (outfile, "0x%02X,%d,%d, ", CMD_PLAYNOTE | tgnum, shifted_note, trk->velocity); - outfile_items (3); - } - } - } else { + outfile_items (3); } } } + else { if (loggen) fprintf (logfile, "----> No free generator, skipping note %d, track %d\n", trk->note, tracknum); - ++notes_skipped; - } - } + ++notes_skipped; } } find_note (tracknum); // use up the note } @@ -1400,14 +1319,13 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! gen_restart ? CMD_RESTART : CMD_STOP, outfile_bytecount, num_tonegens_used, num_tonegens_used == 1 ? " is" : "s are"); if (notes_skipped) - fprintf (outfile, "// %d notes had to be skipped.\n", notes_skipped); - } + fprintf (outfile, "// %d notes had to be skipped.\n", notes_skipped); } printf (" %s %d tone generators were used.\n", num_tonegens_used < num_tonegens ? "Only" : "All", num_tonegens_used); if (notes_skipped) printf - (" %d notes were skipped because there weren't enough tone generators.\n", - notes_skipped); + (" %d notes were skipped because there weren't enough tone generators.\n", + notes_skipped); printf (" %ld bytes of score data were generated.\n", outfile_bytecount); if (loggen) fprintf (logfile, "%d note-on commands, %d instrument changes.\n", @@ -1419,14 +1337,10 @@ This is not unlike multiway merging used for tape sorting algoritms in the 50's! if (binaryoutput) putc (num_tonegens_used, outfile); else - fprintf (outfile, "%2d", num_tonegens_used); - } - } - fclose (outfile); - } /* if (!parseonly) */ + fprintf (outfile, "%2d", num_tonegens_used); } } + fclose (outfile); } /* if (!parseonly) */ if (loggen || logparse) fclose (logfile); printf (" Done.\n"); - return 0; -} + return 0; } diff --git a/miditones.exe b/miditones.exe index 4ac2d355a72050dc8d4181d05e8100f9a85d6405..025533366f14bab624d1a9614d5c7ee6a290a8cd 100644 GIT binary patch literal 60416 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

7M5ngZa0Q<4V|a?>C+5>HfS7s6y)MH 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 CyTI`P