mirror of
https://github.com/sshlien/abcmidi.git
synced 2026-04-15 14:23:41 +00:00
2026.02.24
This commit is contained in:
@@ -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.
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user