Skip to content
Thoughtful, detailed coverage of everything Apple for 33 years
and the TidBITS Content Network for Apple professionals
Show excerpts

TidBITS#177/17-May-93

This week brings the second of our three part look at MIDI, so watch for the exciting conclusion in two weeks. What? Two weeks? A season cliffhanger? That’s right, we’re moving and not having a phone line next Monday will prevent us from publishing an issue. We also have bits on having a Performa repaired at an Apple dealer and Easy View 2.32’s hiding spots. Finally, Mark Millard reviews Tex-Edit, a free text editor with some nice features.

Adam Engst No comments

Administrivia

TidBITS is moving! Not far, about 25 miles south to near the shores of Lake Washington (well, OK, we can’t see the lake from inside our house, but we can from the yard). Nothing will change for my email correspondents (well, OK, I might be a bit less responsive for the next few weeks). However, this note is directed at those of you who work for companies that like to swamp my snailbox with press releases and other goodies. It’s not that I don’t trust the United States Postal Service to forward my mail (well, OK, I intend to bribe the mail carrier with some apricot jam I made last summer), but it’s always best if everyone updates their databases as soon as possible. Thanks for your patience! Our new address will be 1106 North 31st Street, Renton, WA 98055 USA.

Adam Engst No comments

Easy View habitats

Easy View habitats — It turned out that Easy View ended up on CompuServe in MACDVEN #5 as EV232.SIT rather than the MACAPP library that I mentioned last week. It’s also available on the Internet at <mac.archive.umich.edu> as:

/mac/util/editor/easyview2.32.cpt.hqx

Adam Engst No comments

Performa Service

Performa Service — Apple recently reminded dealers that Performa owners are welcome to bring their computers to "regular" Macintosh dealers should they need repair, in or out of warranty. This option could be handy for people who live or work near an Apple dealer but who can’t wait at home all day for an in-home service technician to arrive. Machines brought in for warranty repair will need to be accompanied by proof-of-purchase date.

Mark R. Millard No comments

The Yellow Rose of Tex-Edit

High-end word processors like Word, WordPerfect, MacWrite Pro, and Nisus can produce anything from a letter to a professional publication. But many Macintosh users lack the money, drive space, RAM, or inclination to run them. Even lower-end word processors like WriteNow, Nisus Compact, and LetterPerfect can cost upwards of $100. Apple’s TeachText is free, but extremely limited. Consider instead Tex-Edit, a freeware text editor written by Tom Bender of San Angelo, Texas. It’s free, requires only 256K RAM, occupies only 98K disk space, and is loaded with features.

Text Editing vs. Word Processing — Other than price, what’s the difference between a text editor and a word processor? Word processors support features beyond entering and editing text, such as headers and footers, mail merge, glossaries, spelling and grammar checkers, footnotes, sectioned pagination, multiple columns, indexing, graphics, style sheets, and equation editors. The practically endless list grows as the features war rages on.

Text editors, in contrast, concentrate on plain text manipulation. Fancy word processing features are super if you’re sharing files among Macs with similar software, but try reading the same files with generic software or on a different platform, and you may find the fancy formatting converted to a mess of strange-looking control characters, peppering what was once readable text with garbage. By focusing on the manipulation of compatible text, text editors provide tools for porting text between different computers.

Tex-Edit — Tex-Edit supports basic features shared by many text editors. You can open any file of type TEXT, as well as drag & drop any file to read text in that file’s data fork. You can add or strip carriage return and line feed characters as desired. Smart (curly) quote conversion is also available. Like some text editors (but not TeachText), you can open multiple documents, up to the limit of the RAM you have allocated.

So what does Tex-Edit offer that some do not? In my opinion, the biggest feature is text styling (multiple fonts, sizes, and character styles within a document) supported by adding a "styl" resource to each document (Nisus uses a similar approach, but a different resource type). Unlike conventional word processors that use special invisible characters within the file’s text to control formatting, styling kept in a file’s resource fork won’t trash up screens of text readers (like email software) that don’t support that particular resource.

Simply put, if you open a formatted Tex-Edit file with an application like Word that doesn’t read "styl" info, you simply get clean, plain text – no garbage formatting characters. The file’s resource fork is ignored and usually removed if you save the file with the other application. America Online and (according to the author) JoliWrite and Stylus all use the "styl" resource, so Tex-Edit can freely exchange text with these applications, formatting intact. To send formatted text to other applications, the author recommends you copy and paste from the clipboard – this technique worked for me in FileMaker Pro and HyperCard, but formatting was lost when pasting into applications that don’t read styl from the clipboard, including PageMaker, Personal Press, QuarkXPress, and Word.

