WinWarbler Macros

WinWarbler Online Help Contents

WinWarbler's two banks of sixteen macros allow you to transmit information with a single mouse click or keystroke. To invoke a macro in the first bank, click on its button, or strike its associated function key (F5 through F12, and Shift-F5 through Shift-F12). To invoke a macro in the second bank, depress and hold the ALT key to display the second bank, and then click the appropriate macro button, or strike its associated function key. Checking the ALT checkbox, located between the 4th and 5th macro buttons, displays the second bank of macros until you uncheck it. You can also switch macro banks using the <macrobank n> command described below.

Using the repeat command described below, a macro can be repeated multiple times with a single mouse click or keystroke, separated by "listening intervals" of specified duration.

WinWarbler also provides 

These dedicated macros can be used to set transceiver parameters, select a macro bank, and/or load a macro bank from a file containing macros appropriate for the mode. They are defined in the lower portion of WinWarbler's macro definition window, described below.

With WinWarbler's Main window active, allowing the mouse cursor to linger over a Macro button for a few seconds will display an explanatory popup showing what would be sent if the associated macro were invoked; substitution commands will be replaced by the substitution text unless that that substitution text is empty, in which case the name of the command enclosed in angle brackets will be displayed. An explanatory popup window will not appear if the show control explanations setting is disabled, or if the macro's Explain box is unchecked in the macro definition window

Macro Definition Window

To modify a macro, depress the Ctrl key while clicking on the macro's associated button or striking its associated function key. WinWarbler will display its macro definition window, which displays two components for each macro: title, and contents. The title is used to label the macro buttons on WinWarbler's main window. The contents determine what is transmitted when the macro is invoked. 

Macro titles may not include the "left angle bracket" < or "right angle bracket" > characters. To include a single ampersand in a macro's title, insert a pair of back-to-back ampersands, e.g. R&&B.

To prevent a popup explanation from appearing when the mouse cursor hovers over a macro's button with the Main window active, uncheck its Explain box.

To select the font used to label a macro button, click the Font button.

To set the color of the font used to label a macro button, click the appropriate Set button in the Font Color column, and choose the desired color from the color selection window. If you depress the CTRL key while clicking a Set button, the macro button's font color will be set to black.

To set the color of a macro button's face, click the appropriate Set button in the Button Color column, and choose the desired color from the color selection window. If you depress the CTRL key while clicking a Set button, the macro button's button face color will be set to the standard button face color in the current Windows color scheme.

For macros whose length exceeds that of the macro definition window display or for extensive editing, double-clicking in the contents field will invoke a resizable Macro Editor window and populate it with those contents.

You can save a macro bank's sixteen macros to a file by clicking the Save button and selecting a destination pathname; if the Save colors box is checked, then font and button colors for each of the macro bank's sixteen macros will also be saved in the file.

You can load a macro bank's sixteen macros from a file by clicking the bank's Load button and selecting a source pathname; if the file contains font and button colors, then the font and button colors of each of the macro bank's sixteen macros will be set to the save colors. The last filename pathname associated with a macro bank is displayed in the Macro Bank panel's caption; if a macro is subsequently modified, this will be noted in the panel's caption. The simple name of the file is displayed in the Main window's Macro panel caption. If you use a text editor to modify the contents of a file into which macros have been saved, do not insert line breaks, as this will prevent WinWarbler from properly loading the file; to insert a line break in a macro use the <enter> substitution command described below.

The PSK startup, RTTY startup, Phone, and CW startup macros are defined in the lower portion of WinWarbler's macro definition window; there's a checkbox associated with each startup macro that determines whether the macro's commands are executed when a switch to its mode occurs.

To insert a line break in a macro, use the <enter> substitution command described below. 

Macro Commands

In a macro's contents, any information not surrounded by a pair of angle brackets is transmitted verbatim in every mode except phone. Valid commands begin and end with an angle bracket; WinWarbler processes such commands in a macro's contents by replacing them as enumerated in the following Substitution table, or by executing an action specified in one of the following Action tables:

Command Substitution 
<n> the character whose ASCII code is n (for 0 <= n < 255); control characters other than <17>, <18>, and <19> will be conveyed to the external modem if in CW mode with keying via the external modem, or if in RTTY mode with the external modem's receive pane active
<antpath>
Antenna Path Substitution
unknown
S short path
L longpath
G grayline
O indirect path
<band> the band associated with the current transmit frequency
<callsign> contents of the call textbox
<contest_id> the contents of the contest textbox
<cwid> transmit the CW identification string when transmission is complete
<date> the current UTC date
<dx> If a location in specified in the Position panel on the Position and Vector Configuration window and the Main window's QSO Info panel specifies a Grid item and a Path item of either S or L, the computed distance and distance unit, e.g. 5035 mi

If these prerequisites are not satisfies, the word unknown

