QuadraComposer 1.00 User manual. ================================ DISTRIBUTION: You are hereby given permission to distribute the QuadraComposer.LhA archive, 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. 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. QC makes use of reqtools.library for the requesters. ReqTools is Copyright (c) Nico François. THE AUTHORS: * Bo Lincoln * SnailMail: Bo Lincoln Ryttargatan 70 S-731 52 KÖPING SWEDEN * Calle Englund * SnailMail: Calle Englund Nämndemansgården 10 S-582 38 LINKÖPING SWEDEN Email: c92caren@und.ida.liu.se 1 OPERATION OF QUADRA COMPOSER ============================== Some text that (probably) nobody will read anyway, describing the user interface of QuadraComposer follows... 1.0 GADGET TYPES (some...) ========================== The gadgets are not StyleGuide compliant, but we are working on a FULLY intuitionalized release (will probably NOT work on 1.2/1.3 though :) that will be more SG compliant... 1.0.1 UP/DOWN GADGET ==================== +--+ | /| |/ | +--+ Pressing the LMB over the up/down-wards pointing triangle will in/de-crease the value in the resessed box beside. If the RMB is pressed simutaneously, the rate of change will increase. 1.0.2 CYCLE GADGET ================== +---+ |/->| || | |\-/| +---+ Cycles through multiple choices then clicked on with LMB. 1.0.3 TEXT(STRING) GADGET ========================= A box with text in it. Click LMB to edit, [ENTER] finishes... 1.0.4 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 SCREEN OVERVIEW =================== The screen is divided in five main areas, which are described below. +-----------------------------------------------------------+ | TITLE BAR | +-------++--------------------------------------------------+ | || | | || | | SIDE || | | MENU || MAIN WINDOW | | || | | || | | || | | || | | || | | || | | || | | || | | || | | || | | || | | || | | || | | || | | || | | || | | || | +-------++--------------------------------------------------+ +--------------------------------++-------------------------+ | || | | TEXT FIELDS || SPECTROSCOPE | | || | +--------------------------------++-------------------------+ 1.1.1 TITLE BAR =============== Contains the standard system screen gadget(s) but also some information is present; +-------------------------------------+--+ | Quadra Composer x.yz a b c defg | | +-------------------------------------+--+ where x.yz is the version of Quadra Composer and: a -/M MULTI off/on b -/E AUTOECHO off/on c 0-9 EDITSKIP value d -/1 CHANNEL 1 off/on ... g -/4 CHANNEL 4 off/on 1.1.2 SIDE MENU =============== +-+-----+ The sidemenu field have two different operation modes, |Q| T | toggled between with the "Cycle" gadget "T". In both +-+-+---+ modes Quadra Composer can be exited by clicking the | a | b | gadget "Q". +---+---+ | c | d | All the gadgets "a" through "n" are mode dependent, and +---+---+ are described below. | e | f | +---+---+ | g | h | +---+---+ | i | j | +---+---+ +-++----+ |/|| k | +-++----+ +-++----+ |/|| l | +-++----+ +-++----+ |/|| m | +-++----+ +-++----+ |/|| n | +-++----+ 1.1.2.1 MODE 1: EDITOR MENU =========================== Gadget Function ----------------------- a Enter pattern editor b Enter sample editor c Enter file window d Enter track clipboard e Enter misc settings f Pop up "About" window g Cut to buffer h Copy to buffer i Paste buffer j Cut to bitbucket (clear) k Current position l Pattern at current position m Current sample number n Current pattern 1.1.2.2 MODE 2: PLAY/RECORD OPERATION ===================================== Gadget Function ----------------------- a Play module b Play pattern c Record module d Record pattern e Stop play/rec f Toggle edit on/off g-j As above k Tempo l VBL/CIA timing (VBL=Tempo 125) m Songlenght (# of positions used) n Pattern lenght (# of rows in current pattern) 1.1.3 TEXT FIELDS ================= There are four of these, from top to bottom; SONG NAME (used as default basename of the module when saving) PATTERN NAME (useful when mixing the patterns) SAMPLE NAME (used as default basename when saving) STATUS LINE (status of the last operation) 1.1.4 SPECTROSCOPE ================== The fun-to-look-at(tm) part of Quadra Composer (for us poor guys who can't create any music worth listening to anyway...) it's a combined spectrumanalyzer and a kind of oscilloscope. Toggles mode with a mouseclick. (The spec.analyzer is kind of "cheap" (no fft); but it works remarkably well ;) 1.2.1 PATTERN EDITOR ==================== The window is divided into four vertical areas, tracks, representing one audio channel each. RMB click toggles the channel on/off (indicated by the title bar). LMB click moves the cursor to selected point (row, note/effect). LMB drag marks a block. 1.3 KEYBOARD COMMANDS ===================== 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. TRANSPOSE (LEFT AMIGA+) ======================= Active sample All samples Track Pattern Track Pattern 1 2 3 4 Up one half note. Q W E R Down one half note. A S D F Up one octave Z X C V Down one octave ARROW KEY OPERATION =================== UP Move cursor up. DOWN Move cursor down LEFT Move cursor left. RIGHT Move corsor 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 QUADRA COMPOSER EFFECT COMMANDS ================================= The effect command is the last three (3) digits of each row of a track. | C 101xyz | ^^^^^^^^ \|/|| \\____Effect command | \_______Sample number \_________Note. 2.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.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.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.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.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.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.7 Command 6yz: VOLUME SLIDE + SUSTAINED VIBRATO ================================================= Similar to command [5yz], see above. The vibrato should be initialized before using this command. 2.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.9 Command 8yz: NOT USED ========================= 2.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.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.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.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.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.15 Command Eyz: EXTENDED (E-)COMMANDS ======================================= The e-commands are explained below. 2.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 consumtion can get high (or at least unpredictable) even when using lower tempo, check the replay routine...). 2.17 EXTENDED COMMANDS ====================== 2.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.17.2 Command E1z: FINE PITCHSLIDE, UP ======================================= Slide the pitch up a little bit, Z is simply added to the pitch. 2.17.3 Command E2z: FINE PITCHSLIDE, DOWN ========================================= As above, but down. 2.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.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.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.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 eachother) are not possible. | C 303E60 | <--| Beginning of the loop | | ... | | 00E64 | <--| The loop will be replayed 4 times, then | | continue | 2.17.8 Command E7z: SET TREMOLO WAVEFORM ======================================== Like command E4z, but sets waveform for tremolo instead. 2.17.9 Command E8z: NOT USED ============================ 2.17.10 Command E9z: RETRIG NOTE ================================ Playes 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.17.11 Command EAz: FINE VOLUMESLIDE, UP ========================================= Simply adds the argument to the current volume of the channel. 2.17.12 Command EBz: FINE VOLUMESLIDE, DOWN =========================================== Simply subtracts the argument from the current volume. 2.17.13 Command ECz: NOTECUT ============================ Cuts the note after Z VBL's (see effect E9z), ie sets the volume to 00. 2.17.14 Command EDz: NOTE DELAY =============================== Waits Z VBL's, before playing the note. 2.17.15 Command EEz: NOT USED ============================= 2.17.16 Command EFz: PATTERN DELAY ================================== Delays the pattern Z VBL's. Useful for creating a short pause in the music. 2.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.