First attempt at shuttleXpress support

Needs lots of work!
half-duplex
Phil Taylor 2021-06-05 00:23:16 +01:00
rodzic 7b9a911079
commit 05b8fe5f7c
6 zmienionych plików z 208 dodań i 55 usunięć

Wyświetl plik

@ -21,6 +21,8 @@ void shuttle::init()
int shuttle::hidApiWrite(unsigned char* data, unsigned char length)
{
Q_UNUSED(data);
Q_UNUSED(length);
/* int res;
unsigned char realData[length + 1];
@ -48,15 +50,35 @@ void shuttle::run()
{
handle = hid_open(0x0b33, 0x0020, NULL);
if (!handle) {
qDebug() << "unable to open device";
return;
handle = hid_open(0x0b33, 0x0030, NULL);
if (!handle) {
handle = hid_open(0x0C26, 0x001E, NULL);
if (!handle) {
QTimer::singleShot(1000, this, SLOT(run()));
}
else {
usbDevice = RC28;
}
}
else {
usbDevice = shuttlePro2;
}
}
else {
usbDevice = shuttleXpress;
}
if (handle)
{
int res;
wchar_t manufacturer[MAX_STR];
wchar_t product[MAX_STR];
res = hid_get_manufacturer_string(handle, manufacturer, MAX_STR);
res = hid_get_product_string(handle, product, MAX_STR);
qDebug() << QString("Found Device: %0 from %1").arg(QString::fromWCharArray(product)).arg(QString::fromWCharArray(manufacturer));
hid_set_nonblocking(handle, 1);
QTimer::singleShot(0, this, SLOT(runTimer()));
}
qDebug() << "*************** open device success";
hid_set_nonblocking(handle, 1);
qDebug() << "************ Starting HID";
QTimer::singleShot(0, this, SLOT(runTimer()));
}
void shuttle::runTimer()
@ -68,7 +90,9 @@ void shuttle::runTimer()
;//printf("waiting...\n");
else if (res < 0)
{
qDebug() << "Unable to read()";
qDebug() << "USB Device disconnected?";
hid_close(handle);
QTimer::singleShot(1000, this, SLOT(run()));
return;
}
else if (res == 5)
@ -80,34 +104,69 @@ void shuttle::runTimer()
<< hex << (unsigned char)data[3] << ":"
<< hex << (unsigned char)data[4];
unsigned char tempButtons = ((unsigned char)data[3] | (unsigned char)data[4]);
unsigned int tempButtons = unsigned int((unsigned char)data[3] | (unsigned char)data[4] << 8);
unsigned char tempJogpos = (unsigned char)data[1];
unsigned char tempShutpos = (unsigned char)data[0];
if (tempJogpos == jogpos + 1 || tempJogpos == jogpos - 1 || tempJogpos == 0xff || tempJogpos == 0x00) {
if (tempJogpos > jogpos || (tempJogpos == 0x00 && jogpos == 0xff))
{
qDebug() << "JOG UP";
}
else {
qDebug() << "JOG DOWN";
}
if (tempJogpos == jogpos +1 || (tempJogpos == 0 && jogpos == 0xff))
{
qDebug() << "JOG PLUS";
emit jogPlus();
}
else if (tempJogpos != jogpos) {
qDebug() << "JOG MINUS";
emit jogMinus();
}
if (tempShutpos == shutpos + 1)
{
qDebug() << "SHUTTLE UP";
qDebug() << "SHUTTLE PLUS";
}
else if (tempShutpos == shutpos-1) {
qDebug() << "SHUTTLE DOWN";
qDebug() << "SHUTTLE MINUS";
}
buttons = ((unsigned char)data[3] | (unsigned char)data[4]);
/* Button matrix:
1000000000000000 = button15
0100000000000000 = button14
0010000000000000 = button13
0001000000000000 = button12
0000100000000000 = button11
0000010000000000 = button10
0000001000000000 = button9
0000000100000000 = button8 - xpress1
0000000010000000 = button7 - xpress2
0000000001000000 = button6 - xpress3
0000000000100000 = button5 - xpress4
0000000000010000 = button4 - xpress5
0000000000001000 = button3
0000000000000100 = button2
0000000000000010 = button1
0000000000000001 = button0
*/
if (buttons != tempButtons)
{
qDebug() << "BUTTON: " << qSetFieldWidth(16) << bin << tempButtons;
// Step size down
if ((tempButtons >> 5 & 1) && !(buttons >> 5 & 1))
emit button5(true);
// PTT on and off
if ((tempButtons >> 6 & 1) && !(buttons >> 6 & 1))
emit button6(true);
else if ((buttons >> 6 & 1) && !(tempButtons >> 6 & 1))
emit button6(false);
// Step size up
if ((tempButtons >> 7 & 1) && !(buttons >> 7 & 1))
emit button7(true);
}
buttons = unsigned int((unsigned char)data[3] | (unsigned char)data[4] << 8);
jogpos = (unsigned char)data[1];
shutpos = (unsigned char)data[0];
emit hidDataArrived(data);
}
// Run every 50ms
QTimer::singleShot(50, this, SLOT(runTimer()));
// Run every 25ms
QTimer::singleShot(25, this, SLOT(runTimer()));
}

