@DATABASE OctaMED Soundstudio Help

@REM Quick Guide: Appendices

@$VER: 2.0pre (24.07.96) for Soundstudio V1.01
@AUTHOR Ed Wiles (e.d.wiles@dur.ac.uk)
@HELP OctaMED.guide/Help


@NODE app_ocarco "OctaMED ARexx Commands"
@TOC OctaMED.guide/app
Select a set of commands. Commands are only described briefly; see
the programmer's OctaMED_ARexx.doc for full details.

Version 1 commands are compatible with OctaMED V6 and above.
Version 2 commands are new to the Soundstudio. To determine the
available version, use the VE_OCTAMEDREXX command.

* Version 1 commands
	@{"     Option names     " LINK app_ocarco_v1_1}	Use with e.g. OP_GET/SET
	@{"     Window names     " LINK app_ocarco_v1_2}	Use with WI commands
	@{"  VE and WI commands  " LINK app_ocarco_v1_3}	VErsion, WIndow
	@{"     PL commands      " LINK app_ocarco_v1_4}	PLaying
	@{"     IN commands      " LINK app_ocarco_v1_5}	INstrument
	@{"     SA commands      " LINK app_ocarco_v1_6}	SAmple editor
	@{"     SG commands      " LINK app_ocarco_v1_7}	SonG
	@{"     OP commands      " LINK app_ocarco_v1_8}	OPtions
	@{"     SY commands      " LINK app_ocarco_v1_9}	SYnthsound editor
	@{" ED commands (part 1) " LINK app_ocarco_v1_10}	EDiting: Playing sequence / section list
	@{" ED commands (part 2) " LINK app_ocarco_v1_11}	EDiting: Others
	@{"  RN and MM commands  " LINK app_ocarco_v1_12}	RaNge and MIDI Message editor

* Version 2 commands
	@{" New option names  " LINK app_ocarco_v2_1-2 0}
	@{" New windows names " LINK app_ocarco_v2_1-2 13}
	@{"    New commands   " LINK app_ocarco_v2_3}
	@{" Changed commands  " LINK app_ocarco_v2_4}
@ENDNODE


@NODE app_ocarco_v1_1 "OctaMED ARexx Commands / Option Names (Version 1)"
@TOC app_ocarco
AddPaths		  AdvCurs		    AdvLine
AdvTrk			  AdvVoice		    AudioChannels
AuraActive		  AuraFixedRate 	    AuraMinPer
AuraSingleCh		  AutoFlush		    AutoFreeze
AutoTerminate		  Chord 		    CloseWB
Compression		  CreateIcons		    CreateIconsForSamples
DefHQMode		  DefLPB		    DefSlowHQ
DefTempo		  DefTempoBPM		    DefTPL
DefVolMode		  DestrSpc		    Edit
ExpShrk_Factor		  F6_F10_Highlights	    FollowSeq
FourBitPalette		  HalveLoadedSamples	    HelpViewer
HtoB			  InstCtrlStrLoad	    KeymapActive
KeypadMap		  KeypadMode		    KillBx7B00
KillNOff		  LMB			    MIDIActive
MIDIActSensing		  MIDIExtSync		    MIDIInput
MIDIReadKeyUps		  MIDIReadVolume	    MIDISendOutInput
MIDISendSync		  MMB			    OverwriteReq
Palette_WB		  PolyPlay		    PlayAfterLoading
PPBuffer		  PPEfficiency		    RemPaths
ReqTools		  ResetChord		    RMB
RoundSpc		  SaveAllInfo		    SaveInstruments
SaveMultiMod		  SaveNotation		    SaveTimer
SaveTimerOpenWin	  ShowUnusedBlocks	    SizeOnlyWindowZoom
SMFL_CmdPage_ChAftertouch SMFL_CmdPage_ChannelVol   SMFL_CmdPage_MIDIPreset
SMFL_CmdPage_ModWheel	  SMFL_CmdPage_Pan	    SMFL_CmdPage_Pitchbend
SMFL_CmdPage_Tempo	  SMFL_CmdPage_Velocity     SMFL_DontIntermix
SMFL_LinesPerBlock	  SMFL_MaxTracks	    SMFL_OffsetAdjust
SMFL_Resolution 	  SmpEdCrNoise_Level	    SmpEdDensity
SmpEdDigiWVoice 	  SmpEdEcho_Num 	    SmpEdEcho_Rate
SmpEdEcho_VolDecr	  SmpEdFastGfx		    SmpEdFB_Averaging
SmpEdFB_Distance	  SmpEdFreehand 	    SmpEdMaxVolClip
SmpEdMinZoom		  SmpEdMix_Dest 	    SmpEdMix_Source
SmpEdPitch		  SmpEdPitchChg_AntiAlias   SmpEdPitchChg_Dest
SmpEdPitchChg_Source	  SmpEdPitchInHz	    SmpEdPixelDisp
SmpEdVolChg_End 	  SmpEdVolChg_Start	    SmpEdVolClip
SmpEdZoomRngCent	  SmpEd_LoopPoint	    Space
SpaceIsDel		  SpaceVal		    SpreadVal
TempoOpChangeCmds	  Toccata_LevelDisp	    Transpose_InstSlots
WarnDiskFull

ALSO SEE
	@{" Version 2 Option Names " LINK app_ocarco_v2_1-2 0}
@ENDNODE


@NODE app_ocarco_v1_2 "OctaMED ARexx Commands / Window Names (Version 1)"
@TOC app_ocarco
AURAOPTIONS		MOUSEOPTIONS		SA_DISPLAYSETTINGS
BLOCKLIST		NEW			SA_ECHO
BLOCKPROPERTIES 	NOTEECHO		SA_FILTERBOOST
EDITOR			PALETTE 		SA_MIX
EQBAR			PLAYINGSEQ		SECTIONLIST
EQOSC			PROGKEYS		SMFLOADOPTIONS
EXPANDSHRINK		PRINTOPTIONS		SONGANNOTATION
FONT			SAMPLEEDITOR		SONGOPTIONS
HIGHLIGHTOPTIONS	SAMPLELIST		SONGSELECT
INFORMATION		SAMPLELISTEDITOR	SPREADNOTES
INSTLOAD		SAVEOPTIONS		SYNTHSOUNDEDITOR
INSTPARAMS		SAVETIMER		SY_PROGRAM
INSTTYPE		SAVE_PPSETTINGS 	SY_STRETCH
INPUTMAP		SAVE_XPKSETTINGS	SY_VOLUME
KEYBOARDOPTIONS 	SA_ADDWORKSPACE 	TEMPO
KEYBOARDSHORTCUTS	SA_ADJUSTY		TEMPOOP
MAINCONTROL		SA_CHANGEPITCH		TOCCATA_CAPTURE
MIDIINPUTCHANNEL	SA_CHANGEVOLUME 	TRACKVOLUMES
MIDIMESSAGEEDITOR	SA_CHORDCREATION	TRANSPOSE
MISCOPTIONS		SA_NOISE

ALSO SEE
	@{" Version 2 Window Names " LINK app_ocarco_v2_1-2 13}
@ENDNODE


@NODE app_ocarco_v1_3 "OctaMED ARexx Commands / VE And WI Commands (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

*VE_OCTAMED
 Returns OctaMED version number.

*VE_OCTAMEDREXX
 Returns version number of OctaMED ARexx implementation.

 WI_ACTIVATE WINDOW/A
 Activates the specified window.

 WI_CHANGEBOX WINDOW/A,X/N,Y/N,W=WIDTH/N,H=HEIGHT/N
 Changes a window's dimensions.

 WI_CLOSE WINDOW/A
 Closes a window.

*WI_ISOPEN WINDOW/A
 Tests if the specified window is currently open.

 WI_OCTAMEDTOBACK
 Sends the OctaMED screen to back.

 WI_OCTAMEDTOFRONT
 Brings the OctaMED screen to front.

 WI_OPEN WINDOW/A
 Open a window. See @{" Window Names " LINK app_ocarco_v2_1-2 0} for a list of supported names.

 WI_OPENSHELL
 Opens a new command shell window. Can be more than one open.

*WI_REQUEST BODYTEXT/A,GADGETTEXT/A
 Displays a requester with one or more gadgets. GADGETTEXT
 specifies the gadget labels, separated by "|". Result 0 for
 rightmost choice; 1, 2.. for other choices (left to right)

 WI_SHOWSTRING MESSAGE/F
 Displays a message on OctaMED's title bar. If no message is
 specified, resets the title bar to its default state.

 WI_TOBACK WINDOW/A
 Moves specified window behind all other windows.

 WI_TOFRONT WINDOW/A
 Moves specified window in front of all other windows.

 WI_ZIP WINDOW/A
 Shrinks or unshrinks the specified window.
@ENDNODE


@NODE app_ocarco_v1_4 "OctaMED ARexx Commands / PL Commands (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

 PL_CONTBLOCK
 Play block (continue from current position).

 PL_CONTSONG
 Play song (continue from current position).