<enter> the character whose ASCII code is 13; use this command to insert a line break in the RTTY decoded by your QSO partner
<file: filename> the contents of the designated file ; filename should begin with a drive letter and include all intervening directories (if the file does not terminate with a newline character, one is appended)
<fileraw: filename> the contents of the designated file ; filename should begin with a drive letter and include all intervening directories
<greeting> if DXView is running and if capturing a station's callsign or performing a lookup operation has updated the QSO Info panel to display the station's local time in its upper-right corner, then
  • if the local time is between 0:00 and 11:59,  the string Good morning
  • if the local time is between 12:00 and 17:59,  the string Good afternoon
  • if the local time is between 18:00 and 23:59,  the string Good evening

if DXView is not running, or if the local time cannot be determined for the captured station's callsign, the string Good day

<greeting_abbrev> if DXView is running and if capturing a station's callsign or performing a lookup operation has updated the QSO Info panel to display the station's local time in its upper-right corner, then
  • if the local time is between 0:00 and 11:59,  the string GM
  • if the local time is between 12:00 and 17:59,  the string GA
  • if the local time is between 18:00 and 23:59,  the string GE

if DXView is not running, or if the local time cannot be determined for the captured station's callsign, the string GD

<grid> contents of the grid textbox
<lastqso> if DXKeeper is running and a previous QSO lookup is successful, the string

The last of our X QSOs was at HH:MM UTC of YYYY-MM-DD on FF.FFF MHz in {Mode}.

where X is the number of previous QSOs with the current station,  HH:MM, YYYY-MM-DD, FF.FFF. and {Mode} are taken from the most recent previous QSO. If a QSL for this most recent previous QSO has been received, the string

Thanks for QSL!

is appended.

If the previous QSO lookup is unsuccessful, the string 

This is the first time we've worked.

is appended.

<lastqsocount> if DXKeeper is running and a previous QSO lookup is successful, the number of previous QSOs with the station; otherwise, nothing
<lastqsodate> if DXKeeper is running and a previous QSO lookup is successful, the UTC date of the most recent QSO with the station in YYYY-MM-DD format; otherwise, nothing
<lastqsotime> if DXKeeper is running and a previous QSO lookup is successful, the UTC time of the most recent QSO with the station in HH:MM format; otherwise, nothing
<lastqsofreq> if DXKeeper is running and a previous QSO lookup is successful, the frequency in MHz on which the most recent QSO with the station was conducted; otherwise, nothing
<lastqsoband> if DXKeeper is running and a previous QSO lookup is successful, the band on which the most recent QSO with the station was conducted; otherwise, nothing
<lastqsomode> if DXKeeper is running and a previous QSO lookup is successful, the mode in which the most recent QSO with the station was conducted; otherwise, nothing
<lastqsostatus> if DXKeeper is running and a previous QSO lookup is successful, confirmed if the most recent QSO's QSL_Rcvd item is 'Y' or 'V', otherwise unconfirmed .
<localtime> the current local time in the format hh:mm
<mode> the current mode  (PSK31 or QPSK31 or PSK63 or QPSK63 or PSK125 or QPSK125 or RTTY or CW or SSB or AM or FM)
<mycall> the station callsign
<mycourse> the contents of the course textbox in the Position and Vector Configuration window
<mygrid> the contents of the grid square textbox in the Position and Vector Configuration window
<mylatitude> the contents of the latitude textbox in the Position and Vector Configuration window
<mylongitude> the contents of the longitude textbox in the Position and Vector Configuration window
<myspeed> the contents of the speed textbox in the Position and Vector Configuration window
<myqthant> the antenna information specified in DXKeeper's default myQTH
<myqthbandant> the description of the antenna for the current band extracted from multiband antenna information specified in DXKeeper's default myQTH
<myqthcity> the City specified in DXKeeper's default myQTH
<myqthcqzone> the CQ zone specified in DXKeeper's default myQTH
<myqthgrid> the Grid square specified in DXKeeper's default myQTH
<myqthiota> the IOTA group specified in DXKeeper's default myQTH
<myqthituzone> the ITU zone specified in DXKeeper's default myQTH
<myqthlatitude> the Latitude specified in DXKeeper's default myQTH
<myqthlongitude> the Longitude specified in DXKeeper's default myQTH
<myqthprimarysubdivision> the Pri sub (primary administrative subdivision) specified in DXKeeper's default myQTH
<myqthrig> the Rig information specified in DXKeeper's default myQTH
<myqthsecondarysubdivision> the Sec sub (secondary administrative subdivision) specified in DXKeeper's default myQTH
<myqthsig> the Sig information specified in DXKeeper's default myQTH
<myqthsiginfo> the Sig info information specified in DXKeeper's default myQTH
<name> contents of the name textbox; if the name textbox is empty, returns om
<nameonly> contents of the name textbox
<newline> the character whose ASCII code is 10

