Merge ios stuff into master
|
@ -19,8 +19,12 @@ macx:QT += serialport
|
|||
macx::INCLUDEPATH += /usr/local/include
|
||||
macx:LIBS += -L/usr/local/lib -framework AVFoundation
|
||||
macx:QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14
|
||||
macx:QMAKE_INFO_PLIST = Info.plist
|
||||
ios:LIBS += -framework AVFoundation
|
||||
macx:QMAKE_INFO_PLIST = Info.plist.mac
|
||||
ios:LIBS += -lvocoder -framework AVFoundation
|
||||
ios:QMAKE_TARGET_BUNDLE_PREFIX = com.dudetronics
|
||||
ios:QMAKE_BUNDLE = droidstar
|
||||
ios:VERSION = 0.43.20
|
||||
ios:QMAKE_ASSET_CATALOGS += Images.xcassets
|
||||
ios:QMAKE_INFO_PLIST = Info.plist
|
||||
VERSION_BUILD='$(shell cd $$PWD;git rev-parse --short HEAD)'
|
||||
DEFINES += VERSION_NUMBER=\"\\\"$${VERSION_BUILD}\\\"\"
|
||||
|
@ -41,7 +45,6 @@ HEADERS += \
|
|||
SHA256.h \
|
||||
YSFConvolution.h \
|
||||
YSFFICH.h \
|
||||
androidserialport.h \
|
||||
audioengine.h \
|
||||
cbptc19696.h \
|
||||
cgolay2087.h \
|
||||
|
@ -58,12 +61,12 @@ HEADERS += \
|
|||
nxdncodec.h \
|
||||
p25codec.h \
|
||||
refcodec.h \
|
||||
serialambe.h \
|
||||
serialmodem.h \
|
||||
vocoder_plugin.h \
|
||||
xrfcodec.h \
|
||||
ysfcodec.h
|
||||
android:HEADERS += androidserialport.h
|
||||
macx:HEADERS += micpermission.h
|
||||
!ios:HEADERS += serialambe.h serialmodem.h
|
||||
|
||||
SOURCES += \
|
||||
CRCenc.cpp \
|
||||
|
@ -73,7 +76,6 @@ SOURCES += \
|
|||
SHA256.cpp \
|
||||
YSFConvolution.cpp \
|
||||
YSFFICH.cpp \
|
||||
androidserialport.cpp \
|
||||
audioengine.cpp \
|
||||
cbptc19696.cpp \
|
||||
cgolay2087.cpp \
|
||||
|
@ -90,10 +92,10 @@ SOURCES += \
|
|||
nxdncodec.cpp \
|
||||
p25codec.cpp \
|
||||
refcodec.cpp \
|
||||
serialambe.cpp \
|
||||
serialmodem.cpp \
|
||||
xrfcodec.cpp \
|
||||
ysfcodec.cpp
|
||||
android:SOURCES += androidserialport.cpp
|
||||
!ios:SOURCES += serialambe.cpp serialmodem.cpp
|
||||
!contains(DEFINES, USE_EXTERNAL_CODEC2){
|
||||
HEADERS += \
|
||||
codec2/codec2_api.h \
|
||||
|
|
BIN
Images.xcassets/.DS_Store
vendored
Executable file
BIN
Images.xcassets/._.DS_Store
Executable file
BIN
Images.xcassets/AppIcon.appiconset/1024.png
Executable file
After Width: | Height: | Size: 69 KiB |
BIN
Images.xcassets/AppIcon.appiconset/120-1.png
Executable file
After Width: | Height: | Size: 3.9 KiB |
BIN
Images.xcassets/AppIcon.appiconset/120.png
Executable file
After Width: | Height: | Size: 3.9 KiB |
BIN
Images.xcassets/AppIcon.appiconset/152.png
Executable file
After Width: | Height: | Size: 4.9 KiB |
BIN
Images.xcassets/AppIcon.appiconset/167.png
Executable file
After Width: | Height: | Size: 5.5 KiB |
BIN
Images.xcassets/AppIcon.appiconset/180.png
Executable file
After Width: | Height: | Size: 6 KiB |
BIN
Images.xcassets/AppIcon.appiconset/20.png
Executable file
After Width: | Height: | Size: 491 B |
BIN
Images.xcassets/AppIcon.appiconset/29.png
Executable file
After Width: | Height: | Size: 821 B |
BIN
Images.xcassets/AppIcon.appiconset/40-1.png
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
Images.xcassets/AppIcon.appiconset/40-2.png
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
Images.xcassets/AppIcon.appiconset/40.png
Executable file
After Width: | Height: | Size: 1.1 KiB |
BIN
Images.xcassets/AppIcon.appiconset/58-1.png
Executable file
After Width: | Height: | Size: 1.9 KiB |
BIN
Images.xcassets/AppIcon.appiconset/58.png
Executable file
After Width: | Height: | Size: 1.9 KiB |
BIN
Images.xcassets/AppIcon.appiconset/60.png
Executable file
After Width: | Height: | Size: 1.9 KiB |
BIN
Images.xcassets/AppIcon.appiconset/76.png
Executable file
After Width: | Height: | Size: 2.5 KiB |
BIN
Images.xcassets/AppIcon.appiconset/80-1.png
Executable file
After Width: | Height: | Size: 2.7 KiB |
BIN
Images.xcassets/AppIcon.appiconset/80.png
Executable file
After Width: | Height: | Size: 2.7 KiB |
BIN
Images.xcassets/AppIcon.appiconset/87.png
Executable file
After Width: | Height: | Size: 2.9 KiB |
116
Images.xcassets/AppIcon.appiconset/Contents.json
Executable file
|
@ -0,0 +1,116 @@
|
|||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "40.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"filename" : "60.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"filename" : "58.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"filename" : "87.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"filename" : "80.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"filename" : "120.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"filename" : "120-1.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "2x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"filename" : "180.png",
|
||||
"idiom" : "iphone",
|
||||
"scale" : "3x",
|
||||
"size" : "60x60"
|
||||
},
|
||||
{
|
||||
"filename" : "20.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"filename" : "40-1.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "20x20"
|
||||
},
|
||||
{
|
||||
"filename" : "29.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"filename" : "58-1.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "29x29"
|
||||
},
|
||||
{
|
||||
"filename" : "40-2.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"filename" : "80-1.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "40x40"
|
||||
},
|
||||
{
|
||||
"filename" : "76.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "1x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"filename" : "152.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "76x76"
|
||||
},
|
||||
{
|
||||
"filename" : "167.png",
|
||||
"idiom" : "ipad",
|
||||
"scale" : "2x",
|
||||
"size" : "83.5x83.5"
|
||||
},
|
||||
{
|
||||
"filename" : "1024.png",
|
||||
"idiom" : "ios-marketing",
|
||||
"scale" : "1x",
|
||||
"size" : "1024x1024"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
45
Info.plist
|
@ -2,23 +2,46 @@
|
|||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleExecutable</key>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>DroidStar</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconName</key>
|
||||
<string>AppIcon</string>
|
||||
<key>CFBundleIcons</key>
|
||||
<dict/>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict/>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.dudetronics.droidstar</string>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(QMAKE_SHORT_VERSION)</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>You know you want to...</string>
|
||||
<string>${QMAKE_PKGINFO_TYPEINFO}</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(QMAKE_FULL_VERSION)</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>${IPHONEOS_DEPLOYMENT_TARGET}</string>
|
||||
<key>NOTE</key>
|
||||
<string>This file was generated by Qt/QMake.</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
||||
<true/>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>This app uses the microphone to transmit audio</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>You know you want to...</string>
|
||||
<key>UILaunchStoryboardName</key>
|
||||
<string>LaunchScreen</string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
24
Info.plist.mac
Executable file
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>DroidStar</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.dudetronics.droidstar</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>You know you want to...</string>
|
||||
<key>NOTE</key>
|
||||
<string>This file was generated by Qt/QMake.</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>NSApplication</string>
|
||||
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
|
@ -246,6 +246,8 @@ bool Codec::load_vocoder_plugin()
|
|||
#endif
|
||||
#else
|
||||
#if defined(Q_OS_IOS)
|
||||
QString config_path = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + "/dudetronics";
|
||||
QString voc = config_path + "/vocoder_plugin." + QSysInfo::productType() + "." + QSysInfo::currentCpuArchitecture();
|
||||
if(QFileInfo::exists(voc)){
|
||||
m_mbevocoder = new VocoderPlugin();
|
||||
return true;
|
||||
|
|
|
@ -671,7 +671,9 @@ void REFCodec::process_rx_data()
|
|||
for(int i = 0; i < s; ++i){
|
||||
out.append(m_rxmodemq.dequeue());
|
||||
}
|
||||
#if !defined(Q_OS_IOS)
|
||||
m_modem->write(out);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
|