*PL_GETSTATE
 Get player's current state. Returns STOPPED/PLAYSONG/PLAYBLOCK.

 PL_JUMPTOTIMERZERO
 Jumps to the position where the timer was last reset.

 PL_NEXTALPHAKEYCHANGESINSTR
 "Alpha-enter" facility.

 PL_PLAYBLOCK
 Play block (from the beginning).

 PL_PLAYSONG
 Play song (from the beginning).

 PL_PLAYSTATECOMMAND CMD,ELSE
 If playing, executes CMD; if not, ELSE.

 PL_RESETMIDI
 Resets MIDI pitchbenders, mod. wheels and instrument presets.

 PL_RESETTIMER
 Resets the play timer.

 PL_STOP
 Stop playing.
@ENDNODE


@NODE app_ocarco_v1_5 "OctaMED ARexx Commands / IN Commands (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

 IN_FLUSH CURR=CURRENT/S,ALL/S,UN=UNUSED/S
 Flush one or more instruments.

*IN_GETFINETUNE
 Returns current instrument's finetune value (-8 - 7).

*IN_GETHOLD
 Returns Hold value.

*IN_GETDECAY
 Returns Decay value.

*IN_GETDEFAULTPITCH
 Returns default pitch (note number, 0 = none).

*IN_GETEXTENDEDPRESET
 Returns 0 if Extended Preset off, 1 if on.

*IN_GETMIDICHANNEL
 Returns instrument's MIDI channel (1 - 16, 0 = none).

*IN_GETMIDIPRESET
 Returns MIDI preset.

*IN_GETNAME
 Returns current instrument's name.

*IN_GETNUMBER
 Returns number of current instrument (1 - 63).

*IN_GETNUMOCTAVES
 Returns number of octaves in the current sample (1 - 7). Returns 0
 if the instrument is not of type SAMPLE.

*IN_GETOUTPUT
 Returns current sample's output device (AMIGA/AURA/TOCCATA).

*IN_GETSUPPRESSNOTEOFF
 Returns 0 if Suppress Note Off is off, 1 if on.

*IN_GETTRANSPOSE
 Returns transpose value (-128 to 127).

*IN_GETTYPE
 Returns EMPTY/SAMPLE/SYNTH/HYBRID/EXTSAMPLE/SAMPLE16/UNKNOWN.

*IN_GETVOLUME
 Instrument's volume (0 - 64).

*IN_ISSLOTUSED SL=SLOT/N
 Returns 1 if the specified instrument slot (1-63) is used, 0 if
 empty. Caution: Could be a MIDI instrument even if empty. Check
 the MIDICh value.

*IN_ISSTEREO
 Returns 1 if sample in stereo, 0 if mono (or not a sample)

 IN_LOAD NAME/A,NOSL=NOSLIST/S,CN=COMPARENAMES/S
 Loads an instrument from disk. NOSLIST = don't search the sample
 list; COMPARENAMES = don't load if NAME and the name of the
 current instrument are equal.

 IN_LOADREQ
 Opens the Load Instruments requester.

 IN_MONO
 Convert this sample to mono.

 IN_SAVE NAME,RAW/S,EIGHTSVX/S,MAUD/S,AIFF/S,WAVE/S
 Saves sample. NAME should be a full path name. Default format =
 EIGHTSVX or MAUD.

 IN_SAVEREQ RAW/S,EIGHTSVX/S,MAUD/S,AIFF/S,WAVE/S
 Opens save requester for saving in the specified format (default
 EIGHTSVX).

 IN_SELECT INS/N,NEXT/S,PREV/S,LAST/S,LU=LASTUSED/S,NEXTFREE/S,PREVFREE/S,
	   MINUS16/S,PLUS16/S,PREVFOUND=NEARCURSOR/S,SWITCH/S
 Changes current instrument number. e.g. INS 3 = go to instrument
 3; NEXTFREE / PREVFREE = next/previous free instrument slot;
 MINUS16 / PLUS16 = go back/forward 16 instruments; PREVFOUND
 selects instrument nearest cursor; SWITCH toggles first inst no.
 (e.g. 05 -> 15)

 IN_SETDEFAULTPITCH NO=NOTE/N/A
 Sets instrument's default pitch.

 IN_SETFINETUNE FT=FINETUNE/N/A
 Sets finetune (-8 to 7).

 IN_SETHOLDDECAY H=HOLD/N,D=DECAY/N
 Sets hold and/or decay value(s).

 IN_SETMIDICHANNEL CH=CHANNEL/N/A
 Set instrument's MIDI channel (0 - 16).

 IN_SETMIDIPRESET PR=PRESET/N/A,EXT=EXTENDED/S
 Sets MIDI preset. EXTENDED = use extended preset.

 IN_SETNAME NAME/A
 Sets current instrument's name (up to 39 characters).

 IN_SETNUMOCTAVES OCTS/N/A
 Set number of octaves (1 - 7). Only valid if the instrument type
 is SAMPLE.

 IN_SETOUTPUT AMIGA/S,AURA/S,TOCCATA/S
 Sets instrument's output device.

 IN_SETSUPPRESSNOTEOFF ON/S,OFF/S,TOGGLE/S
 Set/clear/toggle Suppress NoteOff.

 IN_SETTRANSPOSE TR=TRANSPOSE/N/A
 Sets transpose value (-128 to 127).

 IN_SETTYPE SAMPLE/S,EXTSAMPLE/S,SYNTHETIC/S,HYBRID/S,SAMPLE16/S
 Changes instrument type. Not all type changes are allowed (see
 OctaMED_ARexx.doc).

 IN_SETVOLUME VOL/N,INCREASE/S,DECREASE/S
 Sets instrument's volume (0-64), or optionally INCREASE or DECREASE it
 by one.

 IN_STEREO
 Convert this sample to stereo.

 IN_SWAPINSTRUMENTS SLOT1/N/A,SLOT2/N/A
 Swaps the two given instruments. It only exchanges the
 instruments; song data is not modified.
@ENDNODE


@NODE app_ocarco_v1_6 "OctaMED ARexx Commands / SA Commands (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

 SA_ADJUSTYRANGE S=SHIFT/N/A
 Adjusts range about x-axis (zero line). SHIFT is an 8-bit adjust
 value.

 SA_BOOST AVG=AVERAGING/N,D=DISTANCE/N
 Boosts range. If either or both values aren't supplied, the values
 in the Filter/Boost window are used.

 SA_BUFFERTOSAMPLE
 Copies the copy buffer to the sample.

 SA_CENTRALIZESAMPLE
 Centralizes entire sample about x-axis.

 SA_CHANGEPITCH S=SOURCE/N,D=DEST/N,AA=ANTIALIAS/S
 Changes current sample's pitch. SOURCE and DEST are period values.
 If not supplied, uses values in Change Pitch window. ANTIALIAS
 turns antialiasing on (otherwise off).

 SA_CHANGEVOL S=START/N,E=END/N,CLIP/S,NOCLIP/S
 Changes range volume. START and END are percentage values.
 CLIP/NOCLIP set Change Volume window's Check Clip gadget,
 otherwise current setting is used. To maximize the volume, use
 SA_CHANGEVOL 999 999 NOCLIP.

 SA_CHANGESIZE SIZE/N/A,C=CLEAR/S,RE=RETAINATEND/S,REQ/S
 Changes current sample's size. By default, retains existing sample
 at the start. CLEAR = entire sample cleared, RETAINATEND = retain
 at end, REQ = request user.

 SA_CHOPRANGE
 Chops the selected range.

 SA_CLEARRANGE
 Clears the selected range.

 SA_COPYRANGE
 Copies the selected range to the copy buffer.

 SA_CREATECHORD N=NOTES/N/M/A,FV=FULLVOL/S,NFV=NOFULLVOL/S,ET=ERASETRAIL/S,
		NET=NOERASETRAIL/S
 Creates chord of given notes. NOTES = chord's note numbers (up to
 4 can be given). FULLVOL/NOFULLVOL override Chord Creation's Full
 Volume; ERASETRAIL/NOERASETRAIL override Erase Trailing Notes. For
 example, to create a three-note major chord: SA_CREATECHORD 1 5 8

 SA_CREATENOISE L=LEVEL/N
 Adds noise to the selected range.

 SA_CUTRANGE
 Cuts the selected range.

 SA_DELRANGE
 Erases the selected range.

 SA_ECHO NUM/N,R=RATE/N,VD=VOLDECR/N
 Creates echoes.

 SA_ERASE TS=TOSTART/S,TE=TOEND/S,BL=BEFORELOOP/S,AL=AFTERLOOP/S
 Erases part of current sample. TOSTART = Range start to sample
 start; TOEND (default) = Range end to sample end; BEFORELOOP =
 Loop start to sample start; AFTERLOOP = Loop end to sample end.

 SA_FILTER AVG=AVERAGING/N,D=DISTANCE/N
 Filters range.

*SA_GETBUFFERLENGTH
 Returns copy buffer size (0 if empty).

*SA_GETDISPLAYCHANNEL
 Returns currently displayed channel of a stereo sample
 (LEFT/RIGHT/BOTH).