Note: the MMTTY engine will not transmit a Baudot linefeed character (code 02); to insert a line break in the RTTY decoded by your QSO partner, use the <enter> command
<opfirstname> the operator's first name
<peakIMD> contents of the peak IMD textbox ; if the peak IMD textbox is empty, returns not measured
<prev_callsign> contents of the call textbox when the previous QSO was logged
<prev_tx_serial_number> the contents of the TX# textbox minus 1, zero-filled to 3 digits if increment TX# is enabled; if in CW mode and use cut #s in macros is checked, substitute T for 0 and N for 9
<prisub> the contents of the Pri sub (or State or Province) text box
<secsub> the contents of the Sec sub (or County) text box
<QSOBeginUTC> QSO begin time for the current receive pane in the format hhmm
<QTH> contents of the QTH textbox
<qsonumber> if DXKeeper is running and a previous QSO lookup is successful, the number of previous QSOs with the current station
<revision> WinWarbler's revision level
<RSTsent> contents of the rst S textbox (if non-empty) or the contents of the Default sent & received textbox (if the rst S textbox is empty); if in CW mode and use cut #s in macros is checked, substitute T for 0 and N for 9
<RSTreceived> contents of the rst R textbox; if in CW mode and use cut #s in macros is checked, substitute T for 0 and N for 9
<rx_freq> the current RF reception frequency (if RTTY, mark frequency)
<rx_serial_number> the contents of the RX# textbox, zero-filled to 3 digits if increment TX# is enabled; if in CW mode and use cut #s in macros is checked, substitute T for 0 and N for 9
<opcall> the operator's callsign
<ownercall> the station owner's callsign
<sig> the contents of the SIG textbox
<sig_info> the contents of the SIG_INFO textbox
<transmit_power> the contents of the TX Pwr textbox; if in CW mode and use cut #s in macros is checked, substitute T for 0 and N for 9
<tx_freq> the current RF transmission frequency (if RTTY, mark frequency)
<tx_serial_number> the contents of the TX# textbox, zero-filled to 3 digits if increment TX# is enabled; if in CW mode and use cut #s in macros is checked, substitute T for 0 and N for 9
<useritem: n> the contents of the user-defined item selected by n, an integer from 0 to 7
<UTC> the current UTC time in the format hh:mm
<UTChour> the current UTC hour in the format hh
<UTCminute> the current UTC minute in the format mm
<Via> contents of the Via textbox

 

Command Action
<advance_tx_serial_number> increment the contents of the TX# setting if the increment TX# setting is enabled
<audio_autostartstop_enable> enable automatic starting and stopping of audio recording
<audio_autostartstop_disable> disable automatic starting and stopping of audio recording
<audio_record_enable> enable audio recording
<audio_record_disable> disable audio recording
<audio_record_start> if audio recording is enabled, a soundcard is selected, and the current audio recording state is Ready or recorded, starts recording audio and sets the current audio recording state to recording
<audio_record_stop: complete> if the current audio recording state is Recording, stops recording audio, retains the recorded audio file, and sets the current audio recording state to Ready

if the current audio recording state is Recorded, retains the recorded audio, and sets the current audio recording state to Ready
<audio_record_stop: discard> if the current audio recording state is Recording, stops recording audio, discards the recorded audio file, and sets the current audio recording state to Ready

if the current audio recording state is Recorded, discards the recorded audio file, and sets the current audio recording state to Ready
<audio_record_stop: playable> if the current audio recording state is Recording, stops recording audio, retains the recorded audio file, and sets the current audio recording state to Recorded

if the current audio recording state is Recorded, retains the recorded audio, and leaves the current audio recording state as Recorded
<afc: n> if n =0 then disable Automatic Frequency Control; if n =1 then enable afc (changes afc for current mode -- PSK or RTTY)
<archivetimestamp> if automatic archiving is enabled, writes a timestamp into the current pane's archive file
<beginqso> indicates that the QSO in the Main window's QSO info panel has started
<clear_qso>
<clear_receive_pane> clears the current receive pane
<clear_receive_pane: n> if n is 0, 1, or 2, clears the specified receive pane if its visible
<clear_transmit_pane> clears the transmit pane and any not-yet-transmitted data
<comment: text> no effect; text can be used to document the macro
<digirxsound: soundcard>

sets the PSK & RTTY Reception soundcard to the specified soundcard

<digitxsound: soundcard>

sets the PSK & RTTY Transmission soundcard to the specified soundcard

<cwspeed: n> adjusts the CW speed in words per minute
  • <cwspeed: 20> sets the CW speed to 20 words per minute

  • <cwspeed: +5> increases the CW speed by 5 words per minute

  • <cwspeed: -3> decreases the CW speed by 3 words per minute

  • <cwspeed: pot> if the Keying Mode is set to Winkey, sets the CW speed to that specified by the WinKey speed potentiometer

Note: if transmission has been initiated, this command takes effect after transmission of the preceding character except when transmitting CW via the External Modem, in which case the command takes effect when its executed; if transmission has not been initiated, the command takes effect when encountered