Wyświetl plik

@ -14,7 +14,9 @@
using namespace std;
#define HIDDATALENGTH 5
#define HIDDATALENGTH 64
#define MAX_STR 255
class shuttle : public QObject
{
@ -31,14 +33,33 @@ public slots:
void runTimer();
signals:
void hidDataArrived(QByteArray data);
void jogPlus();
void jogMinus();
void button0(bool);
void button1(bool);
void button2(bool);
void button3(bool);
void button4(bool);
void button5(bool);
void button6(bool);
void button7(bool);
void button8(bool);
void button9(bool);
void button10(bool);
void button11(bool);
void button12(bool);
void button13(bool);
void button14(bool);
void button15(bool);
private:
hid_device* handle;
bool isOpen=false;
unsigned char buttons;
unsigned char jogpos;
unsigned char shutpos;
unsigned int buttons=0;
unsigned char jogpos=0;
unsigned char shutpos=0;
enum { NONE, shuttleXpress, shuttlePro2, RC28 }usbDevice;
protected:
};

Wyświetl plik

@ -1058,13 +1058,42 @@ void wfmain::setupShuttleDevice()
shuttleDev->moveToThread(shuttleThread);
connect(shuttleThread, SIGNAL(started()), shuttleDev, SLOT(run()));
connect(shuttleThread, SIGNAL(finished()), shuttleDev, SLOT(deleteLater()));
connect(shuttleDev, SIGNAL(hidDataArrived(QByteArray)), this, SLOT(hidDataArrived(QByteArray)));
connect(shuttleDev, SIGNAL(jogPlus()), this, SLOT(shortcutStepPlus()));
connect(shuttleDev, SIGNAL(jogMinus()), this, SLOT(shortcutStepMinus()));
connect(shuttleDev, SIGNAL(button5(bool)), this, SLOT(stepDown()));
connect(shuttleDev, SIGNAL(button6(bool)), this, SLOT(pttToggle(bool)));
connect(shuttleDev, SIGNAL(button7(bool)), this, SLOT(stepUp()));
shuttleThread->start();
}
void wfmain::hidDataArrived(QByteArray data)
void wfmain::pttToggle(bool status)
{
// is it enabled?
if (!ui->pttEnableChk->isChecked())
{
showStatusBarText("PTT is disabled, not sending command. Change under Settings tab.");
return;
}
emit setPTT(status);
// Start 3 minute timer
if (status)
pttTimer->start();
issueDelayedCommand(cmdGetPTT);
}
void wfmain::stepUp()
{
if (ui->tuningStepCombo->currentIndex() < ui->tuningStepCombo->count() - 1)
ui->tuningStepCombo->setCurrentIndex(ui->tuningStepCombo->currentIndex() + 1);
}
void wfmain::stepDown()
{
if (ui->tuningStepCombo->currentIndex() > 0)
ui->tuningStepCombo->setCurrentIndex(ui->tuningStepCombo->currentIndex() - 1);
}
void wfmain::setDefPrefs()
@ -1778,7 +1807,7 @@ quint64 wfmain::roundFrequencyWithStep(quint64 frequency, int steps, unsigned in
void wfmain::shortcutMinus()
{
if(freqLock) return;
if (freqLock) return;
freqt f;
f.Hz = roundFrequencyWithStep(freq.Hz, -1, tsPlusHz);
@ -1791,7 +1820,7 @@ void wfmain::shortcutMinus()
void wfmain::shortcutPlus()
{
if(freqLock) return;
if (freqLock) return;
freqt f;
f.Hz = roundFrequencyWithStep(freq.Hz, 1, tsPlusHz);
@ -1802,6 +1831,32 @@ void wfmain::shortcutPlus()
issueDelayedCommandUnique(cmdGetFreq);
}
void wfmain::shortcutStepMinus()
{
if (freqLock) return;
freqt f;
f.Hz = roundFrequencyWithStep(freq.Hz, -1, ui->tuningStepCombo->currentData().toInt());
f.MHzDouble = f.Hz / (double)1E6;
setUIFreq();
emit setFrequency(f);
issueDelayedCommandUnique(cmdGetFreq);
}
void wfmain::shortcutStepPlus()
{
if (freqLock) return;
freqt f;
f.Hz = roundFrequencyWithStep(freq.Hz, 1, ui->tuningStepCombo->currentData().toInt());
f.MHzDouble = f.Hz / (double)1E6;
setUIFreq();
emit setFrequency(f);
issueDelayedCommandUnique(cmdGetFreq);
}
void wfmain::shortcutShiftMinus()
{
if(freqLock) return;
@ -3230,7 +3285,7 @@ void wfmain::on_freqDial_valueChanged(int value)
f.Hz = roundFrequencyWithStep(freq.Hz, delta, tsKnobHz);
f.MHzDouble = f.Hz / (double)1E6;
if(f.Hz > 0)
if (f.Hz > 0)
{
freq = f;
@ -3239,7 +3294,8 @@ void wfmain::on_freqDial_valueChanged(int value)
ui->freqLabel->setText(QString("%1").arg(f.MHzDouble, 0, 'f'));
emit setFrequency(f);
} else {
}
else {
ui->freqDial->blockSignals(true);
ui->freqDial->setValue(oldFreqDialVal);
ui->freqDial->blockSignals(false);

Wyświetl plik

@ -170,6 +170,8 @@ private slots:
void shortcutSlash();
void shortcutMinus();
void shortcutPlus();
void shortcutStepMinus();
void shortcutStepPlus();
void shortcutShiftMinus();
void shortcutShiftPlus();
void shortcutControlMinus();
@ -241,7 +243,9 @@ private slots:
void showStatusBarText(QString text);
void serverConfigRequested(SERVERCONFIG conf, bool store);
void receiveBaudRate(quint32 baudrate);
void hidDataArrived(QByteArray data);
void pttToggle(bool);
void stepUp();
void stepDown();
// void on_getFreqBtn_clicked();

Wyświetl plik

@ -48,7 +48,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>.;..\qcustomplot;opus-tools\src;rtaudio;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>.;..\hidapi\hidapi;..\qcustomplot;opus-tools\src;rtaudio;release;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>release\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
@ -57,7 +57,7 @@
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>release\</ObjectFileName>
<Optimization>MaxSpeed</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;__WINDOWS_WASAPI__;GITSHORT="24ce16b";HOST="wfview.org";UNAME="build";NDEBUG;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;__WINDOWS_WASAPI__;GITSHORT="7b9a911";HOST="wfview.org";UNAME="build";NDEBUG;QT_NO_DEBUG;QT_USB_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<ProgramDataBaseFileName></ProgramDataBaseFileName>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@ -66,8 +66,8 @@
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>..\hidapi\windows\release\hidapi.lib;$(QTDIR)\lib\Qt5Usb.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\hidapi\windows\release;C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -85,12 +85,12 @@
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;__WINDOWS_WASAPI__;GITSHORT=\"24ce16b\";HOST=\"wfview.org\";UNAME=\"build\";NDEBUG;QT_NO_DEBUG;QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;__WINDOWS_WASAPI__;GITSHORT=\"7b9a911\";HOST=\"wfview.org\";UNAME=\"build\";NDEBUG;QT_NO_DEBUG;QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_USB_LIB;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtMoc><CompilerFlavor>msvc</CompilerFlavor><Include>./$(Configuration)/moc_predefs.h</Include><ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription><DynamicSource>output</DynamicSource><QtMocDir>$(Configuration)</QtMocDir><QtMocFileName>moc_%(Filename).cpp</QtMocFileName></QtMoc><QtRcc><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc><QtUic><ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription><QtUicDir>$(ProjectDir)</QtUicDir><QtUicFileName>ui_%(Filename).h</QtUicFileName></QtUic></ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalIncludeDirectories>.;..\qcustomplot;opus-tools\src;rtaudio;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>.;..\hidapi\hidapi;..\qcustomplot;opus-tools\src;rtaudio;debug;/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 %(AdditionalOptions)</AdditionalOptions>
<AssemblerListingLocation>debug\</AssemblerListingLocation>
<BrowseInformation>false</BrowseInformation>
@ -99,7 +99,7 @@
<ExceptionHandling>Sync</ExceptionHandling>
<ObjectFileName>debug\</ObjectFileName>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;__WINDOWS_WASAPI__;GITSHORT="24ce16b";HOST="wfview.org";UNAME="build";%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;__WINDOWS_WASAPI__;GITSHORT="7b9a911";HOST="wfview.org";UNAME="build";QT_USB_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessToFile>false</PreprocessToFile>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -107,8 +107,8 @@
<WarningLevel>Level3</WarningLevel>
<MultiProcessorCompilation>true</MultiProcessorCompilation></ClCompile>
<Link>
<AdditionalDependencies>shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>..\hidapi\windows\release\hidapi.lib;$(QTDIR)\lib\Qt5Usbd.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>..\hidapi\windows\release;C:\opensslx86\lib;C:\Utils\my_sql\mysql-5.7.25-win32\lib;C:\Utils\postgresqlx86\pgsql\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions)</AdditionalOptions>
<DataExecutionPrevention>true</DataExecutionPrevention>
<GenerateDebugInformation>true</GenerateDebugInformation>
@ -124,11 +124,10 @@
<WarningLevel>0</WarningLevel>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;__WINDOWS_WASAPI__;GITSHORT=\"24ce16b\";HOST=\"wfview.org\";UNAME=\"build\";QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;QT_DEPRECATED_WARNINGS;QCUSTOMPLOT_COMPILE_LIBRARY;OUTSIDE_SPEEX;RANDOM_PREFIX=wf;__WINDOWS_WASAPI__;GITSHORT=\"7b9a911\";HOST=\"wfview.org\";UNAME=\"build\";QT_MULTIMEDIA_LIB;QT_PRINTSUPPORT_LIB;QT_WIDGETS_LIB;QT_GUI_LIB;QT_SERIALPORT_LIB;QT_NETWORK_LIB;QT_USB_LIB;QT_CORE_LIB;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<QtMoc><CompilerFlavor>msvc</CompilerFlavor><Include>./$(Configuration)/moc_predefs.h</Include><ExecutionDescription>Moc'ing %(Identity)...</ExecutionDescription><DynamicSource>output</DynamicSource><QtMocDir>$(Configuration)</QtMocDir><QtMocFileName>moc_%(Filename).cpp</QtMocFileName></QtMoc><QtRcc><Compression>default</Compression><ExecutionDescription>Rcc'ing %(Identity)...</ExecutionDescription><QtRccDir>$(Configuration)</QtRccDir><QtRccFileName>qrc_%(Filename).cpp</QtRccFileName></QtRcc><QtUic><ExecutionDescription>Uic'ing %(Identity)...</ExecutionDescription><QtUicDir>$(ProjectDir)</QtUicDir><QtUicFileName>ui_%(Filename).h</QtUicFileName></QtUic></ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="rtaudio\RTAudio.cpp" />
<ClCompile Include="audiohandler.cpp" />
<ClCompile Include="calibrationwindow.cpp" />
<ClCompile Include="commhandler.cpp" />
@ -146,13 +145,13 @@
<ClCompile Include="rigidentities.cpp" />
<ClCompile Include="ring\ring.cpp" />
<ClCompile Include="satellitesetup.cpp" />
<ClCompile Include="shuttle.cpp" />
<ClCompile Include="udphandler.cpp" />
<ClCompile Include="udpserver.cpp" />
<ClCompile Include="udpserversetup.cpp" />
<ClCompile Include="wfmain.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="rtaudio\RTAUdio.h" />
<ClInclude Include="opus-tools\src\arch.h" />
<QtMoc Include="audiohandler.h">
@ -270,6 +269,16 @@
</QtMoc>
<QtMoc Include="shuttle.h">
</QtMoc>
<ClInclude Include="opus-tools\src\speex_resampler.h" />
<QtMoc Include="udphandler.h">
@ -367,6 +376,8 @@

Wyświetl plik

@ -57,9 +57,6 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="rtaudio\RTAudio.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="audiohandler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -111,6 +108,9 @@
<ClCompile Include="satellitesetup.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="shuttle.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="udphandler.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@ -125,9 +125,6 @@
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="rtaudio\RTAUdio.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="opus-tools\src\arch.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -185,6 +182,9 @@
<QtMoc Include="satellitesetup.h">
<Filter>Header Files</Filter>
</QtMoc>
<QtMoc Include="shuttle.h">
<Filter>Header Files</Filter>
</QtMoc>
<ClInclude Include="opus-tools\src\speex_resampler.h">
<Filter>Header Files</Filter>
</ClInclude>
@ -247,6 +247,8 @@