*SA_GETDISPLAYSIZE
 The size of the currently displayed part of the sample.

*SA_GETDISPLAYSTART
 Position of the display start (from the sample start).

*SA_GETLOOPLENGTH
 Returns the length of the loop.

*SA_GETLOOPSTART
 Returns the beginning of the loop.

*SA_GETLOOPSTATE
 Returns 1 if loop is on, 0 if off.

*SA_GETRANGEEND
 Returns the range end position.

*SA_GETRANGESTART
 Returns the range start position.

*SA_GETSAMPLE O=OFFSET/N/A
 Returns the sample value at byte number OFFSET. OFFSET range is 0
 to (SAMPLELENGTH-1). Sample value always given in 16-bit, even for
 8-bit samples (-32768 to 32767).

*SA_GETSAMPLELENGTH
 Returns the length of the current sample.

 SA_INVERTRANGE
 Flips the selected range upside down.

 SA_MIX SL=SOURCELEVEL/N,DL=DESTLEVEL/N
 Mixes copy buffer with range.

 SA_MONITOR AS=ALLOWSAMPLING/S
 Starts monitoring. Only the user can close the monitoring area.
 ALLOWSAMPLING = like clicking Digitize.

 SA_PASTE OW=OVERWRITE/S
 Pastes buffer at Range Start. Will insert unless OVERWRITE
 specified.

 SA_PLAY D=DISPLAY/S,R=RANGE/S,CB=CBUFF/S,LO=LOOP/S,TU=TUNING/S
 Plays the display / range / loop / tuning tone.

 SA_RANGE S=START/N,E=END/N,A=ALL/S,LO=LOOP/S
 Sets range. START / END = Range Start / End values. ALL ranges
 whole sample, LOOP ranges loop.

 SA_RANGETOSYNTHED
 Copies the range to the synth editor wave buffer.

 SA_REFRESH
 Refreshes the sample display (see SA_SETSAMPLE).

 SA_REMUNUSEDSPACE
 Removes unused space from both ends of the sample.

 SA_REVERSERANGE
 Reverses the selected range.

 SA_SAMPLETOBUFFER
 Copies the whole sample to the copy buffer.

 SA_SCROLLDISPLAY L=LEFT/S,R=RIGHT/S,STEP/N
 Scrolls the waveform display LEFT or RIGHT. STEP is the scroll
 step size, as a percentage of the display (for example, 100
 scrolls one displayful). Default is 50%.

 SA_SETDISPLAYCHANNEL BOTH/S,L=LEFT/S,R=RIGHT/S
 Change stereo display mode.

 SA_SETLOOP S=START/N,L=LENGTH/N,KE=KEEPEND/S,R=RANGE/S,D=DISPLAY/S,
	    SA=SAMPLE/S
 Sets the loop. START/LENGTH = Loop Start/Length. If only START
 given, length is unchanged unless KEEPEND set (keeps the end
 position intact). RANGE/DISPLAY/SAMPLE loops the
 range/disp./sample.

 SA_SETLOOPSTATE ON/S,OFF/S
 Turns the loop on or off.

 SA_SETSAMPLE O=OFFSET/N/A,V=VALUE/N/A
 For editing the actual sample waveform. Sets the sample value at
 byte number OFFSET. OFFSET range is 0 to (SAMPLELENGTH-1). Sample
 value should always be given in 16-bit, even for 8-bit samples
 (-32768 to 32767). Call SA_REFRESH to refresh display.

 SA_SHOW S=START/N,L=LENGTH/N,R=RANGE/S,A=ALL/S,LO=LOOP/S
 Sets the display to the specified part of the sample. START/LENGTH
 specify absolute bytes; RANGE/LOOP/ALL shows the range/loop/sample.

 SA_SWAPBUFFERWITHSAMPLE
 Swaps the copy buffer with the sample.

 SA_ZOOM IN/S,OUT/S
 Zooms in/out (havling/doubling the display size).
@ENDNODE


@NODE app_ocarco_v1_7 "OctaMED ARexx Commands / SG Commands (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

 SG_CLEARALLSONGS
 Clears all songs (without confirmation).

 SG_CLEARCURRENTSONG
 Clears the current song.

 SG_DELETESONG CURRENT=HERE/S,LAST/S
 Deletes CURRENT (default) or LAST song of a multi-module. Has no
 effect if only one song exists.

 SG_DISCARDANNOTEXT
 Discards the long annotation text (if it exists).

 SG_FORGETMODIFICATIONS
 After using this command, OctaMED thinks there have been no
 changes since song was last saved - careful! (See SG_ISMODIFIED)

*SG_GETANNOSTRING
 Returns the current (short) annotation string.

*SG_GETCHANNELMODE
 Returns the current channel mode (4 - 8).

*SG_GETCURRENTSONGNUMBER
 Returns current song number (1 - NUMBEROFSONGS).

*SG_GETFILESIZE MMD2/S,MMD1/S,MMD0/S,SMF0/S,MULTIMOD/S,CURRSONG/S
 Calculates and returns the unpacked file size of the multi-module
 (default) or the current song in the desired file format.

*SG_GETFILTER
 Returns the state of Audio Filter Active (1 or 0).

*SG_GETHQ
 Returns the state of High Quality Mode (1 or 0).

*SG_GETMASTERVOL
 Returns the master volume (1 - 64).

*SG_GETNAME
 Returns the name of the current song (a string).

*SG_GETNUMBEROFSONGS
 Returns the total number of songs.

*SG_GETPLAYTRANSPOSE
 Returns the play transpose value (-12 - 12).

*SG_GETSLIDEMODE
 Returns the slide mode (NO1ST/STD).

*SG_GETTEMPO
 Returns the main SPD or BPM tempo (Tempo slider).

*SG_GETTEMPOLPB
 Returns the Lines per Beat value (only used in BPM mode).

*SG_GETTEMPOMODE
 Returns the current tempo mode (SPD/BPM).

*SG_GETTEMPOTPL
 Returns the Ticks Per Line value (a.k.a. secondary tempo).

*SG_GETTRACKVOL TRACK/N/A
 Returns the track volume (1 - 64) of the specified track (0 - 63).

*SG_GETVOLMODE
 Returns the current volume mode (HEX/DEC).

 SG_GOTOSONG SONGNUM/N,NEXT/S,PREV/S,LAST/S,NEXTORAPPEND/S
 Selects a song. SONGNUM = song number; NEXT/PREV = next/previous
 song; LAST = last song. NEXTORAPPEND = NEXT with requester to add
 new song if current is last.

*SG_ISMODIFIED
 Returns a non-zero value if the song has been modified since it
 was last loaded or saved. Otherwise returns 0.

*SG_ISTRACKON TRK=TRACK/N
 Returns the on/off (1/0) state of the specified track. If track
 not specified, current track is assumed.

*SG_ISTRACKSELECTED TRK=TRACK/N
 Returns the selected/deselected (1/0) state of the specified
 track. If track unspecified, current track is assumed.

 SG_LOAD NAME,FORCE/S
 Loads song into memory. IF NAME omitted, opens file requester.
 Returns an error if song modified, unless FORCE is set.

 SG_LOADANNOTEXT NAME
 Loads annotation text file NAME (or opens requester).

 SG_NEWSONG HERE/S,LAST/S
 Adds new song at curr. pos. (HERE) or after LAST.

 SG_SAVE NAME,FULLNAME/K,MMD2/S,MMD1/S,MMD0/S,SMF0/S,EXEC/S,MULTIMOD/S,
	 CURRSONG/S
 Saves current song (CURRSONG) or multi-module (MULTIMOD, default)
 in the given format (MMD2/MMD1/MMD0/SMF0/EXEC). Saves under name
 NAME (if given) using current save path (see SG_SETSAVEPATH).
 FULLNAME = save path + name.

 SG_SAVEANNOTEXT NAME
 Saves annotation text to NAME (or opens requester).

 SG_SETANNOSTRING STRING/F
 Sets/clears (if no STRING) short anno string.

 SG_SETCHANNELMODE MODE/N/A
 Sets the current channel mode (4 - 8).

 SG_SETFILTER ON/S,OFF/S
 Sets the state of Audio Filter Active (1 or 0).

 SG_SETHQ ON/S,OFF/S
 Sets the state of High Quality Mode (1 or 0).

 SG_SETMASTERVOL VOL/N/A
 Sets the master volume (1 - 64).

 SG_SETNAME NAME/A/F
 Sets the name of the current song.

 SG_SETPLAYTRANSPOSE TRANSP/N/A
 Sets the play transpose (-12 - 12).

 SG_SETSAVENAME NAME/A
 Sets the current project's default save filename. But use the next
 command to set the save path.

 SG_SETSAVEPATH PATH/A
 Sets the default save file name and save path. You should specify
 the volume name, the directory and the filename.

 SG_SETSLIDEMODE STD/S,NO1ST/S
 Sets the slide mode.

 SG_SETTEMPO BPM=SPD/N,TPL/N,LPB/N
 Sets the current tempo.

 SG_SETTEMPOMODE SPD/S,BPM/S
 Sets the tempo mode (BPM is now recommended).

 SG_SETTRACKSTATE TRK=TRACK/N/A,ON/S,OFF/S,TOGGLE/S,SEL/S,DESEL/S,
		  TOGGLESEL/S
 Sets the state of the specified track. ON/OFF/TOGGLE = track
 playing status; other switches = selected state.

 SG_SETTRACKSTATES ON/S,OFF/S
 Sets all tracks ON or OFF.

 SG_SETTRACKVOL TRACK/N/A,VOL/N/A
 Sets TRACK's (0-63) track volume (1-64).

 SG_SETVOLMODE DEC/S,HEX/S
 Sets the volume mode (DECimal or HEX).

 SG_SHOWFREEMEMORY
 Displays free memory on the title bar (used for Ctrl-F).

 SG_TEMPO_DECREASE TPL/S
 Decreases the Tempo (or TPL if set) slider.

 SG_TEMPO_INCREASE TPL/S
 Increases the Tempo (or TPL if set) slider.

 SG_VOLCONVERT TOHEX/S,TODEC/S,REQ/S
 Converts the volume commands of the song. TOHEX = dec -> hex;
 TODEC = hex -> dec; REQ asks the user.