<endqso> indicates that the QSO in the Main window's QSO info panel has ended
<focus: item> moves the mouse cursor to the designated user interface item:
  • <focus: call> moves the mouse cursor to the QSO Info panel's Call textbox
  • <focus: rst_sent> moves the mouse cursor to the QSO Info panel's rst S textbox
  • <focus: rst_rcvd> moves the mouse cursor to the QSO Info panel's rst R textbox
  • <focus: transmit_pane> moves the mouse cursor to the Main window's Transmit Pane
<log_qso> Before executing a macro containing this command, WinWarbler checks for errors or omissions, considering the flag invalid callsigns and require DXCC settings. If errors or omissions are found, they are flagged by flashing the offending item's caption  in red font, and none of the macro is executed. If no errors or omissions are found, WinWarbler
  • if Automatically start and stop recording is enabled, stops audio recording (if in progress), and includes the name of the QSO info panel's call in the audio filename

  • creates a new record from the information contained in the QSO info panel

  • appends the record to the Minilog

  • directs DXKeeper (if running) to log the record

<log_qso: audio> Before executing a macro containing this command, WinWarbler checks for errors or omissions, considering the flag invalid callsigns and require DXCC settings. If errors or omissions are found, they are flagged by flashing the offending item's caption  in red font, and none of the macro is executed. If no errors or omissions are found, WinWarbler
  • includes the name of the QSO info panel's call in the audio filename

  • creates a new record from the information contained in the QSO info panel, including the audio filename

  • appends the record to the Minilog

  • directs DXKeeper (if running) to log the record

<log_eqsl_qso> Before executing a macro containing this command, WinWarbler checks for errors or omissions, considering the flag invalid callsigns and require DXCC settings. If errors or omissions are found, they are flagged by flashing the offending item's caption  in red font, and none of the macro is executed.  If no errors or omissions are found, WinWarbler
  • if Automatically start and stop recording is enabled, stops audio recording (if in progress), and includes the name of the QSO info panel's call in the audio filename

  • creates a new record from the information contained in the QSO info panel

  • appends the record to the Minilog

  • directs DXKeeper (if running) to both log the QSO and immediately upload it to eQSL.cc

    • if the upload succeeds, DXKeeper records a 'Y' in the QSO's QSL_sent field and the current UTC date in its date_sent field

    • if the upload fails, the QSO is logged, but the QSL_sent and date_sent fields remain empty

    • successful uploading requires that you have registered with eQSL.cc and have specified your username and password on the eQSL tab of DXKeeper's window

<log_eqsl_qso: audio> Before executing a macro containing this command, WinWarbler checks for errors or omissions, considering the flag invalid callsigns and require DXCC settings. If errors or omissions are found, they are flagged by flashing the offending item's caption  in red font, and none of the macro is executed.  If no errors or omissions are found, WinWarbler
  • includes the name of the QSO info panel's call in the audio filename

  • creates a new record from the information contained in the QSO info panel, including the audio filename

  • appends the record to the Minilog

  • directs DXKeeper (if running) to both log the QSO and immediately upload it to eQSL.cc

    • if the upload succeeds, DXKeeper records a 'Y' in the QSO's QSL_sent field and the current UTC date in its date_sent field

    • if the upload fails, the QSO is logged, but the QSL_sent and date_sent fields remain empty

    • successful uploading requires that you have registered with eQSL.cc and have specified your username and password on the eQSL tab of DXKeeper's window

<log_eqsl_lotw_qso> Before executing a macro containing this command, WinWarbler checks for errors or omissions, considering the flag invalid callsigns and require DXCC settings. If errors or omissions are found, they are flagged by flashing the offending item's caption  in red font, and none of the macro is executed.  If no errors or omissions are found, WinWarbler
  • if Automatically start and stop recording is enabled, stops audio recording (if in progress), and includes the name of the QSO info panel's call in the audio filename

  • creates a new record from the information contained in the QSO info panel

  • appends the record to the Minilog

  • directs DXKeeper (if running) to both log the QSO and immediately upload it to eQSL.cc and to LotW

    • if the upload succeeds, DXKeeper records a 'Y' in the QSO's QSL_sent field and the current UTC date in its date_sent field

    • if the upload fails, the QSO is logged, but the QSL_sent and date_sent fields remain empty

    • successful uploading requires that you have registered with eQSL.cc and have specified your username and password on the eQSL tab of DXKeeper's window, and that you have registered with LotW and have specified your username and password on the LoTW tab of DXKeeper's window

<log_eqsl_lotw_qso: audio> Before executing a macro containing this command, WinWarbler checks for errors or omissions, considering the flag invalid callsigns and require DXCC settings. If errors or omissions are found, they are flagged by flashing the offending item's caption  in red font, and none of the macro is executed.  If no errors or omissions are found, WinWarbler
  • includes the name of the QSO info panel's call in the audio filename

  • creates a new record from the information contained in the QSO info panel

  • appends the record to the Minilog

  • directs DXKeeper (if running) to both log the QSO and immediately upload it to eQSL.cc and to LotW

    • if the upload succeeds, DXKeeper records a 'Y' in the QSO's QSL_sent field and the current UTC date in its date_sent field

    • if the upload fails, the QSO is logged, but the QSL_sent and date_sent fields remain empty

    • successful uploading requires that you have registered with eQSL.cc and have specified your username and password on the eQSL tab of DXKeeper's window, and that you have registered with LotW and have specified your username and password on the LoTW tab of DXKeeper's window

