Create controls for DSTAR waveform

This commit is contained in:
Ed Gonzalez 2015-08-04 11:55:37 -05:00
parent 87c3132618
commit b2310cfaee
4 changed files with 210 additions and 431 deletions

View file

@ -1,8 +1,6 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeDV", "CODEC2 GUI\FreeDV.csproj", "{19634B34-7569-4D1D-8182-B10AC27E13FF}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FlexLib", "..\..\..\smartsdr-win\FlexLib\FlexLib.csproj", "{7927817C-D5EF-4A9E-B38E-29668F308343}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UiWpfFramework", "..\..\..\smartsdr-win\UiWpfFramework\UiWpfFramework.csproj", "{9C0AD871-92FD-461B-84FF-3738D701814F}"
@ -13,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vita", "..\..\..\smartsdr-w
EndProject
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "CODEC2_GUI_INSTALLER", "CODEC2_GUI_INSTALLER\CODEC2_GUI_INSTALLER.vdproj", "{AABE6A3C-F038-4448-981F-F68A6D5069C3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CODEC2 GUI", "CODEC2 GUI\CODEC2 GUI.csproj", "{19634B34-7569-4D1D-8182-B10AC27E13FF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -21,14 +21,6 @@ Global
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|Any CPU.ActiveCfg = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|Any CPU.Build.0 = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|x86.ActiveCfg = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|x86.Build.0 = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|Any CPU.ActiveCfg = Release|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|Any CPU.Build.0 = Release|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|x86.ActiveCfg = Release|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|x86.Build.0 = Release|x86
{7927817C-D5EF-4A9E-B38E-29668F308343}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7927817C-D5EF-4A9E-B38E-29668F308343}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7927817C-D5EF-4A9E-B38E-29668F308343}.Debug|x86.ActiveCfg = Debug|x86
@ -65,6 +57,13 @@ Global
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Debug|x86.ActiveCfg = Debug
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Release|Any CPU.ActiveCfg = Release
{AABE6A3C-F038-4448-981F-F68A6D5069C3}.Release|x86.ActiveCfg = Release
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|Any CPU.ActiveCfg = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|Any CPU.Build.0 = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|x86.ActiveCfg = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Debug|x86.Build.0 = Debug|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|Any CPU.ActiveCfg = Release|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|x86.ActiveCfg = Release|x86
{19634B34-7569-4D1D-8182-B10AC27E13FF}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View file

@ -34,20 +34,20 @@
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(96, 43);
this.label1.Location = new System.Drawing.Point(196, 105);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(86, 13);
this.label1.Size = new System.Drawing.Size(123, 13);
this.label1.TabIndex = 0;
this.label1.Text = "No FreeDV Slice";
this.label1.Text = "No DSTAR (D*FM) Slice";
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 112);
this.ClientSize = new System.Drawing.Size(519, 236);
this.Controls.Add(this.label1);
this.Name = "Form1";
this.Text = "FreeDV";
this.Text = "DSTAR";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
this.PerformLayout();

View file

