barrett@jhunix.HCF.JHU.EDU (Dan Barrett) (08/29/89)
I have been using the new Amiga MIDI sequencer/librarian/etc program MUSIC-X by MicroIllusions for about a month now. This is an extremely powerful program, and I recommend it highly! ($138 by mail order from Abel Supply; $299 list price; not copy protected; 500 page manual!) I would love to correspond with other MUSIC-X users on the net. Write to me at any of the addresses at the end of this posting. I have composed the following letter to the author, David Joiner, full of suggestions, criticisms and compliments. If anybody has any feedback on my letter, please let me know! NOTE: This letter is long. If you are not already familiar with MUSIC-X, it might not be very readable to you. This is NOT a review of the product. It is a comprehensive list of the bugs and shortcomings that I have found, plus some compliments and questions. Remember -- I LIKE THIS PROGRAM A HELL OF A LOT! --- begin letter --- Mr. David Joiner c/o Microillusions 17408 Chatsworth Street Granada Hills, CA 91344 Dear Mr. Joiner: I have a number of suggestions, questions, and compliments about your WONDERFUL new program, MUSIC-X. It is certainly the most powerful Amiga MIDI package I have ever used. Congratulations on creating a great program! Please don't be put off by the length of this letter. I am making all these suggestions because I care about your product! 1. Possible Bugs? Releasing The Serial Port I think MUSIC-X does not release the serial port properly when it exits. Suppose I invoke MUSIC-X from the CLI and then exit. When I try to run other serial-port programs (VT100 emulator, and other MIDI programs) they cannot open the serial port. If I simply try to run MUSIC-X again, it CAN re-open the serial port. Hmmm. A warm boot clears up the problem. I have the source code for the other serial-port programs, so I know they are trying to open the port legally. ERR messages I've been getting a lot of ``ERR [xxx]'' messages to the right of the free memory gauge. I suppose these should happen rarely, right? File Requestor The File Requestor cannot access files in deeply nested directories! It allows only 30 characters for the entire directory path string, and another 30 for the filename. AmigaDOS allows much more than this. Please allow the AmigaDOS maximum length. Event Editor The event editor does not ``re-dimension'' its workspace when you SELECT another sequence to work on, if the new sequence is shorter than the original one. Example: Load the TOCCATA example from your Examples disk. Edit sequence #1 in the event editor. Scroll to the very end of the sequence. Now SELECT... sequence #2 from the menu bar. When it loads, it appears to be blank! I think you should be seeing the end of sequence #2 at that point. Bar Editor SELECT a STOP event in your sequence to make it the current event. Now click on any of the 3 virtual sliders. A colon (`:') appears to the left of the slider. Minor bug. Librarian When receiving a patch, I often see garbage characters appear after the patch name in the Librarian display. Sometimes I even get garbage words like ``Velocity'' or ``ouch'' that do not appear in the received patch. I suspect that you have forgotten to zero out the name string at some point. Protocol info: 398 (decimal) byte patch dump, name has length 15, going from bytes 382-396; charmap = \20\20,\01\40,AZ,\5B\5F, turning ASCII zeroes into space characters. (Patch name is stored as 8 characters alternating with zeroes, so a charmap of this sort is necessary. Otherwise, MUSIC-X interprets the first zero in the name as a string terminator, and the name won't print on the Librarian display.) My configuration is: Amiga 1000 with 512K CHIP RAM, plus 2 megabyte Starboard II memory expansion. C.Ltd. 50 megabyte hard drive and SCSI controller. Golden Hawk MIDI GOLD interface. C.Ltd. Timesaver on keyboard. Kickstart and Workbench 1.3. I use ARP 1.3, a small RAD:, ConMan 1.3, Rez 0.3, and DMouse 1.20 in the background. Feel free to ask me for more details about my setup. 2. Suggestions The Amiga Interface I want to type ``MUSIC-X myFile.perf'' from the CLI to have MUSIC-X load a performance file when it boots. The Workbench tooltype options are very nice, but please don't neglect your CLI friends. Please add an option for MUSIC-X not to create icons for the files it saves. MUSIC-X searches for ``Default.perf'' in the current directory only. How about searching first in the current directory, and then (if no such file exists) in the MUSIC-X: directory? That way, the user doesn't have to type ``cd MUSIC-X:'' every time before he runs the program. The File Requestor Your file requestor is great, but it is missing one important thing: a quick way to move to the parent directory. Please add a ``parent'' gadget. The Sequencer Performances do not save the ``Use Zero Origin'' preference. Saving this would be nice for people who always use a zero origin. When merging two sequences, I think MUSIC-X should put up a little sign that says ``Merging, please wait...'' instead of no feedback at all. I suggest putting the word ``MERGING'' in red, exactly where the ``ERR[xxx]'' messages appear, maybe blinking to call attention to itself. Both Editors Please add a ``return to original tempo'' gadget to the PARAMS requestor. Suppose you play a sequence containing a programmed tempo change, and then you want to replay the sequence. You first have to return the sequence to its original tempo using the tempo slider. This is inconvenient, especially if you don't remember what the original tempo was! The Event Editor Please give the event editor menu all of the same DISPLAY options as the bar editor. The most important suggestion: I'd like a more powerful way to SELECT groups of similar MIDI notes. For example, I can't find a way to SELECT all occurrences of MIDI note 79. This is important for people who use drum machines. Some drum machines hard-wire different drum sounds to be triggered by different MIDI note numbers. If MUSIC-X could select all occurrences of, say, MIDI note 79 in a sequence, and change them all to MIDI note 81, this provides an easy way to change which drum sounds get triggered in your drum machine. Your event and bar editors, as they stand, implement a subset of the commands that would be expected in a relational database of MIDI events. It would be great to see the event editor turned into an even more powerful relational tool. How about a quick way to do this: ``select all MIDI notes between note number 38 and 45, with velocity less than 97, of duration less than 3 seconds, on MIDI channels 6 and 8, that are not affected by any pitch-bend commands.'' Powerful stuff! Perhaps you could make a monster requestor in which the user selects note specifications, clicks ``OK'', and all notes that meet those specificiations get marked. Maybe this could be an external module. The Bar Editor If you accidentally click your mouse several times on the graphic display, the display refreshes itself multiple times (once for every click). I once clicked about 15 times in rapid succession, and then had to sit there waiting for 15 refreshes. It would be nice if there were a button to hit to stop refreshing immediately. It would be even better if MUSIC-X were smart enough to skip all the intermediate (queued) ``refresh'' messages and go directly to the last one. Please allow an easy way for a PSEQ event to take on its ``true'' duration. That is, set its duration exactly equal to the time between the start of its first event, and its END event. If I want to chain several sequences to occur one after the other, with the start of the next sequence occurring immediately after the END of the previous sequence, right now I have to figure out each sequence's duration by hand. It is natural, I think, to automate this calculation. The Sample Page How about a way to play the samples from the Amiga keyboard? Maybe the numeric keys across the top of the keyboard could play 10 notes in the instrument's range (determined intelligently from the instrument data). The Protocol Editor The patch name embedded in a Yamaha SPX-90 system exclusive dump is in ``nybbelized'' form, but in exactly the opposite order that MUSIC-X expects. In other words, the LEFTMOST nybble comes in the first byte, and the RIGHTMOST nybble in the second byte. Could MUSIC-X have a switch, or a new nybble variable type `Z' (like `Y'), to allow it to interpret this reversed data? The Librarian Suppose I have a library loaded, and I decide to LOAD a different one, but I press CANCEL. My original library disappears from view! I think that a ``cancel'' operation should not do this. It should leave my original library alone, restoring the screen to its exact original setup. I have been totally unable to capture an ``All patches'' dump from my Oberheim Matrix-12. In fact, I crash MUSIC-X when I try. This is not surprising, since the Matrix sends a large amount of data very quickly. I have never been able to capture this data with any Amiga program, so I have no idea what the format is. Sigh. I don't know if there's anything you can do about this. Maybe the new serial.device in 1.4 will help things? When capturing single (individual) patch data from my Matrix-12, LookOut reports read errors about every 3rd or 4th time I click RECEIVE. I am quite confident that my protocol is correct, since it receives the data correctly most of the time. The combination of colors of the About MUSIC-X requestor looks pretty bad on the Librarian Page. The Manual The references to other sections of the manual, [see...], should have page numbers. You should have a larger tutorial section on using the sequencer. Also, The section on the Protocol Editor should have some real examples of using character maps. This great feature took me quite a while to understand from the manual's explanation. (And I am a computer scientist as well as a musician.) Miscellaneous Suggestions (some weird) How about making the audio output produce an FSK sync tone, or a 24 parts-per-quarternote sync tone? This would be great for people with pre-MIDI drum machines. Only Amiga Makes It Possible...! The event editor, librarian, and protocol editor use some numeric gadgets that do not behave like standard Amiga string gadgets. For example, the ``Patch name length'' gadget in the protocol editor is odd because I cannot use the delete key in it. Instead, I must click on the digit I want to change, and then type the new digit. Why didn't you use a standard string gadget? It doesn't fit with the rest of the program. I hope that your reason was not so you could use Right-Amiga-X for ``exit'' (it's normally ``erase string'' in a standard string gadget). How about a little editor/module that supports standard music staff notation, and a few simple commands like adding and deleting notes? Please make a freely-distributable program that plays MUSIC-X performances. It will help advertise MUSIC-X, and it will allow people to use MUSIC-X performances as part of a larger multi-media program. 3. Compliments Enough complaining... let me tell you what you did RIGHT. Your ``sequence'' model is wonderful! Finally, a sequencer where you can have a hierarchy of sequences and a ``multi-track tape recorder'' simultaneously. Your model is beautifully general. The timing seems to be rock-solid. The program multitasks fine, allowing you to change settings and save files without interrupting the sequence playback. I never thought I'd be saving my sequences to disk while the sequences were playing! The PREVIEW button is a great idea. The quantizing options are wonderfully versatile. Your handling of the edit buffer, and the requestor that warns you not to overwrite it (and giving you lots of choices what to do instead), are both great. The STOP button is an intelligent CUE -- nice! Overall, the user interface is just grand -- very intuitive and pleasant to work with. Your choices of screen colors are excellent. I don't even mind that there is no way to change them from within MUSIC-X. The Protocol Editor is very powerful. Character maps saved my butt a few times. For example, my Oberheim Matrix-12 stores its 8-character patch name in 16 bytes, with a zero every other byte. The first zero prevents MUSIC-X from printing the patch name on the librarian screen (it thinks it's a string terminator, I guess). So, I made a character map that turned zeroes into space characters, and everything works great! The manual is just short of perfect. Matt Nathan's use of mnemonics is very clever: `Read this as "Output Bank"' and `Think "C" for "Control"' are little gems. Questions There are some things I just can't figure out how to do. Am I missing something? If you have time, I'd really appreciate answers to these questions. 1. How do I change the protocol attached to an existing library? The protocol is chosen when creating a NEW library, but I have not been able to find a way to change that protocol later. If I go to the protocol editor, LOAD a new protocol instead of the old one, and then exit back to the librarian, its protocol hasn't been changed. 2. How do I write my own modules, such as patch editors and quantizers, so they can share data with MUSIC-X while it is running? I cannot find any mention of this in the manual. I hope you find my suggestions useful. You have created a great product, and it was worth the wait. Sincerely, --- end letter --- Dan //////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | Dan Barrett, Systems Administrator -- barrett@cs.jhu.edu (128.220.13.4) | | Dept. of Computer Science, Johns Hopkins University, Baltimore, MD 21218 | | E-mail addresses: INTERNET: barrett@cs.jhu.edu | | BITNET: ins_adjb@jhuvms.bitnet | | UUCP: barrett@jhunix.UUCP (NOTE NEW ADDRESS!) | | COMPUSERVE: >internet:barrett@cs.jhu.edu | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/////////////////////////////////////
nsw@cbnewsm.ATT.COM (Neil Weinstock) (08/29/89)
In article <2382@jhunix.HCF.JHU.EDU> barrett@jhunix.HCF.JHU.EDU (Dan Barrett) writes a ton of stuff regarding Music-X. I'll comment on a few of his comments and answer a few of his questions. Item 1: There is an update to Music-X available from MicroIllusions right now. I think it is version 1.03, or something like that. It fixes the serial port problem, and I think it fixes the limitation on the file requester path length. In order to get the update, send in your master program disk and utilities disk (one of the conversion utilities has been fixed.) Obviously, make sure you have backups before you send them in. (Note: I have not yet gotten my update, so I can't comment first hand on it.) Item 2: I agree that overall, Music-X is a wonderful package, but it is not without some problems. I find it sorely lacking in certain flavors of recording modes, which I have discussed at length with MicroIllusions. Some of the problems are scheduled for fixing in release 2.0, which will be a while, so don't hold your breath. Now, on to Dan's comments: > I have composed the following letter to the author, David Joiner, >full of suggestions, criticisms and compliments. If anybody has any >feedback on my letter, please let me know! I am posting to the net because I think some of this might be of general interest. I assume Dan will see it... [ ... ] > Releasing The Serial Port > I think MUSIC-X does not release the serial port properly Known, and fixed in the update. > ERR messages > I've been getting a lot of ``ERR [xxx]'' messages to the > right of the free memory gauge. I suppose these should happen > rarely, right? I get these too. I ignore them, but would like to know what's going on... > File Requestor > The File Requestor cannot access files in deeply nested > directories! It allows only 30 characters for the entire Known, fixed in the update (I think). [ ... ] >2. Suggestions > > The Amiga Interface > I want to type ``MUSIC-X myFile.perf'' from the CLI to have > MUSIC-X load a performance file when it boots. The Workbench > tooltype options are very nice, but please don't neglect your > CLI friends. I have also complained about the lack of good CLI support. I want my default directories to be used when I invoke from the CLI... then again, I've had Music-X running continuously for about three weeks now, so it's probably moot... ;-) [ ... ] > The File Requestor > Your file requestor is great, but it is missing one > important thing: a quick way to move to the parent directory. > Please add a ``parent'' gadget. They're aware of this. I was told it'd be fixed in 2.0; maybe if enough people complain it'll get done sooner... [ ... ] > The most important suggestion: I'd like a more powerful > way to SELECT groups of similar MIDI notes. For example, I [ ... ] Forget something like this before 2.0 (IMHO). However, it is a very good idea for a module, assuming a module can do something like this (I believe it can.) > The Bar Editor > If you accidentally click your mouse several times on the > graphic display, the display refreshes itself multiple times There is presently no algorithm for determining when to refresh the display. It is completely refreshed with almost every mouse click. I find this extremely annoying. > Please allow an easy way for a PSEQ event to take on its > ``true'' duration. That is, set its duration exactly equal to > the time between the start of its first event, and its END [ ... ] That's a nice idea. [ ... ] >3. Compliments > Enough complaining... let me tell you what you did RIGHT. >Your ``sequence'' model is wonderful! Finally, a sequencer where >you can have a hierarchy of sequences and a ``multi-track tape >recorder'' simultaneously. Your model is beautifully general. On the whole, I agree. > The manual is just short of perfect. Matt Nathan's use of >mnemonics is very clever: `Read this as "Output Bank"' and `Think >"C" for "Control"' are little gems. Here's where I disagree big time. I think the manual is rather poor. To be fair, it's very complete, but as a reference manual it is impossible. The typesetting doesn't take advantage of any neat DTP things that would make it easier to spot stuff. The sections aren't numbered. The manual is, on the whole, written at the level of someone who barely knows what the return key is. That wouldn't be so bad if there were a section where I could go for reference and avoid all that, but there isn't. Use of figures and diagrams is grossly inadequate. However, every safety requester is shown in its entirety, when those are about the least important thing to see a picture of. Each page is first described by listing off every menu item. I, the user, at first glance could care less about what's in the menus. I want to see a description of everything that's on the screen. I've got to wade 40 pages into some chapters just to see what a particular screen feature is. Where you really able to conveniently learn to use the program from this manual? On the plus side, the index seems pretty complete. >Questions [ ... ] >2. How do I write my own modules, such as patch editors and >quantizers, so they can share data with MUSIC-X while it is >running? I cannot find any mention of this in the manual. David is redoing the modules programming interface somewhat, so no programmer interface specs will be available for a little while yet. You should definitely let them know that you're interested in writing modules, though. I was told they are planning to compile a disk of user-written modules and distribute that. If there is a particular module you want to write, let them know and claim dibs on it. Patch editors will be done using the patch editor construction set, that will either be a separate product or an update. It'll be a while yet, I think. I can't wait for it; the patch editors included with Music-X, which were built using preliminary versions of the PECS, look really nice to me. Hope some of this info is useful. I have found other bugs, and have other comments, but I'll save those for another time. ________________ __________________ ____________________________ // \\// \\// \\ \\ Neil Weinstock //\\ att!cord!nsw or //\\ "Oh dear, now I shall have // // AT&T Bell Labs \\// nsw@cord.att.com \\// to create more Martians." \\ \\________________//\\__________________//\\____________________________//
hrlaser@sactoh0.UUCP (Harv R. Laser) (08/30/89)
In article <2382@jhunix.HCF.JHU.EDU> barrett@jhunix.HCF.JHU.EDU (Dan Barrett) writes: > >Mr. David Joiner >c/o Microillusions >17408 Chatsworth Street >Granada Hills, CA 91344 > > >1. Possible Bugs? > > Releasing The Serial Port > I think MUSIC-X does not release the serial port properly > when it exits. Suppose I invoke MUSIC-X from the CLI and then > exit. When I try to run other serial-port programs (VT100 > emulator, and other MIDI programs) they cannot open the serial > port. If I simply try to run MUSIC-X again, it CAN re-open > the serial port. Hmmm. A warm boot clears up the problem. I > have the source code for the other serial-port programs, so I > know they are trying to open the port legally. > Yes.. this is a known bug. The info I got was that Joiner telecomms with "Online!" which doesn't use the serial.device so he never noticed the problem. :-/ At any rate, Mike Berro of Microillusions posted to People/Link a few days ago that there is now an upgrade available to registered owners of Music-X. I phoned them and was told to send my original "Program" and "Utilities" disks and they would be copied over with the new upgrade/fixed versions of everything and sent back to me no charge. So I suggest you (and any other Music-X owners reading this) do the same. Make backup copies of those two disks before mailing them.. they're not copy protected and you'll still have the programs while your originals are in the hands of the US Postal Service (eeek!). As far as what other known or assumed bugs the upgrade fixes, I don't have that info handy, but the "reboot to use your modem" bug was the most important one to me and worth the minor hassle of mailing the disks just to get THAT one fixed. Microillusions' phone number(s) and address are in your Music-X manual so take it from there. -- | Harv Laser | SAC-UNIX, Sacramento, Ca. | | Plink: CBM*HARV | UUCP=...pacbell!sactoh0 | | "The human brain is the only computer made of meat" |
dre@myrias.com (Duane Eitzen) (08/30/89)
I am also very impressed with Music-X. Since I am still putting together my MIDI system, I haven't actually used it for anything but playing the Amiga sound channels, but I think I have gotten a good feel for how it works. The one thing I would really like is to make the bar editor easier to use for composition (not just editing). In particular, I would like to enter events with duration (such as notes) by pressing the mouse button at the start of the event and releasing the mouse button at the end. For me, the perfect interface for this component would resemble a paint program. I realize that composition was not the intended use of the bar editor, but I think that this approach would not impare event editing, and would provide a very usefull new dimension to Music-X. dre.