| 1 | libjdkmidi |
|---|
| 2 | |
|---|
| 3 | Copyright 1986-2004 by J.D. Koftinoff Software, Ltd. |
|---|
| 4 | jeffk@jdkoftinoff.com |
|---|
| 5 | |
|---|
| 6 | Released under the GPL: May 1, 2004 Please see the file COPYING |
|---|
| 7 | |
|---|
| 8 | Quick Start |
|---|
| 9 | |
|---|
| 10 | (for gcc toolchains: linux,macosx,cygwin,mingw32,etc) |
|---|
| 11 | |
|---|
| 12 | cd build/gnu |
|---|
| 13 | make tests |
|---|
| 14 | ./jdkmidi_test_multitrack ../../songs/jeffswedding.mid | less |
|---|
| 15 | ./jdkmidi_rewrite_midifile ../../songs/jeffswedding.mid out.mid |
|---|
| 16 | ./jdkmidi_test_show out.mid |
|---|
| 17 | make clean |
|---|
| 18 | less ../tests/jdkmidi_rewrite_midifile.cpp |
|---|
| 19 | |
|---|
| 20 | Directory List |
|---|
| 21 | |
|---|
| 22 | include/jdkmidi |
|---|
| 23 | : Header files for libjdkmidi |
|---|
| 24 | |
|---|
| 25 | src |
|---|
| 26 | : Source files for libjdkmidi |
|---|
| 27 | |
|---|
| 28 | tests |
|---|
| 29 | : Source files for simple test programs |
|---|
| 30 | |
|---|
| 31 | build/gnu |
|---|
| 32 | : Place to do builds in for gnu gcc |
|---|
| 33 | |
|---|
| 34 | build/vc6 |
|---|
| 35 | : MS Visual C++ 6 projects |
|---|
| 36 | |
|---|
| 37 | build/macosx |
|---|
| 38 | : Mac OS X xcode project added |
|---|
| 39 | |
|---|
| 40 | songs |
|---|
| 41 | : Place I keep some MIDI files in for testing |
|---|
| 42 | |
|---|
| 43 | docs |
|---|
| 44 | : Place to keep some documentation, autogenerated from doxygen |
|---|
| 45 | |
|---|
| 46 | Usage with your own projects |
|---|
| 47 | |
|---|
| 48 | Add the include directory: |
|---|
| 49 | -I /libjdkmidi/include |
|---|
| 50 | |
|---|
| 51 | Add the library directory: |
|---|
| 52 | -L /libjdkmidi/lib |
|---|
| 53 | |
|---|
| 54 | Link with libjdkmidi: |
|---|
| 55 | -l jdkmidi |
|---|
| 56 | |
|---|
| 57 | All symbols are in the c++ namespace jdkmidi |
|---|
| 58 | |
|---|
| 59 | History |
|---|
| 60 | |
|---|
| 61 | This library was originally a collection of utility functions for MIDI |
|---|
| 62 | written in C back in 1986 for the Atari ST computer. Since then it has |
|---|
| 63 | evolved into a fairly powerful C++ MIDI Library including: |
|---|
| 64 | |
|---|
| 65 | * MIDI parsing |
|---|
| 66 | * MIDI Show Control message creation and handling |
|---|
| 67 | * Standard MIDI File type 0 and type 1 reading and writing |
|---|
| 68 | * Timestamped MIDI message and System Exclusive encapsulation |
|---|
| 69 | * Efficient MIDI Track objects for sequencing |
|---|
| 70 | * MIDI Track objects for editing MIDI events |
|---|
| 71 | * MIDI message process chains |
|---|
| 72 | * Containers for multiple MIDI Tracks with iterators |
|---|
| 73 | * MIDI Sequencer core for sequencing and triggering GUI events |
|---|
| 74 | * MIDI Driver abstractions for I/O and sequencing |
|---|
| 75 | * MIDI Driver implementation for Win32 for I/O and sequencing |
|---|
| 76 | * Tempo calculations |
|---|
| 77 | * MIDI Matrix to count note on's and off's and hold pedals to avoid |
|---|
| 78 | stuck notes and all-notes-off problems when merging midi streams |
|---|
| 79 | * SMPTE management and calculations |
|---|
| 80 | |
|---|
| 81 | For more information, please contact Jeff Koftinoff |
|---|
| 82 | <jeffk@jdkoftinoff.com> |
|---|
| 83 | |
|---|
| 84 | CHANGELOG |
|---|
| 85 | |
|---|
| 86 | 1986: MIDI parsing and message handling added, in C |
|---|
| 87 | 1989: Simple MIDI File Parsing added |
|---|
| 88 | 1989: Ported to run on Macintosh with Think C |
|---|
| 89 | 1989: Converted to old style C++ with GCC for Atari ST |
|---|
| 90 | 1990: Ported to work on Borland C++ 3.1 for DOS MIDI Sequencers |
|---|
| 91 | 1992 - 1996: Added MIDI Show Control classes |
|---|
| 92 | 1997-1998: Added more robust MIDI Track classes, WIN32 support |
|---|
| 93 | 2004: Dusted off, moved into namespace jdkmidi and cleaned up a little |
|---|
| 94 | 2004 May 1: Released under the GNU GENERAL PUBLIC LICENSE |
|---|
| 95 | 2004 May 26: Some clean ups, warning fixes, mac os x project file added, |
|---|
| 96 | visual c++ project file added, jdkmidi_rewrite_midifile added |
|---|
| 97 | 2005 Oct 14: Some more warning fixes, fixed dangerous seq( seq ) in constructor. |
|---|
| 98 | visual c++ 2005 project file added. |
|---|