What’s
New in cocoaModem 2.0 v0.70 thru v0.79
Kok
Chen, W7AY [w7ay (at) arrl.net]
Click here
for the previous (v0.50-v0.69) What’s
New.
What has changed in v0.78 (+ v0.79)?
(November 16 and 17, 2009)
- cocoaModem now includes an Aural Monitor for the
wideband RTTY, Dual RTTY, LiteRTTY, PSK and LiteRTTY
Interfaces. In the past only the CW and the Synchronous
AM interfaces had audio for montoring.
The CW Aural channel and the Synchronous AM output now make use of this common Aural Monitor.
Please look here for details.
The aural monitor allows you to listen to the received signal through a sound card (e.g., the built-in Macintosh speakers) while filtering away other signals in the passband. Various options are avialble to listen to the receive tone(s) as is, or to center the tone(s) at a fixed frequency. The monitor also allows the original wideband signal to be mixed with the received signal, but with an attenuated level.
The aural monitor hears what the demodulators hear. You can, for example hear how much interference is coming from a nearby station when the different RTTY filters are selected.
Transmitted signals can also be monitored, both at the orginal tones or at fixed tones.
- cocoaModem's audio interface to Mac OS X Core Audio
has been rewritten to avoid using the AudioStreamBasicDescription
structure of Core Audio to change parameters. Changing
sampling rate through the use of AudioStreamBasicDescription
has become very slow and unreliable on Snow Leopard.
- Between the above and additional checking for
redundant sampling rate changes, the launch time for
cocoaModem should be much improved.
- cocoaModem now watches for sound card changes
(volume, source selection, etc) made by the system or by
other applications. When cocoaModem is sharing a sound
card with other applications, the level sliders in
cocoaModem now track changes made by other applications.
The audio level sliders in the different modem interfaces
now also track one another.
- The %n macro has not been working since v0.70. This
macro should now work. Many thanks to Yas, 7N4WPY for
reporting the bug.
- Fixed a bug that required more than one modem
interface to be selected in cocoaModem's preferences for
the modem to finish initialization. One symptom of the
bug was the waterfall labels are wrong.
- Fixed a SITOR-B Receiver bug. Thanks to Pierre Bessot
for reporting the problem. (v0.79)
- Fixed a plist bug for the CW interface.
What has changed in v0.77?
(November 9, 2009)
cocoaModem was crashing on startup on some machines that run Mac OS X 10.6 (Snow Leopard), while it is fetching the plist entry for the microHAM setup string.
Many thanks to Dan K2VOL and Tony KE6G for sending me the CrashReporter outputs that identifed this problem.
What has changed in v0.76?
(October 5, 2009)
Changes are made to improve the stability of cocoaModem in Mac OS X 10.6 Snow Leopard, viz: a workaround for a Snow Leopard Core Audio problem, the bundle identifier is changed to avoid an incompatibility, and autorelease pools are no longer drained.
cocoaModem 2.0 v0.76 is no longer split into separate frameworks. Further, general bug fixes are made to the varicode base class and the Sync-AM interface. The RTTY Monitor now works again. Launch and modem interface switching times are improved. More workaround for a paricular third party Core Audio plug-in.
- Snow Leopard's Core Audio introduced a bug where it
returns from a call to set sampling rates without
updating the correct sampling rate that is subsequently
queried unless the calling program has relinquished the
thread.
This does not pose a problem with programs that do not bother to validate the sampling rate after setting it. However, cocoaModem had requested the actual sampling rate to set up further decimation ratios that are required by each modem. This caused the sampling rate at the modems to be wrong (incorrect shift in RTTY, PSK31 signals in the waterfall to appear too wide or too narrow, for example) unless you relaunch after changing the sampling rate.
v0.76 has been modified to not depend on the sampling rate that Core Audio sends back, and to blindly assume that the sampling rate change request had worked.
- The application bundle name has been changed from
w7ay.cocoaModem 2.0 to
w7ay.cocoaModem-2.0. Snow Leopard's bundle name
no longer accept spaces. To maintain compatibility, the
plist is hardcoded to keep using w7ay.cocoaModem
2.0.plist as before.
- Because of a change in memory management in Mac OS X
10.6, when it detects that it is running in Snow Leopard,
cocoaModem no longer drains the auto-release pools
periodically for long running threads.
- cocoaModem 2.0's Xcode project has now rolled the
cocoaModem frameworks (AudioInterface, CoreFilter,
CoreModem and NetAudio) back into the Application
itself. Xcode compiling time has improved to the point
where is it not worth splitting off the code into
frameworks -- with Xcode 3.2, the entire cocoaModem code
can be built in 80 seconds on an 8-core MacPro. This
means that from v0.76 on, you can delete copies of the
four frameworks from /Library/Frameworks since they are
no longer used.
- An array overrun problem is fixed for modems that
uses varicode (PSK31, MFSK16 and DominoEX). This was
showing up as misleading malloc related Console messages
in Snow Leopard.
- The Sync-AM waterfall has not been working since the
waterfall class was modified for DominoEX. It was causing
a misleading location of the AM carrier. This is now
fixed. Thanks to Mika OH3XX for pointing out the problem.
- For some time, the Matched Filter (MFilter) selection
in the RTTY Modulator (Window menu > RTTY Monitor) has
not been functional. This should now work again. The
Wideband RTTY Interface can also now use the RTTY
Monitor.
When the Matched filter, ATC or Baudot plots are selected, the RTTY Monitor now automatically switches to using a waveform output since a spectum output makes no sense in those contexts.
As a reminder, you can see the effect of the various RTTY filters in the band pass filter (BPF) setting of the RTTY Monitor when the viewing the signal as a spectrum. The 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.
What has changed in v0.75?
(September 20, 2009)
- Fixed an issue that can cause a crash during launch on Mac OS X 10.6 Snow Leopard.
Mac OS X 10.6 (Snow Leopard) Compatibility
(August 28, 2009)
- cocoaModem 2.0 is compatible with Snow Leopard.
- You'll need to check whether your sound card drivers
are compatible with Snow Leopard.
If you are using the built-in sound device or a USB class compliant sound card, they should function under Snow Leopard (and thus cocoaModem). I have tested with 16 bit USB class compliant devices such as the Griffin Technology iMic and the sound card that is in the microKeyer II, and they work fine. If you are using 24-bit sound cards, be sure to check with the manufacturer to see if you need an updated driver for Mac OS X 10.6.
Even though M-Audio's web site mentions having to wait for driver updates, I have found the Transit and Fast Track Pro (both are M-Audio 24-bit sound cards) to work fine using their Leopard drivers.
- If you are using cocoaPTT, be sure to check with the
manufacturer that their serial drivers will work with Mac
OS X 10.6 . I can confirm that both the KeySpan USA19 and
the FTDI drivers for Leopard also work with Snow Leopard.
- µH Router works (I have been using the microKeyer II)
in Snow Leopard with the existing Leopard FTDI driver.
What has changed in v0.74?
(August 17, 2009)
- Fixed an MFSK initialization bug that can cause a crash during launch time. Many thanks to Juergen KI6TBK for reporting it.
What has changed in v0.73?
(August 11, 2009)
- DominoEX modems are now
implemented in cocoaModem's MFSK interface.
- Added a time delay between AudioStopDevice and
AudioDeviceRemoveIOProc to avoid a bug in a third party
Mac OS X Core Audio plug-in.
- Waterfall noise reduction (NR button) states for PSK,
Wideband RTTY, CW and MFSK interfaces are now saved to
the plist.
- Added an option to use 425 Hz deviation and increased
the buffer size in the HF-FAX interface to accommodate
DWD HF-FAX stations (DDH und DDK).
What has changed in v0.72?
(June 17, 2009)
-
- There is now a quick check on the web to see if
your copy of cocoaModem is up to date. Please note
that you have to manually check for updates.
cocoaModem will not pester you by itself.
- cocoaModem now checks for both Unicode and ASCII
names of the sound card. The RME FireFace was not
returning the Unicode name.
- The character ~ (ASCII 0x7e) is now allowed in macros. The UTF-16 code for some Japanese characters include the byte 0x7e, causing macros to fail when imported from the plist. This should now be fixed. Please note that if you include the ~ character or a Japanese character in your macros, your plist may no longer be compatible with previous versions of cocoaModem.
What has changed in v0.71?
(June 10, 2009)
-
- Shift-JIS (Japanese encoding) is now disabled unless
(a) you are running Japanese Mac OS X, or (b) you have
enabled the Shift-JIS checkbox in the PSK tab of the
cocoaModem Preferences (see above). Disabling the
checkbox should prevent any accidental switching to
double byte reception or transmission when when you are
not running Japanese Mac OS X.
- Slashed-zero was not working in v0.70. Thanks to Greg, WA0BNX for reporting it.
What has changed in v0.70 ?
(May 27, 2009)
-
- cocoaModem is now localized for Japanese Mac OS X. Heartfelt thanks to Nao, JF1WWZ for creating the numerous Japanese NIB files. Nao also created the Localized strings with the help of Taka, JR3TVH. Thank you to both.
-
- The PSK31 interface now supports Japanese Shift-JIS double byte reception and transmission. Please see Japanese Reception and Transmission section in the PSK section of the User's Manual. Again, a big thank you to Nao, JF1WWZ for help with testing the interface.
- For debugging and other purposes, the PSK31 interface can now be set to display raw byte values.
- Set the Sdef file to again support AppleScripts on Mac OS X 10.4 Tiger format. Thanks to André, 2E0SKI for spotting and reporting the problem.
Click here for the previous (v0.50-v0.69) What’s New.