Home | History | Annotate | only in /src/usr.bin/midiplay
History log of /src/usr.bin/midiplay
RevisionDateAuthorComments
 1.6 17-Aug-2011  joerg Fix disable stricter format string messages with clang again.
 1.5 14-Aug-2011  christos - add a SYSEX0 macro that does not override the initializers and use it
- fix whitespace
- make things static and eliminate unused functions
 1.4 22-Jun-2011  mrg apply some -Wno-error and/or -fno-strict-aliasing.


all of this should be looked at closer, but some of them are not
very trivial.
 1.3 26-May-2011  joerg Use CWARNFLAGS.clang and not CWARNFLAGS here
 1.2 26-May-2011  joerg Default to -Wno-sign-compare -Wno-pointer-sign for clang.
Push -Wno-array-bounds down to the cases that depend on it.
Selectively disable warnings for 3rd party software or non-trivial
issues to be reviewed later to get clang -Werror to build most of the
tree.
 1.1 12-Aug-1998  augustss Add a very simple MIDI player. No features, no fluff.
 1.21 03-May-2018  wiz Merge options without arguments in synopsis.
 1.20 03-May-2018  mrg if just parsing don't try to read the uninitialised device name,
or display the unit number.

add a "-s" option that sends an ALL_SOUNDS_OFF midi event. very
useful after an interrupted midiplay leaves notes on.
 1.19 16-Jan-2010  mbalmer branches: 1.19.38; 1.19.44;
fix wording:
instead of the a file -> instead of a file
 1.18 30-Apr-2008  martin Convert TNF licenses to new 2 clause variant
 1.17 02-Jul-2006  wiz branches: 1.17.18;
Bump date for previous. New sentence, new line.
 1.16 30-Jun-2006  chap The rest of merge from chap-midi branch. Version of midiplay that uses the
sequencer API definitions in sys/midiio.h (so there is a use example).
These produce the same (ABI) sequencer events as the OSS macros, but in
a more strongly-typed way; OSS API macros could be built on them and added
to the OSS compatibility header sys/soundcard.h but have not been, yet.
 1.15 17-Jun-2006  reed Fix mispelling.
 1.14 03-Mar-2003  wiz branches: 1.14.12;
Bump date for RMID support. New sentence, new line.
 1.13 17-Feb-2003  augustss Make it play RMID files as well. From bin/20388, Quentin Garnier.
 1.12 30-Sep-2002  grant New sentence, new line.
 1.11 05-Jan-2002  wiz Sort sections. Use .Ev for environment variables.
 1.10 05-Jan-2002  augustss Take the default output unit from env MIDIUNIT.
 1.9 01-Dec-2001  wiz Whitespace cleanup.
 1.8 12-Aug-2000  augustss Cosmetic changes.
 1.7 18-Feb-2000  augustss Add a -p flag to set the MIDI program. From lindroos@nls.fi.
 1.6 30-Sep-1999  soren Typo.
 1.5 12-Sep-1999  kleink branches: 1.5.2;
Use full month names with .Dd, as per mdoc.samples(7).
 1.4 10-Mar-1999  erh Add missing .El line.
 1.3 13-Aug-1998  augustss Improve man page.
 1.2 12-Aug-1998  augustss Make user tempo setting more sane.
 1.1 12-Aug-1998  augustss Add a very simple MIDI player. No features, no fluff.
 1.5.2.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.14.12.1 31-May-2006  chap Use the sequencer's knobs for tempo, rather than leaving them at a fixed
setting and doing the same computations in this code. The chief benefit is
to make this code clearer, and more helpful as an example of how the
stuff works. It also exposed a long-hidden bug in the sequencer's tempo
handling, now fixed.

Display some meta events more informatively. Clarify the exact meaning and
effect of some options in the man page.

