Maximum MIDI : Music Applications in C++

Author: Paul Messick
List Price: $49.95
Our Price: Click to see the latest and low price
ISBN: 1884777449
Publisher: Manning Publications Company (January, 1998)
Edition: Paperback
Sales Rank: 28,161
Average Customer Rating: 4 out of 5

Buy now directly from Amazon.com - Purchase this book, safely and securely from the largest book dealer on the Internet, Amazon.com

Customer Reviews

Rating: 5 out of 5
Informative, Empowering, Amusing, Just plain good!
First a note. The main purpose of this book is twofold. It's a good introduction to MIDI and using it in windows 95/98, but it doesn't go into detail of how windows does everything. Rather its a documentation for a library of functions that do all the hard work for you and let you get on with writing good MIDI applications. The source code is provided and the author leaves a VERY generous lisence on the software, allowing you to do nearly anything with it!

Now a word on the writing. This book is perfect, the author uses subtle humor to keep the reading light, but not so much as to make it pathetic. He keeps the tone of the book informal, more as a friend explaining something than a professor lecturing. Despite being filled with facts and details and source code, the book reads like a novel.

The chapter that simply describes an overview of the MIDI spec. makes for a great intro to MIDI, even for people who have been using it for years. If you ever plan on learning anything about MIDI and how to write computer programs that use it, buy this book.


Rating: 5 out of 5
Comment about thunking
I've been reading through the MSDN Library documentation (available online if you want to look it up), and there's an article about MIDI timing (under Technical Articles/Multimedia) that specifically advocates using thunking on 95/98 platforms. NT doesn't have the same 32-bit latency issues, and their suggested solution to NT interoperability is to have both 16 and 32 bit DLLs, and switch between them based on OS.


Rating: 3 out of 5
Too bad for the flaws in a great book
It is too bad that a book so carefully written and well explained as this one is plagued by two major flaws:

1) the reader/user is forced to use Messick's toolkit. It has to be said that it works: everything in the companion CD runs and compiles, including the example sequencer. But that's not what I, among others, expected: I expected an in-depth treatment of the standard VC/C++ MIDI primitives and functions, out of which to build my own applications. I could show that it's possible to do so, I have started with a few examples. Hence the book is not useful for someone who wants to start from scratch.

2) The method for the timing is a kludge. I follow Messick's reasoning that multitasking systems like Windows do not garantee precise timing, but not his solution to use 16-bit, Win3.x thunks. That is a non-universal trick - which e.g. won't work for NT. Now I am not familiar enough with the innards of Microsoft systems to suggest an alternative solution, but I am sure there is a better one. After all, there are plenty of other sequencers (Cakewalk?) that work under all of them. In UNIX, you'd write a driver with sections of code that are shielded from any interrupt and run in real time - in addition, 2.9 BSD has the ``rtp'' (real time process) system call that locks a process, and earlier machines allowed direct access to the clock from a C program.

To conclude, the book is great if one wants to follow what Messick has done - one may suspect he developed that toolkit for some other reason and then decided to make an extra buck by plublishing it - but it's not " the programmer's definitive source of information for developing MIDI-based Windows 95 applications." And that's too bad because, given the scant documentation by Microsoft, there is ample need for such a book.

Similar Products

· Basic MIDI
· A Programmer's Guide to Sound
· Midi for the Professional
· Real Sound Synthesis for Interactive Applications (With CD-ROM)

Return To Main Computer Book IndexSearch Our Entire Computer Book Catalog