@ -49,16 +49,13 @@ namespace CODEC2_GUI
private bool _radioConnected = false;
private Radio _radio = null;
//private List<Slice> _slices;
private List<Slice> _fdvSlices;
private Dictionary<Meter, Slice> _SNRTable;
private List<Slice> _waveformSlices;
public Form1()
{
InitializeComponent();
//_slices = new List<Slice>();
_fdvSlices = new List<Slice>();
_SNRTable = new Dictionary<Meter, Slice>();
_waveformSlices = new List<Slice>();
}
private void Form1_Load(object sender, EventArgs e)
@ -108,12 +105,6 @@ namespace CODEC2_GUI
slc.PropertyChanged += new PropertyChangedEventHandler(slc_PropertyChanged);
slc.WaveformStatusReceived += new Slice.WaveformStatusReceivedEventHandler(slc_WaveformStatusReceived);
slc.MeterAdded += new Slice.MeterAddedEventHandler(slc_MeterAdded);
slc.MeterRemoved += new Slice.MeterRemovedEventHandler(slc_MeterRemoved);
Meter m = slc.FindMeterByName("SNR");
if(m != null)
AddSNRMeter(slc, m);
if (InvokeRequired)
{
@ -130,33 +121,27 @@ namespace CODEC2_GUI
void _radio_SliceRemoved(Slice slc)
{
//if (!_slices.Contains(slc)) return;
if (_fdvSlices.Contains(slc))
if (_waveformSlices.Contains(slc))
{
// yes -- tear down any GUI components
if (InvokeRequired)
{
Invoke(new MethodInvoker(delegate
{
RemoveFDVSliceControls(slc);
RemoveWaveformSliceControls(slc);
}));
}
else
{
RemoveFDVSliceControls(slc);
RemoveWaveformSliceControls(slc);
}
// now remove it
_fdvSlices.Remove(slc);
_waveformSlices.Remove(slc);
}
//_slices.Remove(slc);
slc.PropertyChanged -= slc_PropertyChanged;
slc.WaveformStatusReceived -= slc_WaveformStatusReceived;
slc.MeterAdded -= slc_MeterAdded;
slc.MeterRemoved -= slc_MeterRemoved;
slc.WaveformStatusReceived -= slc_WaveformStatusReceived;
}
//*************************************
@ -194,13 +179,13 @@ namespace CODEC2_GUI
private void CheckDemodMode(Slice slc)
{
if (slc.DemodMode == "FDV")
if (slc.DemodMode == "D*FM")
{
// yes -- is this Slice already in the list?
if (!_fdvSlices.Contains(slc))
if (!_waveformSlices.Contains(slc))
{
// no -- lets go add it
_fdvSlices.Add(slc);
_waveformSlices.Add(slc);
// now create GUI components to go with it
AddFDVSliceControls(slc);
@ -209,83 +194,17 @@ namespace CODEC2_GUI
else
{
// was this Slice in FreeDV mode before?
if (_fdvSlices.Contains(slc))
if (_waveformSlices.Contains(slc))
{
// yes -- tear down any GUI components
RemoveFDVSliceControls(slc);
RemoveWaveformSliceControls(slc);
// now remove it
_fdvSlices.Remove(slc);
_waveformSlices.Remove(slc);
}
}
}
private void AddSNRMeter(Slice slc, Meter m)
{
if (_SNRTable.ContainsKey(m)) return;
_SNRTable.Add(m, slc);
m.DataReady += new Meter.DataReadyEventHandler(SNR_DataReady);
}
void slc_MeterAdded(Slice slc, Meter m)
{
if (m.Name == "SNR")
AddSNRMeter(slc, m);
}
void SNR_DataReady(Meter meter, float data)
{
if (!_SNRTable.ContainsKey(meter)) return;
Slice slc = _SNRTable[meter];
UpdateSNR(slc, data);
}
private void UpdateSNR(Slice slc, float data)
{
// use the slice to find the progress bar control to update
Control c = FindControlByName(this, "bar" + slc.Index);
if (c == null) return;
// get a good reference to the bar instead of a generic control
VerticalProgressBar bar = c as VerticalProgressBar;
if (bar == null) return;
// convert the data into a percentage
// we will map the 0-20dB SNR range onto the 0-100 bar value
// check incoming data limits
if (data < 0) data = 0.0f;
if (data > 20) data = 20.0f;
// do the conversion
int new_value = (int)(data * 5);
// now set the value -- careful to Invoke since this is a GUI affecting call
if (InvokeRequired)
{
Invoke(new MethodInvoker(delegate
{
bar.Value = new_value;
}));
}
else
{
bar.Value = new_value;
}
}
void slc_MeterRemoved(Slice slc, Meter m)
{
if(m.Name != "SNR") return;
if (_SNRTable.ContainsKey(m))
_SNRTable.Remove(m);
m.DataReady -= SNR_DataReady;
}
void slc_WaveformStatusReceived(Slice slc, string status)
{
@ -336,52 +255,182 @@ namespace CODEC2_GUI
{
lock (this)
{
int index = _fdvSlices.IndexOf(slc);
int index = _waveformSlices.IndexOf(slc);
label1.Visible = false;
int vertical_offset = 30;
this.SuspendLayout();
TextBox txtIn = new TextBox();
TextBox txtOut = new TextBox();
VerticalProgressBar bar = new VerticalProgressBar();
Label myInfo = new Label();
myInfo.Text = "MY INFO";
Label rxInfo = new Label();
rxInfo.Text = "RX INFO";
Label destinationRptrInLabel = new Label();
destinationRptrInLabel.Text = "Destination Repeater:";
destinationRptrInLabel.Anchor = AnchorStyles.Left;
Label departureRptrInLabel = new Label();
departureRptrInLabel.Text = "Departure Repeater:";
Label companionCallInLabel = new Label();
companionCallInLabel.Text = "Companion Call:";
Label ownCall1InLabel = new Label();
ownCall1InLabel.Text = "Own Call 1:";
Label ownCall2InLabel = new Label();
ownCall2InLabel.Text = "Own Call 2:";
TextBox destinationRptrIn = new TextBox();
TextBox departureRptrIn = new TextBox();
TextBox companionCallIn = new TextBox();
TextBox ownCall1In = new TextBox();
TextBox ownCall2In = new TextBox();
Label destinationRptrOutLabel = new Label();
destinationRptrOutLabel.Text = "Destination Repeater:";
Label departureRptrOutLabel = new Label();
departureRptrOutLabel.Text = "Departure Repeater:";
Label companionCallOutLabel = new Label();
companionCallOutLabel.Text = "Companion Call:";
Label ownCall1OutLabel = new Label();
ownCall1OutLabel.Text = "Own Call 1:";
Label ownCall2OutLabel = new Label();
ownCall2OutLabel.Text = "Own Call 2:";
TextBox destinationRptrOut = new TextBox();
TextBox departureRptrOut = new TextBox();
TextBox companionCallOut = new TextBox();
TextBox ownCall1Out = new TextBox();
TextBox ownCall2Out = new TextBox();
GroupBox groupbox = new GroupBox();
groupbox.SuspendLayout();
//
// groupBox
//
groupbox.Controls.Add(txtIn);
groupbox.Controls.Add(txtOut);
groupbox.Controls.Add(bar);
groupbox.Location = new Point(10, 10 + index * 110);
groupbox.Controls.Add(myInfo);
groupbox.Controls.Add(rxInfo);
groupbox.Controls.Add(destinationRptrInLabel);
groupbox.Controls.Add(departureRptrInLabel);
groupbox.Controls.Add(companionCallInLabel);
groupbox.Controls.Add(ownCall1InLabel);
groupbox.Controls.Add(ownCall2InLabel);
groupbox.Controls.Add(destinationRptrIn);
groupbox.Controls.Add(departureRptrIn);
groupbox.Controls.Add(companionCallIn);
groupbox.Controls.Add(ownCall1In);
groupbox.Controls.Add(ownCall2In);
groupbox.Controls.Add(destinationRptrOutLabel);
groupbox.Controls.Add(departureRptrOutLabel);
groupbox.Controls.Add(companionCallOutLabel);
groupbox.Controls.Add(ownCall1OutLabel);
groupbox.Controls.Add(ownCall2OutLabel);
groupbox.Controls.Add(destinationRptrOut);
groupbox.Controls.Add(departureRptrOut);
groupbox.Controls.Add(companionCallOut);
groupbox.Controls.Add(ownCall1Out);
groupbox.Controls.Add(ownCall2Out);
groupbox.Location = new Point(10, 10 + index * 220);
groupbox.Name = "grpSlice" + index;
groupbox.Size = new Size(260, 100);
groupbox.Size = new Size(500, 220);
groupbox.Text = "Slice " + SliceIndexToLetter(slc.Index);
myInfo.Location = new Point(75, 30);
myInfo.Size = new Size(100, 20);
myInfo.TextAlign = ContentAlignment.MiddleCenter;
rxInfo.Location = new Point(325, 30);
rxInfo.Size = new Size(100, 20);
rxInfo.TextAlign = ContentAlignment.MiddleCenter;
//
// txtIn
// destinationRptrIn
//
txtIn.Location = new Point(40, 30);
txtIn.Name = "txtIn" + slc.Index;
txtIn.Size = new Size(200, 20);
txtIn.ReadOnly = true;
destinationRptrInLabel.Location = new Point(10, 30 + vertical_offset);
destinationRptrInLabel.Size = new Size(120, 20);
destinationRptrIn.Location = new Point(130, 30 + vertical_offset);
destinationRptrIn.Name = "destinationRptrIn" + slc.Index;
destinationRptrIn.Size = new Size(100, 20);
destinationRptrIn.PreviewKeyDown += new PreviewKeyDownEventHandler(txtIn_PreviewKeyDown);
//
// txtOut
//
txtOut.Location = new Point(40, 60);
txtOut.Name = "txtOut" + slc.Index;
txtOut.Size = new Size(200, 20);
txtOut.PreviewKeyDown += new PreviewKeyDownEventHandler(txtOut_PreviewKeyDown);
//
// bar
//
bar.Location = new Point(10, 20);
bar.Name = "bar" + slc.Index;
bar.Size = new Size(20, 70);
bar.Value = 25;
// departureRptrIn
departureRptrInLabel.Location = new Point(10, 60 + vertical_offset);
departureRptrInLabel.Size = new Size(120, 20);
departureRptrIn.Location = new Point(130, 60 + vertical_offset);
departureRptrIn.Name = "departureRptrIn" + slc.Index;
departureRptrIn.Size = new Size(100, 20);
departureRptrIn.PreviewKeyDown += new PreviewKeyDownEventHandler(txtIn_PreviewKeyDown);
companionCallInLabel.Location = new Point(10, 90 + vertical_offset);
companionCallInLabel.Size = new Size(120, 20);
companionCallIn.Location = new Point(130, 90 + vertical_offset);
companionCallIn.Name = "companionCallIn" + slc.Index;
companionCallIn.Size = new Size(100, 20);
companionCallIn.PreviewKeyDown += new PreviewKeyDownEventHandler(txtIn_PreviewKeyDown);
ownCall1InLabel.Location = new Point(10, 120 + vertical_offset);
ownCall1InLabel.Size = new Size(120, 20);
ownCall1In.Location = new Point(130, 120 + vertical_offset);
ownCall1In.Name = "ownCall1In" + slc.Index;
ownCall1In.Size = new Size(100, 20);
ownCall1In.PreviewKeyDown += new PreviewKeyDownEventHandler(txtIn_PreviewKeyDown);
ownCall2InLabel.Location = new Point(10, 150 + vertical_offset);
ownCall2InLabel.Size = new Size(120, 20);
ownCall2In.Location = new Point(130, 150 + vertical_offset);
ownCall2In.Name = "ownCall2In" + slc.Index;
ownCall2In.Size = new Size(100, 20);
ownCall2In.PreviewKeyDown += new PreviewKeyDownEventHandler(txtIn_PreviewKeyDown);
/* OUT indicates it get's retrieved by the radio */
destinationRptrOutLabel.Location = new Point(250, 30 + vertical_offset);
destinationRptrOutLabel.Size = new Size(120, 20);
destinationRptrOut.Location = new Point(250 + 120, 30 + vertical_offset);
destinationRptrOut.Name = "destinationRptrOut" + slc.Index;
destinationRptrOut.Size = new Size(100, 20);
destinationRptrOut.ReadOnly = true;
departureRptrOutLabel.Location = new Point(250, 60 + vertical_offset);
departureRptrOutLabel.Size = new Size(120, 20);
departureRptrOut.Location = new Point(250 + 120, 60 + vertical_offset);
departureRptrOut.Name = "departureRptrIn" + slc.Index;
departureRptrOut.Size = new Size(100, 20);
departureRptrOut.ReadOnly = true;
companionCallOutLabel.Location = new Point(250, 90 + vertical_offset);
companionCallOutLabel.Size = new Size(120, 20);
companionCallOut.Location = new Point(250 + 120, 90 + vertical_offset);
companionCallOut.Name = "companionCallOut" + slc.Index;
companionCallOut.Size = new Size(100, 20);
companionCallOut.ReadOnly = true;
ownCall1OutLabel.Location = new Point(250, 120 + vertical_offset);
ownCall1OutLabel.Size = new Size(120, 20);
ownCall1Out.Location = new Point(250 + 120, 120 + vertical_offset);
ownCall1Out.Name = "ownCall1Out" + slc.Index;
ownCall1Out.Size = new Size(100, 20);
ownCall1Out.ReadOnly = true;
ownCall2OutLabel.Location = new Point(250, 150 + vertical_offset);
ownCall2OutLabel.Size = new Size(120, 20);
ownCall2Out.Location = new Point(250 + 120, 150 + vertical_offset);
ownCall2Out.Name = "ownCall2Out" + slc.Index;
ownCall2Out.Size = new Size(100, 20);
ownCall2Out.ReadOnly = true;
//
// Form1
//
if (groupbox.Bottom > this.Height)
this.Height += 110;
this.Height += 180;
this.Controls.Add(groupbox);
groupbox.ResumeLayout();
this.ResumeLayout(false);
@ -389,7 +438,7 @@ namespace CODEC2_GUI
}
}
void txtOut_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
void txtIn_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode != Keys.Enter) return;
@ -402,7 +451,7 @@ namespace CODEC2_GUI
if(!b) return;
// first we need to find the slice that goes with this control
foreach(Slice slc in _fdvSlices)
foreach(Slice slc in _waveformSlices)
{
if (slc.Index == index)
{
@ -413,13 +462,13 @@ namespace CODEC2_GUI
}
}
private void RemoveFDVSliceControls(Slice slc)
private void RemoveWaveformSliceControls(Slice slc)
{
lock (this)
{
this.SuspendLayout();
int index = _fdvSlices.IndexOf(slc);
int index = _waveformSlices.IndexOf(slc);
// find the right groupbox and remove it
for (int i = 0; i < this.Controls.Count; i++)
@ -446,7 +495,7 @@ namespace CODEC2_GUI
if (c2.Name.StartsWith("txtOut"))
{
TextBox txt = c2 as TextBox;
txt.PreviewKeyDown -= txtOut_PreviewKeyDown;
txt.PreviewKeyDown -= txtIn_PreviewKeyDown;
}
}
groupbox.Controls.Clear();
@ -460,7 +509,7 @@ namespace CODEC2_GUI
}
}
if (_fdvSlices.Count == 1)
if (_waveformSlices.Count == 1)
label1.Visible = true;
this.ResumeLayout(false);

View file

@ -27,118 +27,16 @@
}
"Entry"
{
"MsmKey" = "8:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_6748E4DC3B32BC179308D4851C35E7C1"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_6748E4DC3B32BC179308D4851C35E7C1"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_88C1D5A632F74D7EBC8A5FDC131505EE"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_AE42FAD06947980DC7F9C55738272477"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_AE42FAD06947980DC7F9C55738272477"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B357A8AC90A6A97181BBB20C00BD936F"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B357A8AC90A6A97181BBB20C00BD936F"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_B357A8AC90A6A97181BBB20C00BD936F"
"OwnerKey" = "8:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_F5493E84A58F4E0D993B24BAD4694555"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_B0841DE114E3AF989C6F57AD9D41984C"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_AE42FAD06947980DC7F9C55738272477"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_B357A8AC90A6A97181BBB20C00BD936F"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_UNDEFINED"
"OwnerKey" = "8:_6748E4DC3B32BC179308D4851C35E7C1"
"MsmSig" = "8:_UNDEFINED"
}
}
"Configurations"
{
@ -157,6 +55,14 @@
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
}
}
"Release"
{
@ -173,6 +79,14 @@
"PrivateKeyFile" = "8:"
"TimeStampServer" = "8:"
"InstallerBootstrapper" = "3:2"
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
{
"Enabled" = "11:TRUE"
"PromptEnabled" = "11:TRUE"
"PrerequisitesLocation" = "2:1"
"Url" = "8:"
"ComponentsUrl" = "8:"
}
}
}
"Deployable"
@ -242,68 +156,6 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_5CEDCDF93E5B7CFBE321CF19FD2C7803"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Vita, Version=1.0.1.26108, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_5CEDCDF93E5B7CFBE321CF19FD2C7803"
{
"Name" = "8:Vita.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Vita.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_6748E4DC3B32BC179308D4851C35E7C1"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Ionic.Zip, Version=1.9.1.8, Culture=neutral, PublicKeyToken=edbe51ad942a3f5c, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_6748E4DC3B32BC179308D4851C35E7C1"
{
"Name" = "8:Ionic.Zip.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Ionic.Zip.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_88C1D5A632F74D7EBC8A5FDC131505EE"
{
"SourcePath" = "8:FreeDV_Release.ssdr_waveform"
@ -324,99 +176,6 @@
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_AE42FAD06947980DC7F9C55738272477"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Flex.UiWpfFramework, Version=1.0.1.26108, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_AE42FAD06947980DC7F9C55738272477"
{
"Name" = "8:Flex.UiWpfFramework.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Flex.UiWpfFramework.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B0841DE114E3AF989C6F57AD9D41984C"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:FlexLib, Version=1.3.17.26108, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_B0841DE114E3AF989C6F57AD9D41984C"
{
"Name" = "8:FlexLib.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:FlexLib.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_B357A8AC90A6A97181BBB20C00BD936F"
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Util, Version=1.0.1.26107, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_B357A8AC90A6A97181BBB20C00BD936F"
{
"Name" = "8:Util.dll"
"Attributes" = "3:512"
}
}
"SourcePath" = "8:Util.dll"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:TRUE"
"IsolateTo" = "8:"
}
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_F5493E84A58F4E0D993B24BAD4694555"
{
"SourcePath" = "8:..\\CODEC2 GUI\\Licenses\\FlexLib License.txt"
@ -655,7 +414,7 @@
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"Target" = "8:"
"Folder" = "8:_28A6D54432764B34ABC7E36F336A6762"
"WorkingFolder" = "8:_40196D409E904F29B144A3CC2149E747"
"Icon" = "8:_44FE594CB4324BE091F300EB9369B6CC"
@ -663,13 +422,13 @@
}
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_A4D147B0B4B04223B55728F898826A49"
{
"Name" = "8:FreeDV"
"Name" = "8:CODEC2 GUI"
"Arguments" = "8:"
"Description" = "8:"
"ShowCmd" = "3:1"
"IconIndex" = "3:0"
"Transitive" = "11:FALSE"
"Target" = "8:_F9BAD375B293446A9F0FF56E3C1BC4E9"
"Target" = "8:"
"Folder" = "8:_01E98CA335E74C1385F704CA49E431C5"
"WorkingFolder" = "8:_40196D409E904F29B144A3CC2149E747"
"Icon" = "8:_44FE594CB4324BE091F300EB9369B6CC"
@ -1074,34 +833,6 @@
}
"ProjectOutput"
{
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_F9BAD375B293446A9F0FF56E3C1BC4E9"
{
"SourcePath" = "8:..\\CODEC2 GUI\\obj\\x86\\Release\\FreeDV.exe"
"TargetName" = "8:"
"Tag" = "8:"
"Folder" = "8:_40196D409E904F29B144A3CC2149E747"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
"ProjectOutputGroupRegister" = "3:1"
"OutputConfiguration" = "8:Release|x86"
"OutputGroupCanonicalName" = "8:Built"
"OutputProjectGuid" = "8:{19634B34-7569-4D1D-8182-B10AC27E13FF}"
"ShowKeyOutput" = "11:TRUE"
"ExcludeFilters"
{
}
}
}
}
}