@ENDNODE


@NODE app_ocarco_v1_8 "OctaMED ARexx Commands / OP Commands (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

*OP_GET OPT/A
 Returns specified option's current value. (See part D.1) See docs
 on disk for returned value details.

*OP_GETKEYBOARDOCT
 Returns current octaves: 0 = 1+2, 1 = 2+3, 2 = 3+4 etc.

 OP_LOADKEYBOARDSHORTCUTS NAME/A
 Loads shortcut file (NAME = full path).

 OP_LOADSETTINGS NAME/A
 Loads settings file (NAME = full path name).

 OP_MULTICMD CMD/M
 Multiple commands. You can't use commands which need spaces in
 their parameters (even with quotes).

 OP_REPEATCMD TIMES/N,CMD/F
 Repeats command CMD the given number of times. Can use with
 OP_MULTICMD to repeat a sequence of commands.

 OP_SAVEKEYBOARDSHORTCUTS NAME/A
 Saves shortcut file (NAME = full path).

 OP_SET OPT/A,VAL/N,ON/S,OFF/S,TOGGLE/S
 Changes specified option's value or state. ON/OFF/TOGGLE affect
 check boxes and 'toggling' menu items; VAL affects other options.
 Make sure the value you give is valid!!

 OP_SETKEYBOARDOCT OCT/N,FKEY/K/N
 Sets current edit octaves. OCT = 1 - 9 (1 = 1+2, 2 = 2+3 etc.) or
 use FKEY 1 - 5 corresponds to key F1 - F5.

 OP_TOGGLEBETWEEN OPT/A,VAL1/N/A,VAL2/N/A
 Toggles options between two possible values (not check boxes /
 toggling menu items).

 OP_UPDATE ON/S,OFF/S
 Turns Editor and Information updating on/off.
@ENDNODE


@NODE app_ocarco_v1_9 "OctaMED ARexx Commands / SY Commands (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

 SY_ADDWAVES
 Adds the right waveform to the left one.

 SY_CHANGEVOL VAL/N/A
 Changes range volume (VAL = percentage of original).

 SY_CLEARRANGE
 Clears range.

 SY_CLEARWAVE
 Clears current waveform.

 SY_COPYRANGE
 Copies range to the right waveform.

 SY_COPYWAVE TOTEMP/S,FROMTEMP/S
 Copies waveform (TOTEMP = right to left).

 SY_CUTRANGE
 Cuts the selected range.

 SY_DELPROGCOMMAND VOL/S,WF/S
 Deletes entry from VOLume or WaveForm seq.

 SY_DELWAVE L=LAST/S
 Deletes current waveform (unless LAST specified).

 SY_DOUBLERANGE
 Doubles range.

*SY_GETNUMBEROFWAVES
 Returns number of waveforms in current synthsound.

*SY_GETPROGCOMMAND O=OFFSET/N/A,VOL/S,WF/S
 Returns an sequence entry. OFFSET specifies the position in either
 the VOLume or WaveForm (pitch) sequence.

*SY_GETPROGCURSORX
 Returns the horizontal cursor position (0 - 5).

*SY_GETPROGLENGTH VOL/S,WF/S
 Returns length of VOL or WF sequence.

*SY_GETPROGLINE
 Returns current line number. (May exceed program length.)

*SY_GETPROGSPEED VOL/S,WF/S
 Returns program (= sequence) execution speed.

*SY_GETSAMPLE O=OFFSET/N/A
 Returns a sample value from the current waveform at position
 OFFSET (-32768 to 32767 in 16-bit even though possibly 8-bit!).

*SY_GETSELECTEDWAVE
 Returns selected wave (0 = left, 1 = right).

*SY_GETWAVELENGTH
 Returns length of current waveform (2 to 128, even number).

*SY_GETWAVENUM
 Returns the number of the currently selected wave.

 SY_GOTOPROGLINE L=LINE/N/A
 Moves to specified sequence line.

 SY_GOTOWAVE WAVE/N,NEXT/S,PREV/S
 Moves to specified waveform.

 SY_MIXWAVES
 Mixes the right waveform to the left.

 SY_MOVEPROGCURSOR POS/N,LEFT/S,RIGHT/S,UP/S,DOWN/S,FKEY/K/N
 Moves sequence cursor. POS = horizontal position 1 - 5; FKEY 0 =
 F6, 1 = F7 etc.

 SY_NEW
 Creates a new synthsound.

 SY_NEWWAVE H=HERE/S
 Creates new waveform (adds to end unless HERE given).

 SY_NOISE
 Sets the current waveform to the Noise preset.

 SY_PASTERANGE
 Pastes the right waveform to the left.

 SY_PULSE
 Sets the current waveform to the Pulse preset.

 SY_RAMPDOWN
 Sets the current waveform to the Ramp Down preset.

 SY_RAMPUP
 Sets the current waveform to the Ramp Up.

 SY_RANGE S=START/N,E=END/N,A=ALL/S
 Sets the range.

 SY_REVERSERANGE
 Reverses the selected range.

 SY_SETPROGRAM PROGRAM/M/A,VOL/S,WF/S,INS=INSERT/S
 Enters a VOL or WF seq. Entire sequence is set unless INSERT
 given. (See OctaMED_ARexx.doc for more.)

 SY_SETPROGSPEED VOL/K/N,WF/K/N
 Sets sequence(s) execution speed.

 SY_SETSAMPLE O=OFFSET/N/A,V=VALUE/N/A
 Set sample value at position OFFSET (-32768 to 32767 16-bit
 values). Display refreshed automatically.

 SY_SETSELECTEDWAVE TEMP/S,ACTUAL/S
 Selects right (TEMP) or left waveform.

 SY_SETWAVELENGTH LENGTH/N/A
 Sets current waveform length (2 to 128). Must be an even number.

 SY_SHIFTRANGE L=LEFT/S,R=RIGHT/S
 Shifts range left or right.

 SY_SINE
 Sets the current waveform to the Sine preset.

 SY_STRETCH DIST/N/A
 Stretches curr. waveform at cursor (DIST = distance).

 SY_SWAPWAVES
 Exchanges the left and right waveforms.

 SY_TRIANGLE
 Sets the current waveform to the Triangle preset.

 SY_UNDO
 Undoes (reverses the effects of) the last editing operation.

 SY_WAVETRANSFORMATION START/N/A,END/N/A
 Transforms START to END waveform.
@ENDNODE


@NODE app_ocarco_v1_10 "OctaMED ARexx Commands / ED Commands - PlaySeq/SectList (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

 ED_CLEARSEQ FORCE/S
 Clears the current playseq. FORCE overrides requester.

 ED_DELETEPLAYSEQ
 Deletes the current playseq entry.

 ED_DELETESECLIST
 Deletes the current section list entry.

 ED_DELETESECTION
 Deletes the current section (playing sequence list).

*ED_GETCURRPLAYSEQ
 Returns current playseq position in current section.

*ED_GETCURRSECLIST
 Returns the current section list position.

*ED_GETCURRSECTION
 Returns the current section number.

*ED_GETNUMPLAYSEQ
 Returns the current section's length.

*ED_GETNUMSECLIST
 Returns the section list's length.

*ED_GETNUMSECTIONS
 Returns the total number of sections.

*ED_GETPLAYSEQBLOCK O=OFFSET/N
 Returns the playseq block no. at pos OFFSET.

*ED_GETSECLISTSECTION O=OFFSET/N
 Returns seclist section no. at pos OFFSET.

*ED_GETSECTIONNAME
 Returns the current section's name.

 ED_GOTOPLAYSEQ NUM/N,PREV/S,NEXT/S,FIRST/S,LAST/S,BOTTOM/S,JUMPED/S,
    JUMPPLAY/S
 Changes current playseq position. NUM = absolute position; BOTTOM
 = under the last entry; JUMPED instructs Tracker editor to jump to
 first line of block in that position; JUMPPLAY = same while
 playing.

 ED_GOTOSECLIST SECPOS/N/A
 Changes current section list position.

 ED_GOTOSECTION SECT/N/A
 Changes current section.

