What’s New in cocoaModem 2.0 v0.79 thru v1.03
Kok Chen, W7AY [w7ay (at) arrl (dot) net]
Last updated: July 27, 2012
Click here for the previous (v0.70-v0.79) What’s New.
What has changed in v1.03?
(July 27, 2012)
This is a maintenance update to display waterfalls, crossed ellipse indicators and the Hellschreiber facimile that are missing when running cocoaModem v1.02 on Mac OS X 10.8 (Mountain Lion).
Many thanks to Jack W6FB for sending me details of the problem, and for prodding me to finally install Mac OS X 10.8 temporarily to look for the solution.
What has changed in v1.02?
(April 19, 2012)
Voice Assist had earlier used the Main Receiver's voice. You can now select a different voice. Please note that the rate words are spoken is set in the Speech Pref panel of System Preferences.
- Words that contain both letters and digits are now
automatically spelled as individual characters by
Incremental Speak. As a result, all active amateur call
signs are now spoken as individual letters and digits.
Previously, the MacOS X speech synthesizer spoke many
calls sign suffixes as a word.
Keyboard access to the waterfall. Command-Shift-F bring up a Direct Frequency Access window allowing keyboard selection of the frequency in the waterfall. Each digit that is typed in is confirmed by voice, and a carriage return will select the frequency in the waterfall. For more details, see voice assist.
- Modems can now be selected with keyboard shortcuts.
Select Next Modem (Command-Option-Shift-N) moves to the
next modem in the cocoaModem tabview. Select Previous
Modem (Command-Option-Shift-P) moves to the previous
modem in the tabview. When you move pass one end of the
tabs, the modem at the opposite end will be chosen in a
circular fashion. Voice Assist speaks the new modem's
name when it is chosen.
Voice Assist will speak the currently selected waterfall frequency when Speak Current Frequency (Command-Option-F) is selected.
- When Voice assist is turned on, Alerts are now spoken
instead of displayed as a modal window. For more details,
see voice assist.
- Heartfelt thanks to Brian W1BLS and Peter AE7PD for discussing
functionality that might be useful for the vision
impaired and for serving as guinea pigs for the alpha
What has changed in v1.01?
(April 13, 2012)
You can now tune the PSK31 Table View backwards with the Command-Shift-period keyboard shortcut.
A "Voice Assist " function in added in cocoaModem 2.0 v1.01. With voice assist, you can hear spoken PSK31 offset frequency when the PSK Table View is tuned with the keyboard shortcuts. It also speaks the QSO Callsign and Name fields while they are manually entered. Many thanks to Brian W1BLS for suggesting using Voice Assist for the QSO fields.
What has changed in v1.00?
(April 11, 2012)
cocoaModem's "Incremental Speak" interface can now be made to spell words rather than speaking complete words. The command-L keyboard shortcut toggles between the two modes.
Thanks to Brian W1BLS for testing the practicality of this function.
- "Incremental Speak" had included a number of
enunciation hints for the Mac OS X speech synthesizer.
Abbreviations such as "QSL" are spoken as separate
letters instead of a word. Other abbreviations are
converted into natural language (for example "DE" is
spoken as "from" instead of the French "de"). And other
words are enunciated differently from the way the speech
synthesizer speaks them.
Although the list of hints is quite extensive, it will not satisfy all users. Custom hints can now be included in a file named Enunciation.txt in the Application Support folder. Please read the details here.
What has changed in v0.99?
(March 31, 2012)
Instead of having to directly click on one of the views in cocoaModem's window, v0.96 added menu items and keyboard shortcuts (Command-M, Command-S and Command-N) to directly select one of the view. The menu items for Interfaces that don't have all three views are hidden. Hiding menu items was not implemented before Mac OS X 10.5 (Leopard) and causes cocoaModem v0.96 onwards to crash upon launch on the older systems.
cocoaModem 2.0 v0.99 no longer hides the menu items when it runs on Tiger (Mac OS X 10.4).
Many thanks to Brian W1BLS for sending me the CrashReporter output which pinpointed the problem.
What has changed in v0.96, v0.97 and v0.98?
(February 9 to February 14, 2012)
- The text-to-speech implementation in v0.97 can cause
a crashing bug with an existing plist file while
initializing the CW interface. This should now be fixed
Many thanks to Randy VE3JPU for sending me a Crash Reporter output that identified the problem.
Text-to-Speech is now built into cocoaModem. For accessibility, Mac OS X's VoiceOver worked, and continues to work with cocoaModem's textviews by speaking text which the user selects.
cocoaModem v0.96 augments VoiceOver with a word-by-word incremental text-to-speech function that automatically speaks a new word when it is received or transmitted.
The Speech tab in cocoaModem's Preferences lets you select which textviews to speak from, and which voices to use. In addition, some ham abbreviations, such as "DE," "hw?" "pse," "btu" are substituted by more natural words. The word substitution can be disabled by selecting the Verbatim checkbox in the Preference panel.
A Speech menu is added to the cocoaModem Menu Bar, with a Mute keyboard shortcut (Cmd-U) to toggle the speech output on and off.
cocoaModem's Incremental Speak works with the PSK31 interface, the RTTY interfaces, the MFSK (MFSK16 and Domino EX) interface, the ASCII interface and the SITOR-B interface.
The Interface Menu now includes menu items to select the different text views from the keyboard. Cmd-M selects the Main Receiver text view, Cmd-S selects the Sub receiver text view (if one exists) and Cmd-N selects the Transmit view (if one exists).
This permits easier access to the text views. For example, Cmd-M Cmd-A Cmd-C will copy the entire main receive view into the Mac OS X clipboard.
New keyboard shortcuts have been added to manipulate the PSK TableView. The shortcuts are available as menu items in the Interface menu of cocoaModem's Main Menu Bar.
You can open the PSK TableView by using the Command-B keyboard shortcut, and you can select the next active table view row (and transferring the selection to the PSK Interface's main receive waterfall) by using the Command-period keyboard shortcut. If the tableview is empty, you will hear two short beeps.
- The PSK31 demodulator's filter has been changed
- A Mac OS X 10.7 Lion compatibility issue in the
Contest interface is fixed in this version.
What has changed in v0.95?
(September 2, 2011)
- The Japanese PSK31 mode was failing because of a bug
with the JIS to Unicode table in the past few versions of
cocoaModem. This is now fixed and Japanese PSK31 mode
should be working again. Many thanks to Nao JF1WWZ for
alerting me of the problem and confirming the
- Multi-keystroke characters such as characters with an
umlaut, cedilla and acute were not working properly in
the PSK31 interface. This should now be fixed.
What has changed in v0.93 and v0.94?
(July 10, 2011)
- There was an issue that caused cocoaModem to fail
launching under Mac OS X 10.7 (Lion). This should be
fixed in v0.93. Many thanks to Giorgio Campiotti for
alerting me of this problem.
cocoaModem no long tries to set the number of channels or the bit depth of a Sound Card. This should make cocoaModem more compatible with single channel sound cards.
If another application had earlier connected to the Sound Card as a 1-channel device, cocoaModem will now continue to use it as a mono device (seen in the figure shown above as "1 ch/16").
If you wish to use both stereo channels on a sound card that was earlier set to use only 1 channel (assuming that the sound card is capable of stereo operation), you will have to first change that parameter using Apple's Audio MIDI Setup application in /Applications/Utilities before launching cocoaModem. The same procedure applies to sound cards that are capable of both 16 bit and 24 bit operation.
The microHAM keyer preferences (in Preferences:Connections) now includes a checkbox to switch a MicroHAM keyer into Auto Routing Mode when cocoaModem quits.
cocoaModem switches a MicroHAM keyer into Digital mode for FSK RTTY. This is also the case if you use MicroHAM keyer for PTT without checking the "Use Digital Keyer Mode only for FSK."
In the past, the microKeyer is left in the Digital Mode when cocoaModem quits. If you subsequently need to use it as a voice keyer, for example, you had to manually, or through an AppleScript, switch the routing mode through the ÁH Router's control panels. You can now set a microKeyer to Automatic mode when cocoaModem quits; this means that some other program that switches the transceiver into SSB mode through a CAT command should allow you to use the voice keyer.
(v0.94) Check for updates now points to the update file on the new www.w7ay.net web site instead of the former site on MobileMe.
What has changed in v0.92?
(February 2, 2011)
If you have previously downloaded v0.90 or v0.91, it is crucial that you replace them with v0.92.
- The Mono input sound card fix in v0.90 introduced a
bug to the output sound card, causing the output to the
transmitter to be completely garbled. This should be
fixed in v0.92. Many thanks to Jim W4ATK for alerting me
of this critical problem.
- v0.91 required the use of the latest ÁH Router. v0.92
can now use older versions of the router. Thanks to Bob
K8RJW for pointing it out to me.
What has changed in v0.91?
(January 25, 2011)
cocoaModem 2.0 v0.89 was crashing when MacLoggerDX could not be found. The dependency is no longer there for v0.91. Thanks to Pierre Bessot for reporting it.
What has changed in v0.89 and v0.90?
(January 21, 2011, January 23, 2011)
cocoaModem 2.0 v0.89's contest interface implements a function that I call "freeze-click."
cocoaModem uses the right mouse button (control-click) to capture call signs and contest exchanges. When there are carriage returns being decoded into the exchange textview, it is often tricky to rapidly capture a call sign, and you often end up clicking on blank space, or even worse, something that is not a call sign.
With "freeze-click," a right mouse button down no longer captures the call sign. When the right mouse button is held down, new text characters are blocked from appearing in the exchange textview. As long as you hold the right mouse button down, the exchange textview will remain frozen. You can now at your own leisure move the cursor and release the right mouse button when the cursor is over the call sign (or contest exchange). The action of releasing the right mouse button captures the call sign, and allows decoded characters to resume filling up the exchange textview. No decoded text is lost while the mouse is held down; they are just buffered away.
The "freeze" function also works in the regular (non-contesting) textviews. You can now freeze a textview by holding down the right mouse button while the cursor is inside the particular textview.
- "AppleScript Macros"
You can now invoke up to 6 arbitrary AppleScripts from a Macro button. The AppleScripts are defined in the AppleScript tab of cocoaModem's Preference window.
You use the Browse button to navigate to and select a scpt file. These AppleScripts are known as [a0] through [a5]. You can then insert %[a0] through %[a5] inside your macro bodies (just as you insert %[rx] and %[tx]).
The %[aN] macros can be used standalone (i.e., using a Macro button to do nothing but invoke some external AppleScript). They can also be part of some other macros that you have defined.
Remember that you have three sets of macro buttons. The other two sets are accessed by holding down Option or Shift-Option when you click on the macro Edit button. The macro button captions will change to the alternate sets when you hold down Option or Shift-Option.
- Checkbox to prevent ÁH Router from
There is now a "Do not open ÁH Router" checkbox in the Connection tab of the cocoaModem Preferences.
This prevents cocoaModem from launching the ÁH Router even when it finds the application on your hard drive. This checkbox can be used in conjunction with programs that need exclusive access to the microHAM keyers and do not work when ÁH Router is running.
Select the checkbox, Quit cocoaModem and then Quit any running copy of ÁH Router. The next time cocoaModem is launched, it will not auto launch ÁH Router.
cocoaModem will not be able to access PTT and FSK functions in a microHAM keyer when ÁH Router is not running. To reenable the ÁH Router, uncheck the checkbox, and relaunch cocoaModem.
- Accessing multiple microHAM keyers
Note: this feature requires you to update ÁH Router to the latest release (v1.80).
In the past, you can only have a single microHAM keyer of any one type. For example, if you have a digiKeyer and a digiKeyer II connected to your computer, cocoaModem will only see one of them. When there are multiple keyers, cocoaModem will now list their unique identifiers (assigned by microHAM) in the menu. The following figures show the PTT menu and AFSK/FSK menu when both a digiKeyer and a digiKeyer II are discovered by ÁH Router:
- Aural Monitor bug fix
The background aural monitor for RTTY was not enabled.
- Click Buffer resets
The click buffer is now reset each time the transmit mode is reentered. The click buffer is also reset when the "Flush" AppleScript is received.
This and the RTTY Aural Monitor fix has been in cocoaModem since last August but had only been released before this to 9X0TL (no one else asked for it)
- Mono input Sound Card
cocoaModem 2.0 v0.90 now accepts single channel (mono) input sound cards. Thanks to Uli DL4YCM for trying it out on a different sound card than the sound card that I have.
a version AppleScript (returns a string, e.g., "0.90") has been added to cocoaModem v0.90. Be sure to first check the scriptVersion AppleScript first. The version AppleScript is only available for scriptVersion of 3 or greater.
What has changed in v0.88?
(August 8, 2010)
- When the output device level slider in the transmit
configuration windows is push all the way to the right
for maximum output, cocoaModem now puts out an audio
signal that is within 1.5 dB of the full scale output of
the sound card, instead of the 3 dB headroom that was
used in earlier versions.
Because of this change, please recheck your audio settings again to confirm that you are not overdriving the transmitter into ALC conditions.
- The PSK transmitter might select the incorrect mode
(PSK63 instead of PSK31) when switching between Xcvr1 and
Xcvr2 even when both of them have PSK31 selected. The PSK
transmitter now double checks the mode menu, instead of
the state it was given by Xcvr1 or Xcvr2. Thanks to Atsuo
JE6HIB for reporting the problem.
- The locking mechanism in the PSK transmitter is
changed from an NSLock to a NSRecursiveLock in an attempt
to resolve a possible deadlock situation while
transmitting. Thanks to Ron KB0MGA for alerting me of a
cocoaModem now includes a "USOS Compatibility" algorithm when RTTY Robust Mode is enabled.
USOS transmitters are not fully compatible with non-USOS receivers and vice versa. By turning the robust mode on, both USOS and non-USOS receivers will always be able to print cocoaModem's transmission correctly.
Note that this does not mean that you can correctly decode the signal from a transmitter that did not select the same USOS state as you did. It simply means that the other end can now copy you regardless of the USOS state they or you chose to use. You will still need to use the same USOS setting as the transmitting station to properly copy the transmission (unless the other end is also running a current version of cocoaModem with robust mode turned on).
The inclusion of the new algorithm adds an addition of less than 4 percent overhead to typical transmissions. This "USOS compatibility" solution was created after discussing a problem that Roberto EA2RY encountered. The "problem" was eventually found to be caused by USOS incompatibility with the receiving station.
- A LTRS character is now sent at the start of every
RTTY transmissions (including transmissions that are
initiated by macros). The LTRS character resets the
decoder at the receiving end in case it was stuck in FIGS
mode prior to receiving cocoaModem's transmission.
- The "plumbing" of the Aural Monitor has been reworked
to better handle the case where the monitor's sound card
and the input sound card do not have precisely the same
clock rates. This should also benefit modes such as
- The CW Aural Monitor now uses separate DSP filters
for receive and transmit directions. This should make the
monitor's output smoother when using QSK at the faster
- The state of the master mute checkbox in the
cocoaModem Aural Monitor window was not saved to the
plist. It should now be properly saved.
When the aural monitor is not muted, it will now be automatically started when cocoaModem is launched. If you do not wish to use the aural monitor, or if you are running on a slower computer, be sure to select Mute in the Aural Monitor window -- this will keep the aural monitor from running.
- The aural monitor now ignores the sign of attenuation
fields. It no longer adds gain if the attenuation value
- The stepped attenuator (0/15/30 dB) in the Aural
Monitor window was non-functional. It should now work and
its state saved to the plist.
- The transmit aural monitor's volume is now
independent of the AFSK sound level that is sent to the
- The RTTY interfaces only generates audible tones
while in AFSK. The transmit aural monitor was silent when
transmitting using FSK or OOK. cocoaModem now includes an
artificial AFSK generator for aurally monitoring FSK and
Please note that unlike the AFSK case, the transmit aural monitor may not precisely represent the signal that is going out over the air. Under FSK, the transmitted signal is controlled by the hardware interface such as a digiKeyer. The FSK and OOK aural monitor merely provides an aural cue that approximates what is being transmitted.
The Aural Monitor window now includes a stereo/mono blend slider to adjust the separation between the left and right monitoring headphones.
A short beep sound is now emitted in the receive aural monitor when the Wideband RTTY waterfall click buffer transitions from playing back the recorded audio stream to the live audio that comes from the input sound card. The 45ms long beep can be turned off completely by moving the Click Buffer Beep volume slider all the way to the left.
The RTTY receive aural monitor now includes an automatic gain control stage. The AGC has a maximum range of 26 dB.
The last three aural monitor features were outcomes of discussions with Tom DL2RUM. Tom has also kindly field tested a pre-released version of v0.88 at 9X0TL.
What has changed in v0.87?
(July 5, 2010)
Added support in cocoaModem to use the p-FSK and q-CW functions in the digiKeyer II.
This allows you to use A1A keying (instead of J2A) in CW with a digiKeyer II by using its on-board q-CW function. When you select OOK : digiKEYER in the modulation menu of the CW interface's transmit configuration, cocoaModem will switch the keyer into the proper mode so that the on-off keyed (OOK) tones from cocoaModem gets converted into a hard keying signal in the digiKeyer II .
Please note that you should continue to use plain OOK if you are using a USB Interface III or the K4DSP regenerator for producing A1A keying signals. OOK : digiKEYER is only for use with a digiKEYER II.
Be sure to select the right stereo channel for the output sound card when you use the OOK modes with the digiKeyer II or with the USB Interface III. Select the corresponding channel of the sound card that a K4DSP regenerator is wired for.
Likewise, there is an OOK : digiKEYER menu item in the RTTY AFSK/FSK menus to drive the digiKEYER's p-FSK function. However, there is no practical advantage to use this instead of the direct FSK method (FSK : digiKeyer). Indeed, if you select direct FSK in the digiKeyer, you will not need to bother with setting the output sound card.
What has changed in v0.86?
(May 10, 2010)
The sound device associated with the aural monitor was being pushed to within 1 dB of full scale when cocoaModem quits. This is now fixed.
Thanks to Uli DL4YCM for describing this problem.
What has changed in v0.85?
(May 8, 2010)
- Flush and Flush/Receive (Cmd-X) was missing from the
MFSK16 and DominoEX modems. They should now work.
Thanks to Peter VE7NBQ for reporting the missing functions.
- Ever since v0.78, single channel (mono) output has
been sent to both left and right stereo channel of a
sound card. This should now be fixed. When the left
channel is selected, the right channel of the output
sound card should now be silent.
Likewise, when the right channel of a sound card is selected, the left channel should be silent.
Thanks to Joe W4TV for reporting this anomaly.
In addition to AFSK and FSK, all three RTTY interfaces now support audio on-off keying (OOK). This new OOK mode can be used to tone key the right channel of the microHAM USB Interface III for FSK. Please refer to the AFSK/FSK/OOK Selection section of the RTTY documentation for details.
- With cocoaModem v0.85, in addition to the J2A ("CW
with AFSK") modulation, audio on-off keying (OOK) can now
also be selected in the CW interface. The CW OOK mode
does not include any waveshaping, making keying more
precise than using J2A waveforms to generate a CW keying
signal with devices such as K4DSP's Regenerator and the
microHAM USB Interface III. Please refer to the OOK
section of the CW documentation for details.
Please note that the new OOK outputs should not be used to directly modulate a transmitter. The OOK tone bursts are not waveshaped and an AFSK transmitter will generate a very wide signal when directly modulated by the OOK keying signal. The cocoaModem OOK signals should only be used to drive devices such as the microHAM USB Interface III or the K4DSP regenerator.
What has changed in v0.84?
(March 1, 2010)
Transmit USOS (unshift on space) was missing from the FSK implementation for a microHAM keyer.
With v0.84, FSK transmissions now use USOS whenever USOS is selected by the RTTY receive configuration.
Transmit USOS should continue to work under AFSK. USOS receive should also continue to function. Many thanks to Tamotsu KJ4NNO for reporting that transmit USOS was not active under FSK.
(February 11, 2010)
Apple has released a Mac Pro Audio Update 1.0 that addresses the problem which is mentioned in the warning below for v0.82 (January 10, 2010). I no longer see abnormal temperature increases.
What has changed in v0.83?
(January 30, 2010)
v0.83 implements a new ASCII Radioteletype interface.
- Before v0.83, the "pttQuit" AppleScript for User PTT
was not used. cocoaModem now calls the quit AppleScript
when it terminates.
- The RTTY transmit baud rate was not tracking to the
receive baud rate. Instead, an omission caused the
transmit baud rate to be fixed at 45.45 baud. When the
baud rate is changed, both receive and transmit baud
rates should now obey the change.
- RTTY filters have been tightened slightly. You can
still choose wider filters in the AUX panel.
What has changed in v0.82?
(January 10, 2010)
- When MacLoggerDX is selected as the PTT device,
cocoaModem now checks if the active copy of MacLoggerDX
is version 4 or version 5. Before v0.82, cocoaModem had
used MacLoggerDX v4 AppleScripts for PTT; cocoaModem will
now choose between the two different AppleScripts
(MacLoggerDX v4 and v5 require different AppleScripts to
- Once transmit state is active, the PSK31 interface
now only allows new characters or backspaces. This
prevents operators from attempting to remove characters
that has already been transmitted unless they are removed
from the tail of the current transmission (a PSK31
backspace Varicode will be sent in that case). When the
PSK31 interface is in the receive state, any selection
that is typed ahead can still be removed.
- When MacOS X is updated to 10.6.2, an autorelease
object of the NSDate class could end up being
unretainable . This was only seen on one Core 2 Duo (8,1)
iMac that had been upgraded to 10.6.2 using the delta Mac
OS X updater -- many thanks to Harry K7GQ/KH6CW for
reporting this. The problem can cause cocoaModem to crash
since it uses a retained autorelease NSDate object (used
for passing waterfall timing information to apps that ask
for it through AppleScript).
To work around this problem, cocoaModem v0.82 no longer uses a retained NSDate object in its waterfall code.
- Warning: if you are using a Nehalem based ("early
2009") MacPro, you could see a 70 watt increase in power
consumption (with attended CPU core temperature rise)
when running cocoaModem (or any application, such as
iTunes, that makes use of Core Audio).
This is a known problem with the Nehalem based MacPros in MacOS X (both Leopard and Snow Leopard, including 10.6.2) that Apple has not yet fixed.
In the meantime, monitor the core temperatures on your "early 2009" MacPros to make sure they are not excessive when you are running audio apps such as cocoaModem or iTunes.
For more details, see the Apple support discussion forum here. This problem does not affect the Core 2 Duo, i5 or i7 versions of the iMac. Nor does it affect older MacPros. The problem is present only in the 2009 MacPros.
What has changed in v0.81?
(November 26, 2009)
- Increased the size of input sound card buffering and
added an extra layer of buffering when saving to PDF to
handle HF-FAX for slow Macs.
- Slash zero was not working properly when Shift-JIS
(two byte Japanese font representation) is selected in
Thanks to Chris VP8BKF and Nao JF1WWZ for reporting the problems.
What has changed in v0.80?
(November 23, 2009)
- The image in the HF-FAX interface had stopped auto
scrolling in Snow Leopard. There is a rewrite of the
HF-FAX display interface in v0.80 to avoid sending
dynamically scrolling images to the image view. A
vertical slider has replaced the vertical scroller of the
scrollview and all scrolling is now done by an offline
bitmapped buffer in cocoaModem rather than by the Cocoa
Thanks to Dave WD7K and Chris VP8BKF for reporting the problem and confirming some of the fixes.
- The HF-FAX input attenuator was not connected. It now
- The HF-FAX half/full size button state is now saved
to the plist.
- Stopped performing periodic draining of the
autorelease pool for the input sound device. This was
causing crashes in some pre-Snow Leopard machines. There
were no unbounded memory growth, so the draining was not
needed in the first place. (Snow Leopard performs
automatic garbage collection for Cocoa, and had not
implemented the autorelease pool drain).
Thanks to Fujita-san, 7N4WPY for sending the CrashReporter output that identified this problem.
RTTY filters (Narrow, Normal, Wide, Soft, HPF) are selected from the main window of the RTTY Inteface and from the Aux window of the Wideband RTTY Interface. The BPF selection of the RTTY Monitor allows you to see the behavior of various filter widths when there is nearby interference. The Input selection of the RTTY Monitor shows the spectrum before cocoaModem applies the band bandpass filter. The ATC display lets you see the effect of the automatic threshold correction when the input signal is selectively fading.
- Some improvements have been made to the launch time
of cocoaModem. Sampling rate changes are only made when
needed and the Viterbi decoding table for QPSK31 is now
precomputed into a string array.
- To reduce cocoaModem crashes that were caused by
third party Core Audio Plug-ins, a timer is now used to
defer removal of the Core Audio IOProc (there is one
poorly written third party plug-in that keeps calling an
IOProc in cocoaModem even after Core Audio is told to
remove the IOProc). If an IOProc is used again before it
is removed by the timer, cocoaModem will reuse that
IOProc and keep the IOProc from removal.
- For sound cards that don't implement digital
attenuation, the attenuator in cocoaModem now snaps to
the 0 dB position instead of to other fixed values that
are returned by the sound card.
For sound cards that do implement digital attenuation, the attenuation range in cocoaModem now matches more closely the sound card's attenuation range. Please not that some sound cards' attenuation are quantized to rougher values than the slider in cocoaModem. Because of that, you might now find the slider snapping slightly away from the position you had left it. The slider snaps to the true attenuation value that is returned by the sound card.
Click here for the previous (v0.70-v0.79) What’s New.