Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure settings.xml during build to define USB not supported #17

Merged
merged 8 commits into from
Apr 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,27 @@ project(pvr.rtlradio)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/cmake)

option(DISTRIBUTION_BUILD "Linux distribution build (without use of depends folder)" OFF)

if(CORE_SYSTEM_NAME STREQUAL windowsstore)
if(CORE_SYSTEM_NAME STREQUAL windowsstore OR
CORE_SYSTEM_NAME STREQUAL darwin_embedded OR
CORE_SYSTEM_NAME STREQUAL android)
set(USB_DEVICE_SUPPORT False)
else()
set(USB_DEVICE_SUPPORT True)
option(USB_DEVICE_SUPPORT "Build add-on with USB device support, if set to \"OFF\" RTL-SDR can only be accessed via network" ON)
endif()

# Set values used about configure of settings.xml.in on add-on
if(NOT USB_DEVICE_SUPPORT)
set(SETTINGS_XML_IN_CONNECTION_TYPE_NOTE "USB device not supported on this add-on, due to this the following setting is not usable and marked as not visible.")
set(SETTINGS_XML_IN_CONNECTION_TYPE_DEFAULT "1")
set(SETTINGS_XML_IN_CONNECTION_TYPE_VISIBLE "false")
set(SETTINGS_XML_IN_NO_USB_BEGIN "<!--")
set(SETTINGS_XML_IN_NO_USB_END "-->")
else()
set(SETTINGS_XML_IN_CONNECTION_TYPE_NOTE "USB device supported on this add-on.")
set(SETTINGS_XML_IN_CONNECTION_TYPE_DEFAULT "0")
set(SETTINGS_XML_IN_CONNECTION_TYPE_VISIBLE "true")
set(SETTINGS_XML_IN_NO_USB_BEGIN "")
set(SETTINGS_XML_IN_NO_USB_END "")
endif()

