mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
#1190 Tuner management redesign. Updates all tuners with direct threaded support. Incorporates USB Hotplug support. Adds black/white listing of tuners. Updates all tuner editors to have a common look and feel. Changes location of tuner configuration file and changes format to JSON. (#1208)
Co-authored-by: Dennis Sheirer <dsheirer@github.com>
This commit is contained in:
@@ -36,7 +36,8 @@ import io.github.dsheirer.settings.SettingsManager;
|
||||
import io.github.dsheirer.source.ISourceEventProcessor;
|
||||
import io.github.dsheirer.source.SourceEvent;
|
||||
import io.github.dsheirer.source.tuner.Tuner;
|
||||
import io.github.dsheirer.source.tuner.TunerModel;
|
||||
import io.github.dsheirer.source.tuner.manager.DiscoveredTuner;
|
||||
import io.github.dsheirer.source.tuner.ui.DiscoveredTunerModel;
|
||||
import io.github.dsheirer.spectrum.OverlayPanel.ChannelDisplay;
|
||||
import io.github.dsheirer.spectrum.converter.ComplexDecibelConverter;
|
||||
import io.github.dsheirer.spectrum.converter.DFTResultsConverter;
|
||||
@@ -105,7 +106,7 @@ public class SpectralDisplayPanel extends JPanel
|
||||
private ChannelModel mChannelModel;
|
||||
private ChannelProcessingManager mChannelProcessingManager;
|
||||
private SettingsManager mSettingsManager;
|
||||
private TunerModel mTunerModel;
|
||||
private DiscoveredTunerModel mDiscoveredTunerModel;
|
||||
private Tuner mTuner;
|
||||
|
||||
/**
|
||||
@@ -120,12 +121,12 @@ public class SpectralDisplayPanel extends JPanel
|
||||
* the DFT is translated to decibels for display in the spectrum and
|
||||
* waterfall components.
|
||||
*/
|
||||
public SpectralDisplayPanel(PlaylistManager playlistManager, SettingsManager settingsManager, TunerModel tunerModel)
|
||||
public SpectralDisplayPanel(PlaylistManager playlistManager, SettingsManager settingsManager, DiscoveredTunerModel discoveredTunerModel)
|
||||
{
|
||||
mChannelModel = playlistManager.getChannelModel();
|
||||
mChannelProcessingManager = playlistManager.getChannelProcessingManager();
|
||||
mSettingsManager = settingsManager;
|
||||
mTunerModel = tunerModel;
|
||||
mDiscoveredTunerModel = discoveredTunerModel;
|
||||
|
||||
mSpectrumPanel = new SpectrumPanel(mSettingsManager);
|
||||
mOverlayPanel = new OverlayPanel(mSettingsManager, mChannelModel, mChannelProcessingManager);
|
||||
@@ -442,7 +443,6 @@ public class SpectralDisplayPanel extends JPanel
|
||||
//Fire frequency and sample rate change events so that the spectrum
|
||||
//and overlay panels can synchronize
|
||||
process(SourceEvent.frequencyChange(null, mTuner.getTunerController().getFrequency()));
|
||||
|
||||
process(SourceEvent.sampleRateChange(mTuner.getTunerController().getSampleRate()));
|
||||
}
|
||||
}
|
||||
@@ -455,7 +455,7 @@ public class SpectralDisplayPanel extends JPanel
|
||||
if(mTuner != null)
|
||||
{
|
||||
//Deregister for frequency change events from the tuner
|
||||
mTuner.getTunerController().removeListener(this);
|
||||
mTuner.getTunerController().removeListener(SpectralDisplayPanel.this);
|
||||
|
||||
//Deregister the dft processor from receiving samples
|
||||
mTuner.getTunerController().removeBufferListener(mComplexDftProcessor);
|
||||
@@ -468,6 +468,14 @@ public class SpectralDisplayPanel extends JPanel
|
||||
mWaterfallPanel.clearWaterfall();
|
||||
}
|
||||
|
||||
/**
|
||||
* Currently displayed tuner
|
||||
*/
|
||||
public Tuner getTuner()
|
||||
{
|
||||
return mTuner;
|
||||
}
|
||||
|
||||
/**
|
||||
* Monitors the sizing of the layered pane and resizes the spectrum and
|
||||
* channel panels whenever the layered pane is resized
|
||||
@@ -756,9 +764,9 @@ public class SpectralDisplayPanel extends JPanel
|
||||
|
||||
boolean separatorAdded = false;
|
||||
|
||||
for(Tuner tuner : mTunerModel.getTuners())
|
||||
for(DiscoveredTuner discoveredTuner : mDiscoveredTunerModel.getAvailableTuners())
|
||||
{
|
||||
if(mTuner == null || mTuner != tuner)
|
||||
if(mTuner == null || mTuner != discoveredTuner.getTuner())
|
||||
{
|
||||
if(!separatorAdded)
|
||||
{
|
||||
@@ -766,7 +774,7 @@ public class SpectralDisplayPanel extends JPanel
|
||||
separatorAdded = true;
|
||||
}
|
||||
|
||||
contextMenu.add(new ShowTunerMenuItem(mTunerModel, tuner));
|
||||
contextMenu.add(new ShowTunerMenuItem(mDiscoveredTunerModel, discoveredTuner.getTuner()));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user