<log_lotw_qso> Before executing a macro containing this command, WinWarbler checks for errors or omissions, considering the flag invalid callsigns and require DXCC settings. If errors or omissions are found, they are flagged by flashing the offending item's caption  in red font, and none of the macro is executed.  If no errors or omissions are found, WinWarbler
  • if Automatically start and stop recording is enabled, stops audio recording (if in progress), and includes the name of the QSO info panel's call in the audio filename

  • creates a new record from the information contained in the QSO info panel

  • appends the record to the Minilog

  • directs DXKeeper (if running) to both log the QSO and immediately upload it to LotW

    • if the upload succeeds, DXKeeper records a 'Y' in the QSO's QSL_sent field and the current UTC date in its date_sent field

    • if the upload fails, the QSO is logged, but the QSL_sent and date_sent fields remain empty

    • successful uploading requires that you have registered with LotW and have specified your username and password on the LoTW tab of DXKeeper's window

<log_lotw_qso: audio> Before executing a macro containing this command, WinWarbler checks for errors or omissions, considering the flag invalid callsigns and require DXCC settings. If errors or omissions are found, they are flagged by flashing the offending item's caption  in red font, and none of the macro is executed.  If no errors or omissions are found, WinWarbler
  • includes the name of the QSO info panel's call in the audio filename

  • creates a new record from the information contained in the QSO info panel

  • appends the record to the Minilog

  • directs DXKeeper (if running) to both log the QSO and immediately upload it to LotW

    • if the upload succeeds, DXKeeper records a 'Y' in the QSO's QSL_sent field and the current UTC date in its date_sent field

    • if the upload fails, the QSO is logged, but the QSL_sent and date_sent fields remain empty

    • successful uploading requires that you have registered with LotW and have specified your username and password on the LoTW tab of DXKeeper's window

<loadmacrobank: filename> loads the currently selected macro bank with macros defined in the specified filename located in WinWarbler's scripts folder. If WinWarbler is installed in the folder

c:\program files\winwarbler  

then the command

<loadmacrobank: cw.txt>

will load the current macro bank with macros defined in the file

c:\program files\winwarbler\scripts\cw.txt

notes: 

  1. if no macro bank has been selected by a preceding <macrobank: n>, then macro bank 1 will be loaded

  2. if the specified file was saved with font and button colors, the current macro bank's font and button colors will be set to the colors specified in the file/font>

<loadfullmacrobank: pathname> loads the currently selected macro bank with macros defined in the specified pathname. For example,

<loadfullmacrobank: c:\radio\macros\WinWarbler\cw.txt>

notes: 

  1. if no macro bank has been selected by a preceding <macrobank: n>, then macro bank 1 will be loaded

  2. if the specified file was saved with font and button colors, the current macro bank's font and button colors will be set to the colors specified in the file

<lookup>

DXKeeper (if running) is directed to do the following with the station whose callsign is shown in the Call textbox:

  • produce a filtered display showing previous QSOs 

  • perform a callbook lookup

  • record DXCC, Grid, Via, QTH, IOTA, CQ, ITU, State, County, Province, Continent and Country Code information obtained from previous QSOs, found in the selected callbook, or found in the DXCC database 

  • update the Call textbox's caption to indicate the number of previous QSOs -- unless WinWarbler's Contest Mode is enabled and the current QSO duplicates the callsign, band, and mode of a previous QSO, in which case the Call textbox's caption will indicate  Dup!

  • display details of the most recent QSO with this station in the expanded QSO info panel

If DXKeeper isn't running, DXView (if running) is directed to display the location of the station whose callsign is shown in the Call textbox, and  Pathfinder (if running) is directed to perform a QSL route search for that callsign.

<macrobank: n> selects and displays macro bank n (n must be 1 or 2)
<modulation: cw> Send and receive CW
<modulation: bpsk lsb> Send and receive PSK31 with BPSK modulation using lower sideband
<modulation: bpsk usb> Send and receive PSK31 with BPSK modulation using upper sideband
<modulation: qpsk lsb> Send and receive PSK31 QPSK modulation using lower sideband
<modulation: qpsk usb> Send and receive PSK31 QPSK modulation using upper sideband
<modulation: bpsk63 lsb> Send and receive PSK63 with BPSK modulation using lower sideband
<modulation: bpsk63 usb> Send and receive PSK63 with BPSK modulation using upper sideband
<modulation: qpsk63 lsb> Send and receive PSK63 with QPSK modulation using lower sideband
<modulation: qpsk63 usb> Send and receive PSK63 with QPSK modulation using upper sideband
<modulation: bpsk125 lsb> Send and receive PSK125 with BPSK modulation using lower sideband
<modulation: bpsk125 usb> Send and receive PSK125 with BPSK modulation using upper sideband
<modulation: qpsk125 lsb> Send and receive PSK125 with QPSK modulation using lower sideband
<modulation: qpsk125 usb> Send and receive PSK125 with QPSK modulation using upper sideband
<modulation: phone> Send and receive Phone
<modulation: rtty> Send and receive RTTY
<net: n> if n =0 then disable net; if n =1 then enable net (changes net for current mode -- PSK or RTTY)
<phonetxsound: soundcard>