*ED_ISBLOCKINSEQ B=BLOCK/N
 Returns 0 if block BLOCK doesn't exist in any section, 1 if it
 does. (Compare with Block List window -> Show Unused)

 ED_NEWPLAYSEQ BLOCK/N,CURRBLOCK/S,COPYBLOCK/S
 Inserts new playseq entry at current position. CURRBLOCK inserts
 current block number, COPYBLOCK copies current playseq entry.

 ED_NEWSECLIST INSERT=HERE/S,APPEND=LAST/S
 Adds new entry to section list.

 ED_NEWSECTION INSERT=HERE/S,APPEND=LAST/S
 Creates new section.

 ED_SETPLAYSEQBLOCK O=OFFSET/N,B=BLOCK/N,INCREASE/S,DECREASE/S
 Edits the current section. INCREASE/DECREASE change
 selected/current value by 1.

 ED_SETSECLISTSECTION O=OFFSET/N,SC=SECNUM/N
 Edits the section list.

 ED_SETSECTIONNAME NAME
 Sets the current section's name.
@ENDNODE


@NODE app_ocarco_v1_11 "OctaMED ARexx Commands / ED Commands - Other (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

 ED_ADVANCELINE LINES/N,UP/S,DOWN/S,FKEY/K/N,SPC=SPACING/S,USESETT/S
 Advances the cursor UP or DOWN lines LINES (default 1). SPACING
 uses current Space Value (ensure Space is on). FKEY (6 - 10) moves
 to F6 - F10 position. USESETT uses current Keyboard Options
 advance settings.

 ED_CLEARNOTECMD NOTE/S,CMD/S,ALLPAGES/S
 Clears note and/or command digits on the current page (default) or
 ALLPAGES. Takes Space into account.

 ED_CREATESLIDE VOL/S,GEN/S,PITCH1/S,PITCH2/S
 Creates slide (Edit menu).

 ED_DELETEBLOCK HERE=CURRENT/S,LAST/S
 Deletes CURRENT (default) or LAST block.

 ED_DELETENOTE B=BLOCK/K/N,L=LINE/K/N,T=TRACK/K/N,DELSPACE/N
 Like pressing Backspace. Default is current cursor position.
 DELSPACE = number of removed notes.

 ED_ENTERNOTE NOTE/N,PROGKEY/K/N,HOLD/S
 Enters NOTE/PROGKEY/HOLD symbol.

 ED_FINDSAMPLEOCCURRENCE PREV/S,NEXT/S
 Like Alt-Ctrl-<left>/<right>.

*ED_GETBLOCKNAME B=BLOCK/N
 Returns current/specified block's name.

*ED_GETCURRBLOCK
 Returns the current block number.

*ED_GETCURRLINE
 Returns the current line number (in decimal).

*ED_GETCURRPAGE
 Returns the currently displayed command page.

*ED_GETCURRTRACK
 Returns the track that the cursor is on.

*ED_GETDATA B=BLOCK/K/N,L=LINE/K/N,T=TRACK/K/N,P=PAGE/K/N,NOTE/S,INUM/S,
    CMDNUM=CMDTYPE/S,QUAL=CMDLVL/S,PRTALL/S
 Returns song data. Default is cursor pos but can use BLOCK/LINE/
 TRACK/PAGE. The switches set what data to return (note/inst no/cmd
 type/cmd level/string e.g. 'C-3 20C48').

*ED_GETLINEHIGHLIGHT B=BLOCK/K/N,L=LINE/N
 Returns 1 if line highlighted.

*ED_GETNUMBLOCKS
 Returns the total number of blocks in memory.

*ED_GETNUMLINES B=BLOCK/N
 Returns the current/specified block's length.

*ED_GETNUMPAGES B=BLOCK/N
 Returns the current/specified block's number of pages.

*ED_GETNUMTRACKS B=BLOCK/N
 Returns the current/specified block's number of tracks.

*ED_GETPREVIOUSINUM
 Returns the current track's previous instrument number.

 ED_GOTO B=BLOCK/K/N,L=LINE/K/N,T=TRACK/K/N,P=PAGE/K/N
 Moves the cursor.

 ED_GOTOBLOCK PREV/S,NEXT/S,FIRST/S,LAST/S,FIRSTLINE/S,FIRSTPAGE/S
 Mainly for keyboard shortcuts. FIRSTLINE/PAGE jumps to block's
 first line/page.

 ED_GOTOCMDPAGE PAGE/N,NEXT/S,PREV/S,CYCLEFWD/S
 Selects current command page. CYCLEFWD cycles forward, jumping to
 page 1 after the last page.

 ED_GOTOTRACK PREVNOTE/S,NEXTNOTE/S,NEXTCHORD/S,FIRST/S,LAST/S,PREVDISP/S,
    NEXTDISP/S
 Mainly for keyboard shortcuts. NEXTCHORD = next chord note.

 ED_HIGHLIGHTLINE B=BLOCK/K/N,L=LINE/N,ON/S,OFF/S,TOGGLE/S
 Highlights, dehighlights, or toggles the current or specified line

 ED_INSERTEMPTYNOTE B=BLOCK/K/N,L=LINE/K/N,T=TRACK/K/N,INSSPACE/N
 Like Shift-Backspace. INSSPACE = number of inserted notes (default
 = 1).

 ED_KILLNOTES CURRTRACK/S,ALLTRACKS/S,CBS=CHANGEBLOCKSIZE/S
 Kills notes below cursor. (See keyboard shortcuts
 (Shift/Alt)-Ctrl-K)

 ED_MOVECURSOR LEFT/S,RIGHT/S,NOTE/S,INUM/S,CMDNUM1=CMDTYPE1/S,CMDNUM2=
	       CMDTYPE2/S,QUAL1=CMDLVL1/S,QUAL2=CMDLVL2/S
 Moves cursor.

 ED_NEWBLOCK HERE=INSERT/S,LAST=APPEND/S,TRACKS/N/K,LINES/N/K,PAGES/N/K
 INSERTs/APPENDs new block. You can also specify its size.

*ED_NUMBERTONOTE NOTE/N/A
 Converts note number to string. E.g. 2 -> 'C#1'.

 ED_PICKPROGKEYNOTE PROGKEY/N/A
 Like keyboard shortcuts Shift-Ctrl- 1 - 0.

 ED_PLAYNOTE NOTE/N,INUM/N,TRACK/N
 Plays a note. Defaults = current.

 ED_SETBLOCKLINES B=BLOCK/N/K,LINES/N/A
 Sets current/specified block's length.

 ED_SETBLOCKNAME B=BLOCK/K/N,NAME
 Sets current/specified block's name.

 ED_SETBLOCKPAGES B=BLOCK/N/K,PAGES/N/A
 Sets block's no. of pages to PAGES.

 ED_SETBLOCKTRACKS B=BLOCK/N/K,TRACKS/N/A
 Sets curr/spec block's tracks.

 ED_SETDATA B=BLOCK/K/N,L=LINE/K/N,T=TRACK/K/N,P=PAGE/K/N,NOTE/K/N,
    INUM/K/N,CMDNUM=CMDTYPE/K/N,QUAL=CMDLVL/K/N,ALTCMD/S
 Changes notes/data (see ED_GETDATA). ALTCMD enters the Right Alt
 programmable key definition.

 ED_SETDATA_UPDATE ON/S,OFF/S
 Turns ED_SETDATA updating on/off.

 ED_SWAPNOTEWITH FOLL=FOLLOWING/S,RIGHT/S
 Like Ctrl-< / >.
@ENDNODE


@NODE app_ocarco_v1_12 "OctaMED ARexx Commands / RN and MM Commands (Version 1)"
@TOC app_ocarco
(Commands marked * return a value)

 RN_CANCELRANGE
 Discards the range.

 RN_CHANGEINUM SRC/N,DEST/N,CHANGE/S,EXCHANGE=SWAP/S,DELNOTES/S,AFFECT/K/N
 Changes instrument numbers (see the Transpose window). AFFECT is
 1 - 5.

 RN_CHANGENOTES SRC/N,DEST/N,CHANGE/S,EXCHANGE=SWAP/S,AFFECT/K/N
 Change notes.

 RN_COPY RANGE/S,TRACK/S,BLOCK/S
 Copies a RANGE/TRACK/BLOCK.

 RN_CUT RANGE/S,TRACK/S,BLOCK/S
 Cuts a RANGE/TRACK/BLOCK.

 RN_DELETELINE LINE/N
 Deletes the current or specified line.

 RN_DELETETRACK TRACK/N,WHOLESONG/S
 Deletes the current or specified track. WHOLESONG deletes the
 same-numbered track throughout the entire song.

 RN_DISCARDBUFFERS
 Discards all copy buffers.

 RN_ERASE RANGE/S,TRACK/S,BLOCK/S
 Clears a RANGE/TRACK/BLOCK.

 RN_EXPANDBLOCK FACTOR/N
 Expands the block. Can specify FACTOR.