find_package(Kodi REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
buildPlugin(version: "Omega", platforms: ["android-armv7", "android-aarch64", "osx-x86_64", "osx-arm64", "ubuntu-ppa", "windows-i686", "windows-x86_64"])
buildPlugin(version: "Omega")
32 changes: 0 additions & 32 deletions depends/android/libudev-zero/CMakeLists.txt

This file was deleted.

1 change: 0 additions & 1 deletion depends/android/libudev-zero/libudev-zero.sha256

This file was deleted.

1 change: 0 additions & 1 deletion depends/android/libudev-zero/libudev-zero.txt

This file was deleted.

1 change: 0 additions & 1 deletion depends/common/libusb/android-deps.txt

This file was deleted.

2 changes: 1 addition & 1 deletion depends/common/libusb/platforms.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
!windows !windowsstore
!windows !windowsstore !android !darwin_embedded
1 change: 1 addition & 0 deletions depends/common/mpg123/flags.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-DBUILD_LIBOUT123=OFF
2 changes: 1 addition & 1 deletion depends/common/rtl-sdr/platforms.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
!windowsstore
!windowsstore !android !darwin_embedded
12 changes: 10 additions & 2 deletions pvr.rtlradio/resources/language/resource.language.en_gb/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ msgid "Device index"
msgstr ""

msgctxt "#30102"
msgid "rtl_tcp server address"
msgid "Server address"
msgstr ""

msgctxt "#30103"
msgid "rtl_tcp server port"
msgid "Server port"
msgstr ""

msgctxt "#30104"
Expand Down Expand Up @@ -118,6 +118,14 @@ msgctxt "#30117"
msgid "Prepend channel numbers to channel names"
msgstr ""

msgctxt "#30118"
msgid "Connection settings"
msgstr ""

msgctxt "#30119"
msgid "Device settings"
msgstr ""

#
# 302XX - Setting values
#
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,11 @@
<category id="device" label="30000">
<group id="1" label="-1">

<!-- @SETTINGS_XML_IN_CONNECTION_TYPE_NOTE@ -->
<setting id="device_connection" type="integer" label="30100" help="30500">
<level>0</level>
<default>0</default>
<visible>@SETTINGS_XML_IN_CONNECTION_TYPE_VISIBLE@</visible>
<default>@SETTINGS_XML_IN_CONNECTION_TYPE_DEFAULT@</default>
<constraints>
<options>
<option label="30200">0</option>
Expand All @@ -17,8 +19,14 @@
<control type="spinner" format="integer"/>
</setting>

<setting id="device_connection_usb_index" parent="device_connection" type="integer" label="30101" help="30501">
</group>

<group id="2" label="30118">

<!-- @SETTINGS_XML_IN_CONNECTION_TYPE_NOTE@ -->
<setting id="device_connection_usb_index" type="integer" label="30101" help="30501">
<level>0</level>
<visible>@SETTINGS_XML_IN_CONNECTION_TYPE_VISIBLE@</visible>
<default>0</default>
<constraints>
<minimum>0</minimum>
Expand All @@ -31,36 +39,44 @@
<control type="spinner" format="integer"/>
</setting>

<setting id="device_connection_tcp_host" parent="device_connection" type="string" label="30102" help="30502">
<setting id="device_connection_tcp_host" type="string" label="30102" help="30502">
<level>0</level>
<default/>
<default>127.0.0.1</default>
<constraints>
<allowempty>true</allowempty>
</constraints>
@SETTINGS_XML_IN_NO_USB_BEGIN@
<dependencies>
<dependency type="visible" setting="device_connection" operator="is">1</dependency>
</dependencies>
@SETTINGS_XML_IN_NO_USB_END@
<control type="edit" format="ip">
<heading>30102</heading>
</control>
</setting>

<setting id="device_connection_tcp_port" parent="device_connection" type="integer" label="30103" help="30503">
<setting id="device_connection_tcp_port" type="integer" label="30103" help="30503">
<level>0</level>
<default>1234</default>
<constraints>
<allowempty>false</allowempty>
<minimum>0</minimum>
<maximum>65535</maximum>
</constraints>
@SETTINGS_XML_IN_NO_USB_BEGIN@
<dependencies>
<dependency type="visible" setting="device_connection" operator="is">1</dependency>
</dependencies>
@SETTINGS_XML_IN_NO_USB_END@
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just added this as an afterthought. Found the case that USB was previously activated during the test and this was no longer displayed.

<control type="edit" format="integer">
<heading>30103</heading>
</control>
</setting>

</group>

<group id="3" label="30119">

<setting id="device_frequency_correction" type="integer" label="30108" help="30508">
<level>0</level>
<default>0</default>
Expand Down Expand Up @@ -189,12 +205,14 @@
<setting id="hdradio_prepend_channel_numbers" type="boolean" label="30117" help="30517">
<dependencies>
<dependency type="enable">
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<and>
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<condition setting="hdradio_enable" operator="is">true</condition>
</and>
</dependency>
<dependency type="enable" setting="hdradio_enable">true</dependency>
</dependencies>
<level>0</level>
<default>false</default>
Expand All @@ -204,12 +222,14 @@
<setting id="hdradio_output_gain" type="number" label="30109" help="30509">
<dependencies>
<dependency type="enable">
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<and>
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<condition setting="hdradio_enable" operator="is">true</condition>
</and>
</dependency>
<dependency type="enable" setting="hdradio_enable">true</dependency>
</dependencies>
<level>0</level>
<default>-3.0</default>
Expand Down Expand Up @@ -268,11 +288,13 @@
<setting id="dabradio_coarse_corrector" type="boolean" label="30104" help="30204">
<dependencies>
<dependency type="enable">
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">3</condition>
</or>
<dependency type="enable" setting="dabradio_enable">true</dependency>
<and>
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">3</condition>
</or>
<condition setting="dabradio_enable" operator="is">true</condition>
</and>
</dependency>
</dependencies>
<level>0</level>
Expand All @@ -283,12 +305,14 @@
<setting id="dabradio_coarse_corrector_type" type="integer" label="30113" help="30203">
<dependencies>
<dependency type="enable">
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">3</condition>
</or>
<dependency type="enable" setting="dabradio_enable">true</dependency>
<dependency type="enable" setting="dabradio_coarse_corrector">true</dependency>
<and>
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">3</condition>
</or>
<condition setting="dabradio_enable" operator="is">true</condition>
<condition setting="dabradio_coarse_corrector" operator="is">true</condition>
</and>
</dependency>
</dependencies>
<level>0</level>
Expand Down Expand Up @@ -326,12 +350,14 @@
<setting id="wxradio_sample_rate" type="integer" label="30110" help="30510">
<dependencies>
<dependency type="enable">
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<and>
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<condition setting="wxradio_enable" operator="is">true</condition>
</and>
</dependency>
<dependency type="enable" setting="wxradio_enable">true</dependency>
</dependencies>
<level>0</level>
<default>1600000</default>
Expand All @@ -353,12 +379,14 @@
<setting id="wxradio_output_samplerate" type="integer" label="30105" help="30505">
<dependencies>
<dependency type="enable">
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<and>
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<condition setting="wxradio_enable" operator="is">true</condition>
</and>
</dependency>
<dependency type="enable" setting="wxradio_enable">true</dependency>
</dependencies>
<level>0</level>
<default>48000</default>
Expand All @@ -374,12 +402,14 @@
<setting id="wxradio_output_gain" type="number" label="30109" help="30509">
<dependencies>
<dependency type="enable">
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<and>
<or>
<condition setting="region_regioncode" operator="is">0</condition>
<condition setting="region_regioncode" operator="is">2</condition>
</or>
<condition setting="wxradio_enable" operator="is">true</condition>
</and>
</dependency>
<dependency type="enable" setting="wxradio_enable">true</dependency>
</dependencies>
<level>0</level>
<default>-3.0</default>
Expand Down
13 changes: 12 additions & 1 deletion src/addon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1153,10 +1153,15 @@ ADDON_STATUS addon::Create(void)
}