sets the Phone Transmission soundcard to the specified soundcard

<play: filename> if WinWarbler is in Phone mode, plays the designated .wav file in the .wav file folder via the soundcard
<rcvchannel: n> set the current channel to n (n must be 0, 1, or 2)
<rcvchannel: n hz> set channel n receiver audio frequency to hz without changing current channel (n must be 0, 1, or 2 and hz must be in the range of 50 to 3500)
<repeat: r, t> if this command appears first in a macro, the remainder of the macro is repeated r times separated by "listening intervals" of t seconds; when a macro beginning with command is executed, a small Repeating Macro window will appear that shows the number of repetitions remaining and provides a Cancel button to prematurely terminate remaining repetitions. This command cannot be used when the Main window's Operating Mode panel is set to CW and the CW Keying panel is set to Xcvr Ctrl SW.

For example, the macro 

<repeat: 3, 5><start>cq test de <mycall> k<stop>

 will call "CQ test" 3 times, with 5 second listening intervals in between

  • the <repeat: r t> must precede all other characters in the macro; otherwise, the <repeat: r t> command will be ignored
  • the macro must contain exactly one <start> command, and one <stop> command that follows the <start> command; otherwise, the macro will not be executed
  • an r larger than 25 is treated as 25
  • a t larger than 30 is treated as 30
  • the following actions will prematurely terminate any remaining macro repetitions:

    a. clicking Cancel in the Repeating Macro window

    b. striking the escape key

    c. striking any function key

    d. clicking any macro button

    e. clicking any start, stop, or abort button

    f. changing WinWarbler's Mode panel selection

    g. when transmitting CW using a Winkey, tapping paddles connected to that Winkey
<rotatesp> directs DXView  to rotate to its short path heading
<rotatelp> directs DXView  to rotate to its long path heading
<rtty: function setting> if WinWarbler is in RTTY mode with soundcard RTTY enabled, set the specified function to on or  off. The functions that can be controlled with this command are

For example, the macro <RTTY: BPF on> will enable the bandpass filter

<say: message> if WinWarbler is in Phone mode, speaks the message via the soundcard (requires appropriate .wav files to be present in WinWarbler's Phone folder as described below)
<saycallsign> if WinWarbler is in Phone mode, speaks the contents of the QSO Info panel's Call textbox via the soundcard  (requires appropriate .wav files to be present in WinWarbler's Phone folder as described below)
<saycallsignphonetics> if WinWarbler is in Phone mode, speaks the contents of the QSO Info panel's Call textbox phonetically via the soundcard  (requires appropriate .wav files to be present in WinWarbler's Phone folder as described below)
<saytransmitpane> if WinWarbler is in Phone mode, speaks the contents of the Main window's transmit pane via the soundcard  (requires appropriate .wav files to be present in WinWarbler's Phone folder as described below)
<saytransmitpanephonetics> if WinWarbler is in Phone mode, speaks the contents of the Main window's transmit pane phonetically via the soundcard  (requires appropriate .wav files to be present in WinWarbler's Phone folder as described below)
<saytxserial> if WinWarbler is in Phone mode, speaks  the QSO Info panel's TX# textbox  (requires appropriate .wav files to be present in WinWarbler's Phone folder as described below)
<scrttybaud: n> set the soundcard RTTY baud rate to n
<scrrtyshift: n> set the soundcard RTTY shift to n (hertz)
<setstationcall: callsign> sets the "station callsign" on the Config window's General tab
<spot_cluster> if the QSO Info panel's Call textbox is specified and SpotCollector is running, generates a cluster spot for the current receive frequency for the current mode
  • if the current mode is CW, PSK31, PSK63, PSK125, or RTTY, the spot notes will include the current mode
  • if the current mode is PHONE, the spot notes will include the mode specified in the "Xcvr Mode" selector on the Configuration window's Phone tab
  • if default spot notes are specified, they will be included in the spot notes
  • if the current receive and transmit frequencies are different, the split will be included in the spot notes
<spot_local> if the QSO Info panel's Call textbox is specified and SpotCollector is running, generates a local spot for the current receive frequency for the current mode
  • if the current mode is CW, PSK31, PSK63, PSK125, or RTTY, the spot notes will include the current mode
  • if the current mode is PHONE, the spot notes will include the mode specified in the "Xcvr Mode" selector on the Configuration window's Phone tab
  • if default spot notes are specified, they will be included in the spot notes
  • if the current receive and transmit frequencies are different, the split will be included in the spot notes
