2026.02.24

This commit is contained in:
sshlien
2026-02-24 16:02:26 -05:00
parent b662440d20
commit 7ba0b738e9
4 changed files with 15 additions and 3 deletions

View File

@@ -1 +1 @@
November 26 2025 February 24 2026

View File

@@ -15671,3 +15671,7 @@ February 13 2026
midistats: added new option -keystability. midistats: added new option -keystability.
February 24 2026
midistats: the summary includes ntimesig, triplets, unquantized when appropriate.

View File

@@ -1,4 +1,4 @@
.TH MIDISTATS 1 "13 February 2026" .TH MIDISTATS 1 "22 February 2026"
.SH NAME .SH NAME
\fBmidistats\fP \- program to summarize the statistical properties of a midi file \fBmidistats\fP \- program to summarize the statistical properties of a midi file
.SH SYNOPSIS .SH SYNOPSIS
@@ -173,6 +173,8 @@ dithered_quantization - small variations in the quantized note onsets.
Lyrics - lyrics are present in the meta data Lyrics - lyrics are present in the meta data
.br .br
programcmd - there may be multiple program changes in a midi channel programcmd - there may be multiple program changes in a midi channel
.br
ntimesig - the number of time signature commands

View File

@@ -17,7 +17,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#define VERSION "1.02 February 08 2026 midistats" #define VERSION "1.03 February 20 2026 midistats"
/* midistrats.c is a descendent of midi2abc.c which was becoming to /* midistrats.c is a descendent of midi2abc.c which was becoming to
large. The object of the program is to extract statistical characterisitic large. The object of the program is to extract statistical characterisitic
@@ -114,6 +114,7 @@ int unitDivision;
int maximumPulse; int maximumPulse;
int lastBeat; int lastBeat;
int hasLyrics = 0; int hasLyrics = 0;
int ntimesigs = 0;
struct eventstruc {int onsetTime; struct eventstruc {int onsetTime;
@@ -605,6 +606,10 @@ if (trkdata.pressure[0] > 0)
printf("pressure %d\n",trkdata.pressure[0]); printf("pressure %d\n",trkdata.pressure[0]);
printf("programcmd %d\n",trkdata.program[0]); printf("programcmd %d\n",trkdata.program[0]);
if (ntimesigs > 1)
printf("ntimesig %d\n",ntimesigs);
nprogs = 0; /* [SS] 2018-04-24 */ nprogs = 0; /* [SS] 2018-04-24 */
for (i=1;i<128;i++) for (i=1;i<128;i++)
if(progactivity[i] >0) nprogs++; if(progactivity[i] >0) nprogs++;
@@ -1141,6 +1146,7 @@ int nn, dd, cc, bb;
denom *= 2; denom *= 2;
if (noOutput == 1) return; if (noOutput == 1) return;
printf("timesig %d/%d %6.2f\n",nn,denom,beatnumber); printf("timesig %d/%d %6.2f\n",nn,denom,beatnumber);
ntimesigs++;
} }
void record_noteon(int chan,int pitch,int vol) void record_noteon(int chan,int pitch,int vol)