*RN_GETRANGEENDLINE
 Returns the line number of the last ranged line.

*RN_GETRANGEENDTRACK
 Returns the track number of the last ranged track.

*RN_GETRANGESTARTLINE
 Returns the line number of the first ranged line.

*RN_GETRANGESTARTTRACK
 Returns the track number of the first ranged track.

 RN_GETSPACINGFROMRANGE
 Like keyboard shortcut Alt-~.

 RN_INSERTLINE LINE/N
 Inserts an empty line at current/specified line.

 RN_INSERTTRACK TRACK/N,WHOLESONG/S
 Inserts an empty track.

*RN_ISRANGED
 Returns 1 if a range is marked, 0 if not.

 RN_JOINBLOCKS
 Joins the current block with the following one.

 RN_NOTEECHO DIST/N,MINVOL/N
 Echoes the range (see the Note Echo window).

 RN_PASTE RANGE/S,TRACK/S,BLOCK/S,TS=TOSELECTED/S
 Pastes. (See Edit menu)

 RN_SETRANGE STARTTRACK/N,STARTLINE/N,ENDTRACK/N,ENDLINE/N,TRACK/K/N,
	     LINE/K/N,CURRBLOCK/S,CURRTRACK/S
 Sets range. Can specify absolute values, or range a given
 line/track, or range current trk/blk.

 RN_SHRINKBLOCK FACTOR/N
 Shrinks the block. Can specify FACTOR.

 RN_SPLITBLOCK LINE/N
 Splits the block at the current/specified line.

 RN_SPREADNOTES WIDTH/N
 Spreads the ranged notes (see Spread Notes window).

 RN_SWAP TRACK/S,BLOCK/S
 Swaps a track or block with the copy buffer.

 RN_TRANSPOSE HSUP/S,HSDOWN/S,OCTUP/S,OCTDOWN/S,AFFECT/K/N,ALLINSTRS/S,
    CURRINSTR/S
 Transposes (see the Transpose window).

 MM_MOVECURSOR LEFT/S,RIGHT/S,UP/S,DOWN/S
 For the MIDI Message Editor.
@ENDNODE


@NODE app_ocarco_v2_1-2 "OctaMED ARexx Commands / New Option Names (Version 2)"
@TOC app_ocarco
			 NEW OPTION NAMES

CutAllPages_Block      CutAllPages_Range	CutAllPages_Track
DefChannelMode	       FastMemPlay		FastMemPlay_BufferSize
GadgetShortCutQual     ImmediateMIDIPresetChg	KEYMAPACTIVE
MIDISLAVE	       Mix_BufferSize		Mix_Frequency
Mix_OutputDev	       MixSwapAmigaChannels	Notat_Dispmode
Notat_DefaultWidth     NOTAT_STAFFNAMES 	PrintResolution
ShowAnnoAfterLoading   ShowChangedSettings	SListFileFormat_8
SListFileFormat_16     UsingMixing_MMD		UseMixing_Tracker
TransposeOutOfRange


			 NEW WINDOW NAMES

AREXXTRIGGERSETUP	MIXPARAMETERS		NOT_SIGNATURES
FASTMEMPLAY		NOTATION		NOT_STAFFSETUP
MIDICMD3CXXSETTINGS	NOT_ASSIGNTRACKS	NOT_TOOL
MISCOPT_DIRS		NOT_DISPLAYSETUP	REPLACENOTES
MIXEFFECTS		NOT_PRINT		SELECTINSTRUMENT
MIXPAN
@ENDNODE


@NODE app_ocarco_v2_3 "OctaMED ARexx Commands / New Commands (Version 2)"
@TOC app_ocarco
(Commands marked * return a value)

 WI_WBENCHTOFRONT
 Brings the Workbench screen to the front.

*IN_GETDISABLE
 Returns current instrument's Disable state.

*IN_GETLOOPPINGPONG
 Returns current instrument's loop ping-pong state.

 IN_MOVESAMPLESTOCHIP
 Moves all samples to Chip memory.

 IN_MOVESAMPLESTOFAST
 Moves all samples to Fast memory.

 IN_SETDISABLE ON/S,OFF/S,TOGGLE/S
 Sets/clears/toggles Disable.

 IN_SETLOOPPINGPONG ON/S,OFF/S,TOGGLE/S
 Sets/clears/toggles Loop Ping-Pong.

*SG_GETTRACKPAN TRACK/N/A
 Returns the panning of TRACK (0 to 63).

 SG_MIXECHO OFF/S,ECHO/S,CROSSECHO/S,RATE/K/N,DEPTH/K/N
 Changes Mix mode Echo settings. OFF/ECHO/CROSSECHO is the mode.
 RATE is the rate in milliseconds. DEPTH is value 1 to 6, where 1
 is very deep (50.0%), 6 is very shallow (1.44%).

 SG_MIXPARAMS MONO/S,STEREO/S,MAXCH/K/N,VOLADJ/K/N,FREEPAN/S,NOFREEPAN/S
 Sets the song's mixing settings. All are in the Mixing Settings
 window, apart from FREEPAN and NOFREEPAN, in the Mix - Track
 Panning window.

 SG_MIXSTEREOSEP SEP/N
 Sets the stereo separation (between -4 and 4).

 SG_SETTRACKPAN TRACK/N/A,PAN/N/A
 Sets the panning of TRACK (0 - 63). PAN can be between -16 and 16.

 ED_NOTETONUMBER NOTE/A
 Converts a string like "D#5" to a note number.

 ED_SETMIDIINPUTCHANNEL CH=CHANNEL/N/A
 Sets the MIDI input channel (0 - 16).

*RN_BUFFEREXISTS BUFF/N/A
 If the buffer exists, returns 1, otherwise 0. Valid buffer numbers
 are 0 (block), 1 (track) or 2 (edit).

*RN_FINDREPLACESOURCE NEXT/S,PREV/S
 Searches for the next/previous occurrence of the Source full note
 (Replace Notes window). Returns 1 if found, 0 otherwise. If both
 NEXT and PREV omitted, compares the note under the cursor with the
 source note.

*RN_GETBUFFDATA BUFF/N/A,L=LINE/K/N/A,T=TRACK/K/N/A,P=PAGE/K/N,NOTE/S,
    INUM/S,CMDNUM=CMDTYPE/S,QUAL=CMDLVL/S
 Returns copy buffer data. The buffer number is given by BUFF (0, 1
 or 2). See ED_GETDATA.

*RN_GETBUFFLINES BUFF/N/A
 Returns the number of lines in the copy buffer.

*RN_GETBUFFPAGES BUFF/N/A
 Returns the number of pages in the copy buffer.

*RN_GETBUFFTRACKS BUFF/N/A
 Returns the number of tracks in the copy buffer.

 RN_REMARK
 Brings back the most recently marked range, and moves to its
 start.

 RN_REPLACE SOURCE,DEST,SONG/S,BLOCK/S,TRACK/S,SELTRACKS/S,RANGE/S,
    CURRNOTE/S
 The features of the Replace Notes window. SOURCE and DEST
 should be source and destination note strings (for example,
 "E-610xx34").

 RN_SETBUFFDATA BUFF/N/A,L=LINE/K/N/A,T=TRACK/K/N/A,P=PAGE/K/N,NOTE/K/N,
    INUM/K/N,CMDNUM=CMDTYPE/K/N,QUAL=CMDLVL/K/N
 Changes a copy buffer's contents. See RN_GETBUFFDATA and
 ED_SETDATA.

 RN_SWAPBUFFERS BUFF1/N/A,BUFF2/N/A
 Swaps the contents of two copy buffers. Valid buffer numbers are 0
 (block), 1 (track) or 2 (edit).

*MM_GETCURRMSGNUM
 Returns the number of the currently selected MIDI message, or 0 if
 there are no messages in memory.

 MM_LOADMESSAGE NAME
 Loads a MIDI message from disk. If NAME is omitted, a file
 requester appears.

 MM_SENDMESSAGE MSGNUM/N
 Sends the given MIDI message number, or the current message if
 MSGNUM is omitted.

 MM_SETCURRMSGNUM MSG=MESSAGE/N/A
 Selects a new message. This message is displayed in the MIDI
 Message Editor.
@ENDNODE


@NODE app_ocarco_v2_4 "OctaMED ARexx Commands / Changed Commands (Version 2)"
@TOC app_ocarco
(Commands marked * return a value)

 IN_SETVOLUME INCRBY/K/N,DECRBY/K/N,MAX/K/N,MIN/K/N
 Use e.g. INCRBY 10 to increase the volume by 10. MAX is the
 maximum value reachable with INCREASE or INCRBY (for example, MAX
 60 prevents volume increases beyond level 60). Similarly for MIN
 and DECREASE or DECRBY.