<start> begin transmission
<stop> stop transmission when all to-be-transmitted information has been sent
<txaudiofreq: hz> set the transmitter audio frequency to hz (net must be disabled and hz must be in the range of 50 to 3500)
<tune: on> if the current mode is CW, RTTY, or PSK and the Transmit panel's Tune box is enabled, check the Tune box and begin transmission
<tune: off> if the current mode is CW, RTTY, or PSK and the Transmit panel's Tune box is enabled, uncheck the Tune box and end transmission
<tune: toggle> if the current mode is CW, RTTY, or PSK and the Transmit panel's Tune box is enabled and unchecked, check the Tune box and begin transmission; if the Transmit panel's Tune box is enabled and checked, uncheck the Tune box and end transmission
<winkeyoutport: p, status> set the specified WinKey output port p to the specified status of enabled or disabled
<xmrttybaud: n> if n is a supported baud rate, set the external modem RTTY baud rate to n
<xmrrtyshift: n> if n is a supported shift, set the external modem RTTY shift to n hertz

The <say: message>, <saycallsign>, and <saytxserial> commands require that you populate WinWarbler's Phone folder with the following files:

The <saycallsignphonetics>  and <saytransmitpanephonetics> commands requires that you populate WinWarbler's Phone folder with the files A_phonetic.wav, B_phonetic.wav, ... Z_phonetic.wav - each containing a recording of the spoken letter's phonetic (e.g. Alpha, Bravo, ...Zulu).

The <saytransmitpanephonetics> command may also require that you populate WinWarbler's Phone folder with the file  space.wav , which is played when a space character is encountered.

Unless you're using VOX to initiate transmission, commands like <play: filename> and <say: message> should be preceded by a <start> and followed by a <stop>, e.g. 

<start><play: cq.wav><stop>

If Commander is running, the following action commands can be used to control an attached transceiver; if Commander is not running, these commands have no effect:

Command Action
<autoarchive: on> enables auto archiving
<autoarchive: off> disables auto archiving
<delayedxcvrcommand: hexcmd, interval> Direct Commander to send hexcmd to the transceiver after a delay of interval milliseconds

; hexcmd can be specified either with 2 hexadecimal digits per byte or as an ascii command preceded by an apostrophe:

<delayedxcvrcommand: FEFE6AE014010255FD, 10>

<delayedxcvrcommand: 'FR1;, 1>

<optoffset> If a PSK mode is active, direct Commander to QSY the transceiver to shift the currently received PSK signal to the optimal PSK offset for the current channel.

If RTTY mode is active,  direct Commander to QSY the transceiver to shift the currently received RTTY signal to the optimal RTTY offset.

<optoffsetdisableafc> If RTTY mode is active,  direct Commander to QSY the transceiver to shift the currently received RTTY signal to the optimal RTTY offset and disable Automatic Frequency Control.
<prixcvr: n> directs Commander to select primary radio n,  where n is a number between 1 and 4
<rttychannel: C> select the soundcard channel C from which RTTY is demodulated:
  • M - demodulate RTTY from the selected monophonic soundcard
  • L - demodulate RTTY from the left channel of the selected stereo soundcard
  • R - demodulate RTTY from the right channel of the selected stereo soundcard
<setxcvrsequencename: sequence,name> If sequence is an integer, sets the name of the  specified User-defined Command Sequence,  where 0 corresponds to the F5 sequence, 1 corresponds to the F6 sequence, etc. and 8 corresponds to the SH-F5 sequence, 9 corresponds to the SH-F6 sequence, 16 corresponds to the ALT-F5 sequence, 24 corresponds to the ALT-SH-F5 sequence, etc.
<setxcvrsequenceledcolor: sequence, color> If sequence is an integer, sets the color of the  specified User-defined Command Sequence's LED,  where 0 corresponds to the F5 sequence, 1 corresponds to the F6 sequence, etc. and 8 corresponds to the SH-F5 sequence, 9 corresponds to the SH-F6 sequence, 16 corresponds to the ALT-F5 sequence, 24 corresponds to the ALT-SH-F5 sequence, etc.
<tunefreq: RX> With a PSK mode active, directs Commander to select the transceiver's RX VFO, and configures WinWarbler's tuning display to show the RX VFO frequency when receiving in a PSK mode.

With RTTY mode active, directs Commander to select the transceiver's RX VFO, and configures WinWarbler's tuning display to show the RX VFO frequency when receiving in RTTY mode.

<tunefreq: TX> With the transceiver in split and dual receive with a PSK mode active, directs Commander to select the transceiver's TX VFO, and configures WinWarbler's tuning display to show the TX VFO frequency when receiving in a PSK mode.