// Load the device settings
#ifdef USB_DEVICE_SUPPORT
m_settings.device_connection =
kodi::addon::GetSettingEnum("device_connection", device_connection::usb);
m_settings.device_connection_usb_index =
kodi::addon::GetSettingInt("device_connection_usb_index", 0);
#else
m_settings.device_connection = device_connection::rtltcp;
m_settings.device_connection_usb_index = 0;
#endif
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because USB was enabled, it is now forced to use tcp.

m_settings.device_connection_tcp_host =
kodi::addon::GetSettingString("device_connection_tcp_host");
m_settings.device_connection_tcp_port =
Expand Down Expand Up @@ -1398,6 +1403,8 @@ ADDON_STATUS addon::SetSetting(std::string const& settingName,
// For comparison purposes
struct settings previous = m_settings;

#ifdef USB_DEVICE_SUPPORT

// device_connection
//
if (settingName == "device_connection")
Expand Down Expand Up @@ -1428,9 +1435,13 @@ ADDON_STATUS addon::SetSetting(std::string const& settingName,
}
}

else

#endif

// device_connection_tcp_host
//
else if (settingName == "device_connection_tcp_host")
if (settingName == "device_connection_tcp_host")
{

std::string strvalue = settingValue.GetString();
Expand Down
4 changes: 3 additions & 1 deletion src/gui/channelsettings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include <kodi/gui/controls/Label.h>
#include <kodi/gui/dialogs/FileBrowser.h>

#if !defined(TARGET_WINDOWS) && !defined(TARGET_ANDROID) && !defined(TARGET_DARWIN_OSX)
#if !defined(TARGET_WINDOWS) && !defined(TARGET_ANDROID) && !defined(TARGET_DARWIN)
#include <EGL/egl.h>
#endif

Expand Down Expand Up @@ -84,6 +84,8 @@ static bool is_platform_opengles(void)
return true;
#elif defined(TARGET_DARWIN_OSX)
return false;
#elif defined(TARGET_DARWIN_EMBEDDED)
return true;
#else
return (eglQueryAPI() == EGL_OPENGL_ES_API);
#endif
Expand Down
Loading