Absolute-timed MIDI files should be playable now, though I do not have
any to test.
 1.17.18.1 18-May-2008  yamt sync with head.
 1.19.44.1 21-May-2018  pgoyette Sync with HEAD
 1.19.38.1 12-May-2018  martin Pull up following revision(s) (requested by mrg in ticket #820):

usr.bin/midiplay/midiplay.1: revision 1.20
usr.bin/midiplay/midiplay.1: revision 1.21
usr.bin/midiplay/midiplay.c: revision 1.31
usr.bin/midiplay/midiplay.c: revision 1.32

if just parsing don't try to read the uninitialised device name,
or display the unit number.

add a "-s" option that sends an ALL_SOUNDS_OFF midi event. very
useful after an interrupted midiplay leaves notes on.

Merge options without arguments in synopsis.

Sync usage with manpage.
 1.34 27-Nov-2021  rillig usr.bin: remove unnecessary CONSTCOND, lint no longer needs it

Since 2021-01-31, lint no longer requires a CONSTCOND comment in a
do-while-0 statement since this is a common code pattern, especially in
statement-like macros.
 1.33 01-Feb-2019  mrg make a fallthru comment GCC7 compatible.
 1.32 03-May-2018  wiz branches: 1.32.2;
Sync usage with manpage.
 1.31 03-May-2018  mrg if just parsing don't try to read the uninitialised device name,
or display the unit number.

add a "-s" option that sends an ALL_SOUNDS_OFF midi event. very
useful after an interrupted midiplay leaves notes on.
 1.30 22-Mar-2015  mrg branches: 1.30.8; 1.30.14;
if not playing (-q mode), don't call ioctl() or try to use the results.
now -q mode works.
 1.29 25-Nov-2011  jmcneill branches: 1.29.18;
- accept "midi0" as an alias for "0" to the -d flag
- verify that the requested unit exists before playing
- if the verbose flag is set, print the selected device name and unit #
 1.28 14-Aug-2011  christos branches: 1.28.2;
- add a SYSEX0 macro that does not override the initializers and use it
- fix whitespace
- make things static and eliminate unused functions
 1.27 12-Apr-2009  lukem fix sign-compare and cast-qual issues
 1.26 28-Apr-2008  martin branches: 1.26.8;
Remove clause 3 and 4 from TNF licenses
 1.25 01-Jul-2006  he branches: 1.25.18;
Um, pointer differences are ptrdiff_t, and there's already a
printf specifier for it (t), so use it instead.
 1.24 01-Jul-2006  he The type for pointer difference varies between ports, on some it's
"long int" and on others "int", so cast via long and use %ld for printing.
 1.23 30-Jun-2006  chap The rest of merge from chap-midi branch. Version of midiplay that uses the
sequencer API definitions in sys/midiio.h (so there is a use example).
These produce the same (ABI) sequencer events as the OSS macros, but in
a more strongly-typed way; OSS API macros could be built on them and added
to the OSS compatibility header sys/soundcard.h but have not been, yet.
 1.22 05-Jan-2004  jmmv branches: 1.22.12;
Homogenize usage messages: make the 'usage' word all lowercase, as this seems
to be the most common practice in our tree.
 1.21 16-Oct-2003  itojun safer use of realloc
 1.20 26-Jul-2003  salo netbsd.org->NetBSD.org
 1.19 23-Jun-2003  agc Add NetBSD RCS Ids.
 1.18 17-Feb-2003  augustss Make it play RMID files as well. From bin/20388, Quentin Garnier.
 1.17 11-Jun-2002  itojun err/errx/warn/warnx do not need \n at the end
 1.16 05-Jan-2002  augustss Take the default output unit from env MIDIUNIT.
 1.15 25-Nov-2001  augustss Don't open sequencer device if we're not going to play.
 1.14 30-Oct-2001  augustss Make -p select the right program. Fixes PR 14402, from itohy@netbsd.org.
 1.13 07-Apr-2001  tshiozak fix a simple, but important bug for system exclusive messages.
(forgot to increase a pointer, if the message has over 6 bytes length.)
 1.12 19-Feb-2001  cgd convert to use getprogname()
 1.11 12-Aug-2000  augustss Cosmetic changes.
 1.10 18-Feb-2000  augustss Add a -p flag to set the MIDI program. From lindroos@nls.fi.
 1.9 11-Oct-1999  augustss Fix timer reset bug when playing multiple songs.
 1.8 25-Nov-1998  augustss branches: 1.8.4;
Make the copyright header conform to the NetBSD template.
 1.7 20-Oct-1998  augustss Add f flag to getopt() argument. Fixes PR 6335.
From Andreas Wrede <andreas@planix.com>
 1.6 13-Aug-1998  augustss Handle SYSEX events.
 1.5 13-Aug-1998  augustss Improve man page.
 1.4 13-Aug-1998  augustss Handle MIDI files with running status correctly.
 1.3 13-Aug-1998  augustss Fix type that prevented program and controller changes.
 1.2 12-Aug-1998  augustss Make user tempo setting more sane.
 1.1 12-Aug-1998  augustss Add a very simple MIDI player. No features, no fluff.
 1.8.4.1 27-Dec-1999  wrstuden Pull up to last week's -current.
 1.22.12.5 02-Jun-2006  chap Fix one sloppy comment.
 1.22.12.4 02-Jun-2006  chap Replace the O(n) code to select the next event with a basic O(lg n)
implementation. No change in functionality and nothing likely measurable
in performance except for large (> 16 tracks) MIDI files ... the idea is
more for the code of midiplay to illustrate the usual, customary
techniques that could be used in a bigger project. Anyway, it always
bugged me to see an absolute 'now' variable being maintained in a program
that reads nothing but delta times from its input files and sends nothing
but WAIT_REL events to the sequencer, so now that's gone. :)
 1.22.12.3 01-Jun-2006  chap Changes to support the SYSEX CONTINUATION and ESCAPED events possible in
MIDI files (ref. http://www.borg.com/~jglatt/tech/midifile/evts.htm).
Also eliminated an avenue for a crafted MIDI file to effect memory access
beyond the buffer.
 1.22.12.2 31-May-2006  chap Use the sequencer's knobs for tempo, rather than leaving them at a fixed
setting and doing the same computations in this code. The chief benefit is
to make this code clearer, and more helpful as an example of how the
stuff works. It also exposed a long-hidden bug in the sequencer's tempo
handling, now fixed.

Display some meta events more informatively. Clarify the exact meaning and
effect of some options in the man page.

Absolute-timed MIDI files should be playable now, though I do not have
any to test.
 1.22.12.1 26-May-2006  chap Adapt to the API now in midiio.h.
 1.25.18.1 18-May-2008  yamt sync with head.
 1.26.8.1 13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.28.2.1 17-Apr-2012  yamt sync with head
 1.29.18.1 23-Apr-2015  snj Pull up following revision(s) (requested by mrg in ticket #717):
usr.bin/midiplay/midiplay.c: revision 1.30
if not playing (-q mode), don't call ioctl() or try to use the results.
now -q mode works.
 1.30.14.1 21-May-2018  pgoyette Sync with HEAD
 1.30.8.1 12-May-2018  martin Pull up following revision(s) (requested by mrg in ticket #820):

usr.bin/midiplay/midiplay.1: revision 1.20
usr.bin/midiplay/midiplay.1: revision 1.21
usr.bin/midiplay/midiplay.c: revision 1.31
usr.bin/midiplay/midiplay.c: revision 1.32

if just parsing don't try to read the uninitialised device name,
or display the unit number.

add a "-s" option that sends an ALL_SOUNDS_OFF midi event. very
useful after an interrupted midiplay leaves notes on.

Merge options without arguments in synopsis.

Sync usage with manpage.
 1.32.2.1 10-Jun-2019  christos Sync with HEAD

RSS XML Feed