home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_disks / 200-299 / ff257.lzh / ColorReq / Color.DOC < prev    next >
Text File  |  1989-10-19  |  27KB  |  451 lines

  1.                        The Dissidents Color Requester
  2.           A tale of horror, suspense, and corporate deterioration
  3.                      as told by Jeff Glatt, dissidents
  4.  
  5.  
  6.     Once upon a time, there was a little computer company called "Jack's
  7. Former Computer Company". This little computer company had been extremely
  8. mismanaged for several of the past 64 years, and it appeared as if it
  9. might not survive another 128 years. Its resources depleted and without
  10. any enlightened leadership, bankruptcy was imminent. The owners of
  11. "Jack's Former Computer Company", a trio of brothers named Larry, Curly,
  12. and Moe, desperately needed some fabulous new product with which to capture
  13. the market currently held by a corporate juggernaut, "Big Guy Computers"
  14. (BGC). BGC was so successful in marketing its products that hundreds of
  15. other companies copied the original design without any enhancement whatso-
  16. ever. "Why make something better when its good enough already?" was BGC's
  17. motto, and the copycats agreed. There was another company not quite as big
  18. as BGC called "Orange PeeL Computers". "Why make something cheaper when the
  19. customers are buying enough anyway?", was OPL (pronounced "oh-pull")
  20. computers' motto.
  21.     As luck would have it, Jack's Former Computers acquired a very spiffy
  22. product design by scavaging a small, ailing company, and thus released the
  23. LaViva computer. This was spanish for "the life" because Larry, Curly, and
  24. Moe knew that the future of their company would depend upon the life or
  25. death of this computer. Unfortunately, Jack's was still plagued by the same
  26. cretinous management that had decimated the company's resources for the past
  27. few years. This inept team hired several large (actually largely indifferent)
  28. companies to write some system software. The C compiler used to prepare the
  29. first operating system had a devastating bug in it which allowed an addq in-
  30. struction to be placed inbetween a tst and branch instruction, thus altering
  31. the status register flags from the tst instruction. This resulted
  32. in an extremely unstable operating system. Jack's management didn't know
  33. what was wrong, and no one at the company thought to examine the assembled
  34. code to spot this rather obvious bug. Instead, they decided to ship beta
  35. versions to developers in the hope that major software vendors would be will-
  36. ing to spend thousands of dollars developing code for an unstable product
  37. marketed by a barely solvent company. There weren't many takers. Jack's
  38. bumbling management even gave away LaVivaBasic with every unit in the hopes
  39. of attracting sales, though no one would have bought this buggy software
  40. anyway.
  41.     Jack's management was convinced that their product was ready to capture
  42. BGC's business clientele, and so all effort was channeled in that direction.
  43. Never mind the fact that at that time businessmen didn't need the graphics
  44. and audio capabilities of the LaViva, or that Jack's previous product was
  45. hugely successful but not in the business market. It was a mute point that
  46. what businessmen wanted was already being marketed by the copycats for less
  47. than the price of the LaViva. Jack's management didn't care that no major
  48. business software house was interested in LaViva, but many entertainment
  49. software writers were. Jack's misguided administrators didn't want the
  50. LaViva to be known as a "toy" computer. (The LaViva would soon be viewed as
  51. such by the industry, primarily because it was being marketed by people with
  52. the mentality of five-year-olds.) When it was time to present the LaViva to
  53. the businessmen of America, each rotund executive lumbered up to the computer
  54. and squinted at the small, white box. After many years of inbreeding with
  55. BGC's formidable and omnipresent sales organization, these businessmen had
  56. developed severe myopia. They could see no farther than the computer's name-
  57. plate, and it did not bear the familiar three letters which they had been
  58. brain-washed into believing was synonymous with quality performance. Instead 
  59. there was a rather crytic symbol:
  60.  
  61.    /\
  62.      \  
  63.       \
  64.  
  65.    "What's this?", exclaimed one angry executwit. "It's not a BGC symbol?"
  66. "It must be the company's sales plot", said Jack, a former employee at
  67. Jack's Former Computers. This was not a completely accurate assessment, but
  68. then personal integrity was not a trait of Jack's. Later, Jack would seek
  69. and successfully obtain a significant political office via a major party
  70. endorsement. As fast as their pudgy little feet would move, the businessmen
  71. quickly waddled away. There was no money for advertising, and whatever
  72. meager, initial, positive commentary that the LaViva received by the industry
  73. trade papers was more than overshadowed by the problems that Jack's Former
  74. Computers' management had allowed to occur.
  75.    Larry, Curly, and Moe soon realized that LaViva was in trouble, and so
  76. they began their five year mission to explore new leadership, to hire execu-
  77. tives from whence they had never gone before. They recruited the president
  78. of one of the most successful copycat companies, Compost computers. This
  79. executive had run a company whose products were nearly as expensive (and not
  80. much better than) BGC's.
  81.    The new president set to work doing what he did best; copying BGC's
  82. products. R&D money, which was currently scarce, was shifted away from the
  83. LaViva toward a new computer line which would prove revolutionary. Well maybe
  84. not, but it sold ok. For some inexplicable reason, investors began to buy a
  85. little of Jack's stock, helping to put Jack's in a reasonable financial si-
  86. tuation, and proving that a stock's value is based almost entirely on image,
  87. inuendo, and probably more paganism and black magic than anyone cares to
  88. admit.
  89.    Unfortunately, the new product line offered nothing that hundreds of other
  90. products didn't already, though Jack's computers were significantly cheaper
  91. than the same items made by Compost. It was obvious that Jack's was not going
  92. to survive solely by selling replications, unless the company's over-paid
  93. middle management was trimmed away. This idea repulsed Jack's management
  94. who somehow managed to impale their blood-thirsty fingernails into every
  95. coporate decision, even if the salaried workers were better qualified to
  96. make those decisions. Giving pink slips to the engineers, programmers, and
  97. factory workers was allright, but firing middle management was a truly
  98. anti-american, criminal action. After all, the former employees only made
  99. the product, while middle management "oversaw" it. The mid-level executives
  100. feverishly struggled to "cut costs" using all of the conventional, accepted
  101. methods like closing down R&D departments, winning wage concessions from
  102. labor unions, and generally "laying off" the bulk of the work force.
  103.    Fortunately, LaViva's fancy graphics attracted the attention of video
  104. and game software programmers who decided to "fiddle" with LaViva all along
  105. despite a lack of promotion and encouragement from Jack's management. Video
  106. enthusiasts began buying these "token" products and somehow managed to save
  107. the computer from the silicon graveyard. This sales market took Jack's
  108. management by complete surprise as they had not really tried to sell the
  109. machine to anyone due to a lack of advertising funds. With the revenues from
  110. this market, a new, cheaper version of LaViva was developed, but not too
  111. quickly because there weren't many survivors left in the R&D department. Thus
  112. the LaViva .5 was introduced. Also, an upscale version was developed in the
  113. event that professionals happened to somehow find out about this computer.
  114. There were still some bugs in the operating system though. Although certain
  115. parts were rewritten in assembly, some parts (like the "Insight library" and
  116. the "sound device") were left as the same, buggy C code of the original re-
  117. lease. No one even bothered to purchase one of the commercial C compilers
  118. now available and re-compile the code.
  119.    The new LaVivas were favorably accepted by the video industry, mostly
  120. because there was no other affordable alternative. The rest of America just
  121. didn't care about LaViva anymore. It was very old news. There was still no
  122. software in any field except video because no 3rd party developer wanted to
  123. bear the burden of not only advertising his product, but also the LaViva.
  124.    Soon, both BGC and OPL computers introduced new hardware. It was very
  125. expensive, but of course, 3rd party developers jumped on the bandwagon.
  126. "Now these are companies that KNOW how to market a product", they said. Some
  127. of the hardware, although more expensive, was demonstrably better than La-
  128. Viva, which was, as usual, languishing in the shadows.
  129.    Still, Jack's decimated R&D department struggled to piece together a new
  130. operating system, constructed mostly of ideas stolen from public domain
  131. software. Clever LaViva owners had already obtained most of these features
  132. months earlier via disks distributed by a Mr. Barney Trout. There was nothing
  133. really new except for a feature that owners of the new LaVivas could not
  134. use unless they replaced ROMs within the computers that they had purchased.
  135.    Jack's didn't do a lick of advertising for the new computers, and not
  136. surprisingly, no one noticed them except for a few people interested in
  137. graphics. Even from these people, there was a collective yawn. Video pro-
  138. fessionals were starting to eye the OPL computer (there really was only one
  139. model, repackaged and/or souped up every now and then). The cost difference
  140. seemed less significant when the notable support by both OPL and other
  141. developers was considered. And the people who just wanted good game graphics
  142. were buying Pretendo game machines. A retail chain called, Our Toys Rust,
  143. filled their shelves with the items now that the stores were now longer
  144. carrying the "toy" computers which had sold so well only a few years earlier.
  145.    Jack's management decided that it was time to conquer the workstation
  146. market. Just like in the early days, they hadn't bothered to consider whether
  147. the market wanted them. Would anyone be interested in a slighty used, getting
  148. older by the microsecond computer currently without any significant support?
  149. Would the price difference between the LaViva 2001 AD and the competition be
  150. enough for engineers to overlook the reputation of Jack's management? What
  151. company with a major piece of engineering software was going to port their
  152. product to the LaViva, and why? Would engineers really buy a LaViva 2001 AD
  153. without at least one major engineering application?
  154.    Meanwhile, a couple of programmers who really liked the LaViva, (but were
  155. unimpressed with the management of the company that made it), needed a color
  156. control requester. They had heard that the LaViva's next operating system
  157. would have such a feature. Given Jack's management's unwavering commitment
  158. to the LaViva, these programmers decided to write their own rather than wait.
  159. They hoped that many others would decide to continue working with the LaViva
  160. without the help of Jack's Former Computer Company. In fact, they hoped that
  161. developers would shun anything new from Jack's, and embark on a concerted
  162. public domain effort to replace the LaViva's operating system with one that
  163. did not rely on the meager R&D expenditures at Jack's. If developers only
  164. shared a little bit here and there, and made it possible for others to
  165. support any hardware products, then the day might come when no one would
  166. really have to deal with Jack's management. Jack's would only have to make
  167. the base LaViva until the market wanted something better, or another manu-
  168. facturer took over its market completely.
  169.  
  170. MORAL OF THE STORY: If you want something done for the LaViva computer,
  171.                     do it yourself.
  172.  
  173.  
  174. P.S.  PD authors keep it up. Jack's Former Computer Company doesn't support
  175.       the LaViva. We do.
  176.  
  177.    «««««««««««««««««««««««««««««««« »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  178.  
  179.    What now follows is the ColorTool document for the end user.
  180.  
  181.     Before using the dissidents ColorTool, the file "color.library" must be
  182. copied to the libs drawer of your boot (WorkBench) disk.
  183.  
  184.     The dissidents ColorTool allows you to adjust all of the Amiga's colors
  185. in a very straight-forward way. It is a window filled with several gadgets.
  186. At the top are (up to) 32 color "boxes" representing the current colors. One
  187. of the color boxes will have a border around it. This indicates that the box
  188. is the active one. To make another color box the active one, you simply move
  189. the mouse pointer over the desired box, and click the right mouse button.
  190. The border will move to that color box, making that box the active one.
  191.     Note that color box #1 appears to be invisible because it is the same
  192. color as the background of the ColorTool window. If you click around the top
  193. left corner of the window where a box "looks" like it might fit, you should
  194. see the border surround this "invisible" color box. Initially, color box #2
  195. is the active one. Because the border is the same color as this box, the
  196. border seems to blend into the box, resulting in what appears to be a color
  197. box larger than the others. If you select another box, note that color box
  198. #2 is really the same size as the others.
  199.     Below and to the right of the color boxes are 3 sliders. These sliders
  200. adjust the amount of red, green, and blue in the active color box. To the
  201. left of each slider is a letter followed by a number. The letter indicates
  202. which color component the slider alters: R for red, G for green, and B for
  203. blue. The number is that component's intensity. This ranges from 0 to 15.
  204. For example, you might see the following combination next to the sliders.
  205.  
  206.     R15
  207.  
  208.     G3
  209.  
  210.     B0
  211.  
  212. This means that the active color box has a lot of red in it, a little green,
  213. and no blue. To your eye, the resulting color box should be some shade of
  214. red. As you move a slider knob, you will see the active box's color change.
  215. Also, you will notice that the number to the left of the slider changes.
  216.    When you select a new color box, the sliders are automatically adjusted
  217. to display the amount of red, green, and blue in that color box.
  218.    By selecting color boxes, and moving the 3 sliders, you can adjust all of
  219. the colors in the current screen, observing the resulting changes as the
  220. sliders move.
  221.    There are several other gadgets below the color box. They are labeled
  222. Default, Cancel, Save, Undo, Copy, and Spread.
  223.    The Undo gadget is used to reverse the last change which you made to the
  224. color boxes. If you move a slider, then decide that you don't like the
  225. resulting change to the active color box, you can restore the color by
  226. clicking the right mouse button on the word "Undo". You can even undo the
  227. Undo. By clicking on "Undo" again, you should see that the results you just
  228. canceled are back. This feature is useful for comparing a changed box to the
  229. original box to determine whether you really like the change.
  230.    The Copy gadget is used to copy the current color box to another box.
  231. Make sure that the color box you wish to copy has the border around it (e.g.
  232. it is the active box). Then, move the mouse pointer over the word "Copy" and
  233. click the right button. The mouse pointer will turn into the word "TO". This
  234. means that ColorTool now expects you to select a box where you want this color
  235. "TO" be copied. When you select a new color box, its color will change to the
  236. copied box, and this new box will be made the active one (e.g. the border
  237. will move to the new box.) If you don't like the results, you can Undo this.
  238. If you mistakenly click on "Copy" and see the "TO" pointer, simply click on
  239. the same box that is now active to abort the Copy procedure.
  240.    The Spread gadget allows you to pick two color boxes, a start and end box,
  241. and have ColorTool alter all of the color boxes inbetween so that they are
  242. various "shades" of the start and end boxes. Select a start box by clicking
  243. on it, then click on the word "Spread". The "TO" mouse pointer will now
  244. appear. Choose a color box for the end, and click on it. All of the boxes
  245. inbetween will change to a smooth variety of shades from start to end. If
  246. you don't like the results, "Undo" them.  If you click on "Spread" by
  247. accident, just click on the same box that is now active to abort the Spread.
  248.    The Default gadget restores ALL of the color boxes to the same colors as
  249. when the ColorTool window first appeared. This is different than the Undo,
  250. which simply restores only the last change. Use Default when you want to
  251. restore the initial palette and start anew.
  252.  
  253.   NOTE: Since the Default gadget can be configured differently by each
  254.         application, some programs may not restore the initial palette,
  255.         but instead change all of the color boxes to preset values.
  256.  
  257.    The Save and Cancel gadgets are used to exit the ColorTool. When you have
  258. finished altering the colors, click on one of these gadgets.
  259.   The Save gadget will exit the ColorTool, implementing all of the color
  260. adjustments you made to the current screen.
  261.   The Cancel gadget will exit, but all of your adjustments will be discarded
  262. and the screen will appear exactly as it did before the ColorTool appeared.
  263.    The ColorTool gadgets are initially drawn in the colors of the first two
  264. color boxes. In fact, color box #2 is the foreground color (e.g. the color
  265. that all of the gadgets appear to be). Sometimes, when color box #1 and #2
  266. are almost the same color, the ColorTool gadgets can barely be seen. If this
  267. condition occurs, by using the Function keys, you can change the color of
  268. the gadgets without altering the palette. Press each of the 10 Function keys
  269. on your keyboard, one at a time, until the ColorTool gadgets can be seen
  270. well. One of the function keys should yield a serviceable result. If not,
  271. hold down the ALT key, and press each of the 10 keys again. If you still
  272. cannot see the ColorTool gadgets clearly, hold down the CTRL key and press
  273. the w key. This will alter the first two color boxes (changing them to black
  274. and white respectively). You can then make changes to the other color boxes,
  275. and afterwards restore the first two by pressing CTRL and w again.
  276.    Some people prefer to describe a color in terms of Hue, Saturation, and
  277. Value instead of by its red, green, and blue components. By clicking in the
  278. area where the R, G, and B intensities are displayed (e.g. the letters and
  279. numbers), the sliders will change to Hue, Saturation, and Value sliders.
  280. Note that the R, G, and B will change to H, S, and V. Also, the numbers will
  281. represent the value for the sliders. (Though these values are really meaning-
  282. less for HSV, they are included for reference.) Generally speaking, the Hue
  283. slider chooses the color (frequency). As you move the Hue slider you should
  284. see the color box change from red to green to blue. The Saturation determines
  285. the amount of "pigmentation" of the color. If you set Hue to 0 and saturation
  286. to 15, then you should see a definite shade of red. As Saturation goes to 0,
  287. you will notice that the "red" seems to disappear from the color box, leaving
  288. some shade of black, white, or grey. The Value slider determines the bright-
  289. ness of the color. A Value of 0 will most certainly give a very dark, black-
  290. ish color whereas a Value of 15 will give a very bright color. When Satura-
  291. tion is 0, the Hue setting becomes meaningless because you have no "pigment"
  292. in the color. Now, moving the value knob will give you all of the black,
  293. white, and grey shades. For this special case, "--" is displayed for the
  294. Hue value, and the slider knob is forced to maximum right position to remind
  295. you that this color box is in "black and white" mode. To better understand
  296. the intuitive approach of HSV, try the following examples:
  297.  
  298.   1). Set Saturation to 15 so that your color has the maximum amount of
  299.       pigmentation. Set Value to 15 so that the color is bright. Now move
  300.       the Hue knob and note how the color box changes shade.
  301.  
  302.   2). Set Hue to 0 so that you have a bright red shade. Now slowly lower
  303.       the Saturation knob. Notice how the red seems to "disappear" from the
  304.       color until finally you are left with no red in the color at all.
  305.  
  306.   3). Now move the Value knob from 15 to 0. Notice that the color box changes
  307.       from black to white. This is because Saturation is 0 (i.e. you removed
  308.       all the color or pigmentation from the color box).
  309.  
  310.   4). Set Saturation and Value to 15 so that you have the bright red again.
  311.       Now adjust the Value knob. Notice how turning down the Value makes the
  312.       red darker until finally you have a very dark shade.
  313.  
  314.     To go back to an RGB display, just click on the same display area where
  315. the HSV numbers are printed out.
  316.    The ColorTool adjusts the screen colors of the program which called it.
  317. Amiga screens can be various sizes and depths. What this means is that some
  318. screens may have more possible colors than others (i.e. 32 instead of 16).
  319. The ColorTool will display only as many color boxes as there are colors for
  320. the screen.
  321.    Only one application can be displaying the ColorTool at a time. If you
  322. run two programs which try to call up the ColorTool SIMULTANEOUSLY, one of
  323. the two will not be able to present the ColorTool. You will have to adjust
  324. the colors for the first application, then select ColorTool's Save (or Can-
  325. cel) before the other application can use the ColorTool.
  326.  
  327.    «««««««««««««««««««««««««««««««« »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
  328.  
  329.    What now follows is the ColorTool document for developers.
  330.  
  331.    Please read the end users document. If you skipped to this section without
  332. reading the preceding information, you're probably a much too careless pro-
  333. grammer to be plunging ahead. If you're one of those BASIC hackers who loaded
  334. the example application into AmigaBasic without even reading this far, then
  335. I pity your hapless soul.
  336.    The ColorTool is actually a standard, disk-based library that your applica-
  337. tion can open just like intuition or graphics. The library is called
  338. "color.library". There is only one function in this library, DoColor. This
  339. function is designed to modify the colors of a screen, so you must have
  340. opened a screen before calling DoColor. DoColor opens the ColorTool window,
  341. handles all of the user's interaction (making changes to your screen's colors),
  342. and returns control to your program when the user selects Save or Cancel.
  343.    The ColorTool handles screens of all sizes and depths, automatically dis-
  344. playing only as many color boxes as the screen's depth allows. Also, the
  345. ColorTool is designed to fit into any standard size screen.
  346.    DoColor returns a 0 if the user selects SAVE and a 1 if he selects CAN-
  347. CEL. (If he selected Cancel, your screen's colors will already have been
  348. restored). There are also a few errors that DoColor can return. These errors
  349. are negative numbers, and indicate that the ColorTool could not be presented
  350. to the user.
  351.    In order to conserve memory, the ColorTool can only be displayed by one
  352. application at any given time. Though many applications can have it open and
  353. use it, no two applications can SIMULTANEOUSLY display the ColorTool.
  354.    There are two arguments passed to DoColor. One is the address of the
  355. screen whose colors you wish the ColorTool to adjust. The other argument is
  356. the address of a default colorMap (actually a collTable as described in
  357. the GRAPHICS_VIEW include file from Commodore). This is a table of (up to)
  358. 32 WORDS representing the colors of the screen. When the user clicks on the
  359. Default gadget, these colors are loaded into the screen. If you pass a NULL
  360. (0), then the screen's initial colors are used instead. Possible uses are:
  361.  
  362.    1). An application could have a preset (or recommended) color setting
  363.        invoked by the Default gadget.
  364.    2). The application could allow a user to save a color table within a
  365.        configuration file. Later, this table could become the one that
  366.        gets passed in to DoColor for the Default gadget.
  367.  
  368.   result=DoColor(defaultTable, screen)
  369.    d0               a0           a1
  370.  
  371.    Here are the possible error returns from DoColor.
  372.  
  373.  -4 = library in use, another application is displaying it
  374.  -3 = passed a null screen address. I told you to open one, pinhead.
  375.  -2 = screen has no depth (planes). Please don't do this to me.
  376.  -1 = color window can't open (probably out of memory). Buy some more.
  377.  
  378.   The files that you should have received with this document are as follows:
  379.  
  380.   color.library      the ColorTool library which must be copied to the libs
  381.                      dir of your boot disk
  382.  
  383.   ColorTest.asm      an example application in assembly
  384.  
  385.   ColorTest.c        an example application in C
  386.   ColorInterface.asm  the C poot that all inefficient, high level languages
  387.                       like C need to be linked with (assemble this file)
  388.  
  389.   BasicILBM          an AmigaBasic application (It could be worse. It could
  390.                      be Pascal or Modula2. You know, that gibberish that
  391.                      computer science instructors pretend is a real language.)
  392.   color.bmap         the bmap file for BASIC
  393.   color_lib.fd       the fd file for BASIC
  394.  
  395.   TEST               the executable of the assembly example
  396.  
  397.   Furthermore, the C and BASIC examples utilize two, public domain libraries
  398. that are already available on Fish disks. One is a file requester, and the
  399. other is an ilbm reader/writer. The documentation and development tools for
  400. the ilbm.library is on disk #237. The FileIO lib should be on this disk or
  401. on #203.
  402.   The C example presents the file requester so that you can load an ilbm
  403. picture (using the ilbm library). After the picture is loaded and displayed,
  404. if you press any key, the ColorTool will be presented. As you play with the
  405. sliders, you can see the changes to the screen colors. When you press the
  406. right mouse button, the picture will disappear, and the file requester will
  407. be presented to load the next ilbm. Exit the program by clicking on the file
  408. requester's CANCEL gadget.
  409.   The Asm example is very straight-forward. Because it doesn't load any
  410. graphics images, you really can only see the changes made to the first two
  411. colors. If you run the example from the cli, then you can specify the
  412. screen size and depth as follows:
  413.  
  414.   type an l or h (for HIRES or LORES) followed by a number for the depth
  415.  
  416.   For example,
  417.  
  418.   ColorTest l 5
  419.  
  420.   opens a LORES screen with 5 bitplanes (32 colors)
  421.  
  422.   ColorTest h 2
  423.  
  424.   opens a HIRES screen with 2 bitplanes (4 colors)
  425.  
  426.   Note how the ColorTool "fits" into various screen sizes, and presents the
  427. proper number of color boxes.
  428.  
  429.   Incidentally, the library was written in the only language that matters:
  430. assembly. It is approximately 6.6 K in size. Because it uses no uninitialized
  431. data, it does not consume any more memory when loaded into the amiga.
  432.  
  433.   The ColorTool library is copyright 1989 by dissidents software. You may
  434. use and distribute the library with any software (commercial or otherwise)
  435. provided that you do not alter the ColorTool library in any way.
  436.  
  437.   For additional information, contact
  438.  
  439.   Jeff Glatt
  440.   6 Sycamore Drive East
  441.   New Hartford, NY 13413
  442.  
  443.   dissidents
  444.   730 Dawes Avenue
  445.   Utica, NY  13502
  446.   (315) 797-0343
  447.  
  448. Coming Soon:
  449.   dissidents SAMP reader/writer. Throw away 8SVX and do something that a
  450.   professional musician could condone.
  451.