QuadraComposer 2.0 Copyright © 1993 Technological ArtWork (Bo Lincoln & Calle Englund) U S E R M A N U A L DISTRIBUTION: You are hereby given permission to distribute the QC20.LhA archive (or the same decrunched), as long as it is redistributed in its original unmodified form. You may NOT take any fee for the program itself, only the costs for the media itself. Files included in this package: * QuadraComposer2.0 --- The program * QCManual2.0.TXT --- This file * InstallQC2.0 --- The Installer script * InstallQC2.0.cli --- A script for AmigaDOS * QCReplay.s --- An ASM source * QCFastReplay.s --- An ASM source * QC.font sizes 6 & 8 --- The font + icons SHAREWARE: QuadraComposer is SHAREWARE, and if you use it you should pay the shareware fee of US$ 20 (or the equal amount is SEK) (The fee should be cashable in OUR local banks, so a $20-bill is the most practical payment...). Please support us. COPYRIGHTS: QuadraComposer is Copyright © 1993 Technological Artwork (Bosse Lincoln & Calle Englund). QC makes use of reqtools.library for the requesters. ReqTools is Copyright © Nico François. Amiga is a registered trademark of Commodore-Amiga Inc. THE AUTHORS: * Bo Lincoln * SnailMail: Bo Lincoln Ryttargatan 70 S-731 52 KÖPING SWEDEN * Calle Englund * Email: c92caren@und.ida.liu.se C O N T E N T S: 1 OPERATION OF QUADRA COMPOSER 1.0 SPECIAL GADGETS 1.0.1 UP / DOWN GADGET 1.0.2 CYCLE GADGET 1.0.3 LITTLE RED DOTS 1.1 WINDOWS 1.1.1 MENU WINDOW 1.1.2 MAIN NOTE WINDOW 1.1.3 SAMPLE WINDOW 1.1.4 SAMPLE EDIT WINDOW 1.1.5 DISK OPERATION WINDOW 1.1.6 MIXER WINDOW 1.1.7 TEXT WINDOW 1.1.8 NOTE EDIT WINDOW 1.1.9 SPECTRUM ANALYSER WINDOW 1.1.10 QUADRASCOPE WINDOW 1.1.11 PREFERENCES WINDOW 1.2 KEYBOARD COMMANDS 2 HOW TO MAKE MUSIC WITH QUADRA COMPOSER 2.0 BASICS 2.0.1 NOTES 2.0.2 SAMPLE NUMBER 2.0.3 PATTERNS & POSITIONS 2.1 EFFECT COMMANDS 2.1.1 ARPEGGIO 2.1.2 PITCH SLIDE, UP 2.1.3 PITCH SLIDE, DOWN 2.1.4 TONE PORTAMENTO 2.1.5 VIBRATO 2.1.6 VOLUME SLIDE + SUSTAINED TONE PORTAMENTO 2.1.7 VOLUME SLIDE + SUSTAINED VIBRATO 2.1.8 TREMOLO 2.1.9 NOT USED (Why does it have a chapter?) 2.1.10 SET SAMPLE OFFSET 2.1.11 VOLUME SLIDE 2.1.12 POSITION JUMP 2.1.13 SET VOLUME 2.1.14 PATTERN BREAK 2.1.15 EXTENDED (E-) COMMANDS (see 2.1.17) 2.1.16 SET SPEED / TEMPO 2.1.17 EXTENDED COMMANDS 2.1.17.1 SET FILTER 2.1.17.2 FINE PITCHSLIDE, UP 2.1.17.2 FINE PITCHSLIDE, DOWN 2.1.17.2 SET GLISSANDO 2.1.17.2 SET VIBRATO WAVEFORM 2.1.17.2 SET FINETUNE VALUE 2.1.17.2 PATTERN LOOP 2.1.17.2 SET TREMOLO WAVEFORM 2.1.17.2 NOT USED 2.1.17.2 RETRIG NOTE 2.1.17.2 FINE VOLUMESLIDE, UP 2.1.17.2 FINE VOLUMESLIDE, DOWN 2.1.17.2 NOTECUT 2.1.17.2 NOTE DELAY 2.1.17.2 NOT USED 2.1.17.2 PATTERN DELAY 2.1.18 EFFECTS THAT DIFFER FROM THE NT-FORMAT APPENDIX A IFF EMOD FILE FORMAT 1 OPERATION OF QUADRA COMPOSER ============================== This chapter describes how to use Quadra Composer. First, some strange words will be explained. Hexadecimal: All numbers, EXCEPT for percent numbers, are in hexadecimal. Hexadecimal?, you ask. Calm down, it will be explained. Our normal number system has the base 10; The first place has the value 1, the second 10, the third 100, and so on. E.g: 236 2*100/// 3*10_// 6*1__/ = dec 236 In hexadecimal, the base is dec 16: 3A4 2*256/// 10*16// <--- Those numbers showed in decimal. 4*1__/ = dec 676 But then there must be 16 numbers!? Right, but since we only have our normal 10, you use A, B, C, D, E and F as 10, 11, 12, 13, 14 and 15. If you want to type dec (decimal, base 10) 11 in hex, it will be B. Simple. The reason of using this strange (?) system is that it takes less space; With just two digits you can write numbers up to hex FF (dec 255), not only up to dec 99. RMB: Short for Right Mouse Button. LMB: Short for Left Mouse Button. 1.0 SPECIAL GADGET TYPES ======================== These are the special gadgets used in Quadra Composer... 1.0.1 UP/DOWN GADGET ==================== +--+ | /| |/ | +--+ Pressing the LMB over the up/down-wards pointing triangle will in/de-crease the value in the recessed box beside. If the RMB is pressed simultaneously, the rate of change will increase. All values are displayed in hexadecimal, except for the percentage values (otherwise it would be a bit confusing). 1.0.2 CYCLE GADGET ================== +---+ |/->| || | |\-/| +---+ Cycles through multiple choices then clicked on with LMB. Pressing shift while clicking will make the cycle go backwards. 1.0.3 LITTLE RED DOTS ===================== If a gadget has a little red dot in its upper right corner, then there is an option window attached to it. Clicking RMB brings it up. 1.1 WINDOWS =========== Quadra Composer 2.0 is built up using Intuition windows. Each part of the program has its own window. 1.1.1 MENU WINDOW ================= This is the only window that must be open all the time. From this you can open the other windows. In this window are also the module control gadgets. +--+--+ | 1| 2| +--+--+ | 3| 4| +--+--+ | 5| 6| +--+--+ | 7| 8| +--+--+ | 9|10| +--+--+ +--+--+ |11|12| +--+--+ |13|14| +--+--+ |15|16| +--+--+ 1) Opens the main note window. 2) Opens the sample window. 3) Opens the disk operation window. 4) Opens the mixer window. 5) Opens the text display window. 6) Opens the note edit window. 7) Opens the spectrum analyzer window. 8) Opens the scope window. 9) Opens the preferences window. 10) Displays the About requester. 11) Plays the module from the current position. 12) Plays the current pattern. 13) Starts recording. 14) Starts recording the current pattern. 15) Stops the music, turns the sound off and turns edit off. 16) Turns edit on. When you press the CLOSE gadget in the upper left corner, the whole program will be ended. 1.1.2 MAIN NOTE WINDOW ====================== This is the main window of Quadra Composer. It displays the current pattern, and it contains most gadgets for note editing. +------------------------------------------------+ | On On 1 On On | +-----+------------------------------------+-----+ | 3 | | 12 | | 4 | | 13 | | 5 | | 14 | | 6 | | 15 | | 7 | | 16 | | 8 | 2 | 17 | | 9 | | 18 | | 10 | | 19 | | | | 20 | | | | 21 | | 11 | | | +-----+------------------------------------+-----+ 1) The window dragbar. It displays four On/Off's, which informs you about the voice status. 2) The pattern display. This is the place where you edit the patterns, by using the keyboard. To edit the notes you must be in edit mode (press [space]). When you go into edit mode the cursor turns red (unshaded). To move around in the pattern, use the arrowkeys (NOT on the numeric keyboard). You can mark notes by dragging the mouse. 3) Pos. (Position) gadget. Use this to cycle trough the positions. 4) Patt. (Pattern) gadget. This is the pattern attached to the current position. You can change this to "mix" the patterns together to a song. But, it's better to use the mixer (see mixer window) instead to put your song together. 5) C.patt. (Current Pattern) gadget. This gadget is used for changing the current displayed pattern, i.e NOT the pattern attached to a position. 6) Pattl. (Pattern Length) gadget. Use this gadget to change the length of the current pattern. The length may vary from 1 to 256 lines, but the value displayed is the number of the last line (number of lines - 1). 7) Sample gadget. This gadget is actually duplicated, it can also be found in the sample edit window. Use this gadget to change the current sample number. You can use up to 255 samples (number zero cannot be used). 8) Tempo gadget. This gadget sets the BPM (beats per minute) rate. The tempo may vary from 32 to 255 (hex 20 to FF) BPM. Normally this rate is set to 125 (hex 7D). 9) Timing gadget. Toggles between CIA (CI) and vertical blank (VB) timing. Normally you should use the CIA timing, because you can only change tempo in this mode. The vertical blank timing is mostly used by demo coders, who don't want to waste the level 6 irq on music. If you use the vertical blank timing in the USA the speed go up 20% (because of NTSC). 10) Songl (Song Length) gadget. Decides how many positions will be used. 11) Cut & Paste gadgets. Use these to cut, copy, paste and clear the marked block of the pattern. 12) E.skip (Edit Skip) gadget. Sets the number of rows to jump down after typing a note. 13) Quant. (Quantisizing) gadget. Quantisizing lets you set if your notes will be on every two rows, every three rows, and so on. Very useful if you're recording e.g a drumbeat in realtime. 14) Multi gadget. If you turn this on, the cursor will skip to another track after typing a note. 15-18) Multi 1-4 gadgets. Multi 1 sets where the cursor will skip after typing a note in track 1, and so on. 19) A.echo (Auto Echo) gadget. This sets whether the funny little effect called Auto Echo will be on or off. Auto Echo makes a kind of echo after each note typed, based on the default volume of the sample. 20) Ae.spec (Auto Echo Space) gadget. Sets the space between the echoes. 21) Ae.cut (Auto Echo Cut) gadget. This is the percentage of volume cut off the volume for each echo. When the volume reaches 4 or lower, the echo stops. 1.1.3 SAMPLE WINDOW =================== Well, this is actually the biggest part of Quadra Composer (in bytes), so we hope that it will be useful. You don't actually have to use Quadra Composer as a music program, you can use it only as a sample edit program. The sample editor supports 16 bit editing, but you can still not load and save 16 bit sounds (sorry :-(). If you own a sample synth, and would like to use Quadra Composer to edit the samples, please send us a reference for the sample and disk format, and we'll try to implement some 16 bit load and save functions. +-------------------------------+ | | | | | 1 | | | | | | | +-------------------------------+ | 2 7 13 18 | | 3 8 14 19 | | 4 9 15 20 | | 5 10 16 21 | | 11 17 22 | | 6 12 23 | +-------------------------------+ 1) The sample display. This is where the current sample, or a part of it, is shown. You can mark the sample or a part of it by dragging the mouse. 2) Period gadget. Sets the standard period, used by the "Play" gadgets, and some effects. 3) Volume gadget. Sets the standard volume of the current sample. 4) F.tune (Finetune) gadget. Sets the finetune value of the current sample. 5) Loop gadget. Turns the loop of the current sample on / off. 6) Cut & Paste gadgets. Cuts / copies / pastes / deletes the marked range in the sample. 7) Length gadget. Lengthens / shortens the sample. 8) Play All gadget. Plays the whole sample. 9) Play Display gadget. Plays the current display (most often the same as the whole sample). 10) Play Range gadget. Plays the range (if present). 11) Show All gadget. Shows the whole sample. 12) Show Range gadget. Zooms in so that only the present range will be displayed. 13) Sample gadget. This gadget can also be found in the main note window. It changes the current sample number. 14) Range All gadget. Sets the range to the whole sample. 15) Zoom Out gadget. Shows 1/16 more of the sample (if possible). 16) Copy Sample + Info gadget. Displays the copy sample window. If you press copy in that window, the current sample + name + vol etc. will be copied to the desired destination. 17) Clear Sample + Info gadget. Clears the whole sample + name + vol etc. 18) Backw. (Backwards) gadget. Reverses the sample or the range. 19) Inverse gadget. Turns the sample up & down. 20) Tone gadget. Plays a tone. This is used when tuning your sample. In the attached option window you can set the period and the voice of the tone. 21) Sample gadget. When pressing this gadget the computer will be frozen, a window opened, and the sampler data will be heard in your speakers. In the window the data will be displayed, so that you can adjust the input volume. If you press RMB, the sample operation will be canceled. Otherwise the program will start sampling as you press LMB, and continue until you press LMB again, or until the sample is 128 kB (hex 1FFFE bytes) long. In the option window you can turn Autostart on / off, set Autostart Sensibility, and turn Oversample on / off. Autostart will cause the sampling operation to start immediately when a sound is heard (loud enough). Oversample samples faster than the actual sample period, to get rid of noise from the sampler. 22) Edit gadget. Converts the current sample to 16 bit, and opens the sample edit window. All disk operation is disabled. If you want to listen to the sample the processor will be used to play it (since the Amiga can only play 8 bit samples), which will cause the computer to freeze until you either press a mousebutton, or 'til the whole sound is played. 1.1.4 SAMPLE EDIT WINDOW ======================== This is the window which contains all the fun parts of sample editing, the effects... +-----+-----+ | 1 | 9 | | 2 | 10 | | 3 | | | 4 | 11 | | 5 | 12 | | 6 | 13 | | 7 | 14 | | 8 | 15 | +-----+-----+ 1) Tune gadget. Use this function to tune samples so that they fit together. First, turn on the 'Tunetone'. Second, find the matching period and finetune (by listening), and set the values in the Period and F.Tune gadgets. Third, if you want, you can set the desired Tune To period in the Tuning Options window. Fourth, press the 'Tune' button. 2) Volume gadget. Used to change the volume of the sample. In the window which appears, you can find the following gadgets: The Startvolume is the start value, and it will slide over to Endvolume. Maximum is a function which scans the sample to find out how much the volume can be raised without cutoff. Norm sets the sliders to 100%. Out sets the Startvolume to 100%, and the Endvolume to 0%, to create a fade out. Guess what In is... If range is present, the volumechange will only affect it. 3) Mix gadget. This function will mix the current sample with the copy buffer (it doesn't matter if the copy buffer is 16 or 8 bit). The Startmix decides how much the mixed sample will be affected by the sample and how much it will be affected by the copy buffer. E.g: If Startmix is set to 75%, the current sample will have 75% of the volume, and the copy buffer 25%. Just like the Startvolume the Startmix will slide over to the Endmix. If present, it will only affect the range. 4) Oct. Up (Octave Up) gadget. Doubles the sample frequency. 5) Oct. Down (Octave Down) gadget. Halves the sample frequency. 6) Echo gadget. Creates an echo in the sample. Echo rate decides how fast the echo will return. Decay rate decides how fast the echo will vanish. If you turn on Re-Echo, each echo will return more than once. Echo and Reverb are presets, just like In and Out in the volume window. If present, the range will be used as echo. If you set the sample cursor while the echo window is open, the Echo Rate will be adjusted so that the first echo will be on the sample cursor position. 7) Flange gadget. This function creates a "swirl" effect in the sample. In the flange window you can set the depth and the frequency of the flange. 8) OK gadget. Converts the 16 bit edit buffer to 8 bit, and replaces the old 8 bit sample. Then it closes the edit windows. 9) Chord gadget. This is a kind of Tune and Mix macro, which creates a chord. You can mix up to four notes to a chord. Major, Minor, Major Sept., Sus2, Sus4 and Minor Sept. are presets, which builds a chord based on the first note. 10) Synth gadget. This is a rather BIG function, which makes sounds by adding sinewaves (additive synthesizer). In the window which appears you can find the following gadgets: a) Cut Off Envelope. Lets you draw a freehand filter curve. b) Volume Envelope. Lets you draw a freehand volume curve. c) Pitch Envelope. Lets you draw a freehand pitch curve. Every pixel is a half-tone, and the red lines represent "C". In all of the windows above, you can find something called LFO (Low Frequency Oscillation). These adjust the envelopes by pulling 'em up and down. d) Resonance gadget. Lets you draw a freehand resonance curve. What you actually do is to change the volumes of the different frequencies. e) Phase gadget. Lets you draw a freehand phase distortion curve. The curve is a kind of translation table for angles. E.g if it is a normal corner to corner straight line, 10° will be 10° when the sound is made. If you draw the line from the left-bottom corner to the middle of the right edge, 10° will actually be 5°. The length of the sample will be decided by the Length gadget. The length must be at least 256 (hex 100) bytes. 11) Delta 1 Filter gadget. This is a relatively "soft" filter. Use it for "cutting the edge" of those "sharp" samples. Doesn't affect noise. If present, only the range will be affected. 12) Delta 2 Filter gadget. Displays a window with a Cut Frequency slider. If you try to filter a low frequency, the sample will sound a bit strange, because the filter also cuts all the multiples of the cut frequency. The Range gadget will set the the Cut Frequency so that a wave with the same length as the range will be cut. If the range is set while filtering, only the range will be affected. 13) Boost 1 "Filter" gadget. Can make relatively "sharp" sound even worse... 14) Boost 2 "Filter" gadget. This filter can actually "anti filter" samples, i.e make the sound clearer. If you use it more, it makes the samples really "sharp". 15) Cancel gadget. Forgets the 16 bit sample, and goes back to the old 8 bit sample. 1.1.5 DISK OPERATION WINDOW =========================== This is the menu which contains all the disk operation functions (load, save). +------+ | 1 | | 2 | | | | 3 | | 4 | | 5 | | | | 6 | | 7 | | | | 8 | | 9 | | | | 10 | | 11 | | 12 | | 13 | | 14 | +------+ 1) Load Module gadget. Displays a file requester, in which you should pick the desired module. If you load a new module, the old one will be lost. Quadra Composer 2.0 supports IFF EMOD and Noisetracker modules. 2) Save Module gadget. Displays a requester asking which module format you want to use. Default, and the best, choise is "IFF EMOD", which is an extension of the other choice, "Noisetracker". 3) Load Pattern From Module gadget. Lets you pick an IFF EMOD. The patterns of the module will be displayed in a window. To load a pattern on top of the current pattern (the length will be adjusted), just double click on it. In the option window, you can turn Load Samples on / off. Load Sample mean that all the samples in the loaded pattern will be added to the module, unless you don't already have a sample with the same name. This option goes for Load Track From Module too. A little tip: You can build up "clip" modules with e.g drumtracks, which you later can include in your music. 4) Load Track From Module gadget. See above. 5) Load Sample From Module gadget. See above. 6) Load Sample gadget. Loads a sample, IFF 8SVX or raw. 7) Save Sample gadget. Lets you pick a file format, IFF 8SVX or raw, in which the sample will be saved. 8) Load Settings gadget. Loads your previously saved settings from the file "s:QuadraComposer.prefs". 9) Save Settings gadget. Saves your settings. 10) Use Sample List gadget. Displays the sample list window. A sample list is just a list in which names and paths of samples are. This is very useful if you have loaded all your sample disks to the list. You can then easily find THAT sample you're looking for. Another advantage is that you don't have to wait for the computer to read the directory every time. To load a sample from the list, just double click on it. If the disk is not in your drives, the computer will ask for it as usual. 11) Load Sample List gadget. Loads your previously saved sample list file (s:QuadraComposer.samplelist). The sample list file is actually an ASCII text, which you can edit from any text editor. 12) Temporary Sample List gadget. Asks for a directory, which will be read and used as a temporary sample list. This is used if you want to load more than one sample from a disk which is not in your sample list. 13) Add Sample To List gadget. Displays a multiselect file requester, from which you can choose one, or by pressing shift, more, samples to the current sample list. 14) Save Sample List gadget. Saves the current sample list to the file s:QuadraComposer.samplelist. 1.1.6 MIXER WINDOW ================== This window is used to mix your patterns together to a song. +-----------------------+-----+ | | | | | | | | | | | | | 1 | 2 | | | | | | | | | | +-----------------------+-----+ | 3 4 | | +-----------------------+-----+ 1) Pattern list display. Here are the 256 patterns plus numbers listed. If you click on a pattern, it will be marked, and if you drag it, you can insert the patternnumber in the position list. 2) Position list display. Here are the positions listed. Just like the pattern list, you can mark positions, and move them around by dragging with the mouse. 3) Paste gadget. Inserts the marked pattern number in the position list, at the marked position. 4) Clear gadget. Deletes the marked position. 1.1.7 TEXT WINDOW ================= This is just a tiny text window. +-------------------+ | 1 | | 2 | | 3 | | 4 | | 5 | +-------------------+ 1) Song name gadget. 2) Copyright / composer name gadget. 3) Current sample name gadget. 4) Current pattern name gadget. 5) Status line. 1.1.8 NOTE EDIT WINDOW ====================== Here are some note and track editing functions. +-------------------+ | 1 3 | | 2 4 | | | +-------------------+ | | | 5 | | | | | +-------------------+ 1) Expand Track gadget. This function doubles the space between notes in the current track, starting from the current line. 2) Swap Tracks gadget. Swaps the active track with another. 3) Clear Track gadget. Clears the current track from the current line. 4) Exg (Exchange) Sample In Track gadget. Replaces the current sample number in the track with a new one. 5) Transposing gadgets. These gadgets lets you transpose notes up or down. Active sample means that only notes with the active sample number will be affected. 1.1.9 SPECTRUM ANALYZER WINDOW ============================== This is a little window showing a spectrum analysis of the sounds being played. It works remarkably well, although it doesn't use FFT. If you size the window to maximum size, the spectrum analyser will change, and get bigger (and slower). When the analyser is small, each line represents 1/4 of an octave. Otherwise the each line represents 1 note. 1.1.10 QUADRASCOPE WINDOW ========================= This is also a way of showing the samples being played. If the window is small, four "scopes" are being displayed, one for each voice. Otherwise only one, including all voices is displayed. 1.1.11 PREFERENCES WINDOW ========================= +------------------------+ | 1 3 | | 2 4 | | | | 5 | | | | 6 7 8 | +------------------------+ 1) Screen Mode gadget. Lets you pick a screen mode, minimum 640x256 pixels. 2) Palette gadget. Lets you adjust the palette. 3) Big Scope Accuracy slider. Sets how many pixels should be displayed per voice in the big scope. 4) Big Spectrum Accuracy. Sets how many frequencies the analyser should try to find. 5) Hex - Dec gadgets. This is a translator from hexadecimal to decimal and decimal to hexadecimal. Just type the number in the gadget and press . 6) Fake Chipmem gadget. If this is on, Quadra Composer will try to use the internal fast memory expansion on A500's as chipmem. This will not work if you don't have ECS. 7) RMB Activate gadget. If this is on, you'll be able to activate windows with the right mouse button. 8) Fast Graphics gadget. Fast graphics means that the window graphics is drawn by internal _fast_ functions in Quadra Composer. If it's off graphics.library will be used. Note: If you have a graphics card, like Merlin, Picasso, Retina etc. you _must_ turn this function off! 1.2 KEYBOARD COMMANDS ===================== Many of these commands can also be found in the menus, using Amiga standard (amiga + key). The main keyboard is used for entering notes. (Am. layout) 2 3 6 7 8 9 Q W R T Y U I O P Higher octave \___/ \_________ The same notes \___ / \ S D G H J L ; Z X C V B N M , . / Lower octave The default lower octave is 2. MISC KEYBOARD COMMANDS. ======================= RIGHT SHIFT Record song. RIGHT ALT Play song. RIGHT AMIGA Play pattern. < Turn off all samples. (Not available on some Am. keyboards.) SPACE Toggle editing on/off. RETURN Insert blank row in track. A-RETURN Insert blank row in pattern (all tracks). C-RETURN Insert blank row in track (effect cmd only). BACKSPACE Delete previous row and move rest of the track upwards. A-BACKSP. -"- pattern -"- C-BACKSP. As BACKSPACE but only effect command. DELETE Delete note/effect of the current track, row. S-DELETE Delete note+effect -"- TAB Move cursor to next track (right). S-TAB -"- prev -"- left F1 Set lower octave to "1" F2 Set lower octave to "2" F3 Cut block to buffer. S-F3 Cut entire track (notes only). A-F3 Cut entire pattern (notes only). F4 As F3, but Copy instead. F5 Paste buffer. S-F5 Paste from top of track (notes only). A-F5 Paste from "top left corner" of track (notes only). F6-F10 Move to "bookmark", default are 00/10/20/30/40 S-(F6-F10) Set "bookmark". A-(F6-F10) Play pattern from "bookmark". C-(F6-F10) Record -"- S-(1-9) Store current effectcommand in effectbuffer 1-9. A-(1-9) Paste effectbuffer 1-9 into current cursorpos. C-(1-9) Set editskip to 1-9. Ie the number of rows the editor jumps after a note is struck. A-(Z,X,C,V) Toggle voice 1-4 on/off A-MINUS (Main keyboard, Am. layout) Copy previous effect command and decrease its argument. A-PLUS (Main keyboard, Am. layout) Copy prev. fx cmd and increase its arg. A-\ Copy prev. fx cmd. C-A Toggle current voice on/off. C-C Copy block. C-D Clear block. C-E Expand track. C-F Toggle filter on/off. C-G Toggle AutoEcho on/off. C-I Paste buffer. C-K Clear to end of track. C-M Toggle MultiMode on/off C-P Paste buffer. C-Q Turn all voices on. C-R Restore "bookmarks". C-T Swap tracks. C-V Paste buffer. C-X Cut block. ARROW KEY OPERATION =================== UP Move cursor up. DOWN Move cursor down LEFT Move cursor left. RIGHT Move cursor right. S-UP Move cursor up 8 rows. S-DOWN Move cursor down 8 rows. S-LEFT Decrease position. S-RIGHT Increase position. C-LEFT Decrease sample number. C-RIGHT Increase sample number. A-LEFT Decrease current pattern number. A-RIGHT Increase current pattern number. NUMERIC KEYPAD (Not available on A600. ;-( ========================================== +-+-+-+-+ |1|2|3|4| +-+-+-+-+ |5|6|7|8| +-+-+-+-+ |9|A|B|C| +-+-+-+-+ |D|E|F|0| +-+-+-+ | | | | | +---+-+-+ ^ ^ | \_ Increase sample number by HEX 10. \_____ Decrease -"- 2 HOW TO MAKE MUSIC USING QUADRA COMPOSER ========================================= This is a chapter which describes how to make music. Those of you who have used NoiseTracker, or a clone, can skip this chapter, since Quadra Composer works the same way. 2.0 BASICS ========== Quadra Composer works with four voices (limited by the Amiga), which are represented by the four tracks you can see in the main note window. These four tracks of a certain length form a pattern. Up to 256 patterns can form a song, and finally, a song plus all samples form a module. 2.0.1 NOTES =========== The first space in every line of a track is reserved for the note. C#101000 \_/ \__ The note. The note range is from C-1 (lowest) to B 3 (highest). Each time the track finds a note when playing, it will play the sample connected to it, using the note frequency. But, it's not like a synthesizier, since the sample will not stop when you release the key. In keeps playing until the entire sample is played, or until you play another sample in the sample voice. If you want to cut a sample before it's completely played, you'll have to use the volume effect command (see chapter 2.1). 2.0.2 SAMPLE NUMBER =================== To each note there must be a sample number, so that Quadra Composer will know what sound to play. C#101000 \/ \__ The sample number. The sample number will automatically be written when typing a note. Using this little knowledge you can make your first modules. If you want to make the more advanced, check out the next chapter. 2.0.3 PATTERNS & POSITIONS ========================== When you've made some patterns, you can mix 'em together to a song, either by using the Pos. and Patt. gadgets, or by using the mixer. 2.1 EFFECT COMMANDS =================== The effect command is the last three (3) digits of each line of a track. | C 101xyz | ^^^^^^^^ \_/\/\_/____ Effect command \ \_______ Sample number \________ Note. 2.1.1 Command 0yz: ARPEGGIO ========================= Arpeggio is a rapid pitch change. The pitch changes between the played note and the notes Y resp. Z halftones higher. 2.1.2 Command 1yz: PITCH SLIDE, UP ================================ Slides the pitch up YZ halftones. The resulting pitch cannot be higher than the highest possible pitch (B 3). 2.1.3 Command 2yz: PITCH SLIDE, DOWN ================================== Slides the pitch down YZ halftones. The resulting pitch cannot be lower than the lowest possible pitch (C 1). 2.1.4 Command 3yz: TONE PORTAMENTO ================================ Slides the pitch up/down to played the note at YZ halftones per frame. The effect must be reactivated on each row. If YZ=00 then the last YZ will be used. | C 101000 | | C 201302 | | 00300 | | 00300 | | ... | When the desired pitch is reached, the effect will not do anything. 2.1.5 Command 4yz: VIBRATO ======================== Makes a vibrato effect on the sample played. The command must be reactivated on each row. Y is the speed of the vibrato and Z is the depth. If an argument is "0" then the previous value used will be used. | C 101445 | +-------------------------------------+ | 00406 | <--| Makes the vibrato deeper and deeper | | 00407 | +-------------------------------------+ | 00408 | | 00409 | 2.1.6 Command 5yz: VOLUME SLIDE + SUSTAINED TONE PORTAMENTO ========================================================= Adds a volume slide to a tone portamento. The portamento must be initialized with the [3yz] effect before this effect can be used. The Y argument represents the volume increase rate and Z the decrease. | C 101000 | +--------------------------------------+ | C 201305 | <--| Continues the portamento and slides | | 00501 | | the volume down | | 00501 | +--------------------------------------+ |... | 2.1.7 Command 6yz: VOLUME SLIDE + SUSTAINED VIBRATO ================================================= Similar to command [5yz], see above. The vibrato should be initialized before using this command. 2.1.8 Command 7yz: TREMOLO ======================== Creates a volume vibrato. The speed is set with the argument Y and the depth with Z. If an argument is "0" then the last value for that argument is used. 2.1.9 Command 8yz: NOT USED ========================= 2.1.10 Command 9yz: SET SAMPLE OFFSET =================================== Used only when a note is played, to skip a bit into the sample. The argument YZ is multiplied with hex 200 and that many bytes of the sample are skipped. | C 101923 | <--| Skips hex 23 * 200 = 4600 bytes | NOTE: This differs from the NT-format, where the offset was hex YZ*100. 2.1.11 Command Ayz: VOLUME SLIDE ============================== Slides the volume up at the speed set by Y or down at the speed set by Z. The effect must be reactivated on each row. | C 207A20 | +-----------------------+ | 00A20 | <--| Slides the volume up. | | ... | +-----------------------+ 2.1.12 Command Byz: POSITION JUMP =============================== Skips the rest of the current pattern (It's a good idea to pull the length down to save some bytes of memory...) and jumps to position hex YZ. NOTE: This differs from the NT-format, where the argument to this effect was given as a decimal number. 2.1.13 Command Cyz: SET VOLUME ============================ Set the volume for a channel. The argument YZ sets the new volume. The volume must be between hex 0 and 40. 2.1.14 Command Dyz: PATTERN BREAK =============================== Skips the rest of the current pattern (see command Byz) and the first YZ rows of the next pattern (YZ should not exceed the length of the next pattern). 2.1.15 Command Eyz: EXTENDED (E-)COMMANDS ======================================= The e-commands are explained below. 2.1.16 Command Fyz: SET SPEED/TEMPO ================================= Sets the speed of a pattern (and the ones that follow...) if the argument YZ is less than or equal to hex 1F or the tempo if YZ is higher than hex 1F. The speed is normally the number of picture frames or vertical blanks (1/50 second PAL or 1/60 second NTSC) to wait between each row of a pattern. The default speed is 06, ie 0.12 seconds (PAL) or 125 beats per minute. If the tempo is set QuadraComposer will switch from VBL timing (125 bpm, PAL) to CIA timing. The default tempo is hex 7D (125 bpm, again). The tempo rating assumes a default speed setting. TECHNOTE: If the tempo is set to anything else than 7D, then the level 6 CIA interrupt must be used. If the tempo is set high then the replay takes more time each frame (the replay interrupt also will get out of phase with the screen refresh, so worst case time consumption can get high (or at least unpredictable) even when using lower tempo, check the replay routine...). 2.1.17 EXTENDED COMMANDS ====================== 2.1.17.1 Command E0z: SET FILTER ============================== Used to switch the internal audio filter on or off. If Z is "0" the filter is switched on and if Z is "1" the filter is switched off. NOTE: Some old amiga's don't have this feature. 2.1.17.2 Command E1z: FINE PITCHSLIDE, UP ======================================= Slide the pitch up a little bit, Z is simply added to the pitch. 2.1.17.3 Command E2z: FINE PITCHSLIDE, DOWN ========================================= As above, but down. 2.1.17.4 Command E3z: SET GLISSANDO ================================= Turn glissando on (Z = "1") or off (Z = "0"). Glissando is used with portamento. If it is turned on, then the portamento will be done halftone by halftone, like "walking" up or down the piano. TECHNOTE: This effect can use up a lot of time, check the replay routine... 2.1.17.5 Command E4z: SET VIBRATO WAVEFORM ======================================== Simply selects the waveform used for vibrato effects. Z=0 Use sinewave (default) Z=1 Use ramp down Z=2 Use squarewave 2.1.17.6 Command E5z: SET FINETUNE VALUE ====================================== Sets the finetune value for a channel. The finetune can vary from -8 to 7 (using 2's complement, ie 0 to 7 are represented by the numbers 0 to 7, and -8 to -1 are represented by the numbers 8 to F). | C 101E5E | <--| Set the finetune value to -2 | 2.1.17.7 Command E6z: PATTERN LOOP ================================ Used for creating loops in patterns. First the first row of the loop must be defined, by using Z = 0, and then at the end of the loop, the number of "jump backs" are defined with Z > 0. Nested loops (inside each other) are not possible. | C 303E60 | <--| Beginning of the loop | | ... | | 00E64 | <--| The loop will be replayed 4 times, then | | continue | 2.1.17.8 Command E7z: SET TREMOLO WAVEFORM ======================================== Like command E4z, but sets waveform for tremolo instead. 2.1.17.9 Command E8z: NOT USED ============================ 2.1.17.10 Command E9z: RETRIG NOTE ================================ Plays the note every Z VBL's (see effect Fyz). Useful is you want to play the pattern slowly, but want say, a hihat playing rapidly. 2.1.17.11 Command EAz: FINE VOLUMESLIDE, UP ========================================= Simply adds the argument to the current volume of the channel. 2.1.17.12 Command EBz: FINE VOLUMESLIDE, DOWN =========================================== Simply subtracts the argument from the current volume. 2.1.17.13 Command ECz: NOTECUT ============================ Cuts the note after Z VBL's (see effect E9z), ie sets the volume to 00. 2.1.17.14 Command EDz: NOTE DELAY =============================== Waits Z VBL's, before playing the note. 2.1.17.15 Command EEz: NOT USED ============================= 2.1.17.16 Command EFz: PATTERN DELAY ================================== Delays the pattern Z VBL's. Useful for creating a short pause in the music. 2.1.18 EFFECTS THAT DIFFER FROM THE NT-FORMAT =========================================== Some effects differ slightly from the nt-format. These are effect 9yz, and effect Byz. These differences are autimagically converted when a module is loaded/saved in NT-format. APPENDIX A IFF EMOD FILE FORMAT ================================ The standard EMOD fileformat is using the standard IFF (not SMUS!) format. It was necessary to create a new fileformat, to be able to include all the new features (compared to the NT-fileformat), like: * 255x128 kb samples. * 256x256 rows named patterns. * 255 positions. * Better internal format for pattern data - 4 bits left per note for future expansion. The patterndata is put in the file row by row, 4 bytes for each note, and 16 bytes for each row: SampleNr NoteNr Empty Effect cmd. -------- -------- ---- ------------- 00000000 00000000 0000 0000-00000000 <--- Bits -------- -------- ---------- -------- Byte 0 Byte 1 Byte 2 Byte 3 The notenumber is a number from 0 to 35 which corresponds to a note (C 1 to B 3). To get the period you'll have to use a list. The following are the IFF chunks of the EMOD fileformat. If you want to add something new to the module like a long comment or a text, please make a new chunk. A properly made program should just ignore the unknown chunks. Type Size Description ~~~~~~~~~~~~~~~~~~~~~~~~~~ char 4 "FORM" long 4 Size of file from offset 8 *********** Infochunk ************ char 4 "EMOD" ;Extended Module char 4 "EMIC" ;Extended Module Info Chunk long 4 Size of chunk word 2 Version of IFF EMIC-chunk char 20 Name of song char 20 Composer byte 1 Tempo byte 1 Number of samples byte 1 Sample nr byte 1 Volume word 2 Samplelength in words char 20 Name of sample byte 1 Controlbyte bit 0=loop on/off byte 1 First 4 bits finetune word 2 Repeat in words ;Length to loop repeatpoint word 2 Replen in words ;Length of loop long 4 Offset to the sample from the very beginning of the file byte 1 Pad byte 1 Nr of patterns byte 1 Pattern nr byte 1 Length of pattern in rows - 1 char 20 Name of pattern long 4 Offset to the pattern from the beginning of the file byte 1 Pad byte 1 Nr of positions byte 1 Patternnumber byte 0 or 1 Extra byte to wordalign if necessary. ******** Pattern data chunk ********** char 4 "PATT" ;Patterndata long 4 Size of chunk byte 16 row 1 byte 16 row 2 byte 16 row 3... ******** Sample data chunk ********* char 4 "8SMP" ;8 - bit SaMPle long 4 Size of chunk byte ? Sampledata