From 6c9ec6de0e16dbb667d96b8d00b117f4c425ed78 Mon Sep 17 00:00:00 2001 From: Seymour Shlien Date: Fri, 9 Oct 2020 17:30:07 -0400 Subject: [PATCH] 2020.10.9 --- VERSION | 2 +- doc/CHANGES | 9 +++++++++ doc/readme.txt | 8 +++++++- midicopy.c | 8 +++++++- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/VERSION b/VERSION index d6bd2ec..089a03f 100644 --- a/VERSION +++ b/VERSION @@ -1,2 +1,2 @@ -2020 October 07 2020 +2020 October 09 2020 diff --git a/doc/CHANGES b/doc/CHANGES index a97595d..7aa2105 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -13909,3 +13909,12 @@ James Allwright has introduced event_score_linebreak in parseabc.c, yapstree.c, etc. which replaces the change made on December 09 2019. Except for yapstree.c, event_score_linebreak does nothing. + +October 10 2020 +midicopy new feature: -zerochannels will set all channel numbers in +the midi file to zero. Some midi files (http://scarlatti.antikytherapubs.com/ ) +adjust the tuning by assigning each pitch class to a separate channel +and applying an appropriate pitchbend to each of these channels. +This may pose a problem for some software which attempts to render the +midi file in music notation. + diff --git a/doc/readme.txt b/doc/readme.txt index 715f60e..1797946 100644 --- a/doc/readme.txt +++ b/doc/readme.txt @@ -5,7 +5,7 @@ abc2midi version 4.42 October 01 2020 abc2abc version 2.10 October 01 2020 yaps version 1.80 October 07 2020 abcmatch version 1.74 October 01 2020 -midicopy version 1.36 June 04 2019 +midicopy version 1.37 October 10 2020 24th January 2002 @@ -440,6 +440,12 @@ midicopy copies selected tracks, channels, time interval of the input midi file. -focusontrack n1,n2,... -focusonchannel n1,n2,... -attenuation n +-nobends +-indrums n1,n2,... (drums to include) +-xdrums n1,n2,... (drums to exclude) +-onlydrums (only channel 10) +-nodrums (exlcude channel 10) +-zerochannels set all channel numbers to zero midicopy.exe -ver diff --git a/midicopy.c b/midicopy.c index 01a4ea3..909030c 100644 --- a/midicopy.c +++ b/midicopy.c @@ -52,7 +52,7 @@ -#define VERSION "1.36 June 04 2020 midicopy" +#define VERSION "1.37 October 10 2020 midicopy" #include "midicopy.h" #define NULLFUNC 0 #define NULL 0 @@ -112,6 +112,7 @@ int chosen_drum = 0; /* [SS] 2013-10-01 */ int drumvelocity = 0; /* [SS] 2013-10-01 */ int attenuation = 70; /* [SS] 2017-11-27 */ int nobends = 0; /* [SS] 2017-12-15 */ +int zerochannels = 0; /* [SS] 2020-10-09 */ long Mf_numbyteswritten = 0L; long readvarinum (); @@ -1025,6 +1026,7 @@ void chanmessage (int status, int c1, int c2) { int chan = status & 0xf; + if (zerochannels) chan = 0; /* [SS] 2020-10-09 */ haschannel[chan] = 1; if (!cut_beginning ()) @@ -1853,6 +1855,7 @@ main (int argc, char *argv[]) printf ("-xdrums n1,n2,... (drums to exclude)\n"); /* [SS] 2019-12-22 */ printf ("-onlydrums (only channel 10)\n"); /* [SS] 2019-12-22 */ printf ("-nodrums (exlcude channel 10)\n"); /* [SS] 2019-12-22 */ + printf ("-zerochannels set all channel numbers to zero\n"); /* [SS] 2020-10-09 */ exit (1); } @@ -2137,6 +2140,9 @@ main (int argc, char *argv[]) arg = getarg("-nodrums",argc,argv); /* [SS] 2019-12-22 */ if (arg >=0) ctocopy[9] = 0; + arg = getarg("-zerochannels",argc,argv); /* [SS] 2020-10-09 */ + if (arg >=0) zerochannels = 1; + F_in = fopen (argv[argc - 2], "rb"); if (F_in == NULL) {