Add option to download vocoder file via http

pull/2/head
Doug McLain 3 years ago
parent f5447aee1c
commit a2ab3b53c1

@ -41,6 +41,7 @@ Item {
"\nPlatform:\t" + droidstar.get_platform() +
"\nArchitecture:\t" + droidstar.get_arch() +
"\nBuild ABI:\t" + droidstar.get_build_abi() +
"\n\nProject page: https://github.com/nostar/DroidStar" +
"\n\nCopyright (C) 2019-2021 Doug McLain AD8DP\n" +
"This program is free software; " +
"you can redistribute it and/or modify it under the terms of the GNU General " +

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 5.0.2, 2021-11-02T16:12:08. -->
<!-- Written by QtCreator 5.0.2, 2021-11-03T13:32:41. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
@ -88,29 +88,44 @@
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 GCC 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 GCC 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.gcc_64_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="QString" key="DeviceType">Android.Device.Type</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Android Qt 5.15.2 Clang Multi-Abi</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Android Qt 5.15.2 Clang Multi-Abi</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{955eaf34-57a0-4cce-b8ac-8097bc82fcb9}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis">
<value type="QString">armeabi-v7a</value>
</valuelist>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Copy application data</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidPackageInstallationStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.3">
<value type="QString" key="BuildTargetSdk">android-31</value>
<value type="QString" key="KeystoreLocation"></value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build Android APK</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.AndroidBuildApkStep</value>
<value type="bool" key="VerboseOutput">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">4</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -135,20 +150,36 @@
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis">
<value type="QString">armeabi-v7a</value>
<value type="QString">arm64-v8a</value>
</valuelist>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Copy application data</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidPackageInstallationStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.3">
<value type="QString" key="BuildTargetSdk">android-29</value>
<value type="QString" key="KeystoreLocation"></value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build Android APK</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.AndroidBuildApkStep</value>
<value type="bool" key="VerboseOutput">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">4</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -175,8 +206,8 @@
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@ -188,7 +219,20 @@
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Copy application data</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidPackageInstallationStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.3">
<value type="QString" key="BuildTargetSdk">android-31</value>
<value type="QString" key="KeystoreLocation"></value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build Android APK</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.AndroidBuildApkStep</value>
<value type="bool" key="VerboseOutput">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">4</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -217,7 +261,11 @@
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidDeployQtStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
@ -225,25 +273,39 @@
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidDeployConfiguration2</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings">
<valuelist type="QVariantList" key="AndroidDeviceAbis">
<value type="QString">arm64-v8a</value>
<value type="QString">armeabi-v7a</value>
<value type="QString">armeabi</value>
</valuelist>
<value type="QString" key="AndroidDeviceSerialNumber">192.168.1.69:55555</value>
<value type="int" key="AndroidVersion.ApiLevel">30</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="QString" key="Analyzer.Valgrind.SelfModifyingCodeDetection">2</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Android.PostStartShellCmdListKey">
<value type="QString"></value>
</valuelist>
<valuelist type="QVariantList" key="Android.PreStartShellCmdListKey">
<value type="QString"></value>
</valuelist>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<value type="int" key="PE.EnvironmentAspect.Base">0</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/mnt/data/src/qt-projects/DroidStar/DroidStar.pro</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">DroidStar</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidRunConfiguration:/mnt/data/src/qt-projects/DroidStar/DroidStar.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/mnt/data/src/qt-projects/DroidStar/DroidStar.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Debug</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
@ -251,44 +313,29 @@
<data>
<variable>ProjectExplorer.Project.Target.1</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Android.Device.Type</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Android Qt 5.15.2 Clang Multi-Abi</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Android Qt 5.15.2 Clang Multi-Abi</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{955eaf34-57a0-4cce-b8ac-8097bc82fcb9}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">1</value>
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop Qt 5.15.2 GCC 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop Qt 5.15.2 GCC 64bit</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">qt.qt5.5152.gcc_64_kit</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis">
<value type="QString">armeabi-v7a</value>
</valuelist>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Copy application data</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidPackageInstallationStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.3">
<value type="QString" key="BuildTargetSdk">android-31</value>
<value type="QString" key="KeystoreLocation"></value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build Android APK</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.AndroidBuildApkStep</value>
<value type="bool" key="VerboseOutput">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">4</value>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -313,36 +360,20 @@
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis">
<value type="QString">armeabi-v7a</value>
<value type="QString">arm64-v8a</value>
</valuelist>
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Copy application data</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidPackageInstallationStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.3">
<value type="QString" key="BuildTargetSdk">android-29</value>
<value type="QString" key="KeystoreLocation"></value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build Android APK</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.AndroidBuildApkStep</value>
<value type="bool" key="VerboseOutput">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">4</value>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -369,8 +400,8 @@
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Android_Qt_5_15_2_Clang_Multi_Abi-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/mnt/data/src/qt-projects/build-DroidStar-Desktop_Qt_5_15_2_GCC_64bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@ -382,20 +413,7 @@
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.2">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Copy application data</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidPackageInstallationStep</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.3">
<value type="QString" key="BuildTargetSdk">android-31</value>
<value type="QString" key="KeystoreLocation"></value>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build Android APK</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.AndroidBuildApkStep</value>
<value type="bool" key="VerboseOutput">false</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">4</value>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
@ -424,11 +442,7 @@
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidDeployQtStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
@ -436,37 +450,22 @@
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidDeployConfiguration2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings">
<valuelist type="QVariantList" key="AndroidDeviceAbis">
<value type="QString">arm64-v8a</value>
<value type="QString">armeabi-v7a</value>
<value type="QString">armeabi</value>
</valuelist>
<value type="QString" key="AndroidDeviceSerialNumber">R38N502YWQJ</value>
<value type="int" key="AndroidVersion.ApiLevel">30</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="QString" key="Analyzer.Valgrind.SelfModifyingCodeDetection">2</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="Android.PostStartShellCmdListKey">
<value type="QString"></value>
</valuelist>
<valuelist type="QVariantList" key="Android.PreStartShellCmdListKey">
<value type="QString"></value>
</valuelist>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">0</value>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">DroidStar</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.AndroidRunConfiguration:/mnt/data/src/qt-projects/DroidStar/DroidStar.pro</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/mnt/data/src/qt-projects/DroidStar/DroidStar.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/mnt/data/src/qt-projects/DroidStar/DroidStar.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>

@ -17,16 +17,18 @@ There is a vocoder plugin API available for loading of vocoder software. Any vo
# Loading a vocoder plugin
A vocoder plugin is placed in the standard Download location for the given platform:
Linux: ~/Downloads
MacOS: ~/Downloads
Windows: C:/Users/<USER>/Documents
Android: /storage/emulated/0/Download (typically referred to as Internal storage -> Download
- Linux: ~/Downloads
- MacOS: ~/Downloads
- Windows: C:/Users/User/Documents
- Android: /storage/emulated/0/Download (typically referred to as Internal storage -> Download
The vocoder plugin filename must be named vocoder_plugin.<platform>.<arch> where platform and arch can be any of the following:
A vocoder can also be downloaded from a URL. Add a full http url, including the filename, to the Vocoder URL option on the settings tab, and click the Download vocoder button.
The vocoder plugin filename must be named vocoder_plugin.platform.arch where platform and arch can be any of the following:
platform: linux, darwin, winnt, android, ios
arch: x86_64, arm, arm64
There are no software vocoder plugins available in this repository.
There are no software vocoder plugins available in this repository, and I have no information on obtaining one. DONT ASK!
# Optional FLite Text-to-speech build
I added Flite TTS TX capability so I didn't have to talk to myself all of the time during development and testing. To build DroidStar with Flite TTS support, uncomment the line 'DEFINES += USE_FLITE' from the top of DroidStar.pro (and run/re-run qmake). You will need the Flite library and development header files installed on your system. When built with Flite support, 3 TTS options and a Mic in option will be available at the bottom of the window. TTS1-TTS3 are 3 voice choices, and Mic in turns off TTS and uses the microphone for input. The text to be converted to speech and transmitted goes in the text box under the TTS options.

@ -73,8 +73,8 @@ Item {
Flickable {
anchors.fill: parent
contentWidth: parent.width
contentHeight: _modemNXDNTXLevelLabel.y +
_modemNXDNTXLevelLabel.height + 10
contentHeight: vocoderButton.y +
vocoderButton.height + 10
flickableDirection: Flickable.VerticalFlick
clip: true
@ -507,17 +507,6 @@ Item {
updateDialog.open()
}
}
Button {
id: vocoderButton
x: 10
y: 670
width: 150
height: 30
text: qsTr("Vocoder Plugin")
onClicked: {
//vocoderDialog.open()
}
}
Text {
id: mycallLabel
x: 10
@ -1026,5 +1015,35 @@ Item {
selectByMouse: true
inputMethodHints: "ImhPreferNumbers"
}
Text {
id: _vocoderURLlabel
x: 10
y: 1550
width: 80
height: 25
text: qsTr("Vocoder URL")
color: "white"
verticalAlignment: Text.AlignVCenter
}
TextField {
id: _vocoderURLEdit
x: 100
y: 1550
width: parent.width - 110
height: 25
selectByMouse: true
}
Button {
id: vocoderButton
x: 10
y: 1580
width: 150
height: 30
text: qsTr("Download vocoder")
onClicked: {
droidstar.download_file(_vocoderURLEdit.text, true);
updateDialog.open();
}
}
}
}

@ -59,7 +59,8 @@ Codec::Codec(QString callsign, char module, QString hostname, QString host, int
m_modeinfo.frame_total = 0;
m_modeinfo.streamid = 0;
m_modeinfo.stream_state = STREAM_IDLE;
m_modeinfo.vocoder_loaded = false;
m_modeinfo.sw_vocoder_loaded = false;
m_modeinfo.hw_vocoder_loaded = false;
#ifdef USE_FLITE
flite_init();
voice_slt = register_cmu_us_slt(nullptr);

@ -80,7 +80,8 @@ public:
int count;
uint32_t streamid;
bool mode;
bool vocoder_loaded;
bool sw_vocoder_loaded;
bool hw_vocoder_loaded;
} m_modeinfo;
enum{
DISCONNECTED,

@ -67,10 +67,11 @@ void DCSCodec::process_udp()
if( (m_modeinfo.status == CONNECTING) && (size == 14) && (!memcmp(buf.data()+10, "ACK", 3)) ){
qDebug() << "Connected to DCS";
m_modeinfo.status = CONNECTED_RW;
m_modeinfo.vocoder_loaded = load_vocoder_plugin();
m_modeinfo.sw_vocoder_loaded = load_vocoder_plugin();
if(m_vocoder != ""){
m_hwrx = true;
m_hwtx = true;
m_modeinfo.hw_vocoder_loaded = true;
m_ambedev = new SerialAMBE("DCS");
m_ambedev->connect_to_serial(m_vocoder);
connect(m_ambedev, SIGNAL(data_ready()), this, SLOT(get_ambe()));
@ -412,7 +413,7 @@ void DCSCodec::transmit()
}
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->encode_2400x1200(pcm, ambe);
}
send_frame(ambe);
@ -588,7 +589,7 @@ void DCSCodec::process_rx_data()
}
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->decode_2400x1200(pcm, ambe);
}
else{

@ -308,7 +308,7 @@ void DMRCodec::setup_connection()
{
m_modeinfo.status = CONNECTED_RW;
//m_mbeenc->set_gain_adjust(2.5);
m_modeinfo.vocoder_loaded = load_vocoder_plugin();
m_modeinfo.sw_vocoder_loaded = load_vocoder_plugin();
m_txtimer = new QTimer();
connect(m_txtimer, SIGNAL(timeout()), this, SLOT(transmit()));
m_rxtimer = new QTimer();
@ -319,6 +319,7 @@ void DMRCodec::setup_connection()
if(m_vocoder != ""){
m_hwrx = true;
m_hwtx = true;
m_modeinfo.hw_vocoder_loaded = true;
m_ambedev = new SerialAMBE("DMR");
m_ambedev->connect_to_serial(m_vocoder);
connect(m_ambedev, SIGNAL(data_ready()), this, SLOT(get_ambe()));
@ -483,7 +484,7 @@ void DMRCodec::transmit()
m_ambedev->encode(pcm);
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->encode_2450x1150(pcm, ambe);
}
for(int i = 0; i < 9; ++i){
@ -958,7 +959,7 @@ void DMRCodec::process_rx_data()
}
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->decode_2450x1150(pcm, ambe);
}
else{

@ -124,17 +124,29 @@ void DroidStar::discover_devices()
}
}
void DroidStar::download_file(QString f)
void DroidStar::download_file(QString f, bool u)
{
HttpManager *http = new HttpManager(f);
qDebug() << "download_file() " << f << ":" << u;
HttpManager *http = new HttpManager(f, u);
QThread *httpThread = new QThread;
http->moveToThread(httpThread);
connect(httpThread, SIGNAL(started()), http, SLOT(process()));
connect(http, SIGNAL(file_downloaded(QString)), this, SLOT(file_downloaded(QString)));
if(u){
connect(http, SIGNAL(file_downloaded(QString)), this, SLOT(url_downloaded(QString)));
}
else{
connect(http, SIGNAL(file_downloaded(QString)), this, SLOT(file_downloaded(QString)));
}
connect(httpThread, SIGNAL(finished()), http, SLOT(deleteLater()));
httpThread->start();
}
void DroidStar::url_downloaded(QString url)
{
qDebug() << "DudeStar::url_downloaded() " << url;
emit update_log("Downloaded " + url);
}
void DroidStar::file_downloaded(QString filename)
{
qDebug() << "DudeStar::file_downloaded() " << filename;
@ -1349,7 +1361,7 @@ void DroidStar::update_ref_data(Codec::MODEINFO info)
if(m_rptr1.isEmpty()) set_rptr1(m_callsign + " " + m_module);
emit update_log("Connected to DStar " + m_host + " " + m_hostname + ":" + QString::number(m_port));
if(info.vocoder_loaded){
if(info.sw_vocoder_loaded){
emit update_log("Vocoder plugin loaded");
}
else{
@ -1404,7 +1416,7 @@ void DroidStar::update_dcs_data(Codec::MODEINFO info)
if(m_rptr1.isEmpty()) set_rptr1(m_callsign + " " + m_module);
emit update_log("Connected to DStar " + m_host + " " + m_hostname + ":" + QString::number(m_port));
if(info.vocoder_loaded){
if(info.sw_vocoder_loaded){
emit update_log("Vocoder plugin loaded");
}
else{
@ -1460,7 +1472,7 @@ void DroidStar::update_xrf_data(Codec::MODEINFO info)
if(m_rptr1.isEmpty()) set_rptr1(m_callsign + " " + m_module);
emit update_log("Connected to DStar " + m_host + " " + m_hostname + ":" + QString::number(m_port));
if(info.vocoder_loaded){
if(info.sw_vocoder_loaded){
emit update_log("Vocoder plugin loaded");
}
else{
@ -1507,7 +1519,7 @@ void DroidStar::update_nxdn_data(Codec::MODEINFO info)
emit swrx_state(!m_nxdn->get_hwrx());
emit update_log("Connected to " + m_protocol + " " + m_host + " " + m_hostname + ":" + QString::number(m_port));
if(info.vocoder_loaded){
if(info.sw_vocoder_loaded){
emit update_log("Vocoder plugin loaded");
}
else{
@ -1570,7 +1582,7 @@ void DroidStar::update_dmr_data(Codec::MODEINFO info)
emit swrx_state(!m_dmr->get_hwrx());
emit update_log("Connected to " + m_protocol + " " + m_host + " " + m_hostname + ":" + QString::number(m_port));
if(info.vocoder_loaded){
if(info.sw_vocoder_loaded){
emit update_log("Vocoder plugin loaded");
}
else{
@ -1620,11 +1632,14 @@ void DroidStar::update_ysf_data(Codec::MODEINFO info)
emit swrx_state(!m_ysf->get_hwrx());
emit update_log("Connected to " + m_protocol + " " + m_host + " " + m_hostname + ":" + QString::number(m_port));
if(info.vocoder_loaded){
if(info.sw_vocoder_loaded){
emit update_log("Vocoder plugin loaded");
}
else{
emit update_log("No vocoder plugin found");
if(!info.hw_vocoder_loaded) {
emit open_vocoder_dialog();
}
}
}
m_statustxt = "Host: " + m_hostname + ":" + QString::number(m_port) + " Cnt: " + QString::number(info.count);

@ -43,6 +43,7 @@ signals:
void module_changed(char);
void update_data();
void update_log(QString);
void open_vocoder_dialog();
void update_settings();
void connect_status_changed(int c);
void in_audio_vol_changed(qreal);
@ -233,8 +234,9 @@ public slots:
QString get_build_abi() { return QSysInfo::buildAbi(); }
QString get_software_build() { return VERSION_NUMBER; }
void download_file(QString);
void download_file(QString, bool u = false);
void file_downloaded(QString);
void url_downloaded(QString);
unsigned short get_output_level(){ return m_outlevel; }
void set_output_level(unsigned short l){ m_outlevel = l; }
private:

@ -17,11 +17,12 @@
#include "httpmanager.h"
HttpManager::HttpManager(QString f) : QObject(nullptr)
HttpManager::HttpManager(QString f, bool u) : QObject(nullptr)
{
m_qnam = new QNetworkAccessManager(this);
QObject::connect(m_qnam, SIGNAL(finished(QNetworkReply*)), this, SLOT(http_finished(QNetworkReply*)));
m_config_path = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation);
m_url = u;
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_WIN)
m_config_path += "/dudetronics";
#endif
@ -31,13 +32,16 @@ HttpManager::HttpManager(QString f) : QObject(nullptr)
void HttpManager::process()
{
QMetaObject::invokeMethod(this,"doRequest");
//qDebug() << "process() called";
//send to the event loop
}
void HttpManager::doRequest()
{
m_qnam->get(QNetworkRequest(QUrl("http://www.dudetronics.com/ar-dns" + m_filename)));
if(m_url){
m_qnam->get(QNetworkRequest(QUrl(m_filename)));
}
else{
m_qnam->get(QNetworkRequest(QUrl("http://www.dudetronics.com/ar-dns" + m_filename)));
}
//qDebug() << "doRequest() called m_filename == " << m_filename;
}
@ -51,7 +55,13 @@ void HttpManager::http_finished(QNetworkReply *reply)
return;
}
else{
if(m_url){
QStringList l = m_filename.split('/');
m_filename = "/" + l.at(l.size() - 1);
}
qDebug() << "m_filename = " << m_filename;
QFile *hosts_file = new QFile(m_config_path + m_filename);
qDebug() << "m_config_path + m_filename = " << m_config_path + m_filename;
hosts_file->open(QIODevice::WriteOnly);
QFileInfo fileInfo(hosts_file->fileName());
QString filename(fileInfo.fileName());

@ -25,7 +25,7 @@ class HttpManager : public QObject
{
Q_OBJECT
public:
explicit HttpManager(QString);
explicit HttpManager(QString, bool u = false);
//void start_request(QString file);
signals:
@ -35,6 +35,7 @@ private:
QString m_filename;
QString m_config_path;
QNetworkAccessManager *m_qnam;
bool m_url;
private slots:
void process();

@ -55,9 +55,9 @@ ApplicationWindow {
text: "Check log tab for details"
}
MessageDialog {
id: disclaimerDialog
title: "D-Star WARNING"
text: "DroidStar should only be used to monitor D-Star reflectors.\nDO NOT USE DROIDSTAR FOR GENERAL DSTAR TX.\nListening to D-Star reflectors is fine.\nD-Star vocoder quality is not very good, so transmitting should\nonly be done for experimentation and development purposes.\n\nYOU HAVE BEEN WARNED!"
id: vocoderDialog
title: "No vocoder found"
text: "No hardware or software vocoder found for this mode. You can still connect, but you will not RX or TX any audio. See the project website (url on the About tab) for info on loading a sw vocoder, or use a USB AMBE dongle (and an OTG adapter on Android devices)"
}
TabBar {
@ -405,6 +405,10 @@ ApplicationWindow {
function onUpdate_log(s) {
logTab.logText.append(s);
}
function onOpen_vocoder_dialog() {
vocoderDialog.open();
}
function onConnect_status_changed(c) {
if(c === 0){
if(mainTab.buttonTX.tx){

@ -79,10 +79,11 @@ void NXDNCodec::process_udp()
m_ping_timer = new QTimer();
connect(m_ping_timer, SIGNAL(timeout()), this, SLOT(send_ping()));
//m_mbeenc->set_gain_adjust(2.5);
m_modeinfo.vocoder_loaded = load_vocoder_plugin();
m_modeinfo.sw_vocoder_loaded = load_vocoder_plugin();
if(m_vocoder != ""){
m_hwrx = true;
m_hwtx = true;
m_modeinfo.hw_vocoder_loaded = true;
m_ambedev = new SerialAMBE("NXDN");
m_ambedev->connect_to_serial(m_vocoder);
connect(m_ambedev, SIGNAL(data_ready()), this, SLOT(get_ambe()));
@ -312,7 +313,7 @@ void NXDNCodec::transmit()
m_ambedev->encode(pcm);
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->encode_2450(pcm, ambe_frame);
}
for(int i = 0; i < 7; ++i){
@ -692,7 +693,7 @@ void NXDNCodec::process_rx_data()
}
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->decode_2450(pcm, ambe);
}
else{

@ -88,11 +88,12 @@ void REFCodec::process_udp()
#endif
if((m_modeinfo.status == CONNECTING) && (buf.size() == 0x08)){
if((memcmp(&buf.data()[4], "OKRW", 4) == 0) || (memcmp(&buf.data()[4], "OKRO", 4) == 0) || (memcmp(&buf.data()[4], "BUSY", 4) == 0)){
m_modeinfo.vocoder_loaded = load_vocoder_plugin();
m_modeinfo.sw_vocoder_loaded = load_vocoder_plugin();
if(m_vocoder != ""){
m_hwrx = true;
m_hwtx = true;
m_modeinfo.hw_vocoder_loaded = true;
m_ambedev = new SerialAMBE("REF");
m_ambedev->connect_to_serial(m_vocoder);
connect(m_ambedev, SIGNAL(data_ready()), this, SLOT(get_ambe()));
@ -453,7 +454,7 @@ void REFCodec::transmit()
}
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->encode_2400x1200(pcm, ambe);
}
send_frame(ambe);
@ -691,7 +692,7 @@ void REFCodec::process_rx_data()
}
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->decode_2400x1200(pcm, ambe);
}
else{

@ -64,10 +64,11 @@ void XRFCodec::process_udp()
if( (m_modeinfo.status == CONNECTING) && (buf.size() == 14) && (!memcmp(buf.data()+10, "ACK", 3)) ){
m_modeinfo.status = CONNECTED_RW;
m_modeinfo.vocoder_loaded = load_vocoder_plugin();
m_modeinfo.sw_vocoder_loaded = load_vocoder_plugin();
if(m_vocoder != ""){
m_hwrx = true;
m_hwtx = true;
m_modeinfo.hw_vocoder_loaded = true;
m_ambedev = new SerialAMBE("XRF");
m_ambedev->connect_to_serial(m_vocoder);
connect(m_ambedev, SIGNAL(data_ready()), this, SLOT(get_ambe()));
@ -407,7 +408,7 @@ void XRFCodec::transmit()
}
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->encode_2400x1200(pcm, ambe);
}
send_frame(ambe);
@ -613,7 +614,7 @@ void XRFCodec::process_rx_data()
}
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->decode_2400x1200(pcm, ambe);
}
else{

@ -137,13 +137,14 @@ void YSFCodec::process_udp()
connect(m_ping_timer, SIGNAL(timeout()), this, SLOT(send_ping()));
set_fcs_mode(false);
//m_mbeenc->set_gain_adjust(2.5);
m_modeinfo.vocoder_loaded = load_vocoder_plugin();
m_modeinfo.sw_vocoder_loaded = load_vocoder_plugin();
m_rxtimer = new QTimer();
connect(m_rxtimer, SIGNAL(timeout()), this, SLOT(process_rx_data()));
if(m_vocoder != ""){
m_hwrx = true;
m_hwtx = true;
m_modeinfo.hw_vocoder_loaded = true;
m_ambedev = new SerialAMBE("YSF");
m_ambedev->connect_to_serial(m_vocoder);
connect(m_ambedev, SIGNAL(data_ready()), this, SLOT(get_ambe()));
@ -672,7 +673,7 @@ void YSFCodec::transmit()
}
else{
s = 7;
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->encode_2450(pcm, ambe);
}
}
@ -1326,7 +1327,7 @@ void YSFCodec::process_rx_data()
}
}
else{
if(m_modeinfo.vocoder_loaded){
if(m_modeinfo.sw_vocoder_loaded){
m_mbevocoder->decode_2450(pcm, ambe);
}
else{

Loading…
Cancel
Save