diff --git a/DroidStar.pro b/DroidStar.pro index 9f0afa9..f6df2de 100644 --- a/DroidStar.pro +++ b/DroidStar.pro @@ -8,7 +8,7 @@ unix:!ios:QT += serialport CONFIG += c++17 LFLAGS += android:INCLUDEPATH += $$(HOME)/Android/local/include -LIBS += -limbe_vocoder -lvocoder +LIBS += -limbe_vocoder # -lvocoder !win32:LIBS += -ldl win32:QT += serialport win32:INCLUDEPATH += /mnt/data/src/winlibs/include @@ -23,7 +23,8 @@ macx:LIBS += -L/usr/local/lib -framework AVFoundation macx:QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.14 macx:QMAKE_INFO_PLIST = Info.plist.mac ios:LIBS += -lvocoder -framework AVFoundation -ios:QMAKE_TARGET_BUNDLE_PREFIX = com.dudetronics +ios:QMAKE_IOS_DEPLOYMENT_TARGET=14.0 +ios:QMAKE_TARGET_BUNDLE_PREFIX = org.dudetronics ios:QMAKE_BUNDLE = droidstar ios:VERSION = 0.43.20 ios:Q_ENABLE_BITCODE.name = ENABLE_BITCODE diff --git a/README.md b/README.md index dfb84b3..72a7baa 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Talkgroup: For DMR, enter the talkgroup ID number. A very active TG for testin MYCALL/URCALL/RPTR1/RPTR2 are for Dstar modes REF/DCS/XRF. These fields need to be entered correctly before attempting to TX on any DSTAR reflector. All fields are populated with suggested values upon connect, but can still be modified for advanced users. RPT2 is always overwritten with the current reflector upon connected. # IAX Client for AllStar -Dudestar can connect to an AllStar node as an IAX(2) client. See the AllStar wiki and other AllStar, Asterisk, and IAX2 protocal related websites for the technical details of IAX2 for AllStar. This is a basic client and currently only uLaw audio codec is supported. This is the default codec on most AllStar nodes. +DroidStar can connect to an AllStar node as an IAX(2) client. See the AllStar wiki and other AllStar, Asterisk, and IAX2 protocal related websites for the technical details of IAX2 for AllStar. This is a basic client and currently only uLaw audio codec is supported. This is the default codec on most AllStar nodes. Username: Defined in your nodes iax.conf file, usually iaxclient @@ -93,6 +93,17 @@ All of the gradle build files are provided to create an APK file ready to be ins # No builds are available on Github No builds for any platform are available on this Github site. This is and always will be an open source project, to be used for educational and development purposes only. I am currently providing a Windows build which is *not* to be confused as any sort of official release of any kind. No support will be provided for any build at any time. -http://www.dudetronics.com/ +# DroidStar for iOS +DroidStar used to be available for iOS via the TestFlight program. I got fed up with Apple and its developer policies (not to mention the cost) so I cancelled my paid developer account. DroidStar can now be installed to an iOS device by using a marvelous program called Sideloadly: + +https://sideloadly.io/ + +The instructions here are pretty thorough. It is important to read the FAQ section of the website to understand how sideloading works. I suggest enabling Wifi development on the iOS device, as explained on the website. This allows you to load/re-load DroidStar without connecting to USB. + +There are static builds for all platforms out there on a few 3rd party sites such as this one: + +http://pizzanbeer.net/ + +The ipa file is the iOS package. diff --git a/audioengine.cpp b/audioengine.cpp index f730975..8f957a2 100644 --- a/audioengine.cpp +++ b/audioengine.cpp @@ -189,11 +189,11 @@ void AudioEngine::init() else{ QAudioDevice device(QMediaDevices::defaultAudioOutput()); for (QList::ConstIterator it = devices.constBegin(); it != devices.constEnd(); ++it ) { - if(MACHAK){ - qDebug() << "Playback device name = " << (*it).description(); - qDebug() << (*it).supportedSampleFormats(); - qDebug() << (*it).preferredFormat(); - } + + qDebug() << "Playback device name = " << (*it).description(); + qDebug() << (*it).supportedSampleFormats(); + qDebug() << (*it).preferredFormat(); + if((*it).description() == m_outputdevice){ device = *it; } diff --git a/mode.cpp b/mode.cpp index 48bed82..c2f950a 100644 --- a/mode.cpp +++ b/mode.cpp @@ -332,23 +332,11 @@ bool Mode::load_vocoder_plugin() return false; } #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; - } - else{ - return false; - } #else qDebug() << "new vocoder"; m_mbevocoder = new VocoderPlugin(); return true; #endif -#endif } void Mode::deleteLater() diff --git a/serialambe.cpp b/serialambe.cpp index f64c386..bbaee82 100755 --- a/serialambe.cpp +++ b/serialambe.cpp @@ -81,7 +81,7 @@ QMap SerialAMBE::discover_devices() + "Serial number: " + (!serialPortInfo.serialNumber().isEmpty() ? serialPortInfo.serialNumber() : blankString) + ENDLINE + "Vendor Identifier: " + (serialPortInfo.hasVendorIdentifier() ? QByteArray::number(serialPortInfo.vendorIdentifier(), 16) : blankString) + ENDLINE + "Product Identifier: " + (serialPortInfo.hasProductIdentifier() ? QByteArray::number(serialPortInfo.productIdentifier(), 16) : blankString) + ENDLINE; - fprintf(stderr, "%s", out.toStdString().c_str());fflush(stderr); + //fprintf(stderr, "%s", out.toStdString().c_str());fflush(stderr); devlist[serialPortInfo.systemLocation()] = serialPortInfo.description() + ":" + serialPortInfo.systemLocation(); } }