With the transceiver in split and dual receive with RTTY mode active, directs Commander to select the transceiver's TX VFO, and configures WinWarbler's tuning display to show the TX VFO frequency when receiving in RTTY mode.

<tunefreq: TX_IND> With the transceiver in split  and with a PSK mode active, directs Commander to select the transceiver's TX VFO, and configures WinWarbler's tuning display to show the TX VFO frequency when receiving in a PSK mode.

With the transceiver in split  and with RTTY mode active, directs Commander to select the transceiver's TX VFO, and configures WinWarbler's tuning display to show the TX VFO frequency when receiving in RTTY mode.

<xcvra=b> Direct Commander to set the transceiver's VFO B frequency to its VFO A frequency
<xcvraxb> Direct Commander to swap the frequencies in VFOs A and B
<xcvrcommand: hexcmd> Direct Commander to send hexcmd to the transceiver; hexcmd can be specified either with 2 hexadecimal digits per byte or as an ascii command preceded by an apostrophe:

<xcvrcommand: FEFE6AE014010255FD>

<xcvrcommand: 'FR1;>

<xcvrfiltergroup: filtergroupname> Direct Commander to select the specified Filter Group
<xcvrfreq: kilohertz> Direct Commander to set the transceiver's frequency to kilohertz
<xcvrmode: usb> Direct Commander to place the transceiver in USB mode
<xcvrmode: lsb> Direct Commander to place the transceiver in LSB mode
<xcvrmode: am> Direct Commander to place the transceiver in AM mode
<xcvrmode: cw> Direct Commander to place the transceiver in CW mode
<xcvrmode: cw-r> Direct Commander to place the transceiver in reverse CW mode
<xcvrmode: rtty> Direct Commander to place the transceiver in RTTY mode
<xcvrmode: rtty-r> Direct Commander to place the transceiver in reversed RTTY mode
<xcvrmode: fm> Direct Commander to place the transceiver in FM mode
<xcvrmode: wbfm> Direct Commander to place the transceiver in wideband FM mode
<xcvrmode: data-l> Direct Commander to place the transceiver in Data-L (packet in Yaesu transceivers)
<xcvrmode: data-u> Direct Commander to place the transceiver in Data-U (reversed packet in Yaesu transceivers)
<xcvrmode: digl> Direct Commander to place the transceiver in DIGL (for FlexRadio transceivers and PowerSDR)
<xcvrmode: digu> Direct Commander to place the transceiver in DIGU (for FlexRadio transceivers and PowerSDR)
<xcvrmode: pkt> Direct Commander to place the transceiver in packet mode (Data-L in Elecraft and Icom transceivers)
<xcvrmode: pkt-r> Direct Commander to place the transceiver in reversed packet mode (Data-U in Elecraft and Icom transceivers)
<xcvrqsy: hertz> Directs Commander to change the transceiver's frequency by the specified value in hertz (which can be a negative number) to the nearest 10 hertz
<xcvrsequence: sequence> If sequence is an integer, execute Commander's corresponding  User-defined Command Sequence where 0 corresponds to the F5 sequence, 1 corresponds to the F6 sequence, etc. and 8 corresponds to the SH-F5 sequence, 9 corresponds to the SH-F6 sequence, 16 corresponds to the ALT-F5 sequence, 24 corresponds to the ALT-SH-F5 sequence, etc.

If sequence is a name, execute the User-defined Command Sequence whose name is sequence . 

<delayedxcvrsequence: sequence, interval> Direct Commander to execute a User-defined Command Sequence after a delay of interval milliseconds

If sequence is an integer, execute Commander's corresponding  User-defined Command Sequence where 0 corresponds to the F5 sequence, 1 corresponds to the F6 sequence, etc. and 8 corresponds to the SH-F5 sequence, 9 corresponds to the SH-F6 sequence, 16 corresponds to the ALT-F5 sequence, 24 corresponds to the ALT-SH-F5 sequence, etc.

If sequence is a name, execute the User-defined Command Sequence whose name is sequence .

<xcvrslider: slider,value> if slider and value are both integers, directs Commander to set the specified Command-generating Slider to the specified numeric value; slider 0 corresponds to user-defined slider #1, slider 1 corresponds to user-defined slider #2, etc.
<xcvrsplit: on> Direct Commander to place the transceiver into split frequency operation
<xcvrsplit: off> Direct Commander to place the transceiver into simplex operation
<xcvrxmitoffset: hertz> If the transceiver's split frequency operation is enabled, direct Commander to set the transceiver's transmit frequency to its current receive frequency plus the offset specified in hertz (which can be a negative number)

For applications using frequencies outside of the amateur radio bands,  there exists a version of WinWarbler that allows you to schedule the execution of macro sequences, where a macro sequence specifies the execution of one, two, or three macros. Each of the macros within a sequence can be repeated up to three times, and the entire sequence can be repeated up to three times at specified intervals. If you have need for this functionality, contact AA6YQ at aa6yq@ambersoft.com .