*SG_GETCHANNELMODE
 Returns 9 for Mix mode.

 SG_SETCHANNELMODE MODE/N/A
 Value 9 sets Mix mode.

 SG_SETMASTERVOL INCRBY/K/N,DECRBY/K/N,MAX/K/N,MIN/K/N
 As above.

 SG_SETTRACKSTATE
 If no TRACK value is given, the current track is changed.

 ED_ADVANCELINE NOWRAP/S
 NOWRAP prevents "wrapping" at the top and bottom of the block. In
 other words, the line cannot be advanced beyond the top or bottom
 of the block.

 ED_CLEARNOTECMD SKIPSPACING/S
 Space is now taken into account. If SKIPSPACING is not specified,
 the notes in the spacing range are cleared.

 ED_DELETENOTE NOTEONLY/S,CMDONLY/S
 Remove only the note part or the player command if specified.

 ED_INSERTEMPTYNOTE NOTEONLY/S,CMDONLY/S
 Similarly.

 ED_PICKPROGKEYNOTE CMDONLY/S
 Only available under the brand new version 3 of OctaMED's ARexx
 support.

 RN_DISCARDBUFFERS BUFF/N
 If a buffer number is specified, only clears that buffer. Valid
 buffer numbers are 0 (block), 1 (track) or 2 (edit).

 RN_PASTE CMDONLY/S,NOTEONLY/S
 Only pastes player commands or notes.
@ENDNODE


@NODE app_fifo "File Formats"
@TOC OctaMED.guide/app
Select a file format category.

	@{"    Songs    " LINK app_fifo_1}
	@{" Instruments " LINK app_fifo_2}
@ENDNODE


@NODE app_fifo_1 "File Formats / Songs"
@TOC app_fifo
SAVING SONGS

Songs can be saved in the following formats:

* MMD2

OctaMED only. The most advanced format; everything is saved. In
fact, MMD3 also exists, although it's identical to MMD2. Songs that
use Mix mode are saved as MMD3 so that player programs do not
attempt to play such songs.

* MMD1

OctaMED only. Almost everything is saved. Notably, multiple playing
sequences are converted into one long playing sequence, using the
section list.

* MMD0

OctaMED only. The pre-OctaMED V3 format, introduced in MED V2.10.
Files saved in this format lack the following:

	+ 2-digit commands (the first digit is always zero)
	+ Notes above D-6 (replaced by a -|- symbol)
	+ Multiple command pages
	+ Blocks that are NOT 4, 8, 12 or 16-track
	+ Block names
	+ Line highlighting

MMD0 songs are always saved with instruments. Remember that
although this format lacks a fair number of features, saving a song
in this format results in a smaller file than MMD1 or MMD2.

* SMF Type 0

Standard MIDI File type 0. Almost all MIDI sequencers recognise
this format.

* Executable File

This format is a program in itself! Load it, run it and listen to
it play.


LOADING SONGS

OctaMED recognises all of the above formats, apart from Executable
File. It can also load songs in the following formats:

* Standard `tracker' format: Sound/Noise/Protracker/etc. Packed
  Tracker modules cannot be loaded. If OctaMED doesn't recognise a
  song's format, it offers to try loading the file as an old
  Soundtracker song. If it really is an old Soundtracker song, it
  should load correctly. If not, OctaMED may crash!

* Standard MIDI File Type 1

* ScreamTracker3 (PC). Not all effects are supported, but most
  modules play without trouble. The effects supported are:

	Extra fine slides (commands EEx, EFx)
	Tremor (command Ixy)
	Retrig (+ volume slide) (command Qxy)

* FastTracker 1.0. The more popular FastTracker 2 is not yet
  supported.
@ENDNODE


@NODE app_fifo_2 "File Formats / Instruments"
@TOC app_fifo
SAMPLE FORMATS

OctaMED can load and save samples in the following formats:

* IFF 8SVX

The original IFF format. In particular, supports multi-octave
samples and contains loop information. The highest octave of a
7-octave sample cannot be played by OctaMED.

`Delta-compressed' IFF samples can be loaded, but not saved. The
length of such a sample is exactly halved during compression, with
a loss of sound quality.

* AIFF

A standard across many computer systems, especially the Apple
Macintosh. Supports 16-bit and stereo samples.

* MAUD

A relatively new format, mainly included for use with the Toccata
16-bit soundboard. It's fairly similar to IFF 8SVX, except that it
can also save 16-bit and stereo samples. This is probably the best
format for saving such samples. However, loop information is still
only saved in IFF 8SVX format.

* WAVE

This format, Microsoft's own, is extremely popular on the PC.

* Raw

`Raw' binary data. There's no way of distinguishing an 8-bit raw
sample from a 16-bit, so OctaMED attaches the 8-byte header
"Raw16Bit" when saving 16-bit raw samples. Such files are loaded
correctly as 16-bit (at least by OctaMED!).


OCTAMED'S OWN INSTRUMENT FORMATS

OctaMED's custom instrument types are as follows:

* Synthetic

A less memory-consuming alternative to the sample, consisting of
one or more waveforms and a `synthsound script'.

* Hybrid

A cross between Synthetic and Sample, a Hybrid is a sample that is
controlled by a synthsound script.

* ExtSamples