Tex-Edit has several other interesting features. "Smart Cut & Paste" is an option that will add a trailing space to words copied to the clipboard. Window text wrap can be turned off to ease reading lines of programming code. Triple-clicking on a sentence selects the entire sentence. A Change Case command gives you selections of upper, lower, title, or sentence case. You can convert the "fi" and "fl" ligatures in either direction. Word, line, and character count is available. Tex-Edit also supports the extra keys on extended keyboards. If that’s not enough, Tex-Edit supports Macintalk 1.5.1, and if it’s installed, Tex-Edit can read part or all of a document out loud.

Tex-Edit has a few limitations, but they provide some speed and size advantages. Although it supports multiple open documents, it can only open 32K of a given text file at a time. If you have a file larger than 32K, you can open multiple window "chunks" of 32K to see the whole document. Tex-Edit also does not support tabs (without converting them to spaces) or graphics, and doesn’t know about zooming on multiple monitors.

Tex-Edit is compatible with many of the Mac booby traps: it’s 32-bit clean, System 6 and 7 compatible, color compatible, big-screen compatible, 68040-cache compatible, and it adheres to all of Apple’s interface guidelines. Most functions, although not Replace All, are supported by the Undo command. Tex-Edit is also stationery-aware. [We’ve had a comment from one reader saying that Tex-Edit isn’t as stable under System 6 as System 7 in his experience, so be forewarned. -Adam]

Tom has freely released the application and source code to the public domain, and he offers online support on America Online and GEnie. In upcoming versions of Tex-Edit, Tom plans to maintain System 6 compatibility while adding the capability to open files larger than 32K in one window and support for tabs and pictures. He says that speed and a small application size are priorities over adding features.

Since programmers spend a lot of time using text editors, I took an informal survey of programmers, asking them which application they used for text editing. Tex-Edit rated highly, along with BBEdit and the integrated editors in THINK Pascal and THINK C. [BBEdit just split into two products, one commercial, one free, and the free version lost some features in the process. -Adam]

It’s hard to find fault in Tex-Edit. For a text editor, it’s a gem: powerful, full of useful features, small, fast, flexible, and, best of all, free. If you work with text files smaller than 32K on a daily basis, you should give it a test run. Tex-Edit has replaced TeachText on my desktop, and I only have to crank up my lumbering Alki MasterWord-enhanced copy of Word half as often as I used to.

You can find Tex-Edit from your favorite source of free software, and it’s on <sumex-aim.stanford.edu> as:

/info-mac/app/tex-edit-181.hqx

Tex-Edit 1.8.1
Tom Bender
Trans Tex Software
5313 Beverly Drive
San Angelo, TX 76904
[email protected]
GEnie: TBBENDER

Adam Engst No comments

MIDI and the Macintosh – Part II

by Shekhar Govind — [email protected]
Technical editing by Craig O’Donnell — [email protected] and Nick Rothwell — [email protected]

MIDI Software for the Mac: Application Software — For simple purposes, MIDI application software can be considered to have two main elements – a recorder/player (sequencer) with tools for editing the MIDI performance data, and a music-notation editor to create printed scores, or "notation." (Other classes of MIDI software esoterica will be dealt with later.)

Until a few years ago, the Amiga and the Atari ST, with their built-in MIDI capabilities, boasted some of the best MIDI software. However, highly acclaimed MIDI sequencers and notation editors are now available for the Mac, and it is the professional’s computer of choice. As more MIDI software is ported to (or created for) Windows, the balance may change. But MIDI editing remains fundamentally a graphic process, a task at which Macs continue to edge out PCs.

Sequencing packages are geared to "conventional" music making. They have several recording tracks, and let you display and edit notes, controllers, and so on. They often present a tape-recorder metaphor on the screen, with music being recorded and played sequentially. Notation editors provide seamless translation of standard music notation into MIDI files (and vice versa). A good analogy for a notation editor and a synthesizer keyboard would be a word processor and a QWERTY keyboard.

