robinson@star.enet.dec.com (Dave Robinson) (02/20/91)
The March 1991 issue of _Electronic Musician_ presents an article titled "Multitasking with MIDI", by Rudy Trubitt that I believe damns the Amiga with faint praise. But, since the article mentions the Amiga instead of ignoring it, and since _Electronic Musician_ (EM) is a magazine I respect, I thought I'd enter this request for information before I write a letter to EM. It could be they are right and I am wrong. If not, then I could use some validation or expert opinions as to the status of MIDI multitasking with the Amiga compared to other MIDI fluent computers. Here are excerpts used without permission from the two page article. Starting at the top: "How many things can you do at once? Can you simultaneously answer the phone, write a note, and watch for the mailman? If you're human, this is called "self-employment". If you're a computer, it's "multitasking". Not all computers can run several programs, or "tasks," at once; to do so requires a "multitasking operating system" such as Commodore's "AmigaDOS" or Microsoft's "Windows 3.0". Multitasking originally was developed to let several users share one big computer, but today's multitasking computers are dedicated to a single person" . . . [Info about MAC multifinder & MIDI manager...] [Info about Microsoft "Windows" multimedia spec currently released to developers] [Mention of Atari's announced MIDItasking, DR T's MPE, C-Lab's "Softlink", Steinberg's "MROS", and Hybrid Arts' "HybriSwitch" that provide "varying degrees of functionality...not compatible with each other" ] . . . Multitasking was built into the "Amiga" hardware and operating system from the beginning, not added. However, Commodore established no standard to exchange information between programs. Thus, multiple MIDI programs can run but not share data. Commodore reportedly is working on a "MIDI Manager-like" program to address this problem, but at this point, only proprietary third-party systems such as DR. T's MPE let one program send MIDI data to another. Things will get interesting as multitasking and real-time data-sharing become more common. For instance, instead of one big sequencer program, a number of smaller modules from various sources could provide the building blocks for each of us to construct our unique work environment. Of course, this would require unprecedented cooperations between software companies. But hey, a guy can dream, can't he? End of article. So, can people please provide lots of data. Opinions are OK ,but I know everyone here likes the Amiga. What I really need is data: o An update on the MIDI Manager-like" standard Commodore is developing. o Examples of multitasking MIDI applications and data sharing. o Explain whether Bars & Pipes is internally multitasking and what that means compared to other platforms' sequencers etc. o Where do Arexx and the clipboard fit into a possible rebuttal to the statement about no data sharing standard? Notes: I personally can run a mini home brew patch save/load program along with Bars and Pipes. I have to disable MIDI in B & P before I send & receive SYSEX messages, which means it is task switching, but I suspect I could use the Bars and Pipes AREXX port to trigger a similar patch librarian. Can't I do that with the Amiga? Can other computers do this? Can't someone with two serial ports and two MIDI interfaces load patches on one synth while a sequencer plays another? I have heard of people playing Deluxe Music scores and piping the output into other sequencers in order to create Standard Midi Files. Can someone verify this or provide similar examples. Thanks, Dave Robinson robinson@star.enet.dec.com
rjc@geech.ai.mit.edu (Ray Cromwell) (02/20/91)
If any of these MIDI programs had an Arexx port, writing a IPC manager would be easy. The amiga has better interprocess communication than I've seen on any computer, Arexx simply makes it easier.
barrett@jhunix.HCF.JHU.EDU (Dan Barrett) (02/21/91)
In article <20357@shlump.nac.dec.com> robinson@star.enet.dec.com (Dave Robinson) writes: > The March 1991 issue of _Electronic Musician_ presents an > article titled "Multitasking with MIDI", by Rudy Trubitt that I > believe damns the Amiga with faint praise. The article made me a little sad, but it seemed rather realistic. The Amiga's multitasking make it a great platform for coexisting MIDI applications, but there is a lack of MIDI applications that can share MIDI data other than saving and loading Standard MIDI Files. But I don't know if the situation is much better on other computers. > So, can people please provide lots of data. Opinions are OK ,but I > know everyone here likes the Amiga. What I really need is data: > o An update on the MIDI Manager-like" standard Commodore is > developing. All I've heard is that it's called camd.library or something like that. > o Examples of multitasking MIDI applications and data > sharing. Multitasking MIDI applications is easy -- most modern Amiga MIDI programs can coexist because they open the serial port in "shared" mode. I have written several MIDI utilities myself, and they all coexist just fine. On the other hand, there's isn't much data sharing going on that I have seen. Bill Barton's free midi.library has this capability, but few commercial applications (if any) use it. > o Where do Arexx and the clipboard fit into a possible > rebuttal to the statement about no data sharing standard? Not too well. Both ARexx and the clipboard provide the POSSIBILITY of data sharing among music applications, but how many programs can you name that actually LET YOU DO IT? Right now, available at your dealer, and not promises or vaporware? Also, ARexx isn't that fast. MIDI must be as real-time as possible. I can see using ARexx to grab data from a sequencer and put it into a score program, but I can't see a chain of ARexx modules processing the MIDI data in real time. > Can't someone with two serial ports and two MIDI interfaces > load patches on one synth while a sequencer plays another? Sure, no problem. I just thought of an interesting way that applications can share Standard MIDI Files (SMF). Let A and B be two sequencers. Tell sequencer A to save a SMF to the file: pipe:xx and tell sequencer B to read a SMF from the same file. Using this pipe, your SMF gets transferred from sequencer A to sequencer B. But this isn't much different from saving your SMF to a disk file first. Another example that I just made up (haven't tried it). Suppose you have an ARexx-compatible MIDI sequencer and an ARexx-compatible database. You could probably tell the sequencer to save its files in the database transparently instead of ordinary disk files, allowing (for example) more sophisticated categorizing of sequences. Dan //////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ | Dan Barrett - Systems Administrator, Computer Science Department | | The Johns Hopkins University, 34th and Charles Sts., Baltimore, MD 21218 | | INTERNET: barrett@cs.jhu.edu | | | COMPUSERVE: >internet:barrett@cs.jhu.edu | UUCP: barrett@jhunix.UUCP | \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/////////////////////////////////////
@utrcgw.utc.com:mark@ardnt1 (mark) (02/21/91)
I am forwarding this for someone here at work. Replies or questions can be sent directly to him or to me and I'll forward them to him. --Mark ------------------------------------------------------------------------------ | Mark Stucky | Email: | | United Technologies Research Center | mark%ardnt1@utrcgw.utc.com | | East Hartford, CT. | mast%utrc@utrcgw.utc.com | | My opinions do not necessarily represent the opinions of my employer. | ------------------------------------------------------------------------------ Date: Thu, 21 Feb 91 10:04 EDT From: "William R(ay) Brohinsky" <RAYBRO%HOLON%UTRC@utrcgw.utc.com> Subject: Re: [@utrcgw.utc.com:robinson@star.enet.dec.COM: "Multitasking with MIDI" in _Electronic Musician_] To: mark@ardnt1 X-Envelope-To: mark@ardnt1 X-Vms-To: UTRC::UTRCGW::IN%"@utrcgw.utc.com:mark@ardnt1" >From: Dave Robinson <@utrcgw.utc.com:robinson@star.enet.dec.COM> >Subject: "Multitasking with MIDI" in _Electronic Musician_ Mark, please forward this to amiga-relay. raybro >>>>>>>from DR The March 1991 issue of _Electronic Musician_ presents an article titled "Multitasking with MIDI", by Rudy Trubitt that I believe damns the Amiga with faint praise. But, since the article mentions the Amiga instead of ignoring it, and since _Electronic Musician_ (EM) is a magazine I respect, I thought I'd enter this request for information before I write a letter to EM. It could be they are right and I am wrong. If not, then I could use some validation or expert opinions as to the status of MIDI multitasking with the Amiga compared to other MIDI fluent computers. >>>>>>>>break midi fluent computers? That's a new term for me. I've heard various things about how fluent other computers are with midi, but the amiga has done very well by me. My setup includes or has included: amiga1000 with Mimetics MIDI interface, 20M disk, 1.5Mram external floppy, 1070 monitor, DJ+ and epson fx-85 printers 2)FB01's G10 WX7 dx100 casio cz-101 (I lost this fast---sounds didn't do it for me!) Mimetics Soundscape and sampler DMCS (Deluxe Music Construction Set) four-op deluxe (for programming dx-100 and fb01s) MidiLib my comments will be from within the framework of using these things. >>>>>>>DR Here are excerpts used without permission from the two page article. Starting at the top: "How many things can you do at once? Can you simultaneously answer the phone, write a note, and watch for the mailman? If you're human, this is called "self-employment". If you're a computer, it's "multitasking". Not all computers can run several programs, or "tasks," at once; to do so requires a "multitasking operating system" such as Commodore's "AmigaDOS" or Microsoft's "Windows 3.0". >>>>>>>break!!! There are two normally-used types of multitasking: the kind where everyone gets a slice of time (which may be variable, depending on priority) and the kind where everyone waits until they have something to do, at which point they get a slice of time to do it. There are various ways of mixing and matching these. The first is notable because each application will get its slice of time, regardless of whether it is doing anything. This is how Windows tends to work, especially since most things run in it are old PC applications who don't have any way of signalling that they are done, or don't have anything to do. The amiga mixes these as follows (this is a rough explanation, because it's been so long since I had to worry about this): exec (the operating system) maintains linked lists of applications. In fact, everything in the amiga is a linked list of linked lists of linked lists, and exec does it's job by maintaining these lists. Each application can be awake (running), asleep, or ready to run. They are awake when they have the processor. They are asleep when they don't have anything to do. They are ready to run when they were awake and have lost the processor for a short time. Because interrupts are also done in linked lists, and handled by exec (the actual interrupt code is supposed to be only as long as is necessary to service the interrupt, placing the necessary info or setting and resetting the necessary flags. Writing interrupt routines is tricky, but has been made easier by the very good basics of design in exec: most of the work may already have been done for you!) Thus, exec is aware of everything that goes on in the computer: it doesn't turn over a block of time to anyone who doesn't need it! This makes things faster. All of the libraries of functions are shareable on the amiga. It's the way they are designed. This means that, if two programs are running that both access the disk, you only need one copy of the disk-accessing library, and it is not compiled into each program. With PC's (and a lot of other systems) each function ends up as part of the program. That means that amiga programs can be smaller and do more (or the same size and do much more!) I could go on, but this is a point we'll revisit. >>>>>>>DR Multitasking originally was developed to let several users share one big computer, but today's multitasking computers are dedicated to a single person" . . . [Info about MAC multifinder & MIDI manager...] [Info about Microsoft "Windows" multimedia spec currently released to developers] >>>>>>>break Note that Commodore is already selling multimedia: for years, we've been able, through iff files, to share graphics and music between diverse programs. more on this later! >>>>>>DR [Mention of Atari's announced MIDItasking, DR T's MPE, C-Lab's "Softlink", Steinberg's "MROS", and Hybrid Arts' "HybriSwitch" that provide "varying degrees of functionality...not compatible with each other" ] >>>>>>>break I believe I am somewhat familiar with MPE. This is a system which allows switching (task switching vs. multi-tasking, a vast difference there!), is it not? That would mean that you could edit a sequence, decide to change a patch, switch to the patch editor, play the sequence and edit the patch, play the sequence again, then switch back to the sequence editor to make changes... If I'm wrong, some of my next comments will be a bit off base, but I think that'll be obvious, now that I've laid out my pre-conceptions. >>>>>>>DR . . . Multitasking was built into the "Amiga" hardware and operating system from the beginning, not added. However, Commodore established no standard to exchange information between ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ programs. Thus, multiple MIDI programs can run but not share data. Commodore reportedly is working on a "MIDI Manager-like" program to address this problem, but at this point, only proprietary third-party systems such as DR. T's MPE let one program send MIDI data to another. >>>>>>>>>>>>>break, break, break... Wow. Is this a mistatement or what? The IFF format was proposed by electronic arts in the 1985-era, when some of the amiga's demos were still single-tasking! from the beginning of 1986 on, there has been music and graphics standards for the amiga which are shared at some level between such diverse programs as turboSilver (3-d graphics), Deluxe Paint III, Photon Paint, AmigaTeX, and numerous games and desktop pub programs and graphics editors. The Deluxe series epitomized this in Deluxe Paint (i thru iii), deluxe music construction set (DMCS), deluxe video, and that jamming music package, instant music. All of these programs shared graphics and music (where applicable) in the iff standard. This is what you'd expect from files created by programs from the same maker. However, you could use Sonix to make music for Deluxe Videos. You could use AudioMaster to take samples (and it would use samplers from Aegis, Mimetics, PerfectSound...) which you could edit there or in other sample editors and play using Sonix, DMCS, Deluxe Video, or PD player programs... All of this is possible because there is a set of standards for file interchange! MIDI is another thing, though, and I will admit that there is still a lack of portable MIDI files. However, since no one seems to be able to get hold of the standard midi file format (see messages in bix music/midi and on EMUSIC-L on internet for queries about how to obtain the standard and replies of how long so-and-so has been waiting...) I am not too suprized to see a lack of midi file standards now. >>>>>>>DR Things will get interesting as multitasking and real-time data-sharing become more common. For instance, instead of one big sequencer program, a number of smaller modules from various sources could provide the building blocks for each of us to construct our unique work environment. Of course, this would require unprecedented cooperations between software companies. But hey, a guy can dream, can't he? >>>>>>>>>break This is exactly what programs like Synthia do. You can make different instruments simulataneously, and play them back through the amiga's four-voice built-in synthesizer, driving them from an internal program like DMCS, or triggering them from an external MIDI instrument... Here's a case in point on the matter of MIDI programs and compatibility. I did this first in 1987: First, I loaded Mimetics' SoundScape patch panel. Then I started up DMCS. Usually, when DMCS starts, it takes the workbench off, ostensibly to save memory. (this is confusing to me, since DMCS will not use any more memory in a 1.5M system than it does on a 512K system-the allocation is hard-coded, and incapable of giving you more room for a larger score or using non-score memory for printing. That has nothing to do with MIDI, though...) I went back to the workbench, which had been preserved against DMCS' usual ravages. To my amazement, there was a red spot on the patch panel. I called up the recorder in SoundScape (a multi-track sequencer disguised as a multi-track tape recorder) and started it going with four tracks recording, each assigned to one midi channel. Then, I went back to DMCS and started a song that had four voices assigned to the same four midi channels. The mimetics recorder recorded the midi sequences being played out by DMCS. I think that this proves that, as early as 1987, the amiga had real multitasking and was sharing information between quite diverse MIDI-based programs. >>>>>>>>DR End of article. So, can people please provide lots of data. Opinions are OK ,but I know everyone here likes the Amiga. What I really need is data: o An update on the MIDI Manager-like" standard Commodore is developing. o Examples of multitasking MIDI applications and data sharing. o Explain whether Bars & Pipes is internally multitasking and what that means compared to other platforms' sequencers etc. o Where do Arexx and the clipboard fit into a possible rebuttal to the statement about no data sharing standard? Notes: I personally can run a mini home brew patch save/load program along with Bars and Pipes. I have to disable MIDI in B & P before I send & receive SYSEX messages, which means it is task switching, but I suspect I could use the Bars and Pipes AREXX port to trigger a similar patch librarian. Can't I do that with the Amiga? Can other computers do this? Can't someone with two serial ports and two MIDI interfaces load patches on one synth while a sequencer plays another? >>>>>>>break OK-The latest Amazing Computing has an article on a multi-port adapter that puts up to four serial and four parallel ports on any amiga (below the 3000). When I get one and get it working, I'll try this. Already, there is software to assign different programs to different serial ports, but the maker allows as how all four ports running at 2400 baud may bog down a bit. I'll have to try two midi connections. However, if you have a way to assign different serial ports to differnt hardware ports, you can do what you describe. >>>>>>>DR I have heard of people playing Deluxe Music scores and piping the output into other sequencers in order to create Standard Midi Files. Can someone verify this or provide similar examples. >>>>>>>break Done. I have successfully run any of those MIDI-fluent programs (neat term, huh?) simulataneously with any number (up to eight) of other programs, as long as the others don't try to mess with the MIDI port. Pregnant Badger software has produced the MidiLib, a library-based system for MIDI organizing. This allows many programs that use MidiLib to run simultaneously, and gives all of them access to the one midi port that's easy to get on any amiga. He includes a few examples, which run together nicely. I don't know if anyone is writing major applications, but If I ever get my act together (and grow out of hacking TeX-HA!) I would prefer to use the MidiLib system to whatever Commodore is coming out with, after the fact. Of course, if Commodore really is including ARexx and ARP in 2.0, then they might also just be considering PB's midilib, no? >>>>>>>DR Thanks, Dave Robinson robinson@star.enet.dec.com >>>>>>> no prob. raybro