Like normal samples (in non-Mix mode), with two extra lower octaves
added to the range. All samples in Mix mode have these lower
octaves anyway, but if you do use ExtSamples, be wary of the
following `undesirable feature' in the Amiga's hardware.

After playing a note with an ExtSample using one of the two lower
octaves, the following note will often not be correctly triggered.
The solution is to use an 0FFF command before the following note is
played. For example:

	C-1 20000 <= ExtSample
	--- 00000
	--- 00FFF <= use 0FFF before the next note
	C-2 10000 <= this instrument doesn't need to be an ExtSample
		     for the bug to occur

Save ExtSamples as IFF 8SVX.
@ENDNODE


@NODE app_thsefi "The Settings File"
@TOC OctaMED.guide/app
To save the settings file, select Settings menu -> Save Settings.
A file called Soundstudio.config, in the directory containing the
OctaMED program, is loaded when OctaMED starts up.

The following options are saved (values in brackets are default):

@{" Block " LINK Qa.guide/m_bl}, @{" Track " LINK m_tr} and @{" Edit menus " LINK m_ed}
	All Cmd Pages (ON)

@{" Instr menu " LINK Qa.guide/m_in}
	Automatic Flush (OFF)
	Add Path (OFF)
	Remove Path (OFF)

@{" MIDI menu " LINK Qa.guide/m_mi}
	Immediate MIDI Preset Change (OFF)
	Note Killing (Note Off Msgs)

@{" Settings menu " LINK Qa.guide/m_se}
	Play After Loading (OFF)
	Auto-Freeze Screen (OFF)
	Auto-Snapshot (ON)

@{" Save Options window " LINK Qa.guide/w_saop}
	Save Secondary Data (ON)
	Create Icons (ON)
	Save Notation Data (OFF)
	Compression (NO COMPRESSION)
	PowerPacker Settings: Buffer (MEDIUM), Efficency (GOOD)
	The XPK compressor used (THE FIRST ONE DISPLAYED IN XPK SETTINGS)

@{" Save Timer " LINK Qa.guide/w_sati}
	Time Between Saves (mins) (0)
	Open Save Window (ON)

@{" Notation Display Setup " LINK Qa.guide/w_nodise}
	Positioning Mode (BLOCK-BASED)

@{" Print Notation " LINK Qa.guide/w_prno}
	Resolution (1× (STD FONT))

@{" Main Control window " LINK Qa.guide/w_maco}
	Oct (12)

@{" Tempo window " LINK Qa.guide/w_te}
	Slow HQ (OFF)

@{" Tempo Operations " LINK Qa.guide/w_teop}
	Change Commands (OFF)
	Set Current Tempo as Default:  TEMPO / TPL / LPB / SPD or BPM
				      ( 33	6     8       SPD    )

@{" Sample Editor " LINK Qb.guide/w_saed}
	Check Clip (OFF)
	Max Clip (0 %)
	Pitch frequency (around 8000)
	Sampler Voice Monitor (OFF)
	Create Icons For Samples (ON)
	Display Type (LINE)
	Pixel Density (2)
	Minimum Zoom (1)
	Fast Graphics (ON)
	Center Zoom Slide on Range (OFF)

@{" Toccata Capture window " LINK Qb.guide/w_toca}
	Level Display Active (OFF)

@{" MIDI Message Editor " LINK Qb.guide/w_mimeed}
	Auto-Terminate Capture (ON)

@{" Playing Sequence window " LINK Qb.guide/w_plse}
	Follow (OFF)

@{" Song Annotation window " LINK Qb.guide/w_soan}
	Show After Loading (OFF)

@{" Block List window " LINK Qb.guide/w_blli}
	Show Unused (OFF)

@{" Mouse Options window " LINK Qc.guide/w_moop}
	Left Button (SELECT RANGE)
	Middle Button (NO OPERATION)
	Right Button (NO OPERATION)

@{" Keyboard Options window " LINK Qc.guide/w_keop}
	Advance Line (DOWN)
	Advance Track (DON'T ADVANCE)
	Advance Cursor (DON'T ADVANCE)
	Space Value (2)
	Chord Reset (ON)
	Advance with sound (OFF)
	Poly Play (OFF)
	Destructive Spacing (ON)
	Auto-Round Spacing (ON)
	F6-F10 = Highlights (OFF)

@{" Mixing Settings window " LINK Qc.guide/w_mise}
	Mixing Frequency (15000)
	Mix Buffer Size (300)

@{" FastMemPlay " LINK Qc.guide/w_fa}
	Active (OFF)
	Buffer Size (64)

@{" Aura Sampler Options window " LINK Qc.guide/w_ausaop}
	Minimum Period (248)
	Active (OFF)
	Single Channel Output (OFF)
	Fixed Output Rate (OFF)

@{" Miscellaneous Options window " LINK Qc.guide/w_miop}
	Close Workbench (OFF)
	Overwrite Requesters (ON)
	Warn if Disk Full (OFF)
	Size-Only Window Zoom (ON)
	Use Reqtools (OFF)
	Swap Amiga Channels (Mix) (OFF)
	Load Instr from MainCtrl (ON)
	H -> B (ON)
	Use Mixing (MMD) (OFF)
	Use Mixing (Tracker) (OFF)

	Default Volume Mode (DECIMAL)
	Default HQ Mode (OFF)
	Default Slow HQ (OFF)
	Default Channel Mode (4CH)
	Gadget Shortcut Qual (LEFT ALT)
	Help Viewer (AMIGAGUIDE)

@{" Default Directories window " LINK Qc.guide/w_dedi}
	Any directories that have been set (NO DIRECTORIES SET)

@{" Palette window " LINK Qc.guide/w_pawi}
	Palette Type (8-Bit)


Three additional settings are saved:

  a) The current window positions (both zoomed and unzoomed) if you
     have moved them from their usual positions.

  b) Any windows that are open when settings are saved. They will
     be re-opened when the program is re-loaded.

  c) Fonts, screen mode and color palette. These are NOT saved,
     however, if they have been set to default (Default check boxes
     for fonts, Like WB switch for screen mode, and WB Palette
     check box for color palette).
@ENDNODE


@NODE app_sysoco "Synthetic Sound Commands"
@TOC OctaMED.guide/app
* Commands are given in the form:
     COMMAND: Description [keypress required to enter the command]

* NV ("no value") means that this command does not take a value


COMMANDS THAT CAN BE USED IN EITHER SEQUENCE

> END: End sequence [n/a] NV
    Marks the end of each sequence. Always exists.
> HLT: Halt [H] NV
    Terminates the sequence. Unlike END, commands can be inserted
    after a HLT.
> JMP: Jump [J]
    Jumps to the specified line in the sequence in which the JMP
    command appears.
> WAI: Wait [W]
    Pauses for a specified number of ticks. Value can be $01 - $7F.
> SPD: Set execution speed [S]
    Sets the execution speed of the appropriate sequence. $01 is
    quickest, $0F slowest.

VOLUME SEQUENCE COMMANDS

> Value Only: Set volume [n/a]
    No command name, only a value. Sets the synthsound's volume.
> CHD: Set volume change down speed [D]
    Sets the rate of quietening. ($00 = stop quietening)
> CHU: Set volume change up speed [U]
    Sets the rate of loudening.  ($00 = stop loudening)
> JWS: Jump in waveform sequence [Shift-J]
    Forces the waveform sequence to jump to the specified line, no
    matter what it's doing.
> EN1: Once-only volume shape [E]
> EN2: Repeating volume shape [Shift-E]
    Sets the synthsound's volume shape. The value is the waveform
    number in which the volume shape appears. The further down a
    point on the volume shape, the louder the volume.

WAVEFORM SEQUENCE COMMANDS

> Value Only: Set volume [n/a]
    No command name, only a value. Starts playing the specified
    waveform number.
> CHD: Set pitch change down speed [D]
    Sets the rate of pitch lowering. ($00 = stop lowering)
> CHU: Set pitch change up speed [U]
    Sets the rate of pitch raising.  ($00 = stop raising)
> JVS: Jump in volume sequence [Shift-J]
    Forces the volume sequence to jump to the specified line, no
    matter what it's doing.
> RES: Reset pitch [R]
    Resets the pitch to its original state. For use after a pitch
    slide.
> ARP: Start arpeggio definition [A]
> ARE: End arpeggio dfeinition [E]
    Use these two to produce an arpeggio, much like player command
    00 (but you can define more than three pitches). The values
    between ARP and ARE are the number of halfsteps between each
    note of the arpeggio and the original note.
> VBS: Set vibrato speed [Shift-V]
    Sets the speed of vibrato. ($00 = stop vibrato)
> VBD: Set vibrato depth [V].
    Sets the vibrato depth.    ($00 = stop vibrato)
> VWF: Set vibrato waveform [Shift-W]
    Sets the vibrato shape. The value is the waveform number in
    which the vibrato shape appears. The further down a point on
    the vibrato shape, the higher the pitch.
@ENDNODE


@NODE app_heva "Hexadecimal Values"
@TOC OctaMED.guide/app
WHAT IS HEXADECIMAL?
A different way of representing numbers. It's called `hex' for
short.

WHY USE HEX?
It is more convenient for the computer, and allows the user to
specify a greater range of numbers using the same amount of digits.

HOW DOES IT WORK?
In the usual decimal system, a digit can be ten different values:
	0  1  2  3  4  5  6  7	8  9

In the hex system, a digit may have sixteen values:
	0  1  2  3  4  5  6  7	8  9  A  B  C  D  E  F

The decimal numbers 10 - 15 are represented by the letters A to F.

With two digits in a number, the decimal system can represent
10 × 10 = 100 different values. The hex system, however, can
represent 16 × 16 = 256 values, over twice as many as decimal.

The lowest two-digit hex number is 00 (zero). The highest is FF
(255 decimal).

HOW DO YOU CONVERT BETWEEN THE TWO SYSTEMS:
The first digit of a two-digit hex number represents multiples of
16. So to convert hex to decimal:
	Decimal number = (1st hex digit) × 16 + (2nd hex digit)

And to convert decimal to hex, divide the decimal number by 16. The
quotient is 1st hex digit, the remainder is 2nd hex digit.

     1) Hex 8A -> decimal:
		1st hex digit = 8, 2nd hex digit = A (10)
		Decimal number = (8 × 16) + 10 = * 138 *

     2) Decimal 200 -> hex:
		200 ÷ 16 = 12 remainder 8.
		1st hex digit = C (12), 2nd hex digit = 8.
		So hex number = * C8 *

HOW DO YOU DISTINGUISH HEX NUMBERS FROM DECIMAL NUMBERS?
Precede hex numbers with a $ sign. For example: $C8, $FF.

WHAT IS `SIGNED HEX'?
A way of representing negative decimal numbers by using positive
hexadecimal numbers.

HOW DOES IT WORK?
In signed hex, the numbers $00 to $7F are positive as usual. They
represent the decimal numbers 0 to 127. However, the numbers $80 to
$FF represent the decimal values -1 to -128:

	Decimal -1 = Hex $FF	  -16 = $F0	 -126 = $82
	Decimal -2 = Hex $FE	  -17 = $EF	 -127 = $81
	Decimal -3 = Hex $FD	  -18 = $EE	 -128 = $80
		  etc.		     etc.

HOW DO YOU CONVERT DECIMAL TO SIGNED HEX?
If the decimal number is negative, add 256 to the number. Then
convert to normal hex as above.

	Decimal -67 -> signed hex:
		-67 + 256 = 189
		189 ÷ 16 = 11 remainder 13
		1st hex digit = 11 (B), 2nd hex digit = 13 (D)
		So signed hex number = * $BD *

Signed hex numbers look exactly the same as normal hex numbers. It
is the context that tells you whether a hex number is signed or
normal.

For example, in the context of player command 15 (set finetune),
$FC would be interpreted as -4. In the context of player command 01
(slide pitch up), it would be 252.
@ENDNODE


@NODE app_reco "Raw-Key Codes"
@TOC OctaMED.guide/app
One way of representing a key is by the letter, number or symbol it
generates when you press it. But not all keys are `printable' in
this way. These keys can be identified by their raw-key code.

Here are the raw-key codes for most unprintable keys. You may need
to use these keys in the Keyboard Shortcuts window. NK stands for    More
`numeric keypad'.

Key	Code		Key	Code		Key	Code
-------------------------------------------------------------
Esc	 69		NK0	 15		Enter	 67
F1	 80		NK1	 29		<up>	 76
F2	 81		NK2	 30		<down>	 77
F3	 82		NK3	 31		<left>	 79
F4	 83		NK4	 45		<right>  78
F5	 84		NK5	 46		B'space  65
F6	 85		NK6	 47		Tab	 66
F7	 86		NK7	 61		Return	 68
F8	 87		NK8	 62		Del	 70
F9	 88		NK9	 63		Help	 95
F10	 89		NK.	 60
@ENDNODE
