number of unused classes. Removed playlist manager from a number of
classes and replaced with the alias, channel and channel map models.
Updated playlist manager to no longer retain a playlist except for when
loading to models or when storing from models. Extracted version 1 to
version 2 playlist conversion and changed playlist manager to keep the
original version 1 playlist and create a new version 2 (playlist_v2.xml)
file. On startup, try to load a v2, and if not, look for a v1 to
convert. Otherwise, don't create a playlist and one will be created
once the user adds items to the models.
multi-select editor.
Changes example hyperlink to 'Help'.
Ensures editor only allows 1 instance of call priority or non-recordable
can be added to any alias.
better handle processing and shutdowns.
-Reuses transfers between tuner start/stop invocations
-Moves libusb transfer status direct byte buffer allocation out of
buffer processing thread and reuses it, saving a lot of memory
allocations over time.
the spectral display to be slow to reflect changes to tuner settings.
Changed the max size of the sample queue based on the highest rate tuner
sample rate 10 MHz (airspy) and the lowest available spectral update
frame rate (12). Sized the buffer queue based on the maximum number of
buffers that should be available per DFT processing iteration. If the
queue backs up, new buffers will be discarded until the DFT processor
consumes the queue and catches up.
shared across multiple tuners of the same type, unless the user created
a new tuner configuration for each tuner.
Updated code to create a default tuner configuration based on the tuner
type, but name the configuration as 'Default-UNIQUETUNERID', so that any
changes to that uniquely identified tuner will persist across sessions.
Note: this does not avoid the situation where multiple tuners of the
same type are all using the same default serial number (e.g. 0000001).
In this case, they will all still share the same configuraiton. User
must change the serial number of the dongle in order for it to be
uniquely identifiable, so that we can correctly lookup the configuration
for the specific tuner.
haven't yet been initialized. This occurs when there is a channel
allocated from the tuner that is the first/only listener and then is
immediately released. Some of the buffers are in motion and the others
simply haven't yet been initialized.
Potential existed for the audio output class to become unsynchronized
with the underlying source data line and attempt to perform a blocking
write to the data line when the data line doesn't have the capacity to
accept the full buffer, and the data line is not started. Thus,
playback could potentially stay in a persitent blocked state.
Refactored Mono and Stereo audio output implementations to push the
audio buffer queue processing into the parent abstract class.
AudioManager was updated to remove the last time active timestamp out
of the audio manager and down into the audio output to remove duplicate
timestamp accounting.