Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
MusicWriter Pro v2.0 and MusicWriter v5.0 Copyright (c) Junichi Steven Sato 1993 1. Table of Contents Copyright Notice Introduction Credits Installing and Uninstalling Program Descriptions MW50 and MWP20 An Example Using MusicWriter Help Screens Canceling an Editing Option Editing Note Names Editing Register, Duration, Tempo, Frequency or Seconds The Up and Down Arrow Keys The Left Arrow Key Insert and Delete Functions Rests Turning the Calculator Off Additional Features: MWP20 Playback Cut/Copy/Paste Frequency and Seconds Editing Current Entry View Exiting MusicWriter and Storing the List Another Example Using MWP20 Editing Lists GC and MPLAY MADJ MC and Other Compression Options MWV and MWPV MusicWriter Sample Directories Checksum and Bytes for Samples Directories Sample Descriptions MWBACH Directory MWBTVN Directory MWMSC1 Directory MWMSC2 Directory MWMSC3 Directory MWMSC4 Directory MWTOCC Directory Questions and Answers About the Authors Correspondence Features Comparison Table Key Definitions MWP20 MW50 2. Copyright Notice 2 3 4 5 6 6.1 6.1.1 6.1.1.1 6.1.1.2 6.1.1.3 6.1.1.4 6.1.1.5 6.1.1.6 6.1.1.7 6.1.1.8 6.1.1.9 6.1.2 6.1.2.1 6.1.2.2 6.1.2.3 6.1.2.4 6.1.3 6.1.4 6.1.4.1 6.2 6.3 6.4 6.5 7 7.1 7.2 7.2.1 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 8 9 10 A B B.1 B.2 MUSICWRITER, PLAY Copyright (c) Shimpei Yamashita 1990. WMUSIC (v2.0), EDIT, MADJ (v2.0) Copyright (c) Junichi Steven Sato 1991. WMUSIC (v3.0), PLAY (v2.0) Copyright (c) Junichi Steven Sato 1991. MWRTR, MWPRO, MW, MWP, MWVERSION, MWPVERSION, MWBACH, MWSAMPL Copyright (c) Junichi Steven Sato 1992. MWRTR (v2.0), MWPRO(v2.0), MW50, MWP50, MPLAY (v2.0), GC, MC, MWV (v2.0), MWPV (v2.0), MWBACHMC, MWBACHRF, MWBTVN, MWBTVNMC, MWBTVNRF, MWMSC1, MWMSC1MC, MWMSC1RF, MWMSC2, MWMSC2MC, MWMSC2RF, MWMSC3, MWMSC3MC, MWMSC3RF, MWTOCC, MWTOCCMC, MWTOCCRF Copyright (c) Junichi Steven Sato 1993. All of the programs, directories and libraries listed above are freeware and are not to be bought or sold. The programs, directories, libraries and accompanying documentation may be copied freely and doing so is encouraged, provided that they are not altered in any way. Nobody other than the user may be held responsible for damages of any kind (including loss of memory, unusual battery drainage, broken calculator screens, sudden deafness, loss of precious time, brain damage, that dog barking next door, etc.) resulting from the use and/or misuse of these programs, directories, libraries and/or documentation. Although the authors are not responsible for such damages, it would be greatly appreciated if "bugs" are reported immediately. Please see section 10 for details. 3. Introduction Back in 1990, a program which played music on the HP-28S was developed by Shimpei Yamashita. The program required a list of complex numbers in the form (f,d) where f was the frequency and d was the duration. The program worked well for playing music, but when the program was rewritten for the HP48SX, easier ways to make music or lists for the program were sought. Yamashita then came up with the "MusicWriter Special," a program which eliminated the need to calculate frequency or use cumbersome tables. Just by simply entering note names, tempo and beats, the MusicWriter Special would translate the data into a list which can be read by the music playing program. Within a year, I introduced two additional versions of the MusicWriter program. MusicWriter version 2.0 brought new features such as a stack-oriented environment, which displayed up to four notes at a time, a "delete" command, which erased the last note entered, and a menu-driven input capability, which made entering note names much easier. I released a second version of the music playing program "PLAY" shortly thereafter. The new version of PLAY reduced very small but noticeable gaps between notes but required a list which was not compatible with those created by the MusicWriter Special or MusicWriter version 2.0. MusicWriter version 3.0 was designed to create lists which were usable by the new PLAY version, but was otherwise exactly the same as version 2.0. In 1992, MusicWriter version 4.0 and MusicWriter Pro version 1.0 were released. Both were designed to be more flexible and easier to use than previous versions. Features such as a seven-note "stack" display and insert and delete functions were added. A cut/copy/paste feature was also added to MusicWriter Pro version 1.0. Unfortunately, because graphics were used heavily for these programs, they were also the largest and slowest versions. You no longer need a HP-49 math coprocessor or a graphics accelerator board with MusicWriter version 5.0 and MusicWriter Pro version 2.0. These two versions are not fast or small, but compared to MusicWriter version 4.0 and MusicWriter Pro version 1.0, respectively, they are faster and smaller. The consequence is that the "stack" display has been reduced to five, and the appearance of the display looks less organized. Several features have been added, however, including a help screen and an off switch. The help screen is provided as a memory refresher and not as a tutorial on how to use the program. Therefore, it is strongly recommended that you read the documentation before using the program. Some potentially dangerous bugs and flaws have also been corrected, and the libraries now include two new programs, GC and MC. If you do not care about writing music for the HP-48 but would like to hear the samples, you are welcome to do so. Install one of the two libraries and download a sample directory. Recall a selection to the stack, decompress using the appropriate program (RFU or MC) and execute MPLAY. For detailed instructions, see section 7. 4. Credits One of the many special thanks goes to Joe Horn, whose Goodies Disks have helped me better understand and gain access to the internals of the HP48. I would also like to thank Rick Grevelle (most of the programs were developed using his Hackit Library) and Lutz Vieweg (the Redundance Fighter programs are utterly amazing). Finally, I would like to thank Shimpei Yamashita, who started it all with the original MusicWriter Special. 5. Installing and Uninstalling To install the MusicWriter Library, download either the MWRTR20.LIB file for MusicWriter v5.0 or the MWPRO20.LIB file for MusicWriter Pro v2.0 to the calculator in binary form. Recall the contents of the variable to the stack and execute DUP. Check to see if the library object is valid by executing BYTES. The library object for MusicWriter v5.0 should be 3435 bytes with a checksum of # E764h or # 59236d, and the library object for MusicWriter Pro v2.0 should be 6841.5 bytes with a checksum of # 8C4Eh or # 35918d. Do not use the library if the figures do not match. Store the library object in a port by placing a port number such as 0 on the stack and executing STO. Turn the calculator off and then on. The calculator will perform a system halt, and the library will automatically attach itself to the home directory. You may now purge the variable in which the library was stored. If you would like to remove the library, place a tagged object on the stack in the form x: 1151 for MusicWriter v5.0 or x: 1136 for MusicWriter Pro v2.0 where 'x' is the port number in which the library was stored. Execute DUP, then DETACH, then PURGE. When downloading the sample directories, be sure to do it in binary mode. The samples are listed in section 7. 6. Program Descriptions The contents of the MusicWriter libraries are very similar. Both have the following: MPLAY, a music playing program; MADJ, a music adjustment program; MC, a music compression program; GC, a "garbage collection" program. The library with MusicWriter v5.0 has MW50 and MWV in addition to these, and the library with MusicWriter Pro v2.0 has MWP20 and MWPV. 6.1. MW50 and MWP20 These two programs assist in writing music for the HP-48. They create a list of complex numbers in the form (f,d) where f is the frequency in hertz and d is the duration in seconds. (261.4, 1) for example, would represent the note middle C for one second. Since each one of these complex numbers represent a single note, the more notes there are, the larger the list. The program MPLAY uses this list. It "plays" the contents of the list starting at the last complex number. The programs MW50 and MWP20 are designed to help the user write music without the use of frequencies and durations. Of course, the user must have a general knowledge of music (such as note names, beats, and ability to read music). Make sure that the last stack option is enabled and start MusicWriter by executing either MW50 or MWP20 (depending on which one you have). If you have MWP20, you should see three menu options: NEW, EDIT and EXIT. EXIT quits the program. NEW starts a new list with the default values: middle C for 1 second. EDIT allows you to edit a list previously created by a MusicWriter program or created manually by the user. To edit a list, the list must be in stack level 1 before running MWP20. For now, just press NEW. The screen should now be displaying "CS Nt Reg Dur Tmp" or "C Nt Reg Dur Tmp" at the top, "CN 3 1 60" in the middle and "1 of 1 S" at the bottom. The top line is called the Field Bar. This line shows the field names for each column. "C" stands for Current Entry; the note with the arrow in this column is the current note. "S" stands for Selected Entry. This is only available on MusicWriter Pro v2.0 and is used for cut/copy/paste. "Nt" stands for note, "Reg" for register, "Dur" for duration and "Tmp" for tempo. On MusicWriter Pro v2.0, if user flag 56 is set, there will be a "Frq" standing for frequency instead of "Nt" and "Reg" and if user flag 57 is set, there will be a "Sec" standing for seconds instead of "Dur" and "Tmp". If this is what you have, press the minus key for flag 56 and/or the plus key for flag 57 to clear these user flags until the top line displays "CS Nt Reg Dur Tmp". The last line is called the Message/Input Bar. Most of the time, this line will display the entry you are currently working on and the total number of entries. In MusicWriter Pro v2.0, an asterisk followed by a number appears when you select an entry for cut/copy/paste. This line also tells you whether the beep flat -56 is clear or not using a "S" annunciator. If you do not see the "S", clear system flag -56 by pressing the +/- key. Everything in between the Field Bar and the Message/Input Bar is called the Note Display Area. Up to five notes can be displayed in this area - up to two before and/or after the current note. The current note (the one that can be immediately edited) is always in the middle with an arrow pointing at it. Since we just started MusicWriter, there is only one note displayed (this is the default value - middle C for 1 beat at a tempo of 60). "CN" stands for C-natural, register 3 is the register containing middle C, 1 is the duration and 60 is the tempo (beats per minute). A "F" following the note name would make it a flat and a "S" following the note name would make it a sharp. For instance, "BF" would be a B-flat and "FS" would be a F-sharp. A "R" stands for a rest. 6.1.1. An Example Using MusicWriter The example to be used is a birthday song which looks like the following in MusicWriter format: Entry Nt Reg Dur Tmp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 GN GN AN GN CN BN R GN GN AN GN DN CN R GN GN GN EN CN BN AN FN FN EN CN DN CN 3 3 3 3 4 3 3 3 3 3 3 4 4 4 3 3 4 4 4 3 3 4 4 4 4 4 4 .5 .5 1 1 1 1 1 .5 .5 1 1 1 1 1 .5 .5 1 1 1 1 1 .5 .5 1 1 1 1 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 120 6.1.1.1. Help Screens Note that help is almost always available; if you forget a keystroke, or to list all possible keystrokes on a certain screen, just press the HELP menu key. To exit the help screen, press any key. 6.1.1.2. Canceling an Editing Option If you invoke an editing option by mistake, pressing CNCL will always bring you back to the Main Editing Screen (screen 1). 6.1.1.3. Editing Note Names The very first note in the birthday song above is a G-natural. Change the CN to a GN by pressing NOTE (first menu key) and then G (fifth menu key). A "natural" note can be obtained in this manner. If a piece that you are working on has notes that have flats or sharps, use left-shifted note names for flats and right-shifted note names for sharps. 6.1.1.4. Editing Register, Duration, Tempo, Frequency or Seconds Pressing REG, DUR, TMP, FRQ (MWP20, flag 56 set) or SEC (MWP20, flag 57 set) will invoke numeric editing. In this mode, you can use the numeric keypad (0 through 9 and the decimal) to enter values. Use backspace to correct any mistakes. Change the duration of the first note by pressing DUR and entering .5 (press ENTER after putting in the value). Next, change the tempo to 120 by pressing TMP and entering 120. Note that the register (3) is the same so it does not need editing. 6.1.1.5. The Up and Down Arrow Keys The up arrow key moves the current entry pointer up one entry, the leftshifted up arrow key moves the pointer up four entries, and the right-shifted up arrow key moves the pointer to the first entry. Similarly, the down arrow key moves the pointer down one entry, the left-shifted down arrow key moves the pointer down four entries, and the right-shifted down arrow key moves the pointer to the last entry. If the down arrow key is pressed when the pointer is on the last entry, the program adds another entry, copying the values from the entry the pointer was on. Pressing any of these keys or key combinations "beeps" the current entry before the pointer moves. To turn this sound off, press the +/key to set flag -56. Getting back to the birthday song, press the down arrow key to add an entry. Note that both the first and second entries are the same. Entry 2, therefore, does not require any editing. Press the down arrow key again. Go ahead and change the note and the duration of entry 3. 6.1.1.6. The Left Arrow Key The left arrow key "beeps" the current entry without moving the pointer. Try this on the A-natural that you just put in. This is a convenient way to hear what the note sounds like without having to move the pointer. 6.1.1.7. Insert and Delete Functions Press the down arrow key. The pointer should be on entry 4. For the sake of this demonstration, put in the values for entry 5 instead (C-natural, register 4). INS inserts an entry above the pointer, copying values from the entry above that. Press INS. The pointer should be pointing at the newly inserted entry. Change the AN to a GN. To get to entry 6, press the down arrow twice. The backspace key deletes the current entry. to get rid of entry 6. Try it now; press backspace 6.1.1.8. Rests Press the down arrow and put in the values for entry 6 (B-natural can be found on the second page of the note edit menu). Press the down arrow key. Entry 7 is a rest. Entering rests are as easy as entering a note. Press NOTE, NXT and then R. 6.1.1.9. Turning the Calculator Off The calculator can be turned off in the middle of the program. From the Main Editing Screen, press right-shift OFF. You can resume writing music when you turn the calculator back on. If you are using MW50, try to finish the rest of the birthday song by yourself. After you finish entry 27, do not press the down arrow key. Skip to section 6.1.3. If you are using MWP20, continue with the next section. The following sections deal with advanced features available only on MusicWriter Pro. 6.1.2. Additional Features: MWP20 In addition to the editing features described in section 6.1.1, MWP20 provides cut/copy/paste, frequency and seconds editing and Current Entry View editing. 6.1.2.1. Playback MusicWriter Pro allows you to hear all or parts of the piece being worked on. Let us hear what the birthday example sounds like up to this point. Go to the first entry by pressing the right-shifted up arrow key. Press the right arrow to mark this entry. Note that an asterisk appears in front of the entry and the marked entry number appears right above the menu labels. Pressing the right arrow key will make the marked entry the current entry. Go to the last entry by pressing the right-shifted down arrow key. Make sure the "S" annunciator is on (pressing +/- toggles it on and off) and press BEEP. Everything that is "selected" (all entries between the marked entry and the current entry, inclusive) is played. 6.1.2.2. Cut/Copy/Paste Note that the next four entries (entries 8 through 11) are exactly the same as entries 1 through 4. Press the right-shifted up arrow key followed by the right arrow key. Move down to entry 4 using the down arrow key. At this point, there are three cut/copy/paste options. CUT cuts out the selected entries for pasting. DEL deletes the selected entries (caution: no undo!). What we want to use is the remaining option: COPY. Press COPY. The selected entries are copied on to an imaginary "clipboard" and is now ready for pasting. The PASTE option inserts the entries from the "clipboard" to above the current entry. However, we want the four entries to appear after the last entry so press LAST. Move the pointer to the last entry by pressing the rightshifted down arrow key. 6.1.2.3. Frequency and Seconds Editing Pressing the minus key sets user flag 56 for frequency editing. Press the minus key. Note that notes and registers are replaced by frequencies. This allows the user to edit frequency values. This is useful when trying to obtain notes that cannot be labeled by a note name (a note between G and Gsharp, for example). Press the minus key again to return to normal format. Pressing the plus key sets user flag 57 for seconds editing. Press the plus key. Duration and tempi are replaced by seconds. This allows the user to enter lengths of notes in seconds. normal format. Press the plus key again to return to 6.1.2.4. Current Entry View The Current Entry Viewer (invoked by pressing ENTER) may come in handy for viewing (and editing) detailed information about the current entry. Press ENTER. The top line displays the current entry number and the total number of entries as well as the status of the sound flag (-56). In the center, complete information about the current entry is given. Press ENTER to return to the Main Editing Screen. Try to finish the rest of the birthday song by yourself. finish entry 27, do not press the down arrow key. After you 6.1.3. Exiting MusicWriter and Storing the List If you pressed the down arrow key by mistake after entry 27, press the backspace key to "drop" entry 28. Otherwise, the last note will be played twice. To exit MusicWriter, press STO. The birthday song is translated into a list of complex numbers and is left on level 1 of the stack. Store this list in a variable called 'BIRTHDAY'. Keep in mind that the STO function in MusicWriter is just for exiting the program; the program does not store the list for you. If you would like to hear this example, see section 6.2. 6.1.4. Another Example Using MWP20 The following example deals with MusicWriter Pro. you may want to skip this section. If you are using MW50, Start MusicWriter Pro (MWP20, NEW) and enter the following data exactly as shown: Entry 1 2 3 4 5 Nt CN GN AF GN R Reg 3 2 2 2 2 Dur 1 .5 1 1 1 Tmp 120 120 120 120 120 6 7 BN 2 CN 3 1 1 120 120 After you finish, press STO and store the list as 'SHAVE'. Recall the list to the stack and execute MPLAY. It should sound familiar, but there is something wrong with it; there should be another GN between entries 2 and 3! 6.1.4.1. Editing Lists To make the correction, once again recall SHAVE to the stack and execute MWP20. Select EDIT. Note that despite the bar at the top reads "CS Nt Reg Dur Tmp", only frequencies and seconds are shown. When the EDIT option is selected, this always happens. 261.4 hertz is the frequency value for middle-C. The missing G-natural belongs in between the second and third entries. Move to the third entry and press INS. Note that the values from the previous entry, entry 2, are copied into the new entry. Press STO. Resave the list in 'SHAVE'. Recall the list and execute MPLAY. It should sound correct now. 6.2. GC and MPLAY The program MPLAY plays music. It requires in stack level 1 a list containing complex numbers in the form (f,d) where f is the frequency and d is the number of seconds. A frequency of 0 would result in a silence or a rest. The complex numbers must be in reverse order to be played. The beep flag -56 must be clear. A "garbage collection" may occur between notes being played, resulting in an abrupt gap. The program GC forces garbage collection. Use this program right before executing MPLAY. Gaps may occur inevitably if your memory is limited. To play the birthday example, recall BIRTHDAY to the stack, execute GC, then MPLAY. 6.3. MADJ MADJ is a music adjustment program. It requires a list usable by MPLAY in stack level 2 and a real number in level 1. A non-negative number will adjust the duration; a negative number will adjust the frequency. A positive or negative 1 will not affect the list. A zero will change the duration of every note to a zero, but this list will not work with MPLAY. A positive number greater than 1 will make the notes longer; a positive number less than 1 will make the notes shorter. A negative number less than -1 will make the notes higher; a negative number greater than -1 will make the notes lower. Recall the birthday example to the stack, enter .5 and execute MADJ. Execute GC followed by MPLAY. Note that the piece is twice as fast as the original. Once again recall the birthday example to the stack. Enter -2 and run MADJ. Execute GC followed by MPLAY. The same piece is played an octave higher. 6.4. MC and Other Compression Options MC is a music compressor/decompressor. If you write a lot of music, you will notice that memory is an important matter. MC compresses music lists into strings and vice versa. The strings created by MC cannot be used by MPLAY. Another option to consider is Lutz Vieweg's Redundance Fighter (RF) programs. The RF programs can compress music lists like nothing else. In terms of both time and memory, RF is a better choice over MC. The following is a list of pros and cons of each program. Program about MC RF Pros Cons Compresses to Integrated in music library; compressor and decompressor in in one program Fast; better compression Incredibly slow; inefficient 44% Three separate programs 78% 6.5. MWV and MWPV Both MWV and MWPV display the library version number and the copyright notice. MWPV displays the MusicWriter logo. Press any key to return to the stack. These two programs do not affect PICT or PPAR. 7. MusicWriter Sample Directories There are seven different directories, each containing six samples. Each directory comes in three formats: original, MC compressed and RF compressed. Samples compressed with MC and RF must be decompressed with MC or RFU before playing. 7.1. Checksum and Bytes for Sample Directories Download the directories in binary format. the figures do not match. Directory MWBACH MWBACHMC MWBACHRF MWBTVN MWBTVNMC MWBTVNRF MWMSC1 MWMSC1MC MWMSC1RF MWMSC2 MWMSC2MC MWMSC2RF MWMSC3 MWMSC3MC MWMSC3RF MWMSC4 MWMSC4MC MWMSC4RF MWTOCC MWTOCCMC MWTOCCRF Bytes 19051 10880 4117 8133 4656 1943 16280 8554 3392 13986 7682 3145 9855.5 5309 2265 15875 9029 3549 13048 7865 2807 Checksum # C899h or # 73E4h or # 2AD7h or # 6EABh or # FF78h or # DE4Dh or # 9BC5h or # 1791h or # 7C69h or # BA05h or # 77D0h or # E760h or # E168h or # FA5Eh or # 43F6h or # E664h or # C270h or # F94Bh or # 78D5h or # A750h or # B7D3h or # # # # # # # # # # # # # # # # # # # # # Do not use the directories if 51353d 29668d 10967d 28331d 65400d 56909d 39877d 6033d 31849d 47621d 30672d 59232d 57704d 64094d 17398d 58980d 49776d 63819d 30933d 42832d 47059d 7.2. Sample Descriptions The following is a list of samples and their descriptions. 42 samples are excerpts from larger works. 7.2.1. MWBACH Directory These samples are works by Johann Sebastian Bach. CANTATA - 4th movement chorale from Cantata 140 GIGUE - Gigue from the second English Suite ITALIAN - 3rd movement of the Italian Concerto JESU - Jesu, Joy of Man's Desiring PART1 - Gigue from the first Partita Most of the PART5 - Prelude from the fifth Partita 7.2.2. MWBTVN Directory These samples are works by Ludwig van Beethoven ELISE - Fur Elise FIFTH - 1st movement from the 5th Symphony NINTH - 4th movement from the 9th Symphony RONDO - Rondo a Capriccio, "Rage Over a Lost Penny" SONATA - 3rd movement from a Piano Sonata, Op. 81a TRIO - 1st movement from a Piano Trio, Op. 70, No. 1 7.2.3. MWMSC1 Directory BACH BEETHOVEN FANTASY HAYDN NELSON VITALI - 1st movement of Bach's D Minor Harpsichord Concerto 3rd movement of Beethoven's 1st Piano Concerto Bach's Chromatic Fantasy and Fugue 3rd movement of Joseph Haydn's D Major Piano Concerto Credo from Haydn's Nelson Mass Tommaso Vitali's Ciaccona for Violin 7.2.4. MWMSC2 Directory BRAHMS CHOPIN CZERNY LISZT MOZART Major, SCHUBERT - Johannes Brahms' Hungarian Dance No. 5 Frederic Chopin's Polonaise in A Major, Op. 40, No. 1 Carl Czerny's Etude in E Major, Op. 740, No. 23 4th movement of Franz Liszt's Piano Concerto in E-Flat Major 1st movement of Wolfgang Amadeus Mozart's Piano Sonata in D KV 576 - Franz Schubert's Impromptu in A-Flat Major 7.2.5. MWMSC3 Directory KATSARIS ORFF RACH RAVEL SCHUMANN TCH - Cyprien Katsaris' Le Troubadour et la Princesse Fortune Plango Vulnera from Carl Orff's Carmina Burana Sergei Rachmaninoff's Prelude in G Minor, Op. 23, No. 5 Forlane from Maurice Ravel's Le Tombeau de Couperin Robert Schumann's Papillons 3rd movement of Peter Ilich Tchaikovsky's 6th Symphony 7.2.6. MWMSC4 Directory BARBER CASINO COMRADES PROKOFIEV SATO1 SATO2 - 4th movement of Samuel Barber's Sonata for Piano Casino from Koichi Sugiyama's DragonQuest IV Suite Comrades from Sugiyama's DragonQuest IV Suite 1st movement of Sergei Prokofiev's Piano Sonata No. 7 Untitled work composed by J. S. Sato using MusicWriter Untitled work composed by Sato using MusicWriter 7.2.7. MWTOCC Directory These samples are toccatas by Bach B910 - F-Sharp Minor, BWV 910 B911 B913 B914 B915 B916 - C D E G G Minor, Minor, Minor, Minor, Major, BWV BWV BWV BWV BWV 911 913 914 915 916 8. Questions and Answers Q: When I try to start MusicWriter, an "Undefined Local Name" error occurs. What am I doing wrong? A: The Last Stack is disabled. Enable Last Stack and restart the program. Q: In the previous versions of MusicWriter and MusicWriter Pro, editing the register when the note was a rest caused the program to error. Has this bug been fixed? A: Yes. In both MW50 and MWP20, if REG is pressed when the note is a rest, the program ignores it. Q: I accidentally deleted selected entries in MWP20. Is there any way I can recover what I deleted? A: No. The "undo" feature is not available on any MusicWriter program. Take extra caution when using features such as CUT and DEL. Q: The ATTN key no longer aborts the program. Why? A: Out of panic, perhaps, some users tend to press the ATTN key when they want out of something that they got into by mistake. Except that they not always want to leave the program. In MW50 and MWP20, the ATTN key is ignored to prevent aborting the program by accident. If you want out of the program, just press STO and DROP the list. Q: A: in Why is STO the exit key rather than ENTER? Because ENTER is used to input numeric values (as well as change view MWP20), it is very possible the user might press ENTER when he or she does not want to exit. Because of this, the STO key is a better choice. Q: Why does MWP20 use user flags 56 and 57 for frequency and seconds edit? A: It is easier to remember because of the logic: system flags -56 and 57 deal with sound. Q: Where did the library ROM ID numbers 1136 and 1151 come from? A: 1136 is the sum of the HP-48 character codes for each of the characters in the string "MUSICWRITER PRO" plus one (since this is the second library version) and 1151 is the sum of the character codes for each of the characters in the string "MusicWriter" plus one. Q: A: The MPLAY program is not working. What am I doing wrong? The beep flag (-56) is probably set. Clear the flag and then run the program. Q: A: Why are there "gaps" when the calculator is playing? The calculator is doing a "garbage collection." To prevent this from happening during play, run GC right before playing music. Depending on the amount of memory you have available and the size of the list, a "garbage collection" may inevitably occur during play. Q: MPLAY was previously known as PLAY. Why did you decide to abolish this tradition? A: The variable PLAY is used so often for games, that a name conflict is possible (since this is a library). Q: Is it possible to compress a list with MC first and then compress the resulting string with RF? A: Yes it is, but it isn't worth it. First, it takes too much time to compress and decompress. Second, RF by itself can achieve close results in a fraction of the time. 9. About the Authors Shimpei Yamashita is a graduate of New Trier High School in Winnetka, Illinois, and is now continuing his education at Stanford University. In addition to majoring in physics and mathematics, he is a talented pianist and flutist. He has travelled to several countries as a flutist with the Stanford Symphony Orchestra. Junichi Steven Sato is a graduate of Lane Technical High School in Chicago and received his bachelor's degree with honor in piano performance from DePaul University in 1995. He has been studying piano and composition for over fifteen years. He is a member of the National Dean's List, Golden Key National Honor Society, and the Pi Kappa Lambda Professional Music Honor Society. His works as a composer and arranger include numerous original compositions, arrangements of music for computer performance, and transcriptions, including a two-piano, chorus and soli version of the Choral Finale to Beethoven's Ninth Symphony. 10. Correspondence Even though MusicWriter is not shareware, a suggested contribution of $15 would be greatly appreciated. Due to time limitations, not all questions will be answered, but please send them anyway. Suggestions, comments, and especially bug reports are also welcome. Please send them to: Junichi Steven Sato c/o MusicWriter 707 West Waveland Avenue, #311 Chicago, IL 60613-4112 (Address may change without notice) or E-Mail at [email protected] In either case, please remember to include your name, complete mailing address, and an E-Mail address (if applicable). A. Features Comparison Table Feature Pro2.0 Note edit Register edit Duration edit Tempo edit Frequency edit Seconds edit Insert entry Beep last entry Delete last entry Beep current entry Delete current entry Play selected entries Del selected entries Cut/Copy/Paste Toggle flag -56 Off Edits existing list Menu driven Help screen Affects PICT Library Special 2.0 3.0 4.0 5.0 Pro1.0 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y System RPL Max entries displayed PLAY compatibility v2.0 MPLAY compatibility v2.0 Size (bytes) 6841.5* Date of release 9/93 n/a v1.0 4 v1.0 4 v2.0 Y 7 v2.0 Y 5 v2.0 Y 7 v2.0 n/a n/a v2.0 v2.0 v2.0 v2.0 1288 2026.5 1714 4783.5* 3435* 6959* 1990 1991 1991 9/92 9/92 9/93 Y 5 * Size reflects entire library; 4.0 and Pro1.0 contain the MusicWriter program plus PLAY v2.0, MADJ v2.0 and MWVERSION v1.0 or MWPVERSION v1.0; 5.0 and Pro2.0 contain the MusicWriter program plus MPLAY v2.0, MADJ v2.0, MC v1.0, GC v1.0 and MWV v2.0 or MWPV v2.0. n/a - not applicable B. Key Definitions This section lists all the available keystrokes in MusicWriter and a brief description of each one. B.1. MWP20 Screen 0: Opening Screen NEW EDIT EXIT Screen 1: - Starts a new piece - Edits an existing list in level 1 - Exits MusicWriter Pro Main Editing Screen (invoked by 0:NEW or 0:EDIT) NOTE REG FRQ DUR TMP SEC INS HELP Up arrow Left-shift up arrow Right-shift up arrow Down arrow Left-shift down arrow Right-shift down arrow Left arrow Right arrow Backspace +/- - Edits note Edits register Edits frequency Edits duration Edits tempo Edits seconds Inserts an entry Displays help screen Moves up an entry Moves up four entries Moves to the first entry Moves down an entry or adds a new entry Moves down four entries Moves to the last entry Beeps current entry Marks current entry for cut/copy/paste Drops current entry Toggles flag -56 + ENTER entry view OFF STO Screen 2: - Toggles flag 56 - Toggles flag 57 - Changes between current entry view and main - Turns calculator off - Creates list and exits MusicWriter Note Editing Screen (invoked by 1:NOTE) C - Enters CN D - Enters DN E - Enters EN F - Enters FN G - Enters GN A - Enters AN B - Enters BN (Note: Left-shift note names give flat; right-shift note names give sharp) R - Enters rest CNCL - Cancels note editing HELP - Displays help screen NXT - Displays next menu page Screen 3: or Numeric Editing Screen (invoked by 1:REG, 1:FRQ, 1:DUR, 1:TMP 1:SEC) CNCL HELP 0 1 2 3 4 5 6 7 8 9 . Backspace ENTER Screen 4: - Cancels numeric editing Displays help screen Enters 0 Enters 1 Enters 2 Enters 3 Enters 4 Enters 5 Enters 6 Enters 7 Enters 8 Enters 9 Enters decimal point Erases last digit or decimal point entered Inputs new value Select Entry Screen (invoked by 1:right arrow) BEEP CUT COPY DEL CNCL HELP Up arrow Left-shift up arrow Right-shift up arrow - Plays selected entries Cuts out selected entries Copies selected entries Deletes selected entries Cancels cut/copy/paste Displays help screen Moves up an entry Moves up four entries Moves to the first entry Down arrow Left-shift down arrow Right-shift down arrow Left arrow Right arrow +/Screen 5: - Moves down an entry Moves down four entries Moves to the last entry Beeps current entry Moves to the marked entry Toggles flag -56 Paste Screen (invoked by 4:CUT or 4:COPY) PASTE LAST CNCL HELP Up arrow Left-shift up arrow Right-shift up arrow Down arrow Left-shift down arrow Right-shift down arrow Left arrow +/- - Pastes selected entries above current entry Pastes selected entries below last entry Cancels cut/copy/paste Displays help screen Moves up an entry Moves up four entries Moves to the first entry Moves down an entry Moves down four entries Moves to the last entry Beeps current entry Toggles flag -56 B.2. MW50 Screen 1: Main Editing Screen NOTE REG DUR TMP INS HELP Up arrow Left-shift up arrow Right-shift up arrow Down arrow Left-shift down arrow Right-shift down arrow Left arrow Backspace +/OFF STO Screen 2: C D E F G A B - Edits note Edits register Edits duration Edits tempo Inserts an entry Displays help screen Moves up an entry Moves up four entries Moves to the first entry Moves down an entry or adds a new entry Moves down four entries Moves to the last entry Beeps current entry Drops current entry Toggles flag -56 Turns calculator off Creates list and exits MusicWriter Note Editing Screen (invoked by 1:NOTE) - Enters Enters Enters Enters Enters Enters Enters CN DN EN FN GN AN BN (Note: Left-shift note names give flat; right-shift note names give sharp) R - Enters rest CNCL - Cancels note editing HELP - Displays help screen NXT - Displays next menu page Screen 3: CNCL HELP 0 1 2 3 4 5 6 7 8 9 . Backspace ENTER Numeric Editing Screen (invoked by 1:REG, 1:DUR or 1:TMP) - Cancels numeric editing Displays help screen Enters 0 Enters 1 Enters 2 Enters 3 Enters 4 Enters 5 Enters 6 Enters 7 Enters 8 Enters 9 Enters decimal point Erases last digit or decimal point entered Inputs new value