A partial list of some Mac sequencers and notation editors follows. Usually, the list price is a fair reflection of the software’s capabilities. The high-end has packages intended for the professional musician, while the mid- and low-range programs are aimed at the semi-pro or casual musician or composer. Each package claims its forte to be either sequencing [S] or notation [N], though sometimes both parts are present in some mix: [SN] [sN] or [Sn].

     Composer's Mosaic   $595 (Mark of the Unicorn) [N]
     ConcertWare+MIDI    $189 (Great Wave Software) [sN]
     Cubase              $495 (Steinberg/Jones) [S]
     D. M. C. S.         $130 (Electronic Arts) [N]
     Encore              $595 (Passport Designs) [N]
     EZ Vision           $149 (Opcode Systems) [S]
     Finale              $749 (Coda Music Software) [SN]
     Lime                $160 (CERL) [N]
     Master Tracks Pro   $495 (Passport Designs) [S]
     Metro*              $229 (OSC) [S]
     MIDIplay            $ 60 (Opcode Systems) [MIDI on HyperCard]
     MiniTrax            Public Domain (Altech Systems) [s]
     Music Writer 1/2/3  $119/295/595 (Pygraphics) [N]
     MusicProse          $249 (Coda Music Software) [SN]
     Performer           $495 (Mark of the Unicorn) [S]
     Trax                $ 99 (Passport Designs) [S]
     Upbeat              $129 (Dr. T's Music Software) [percussion]
     Vision              $495 (Opcode Systems) [S]

 * Metro is a reincarnation of Beyond (previously Dr. T's) with an
   integration to DECK (a digital audio recording system also from
   OSC).

Demo versions for most are available from the publisher or on the Internet. Those with FTP access should get a copy of

info-mac/report/inexpensive-midi-resource.txt

from <sumex-aim.stanford.edu>. This file, currently available as a draft FAQ (Frequently Asked Questions) on the rec.music.makers.synth group on Usenet, lists demo, shareware, and public-domain programs available for the Mac and where to get them.

Mail order firms sell most software for much less than list price. Besides the usual connections, places, zones, and warehouses, check out MacBeat (800/MAC-BEAT). They employ knowledgeable salespeople and always have good bargains on MIDI software, synths, and even Macs. Sweetwater Sound (219/432-8176) also has an excellent reputation among professionals (you can reach them via email through Chuck Surack at <[email protected]>).

Another flavor of MIDI software is the improvisation and "teach-yourself-music" category. The latter includes packages like the Miracle Piano Teaching System from Software Toolworks. This bundle lists at $500 and comes with software, MIDI interface, cables, and a 49-key MIDI keyboard. Software for improvisation and algorithmic accompaniment can provide a backing by different instruments in a wide range of rhythmic styles – all in real time. Software in this category includes:

     Band in a Box    $ 88 (PG Music) [algorithmic accompaniment]
     Cypher*          $ 39 (Robert Rowe) [algorithmic composition]
     Harmony Grid     $ 99 (VPL Research) [nontraditional
                            learning/composition]
     Jam Factory      $119 (Dr. T's Music Software) [algorithmic
                            accompaniment]
     Listen           $ 99 (Imaja) [ear training, theory]
     M                $119 (Dr. T's Music Software) [algorithmic
                            composition]
     MiBAC Jazz       $125 (MiBAC Music Software) [algorithmic
                            accompaniment]
     Music Mouse      $ 49 (Dr. T's Music Software) [graphic /
                            algorithmic player]
     Practica Musica  $125 (ARS Nova) [ear training and theory]

 * Cypher is available on CD as a companion to the book
   "Interactive Music Systems" by Robert Rowe, published by MIT
   Press.

Patch librarians/editors are applications which create archives to store synth-specific sound parameters (patches, remember?) and let you edit or create synth voices in a graphic mode instead of the "peer through an LCD mail slot mode" present on the front panel of synthesis equipment. Editors and librarians differ in function but tend to resemble each other: they let you put together sounds off-line which can be used in music composed with a sequencer. The $249 Galaxy (Opcode Systems) is a good commercial patch-librarian.

Software tools that test hardware and connections, and send and receive system exclusive ("sysex") messages to and from the synth are essential for the serious MIDI-tinkerer. (Sysex messages don’t play music; they change the attributes of the sound of the receiving MIDI system.) In addition, these tools can provide software-based access to the sound and music functions of the synth. A few such utilities available in the public-domain include: MIDI Mode and MIDI Program Select (both DAs by Austin Development), Bulk Sysex Utility and Interface Test (both from Altech Systems), and MIDIScope (thank the folks at Kurzweil for this one). Previously shareware, HyperMIDI, a decent MIDI construction toolkit in HyperCard by Nigel Redmond, has recently gone commercial ($125). Read the FAQ file referred to earlier for a list of other non-commercial Mac MIDI tools.

MAX/OMS (Opcode MIDI System), an object-oriented MIDI control and interface programming toolkit, is a powerful environment for MIDI-hacking (more about OMS later). If you get bored with predefined tools and traditional ways of working, or come across problems or ideas which you cannot address with conventional applications, you should consider MAX. Designed by Miller Puckette at IRCAM in Paris and supported and sold by Opcode Systems, MAX is a toolbox for creating MIDI systems such as user interfaces, real-time processors, algorithmic composition components, performance surfaces, and anything else you can think of. It is a Macintosh application with a superb graphical interface. Control primitives can be laid out, connected, and edited in a MacDraw-like environment, and then used to process MIDI data in any way imaginable, with an interface designed to any scheme you wish. It can be considered an instrument, just like synthesizers; or even better, an instrument for building new instruments. Musicians use it on-stage as a performance system for their entire rig. MAX is one of the most significant MIDI products (hardware or software) ever, and much credit must go to Opcode for having the vision to bring it to market.

MIDI applications can be written and compiled in almost any high-level programming environment. Books on MIDI programming and disks containing MIDI subroutine libraries and source codes (in C, MIDIBasic, MIDIPascal) are readily available. Some of the MIDI public-domain programs mentioned earlier are exhibits for these language packages.

Additional System Software — Because of differences in architecture, the venerable Mac IIfx and the recent Quadras and the IIvx require a Serial Switch Control Panel for their serial ports. However, things get a little murky in the realm of System 7.1 and MIDI. Digidesign recommends Enabler 001 for various Mac models including the IIvx and Performa 600. Apple says NOT to use Enabler 001 on a Performa. It’s not clear what Enabler 001 does that the Hardware Update 1.0 doesn’t do.

Software with music notation capabilities come bundled with appropriate fonts (such as Sonata, an Adobe PostScript font. Most of the software packages include MIDI Manager, an essential MIDI system extension courtesy of (and that’s putting it politely) Apple. The MIDI Manager extends the Mac operating system to correctly support the timing accuracy required by MIDI hardware and software under MultiFinder. While some programs do not require the MIDI Manager per se to function, using it can provide more flexibility (not to mention more system conflicts). MIDI Manager is available to developers from APDA or as licensed software with MIDI application packages.

First, the good news about MIDI Manager – it can operate in the background; it allows the user to configure either the modem or the printer port for MIDI traffic; and it can take the output from one MIDI program and input it to another MIDI program. When loaded on a PowerBook, it automatically disables rest-mode (a state in which the PowerBooks are slow to the point of almost being non-functional as a MIDI platform). Oh yes, it is System 7 friendly; but then these days, what isn’t?

And now for the major discordant note. The Chooser is MIDI Manager hostile – if you bring up the Chooser while MIDI Manager is loaded, the modem port locks up.

Nor can the MIDI Manager flawlessly direct incoming serial data on most PowerBooks. Although MIDI Manager does not cause the problem, an update could certainly solve it (more on the PowerBook-MIDI saga later). Using MIDI Manager with MultiFinder (or System 7.x) on a Mac with a slow processor (such as an 8 MHz 68000) can make the Mac choke, especially if the score contains multiple voices. Although the "sound" isn’t affected, it might affect the timing as well as the screen refresh. (These are generic problems associated with the slower Macs – MIDI Manager just consumes another piece of the scarce CPU pie.) Finally, configuring the MIDI Manager requires an included stand-alone application called PatchBay – an example of interface design Apple would probably like to forget.

MIDI Manager & OMS History — Originally invented to help MIDI software cope with System 6 MultiFinder, MIDI Manager is showing its age and may not be around for long. Let’s look briefly at where it came from and why it appeared.

Part of the Mac’s appeal is its high level interface to programmers (for things like QuickDraw), and this results in nice, consistent applications that work together (cut and paste, anyone?). Equally important, it means that applications will usually continue to work with new hardware. For example, you could use a six-year-old resource editor of Mac Plus vintage on a big-screen Mac or a PowerBook; you could also be reasonably confident that it would work on a graphics-accelerated Radius Rocket-equipped Quadra, a completely different beast from the Mac Plus!

If you were given a Mac program which drew directly onto the screen (ignoring the window system), and which crashed on color machines, you’d consider it junk and throw it away, right? (Let’s leave aside games for now.) Sadly, much original MIDI software did similar horrid things to the Mac like seizing serial ports regardless of other applications. This was not due to programming carelessness, but because there were no toolbox calls or programming conventions for MIDI, which is timing-dependent (unlike your generic pre-QuickTime Macintosh process).

Then in early 1989, Apple released MIDI Manager. Like other Macintosh Managers, this Toolbox component offered high-level services to applications. In this case, it meant applications could use abstract MIDI communication and timing ports, regardless of the hardware they ran on. Several MIDI Manager applications could run at once, and could even send MIDI data to one another. And they would be independent of the hardware and could use new, high-speed MIDI interfaces, or SCSI, or synthesizers on NuBus sound cards, or whatever.

And all was rosy. Well, actually, no. Due to a long-running legal wrangle with the Beatles’ Apple Corps, Apple Computer was prevented from publicizing MIDI Manager properly and never rolled it into the (at that time) much-awaited System 7. Apple dealt with the legal problems, but by that time the MIDI Manager developers had left Apple, and MIDI Manager languished. It still works and is in constant use on most Mac-MIDI platforms. But it hasn’t changed in years.

Apple is reportedly working on an improved manager for audio events in general – taking care of both sound and MIDI on the Mac. Apple demonstrated early versions at the 1992 Developers’ Conference, and the obvious place to see it unveiled will be on new Macs with DSP (digital signal processing) chips – but then no one can accuse Apple of being obvious.

In 1991, Opcode developed their own system (OMS, the Opcode MIDI System) which provides system services similar to the MIDI Manager. Although OMS and MIDI Manager differ only slightly, there are good reasons for running both systems at once to access their respective features. Professionals often need extremely powerful MIDI interface boxes with more than 16 MIDI channels (64 is common and 128 is possible and surely we’ll be up to 1,024 channels someday soon!) and must synchronize their Mac to SMPTE time code (a protocol defined by the Society of Motion Picture & Television Engineers for synchronizing various devices) on video or audio tape. Apple offers no solution and that’s where OMS fills the bill.

OMS is an exemplary piece of software; it works solidly on PowerBooks, and is considered a must for professional MIDI users. Mark of the Unicorn has announced a rival to OMS, the FreeMIDI System – think of it as OMS with a Free Software Foundation source license. Although a few beta testers have proclaimed it to be OK, it will have to prove itself to be at least as capable as OMS to achieve a loyal user base.

Opcode fired the next few salvos in this MIDI battle. Since January 1993, Opcode has licensed OMS developer packs free to interested parties. In April, they announced an upgrade to version 2.0 of OMS (currently, OMS 1.2.1 is shipping). The acronym OMS will change from "Opcode MIDI System" to "Open Music System" to reflect the fact that future versions of OMS will incorporate source code from other developers (a move designed to bolster its acceptance as an industry standard for professional musicians). Among other enhancements, OMS 2.0 will add IAC (Inter-Application Communication) and will include serial port independence that will allow the use of serial cards like Applied Engineering’s QuadraLink four-port NuBus card. The OMS bandwagon already includes companies such as Passport, Steinberg, Emagic, PG Music, Roland, and Digidesign.

The problem, of course, is that there is still a lot of MIDI software around that uses none of this stuff. MIDI Manager documentation is available from APDA, and it’s easy to program MIDI Manager applications, so there is no excuse for applications not to use it. One might even venture that FreeMIDI was a TrueType-ish move to force developers to agree on a common system. With any luck, it will happen soon and the results will work well. In the meantime, if you have MIDI software that does not use OMS or MIDI Manager, you might wish to consign it to the trash. Of course, if you’re just messing with MIDI, you may feel differently.

Gooey Crimes — And now for something completely different – a short rant about user interface and reliability of MIDI applications

The user interface of some of these packages is convoluted enough to make even the most hardened Microsoft programmer blush. One popular high-end sequencer insists on making the "close window" square at the top left of a Mac window appear as a triangle – truly the mark of a unicorn who doesn’t believe in making simple ROM calls (or in using proper WDEFs, CDEFs, etc.). On one expensive notation editor, selecting a note does not darken the note – instead, it is grayed. These are the least of the collective sins committed against the standard Mac interface. Although these problems may seem cosmetic, in many cases functionality (not to mention immunity from conflicts and longevity across hardware and system upgrades) can be directly related to the cosmetics of the software.

Reliability is crucial in any MIDI system and users have every right to expect dependability from applications that cost hundreds of dollars. If a word processor crashes while you are in the middle of composing a letter you might be moved to utter a few choice expletives; but few of us have the rich vocabulary required when a MIDI program crashes in the middle of a live performance. Unfortunately, there is a lot of unreliable software in the market. Generally it is the poor(er) user who discovers the expensive way about mutation problems in fourth-generation performers.

As for Apple, we can only hope that by the time they let loose the next Manager, they will have read their own bleeping interface guidelines about how to configure a system extension from a Control Panel.

Tune in next issue for a look at MIDI hardware, including interfaces, Macs, samplers, and synthesizers.