initial import

This commit is contained in:
2025-06-22 20:39:04 -05:00
commit f8a70886f0
3428 changed files with 302546 additions and 0 deletions

855
smplayer-legacy/libre.patch Normal file
View File

@@ -0,0 +1,855 @@
--- a/src/playlist.h
+++ b/src/playlist.h
@@ -28,7 +28,7 @@
#include "mediadata.h"
#ifdef YOUTUBE_SUPPORT
-#define PLAYLIST_DOWNLOAD
+//#define PLAYLIST_DOWNLOAD
#define YT_PLAYLIST_SUPPORT
#endif
--- a/src/prefnetwork.cpp 2020-05-21 17:46:29.000000000 +0200
+++ b/src/prefnetwork.cpp 2023-02-23 15:26:47.408552324 +0100
@@ -21,16 +21,6 @@
#include "images.h"
#include <QNetworkProxy>
-#ifdef YOUTUBE_SUPPORT
-#include "retrieveyoutubeurl.h"
-#endif
-
-#ifdef CHROMECAST_SUPPORT
-#include "chromecast.h"
-#endif
-
-//#define USE_YT_USER_AGENT
-
PrefNetwork::PrefNetwork(QWidget * parent, Qt::WindowFlags f)
: PrefWidget(parent, f )
{
@@ -39,35 +29,6 @@
proxy_type_combo->addItem( tr("HTTP"), QNetworkProxy::HttpProxy);
proxy_type_combo->addItem( tr("SOCKS5"), QNetworkProxy::Socks5Proxy);
-#ifdef YOUTUBE_SUPPORT
- yt_resolution_combo->addItem( "240p", RetrieveYoutubeUrl::R240p );
- yt_resolution_combo->addItem( "360p", RetrieveYoutubeUrl::R360p );
- yt_resolution_combo->addItem( "480p", RetrieveYoutubeUrl::R480p );
- yt_resolution_combo->addItem( "720p", RetrieveYoutubeUrl::R720p );
- yt_resolution_combo->addItem( "1080p", RetrieveYoutubeUrl::R1080p );
- yt_resolution_combo->addItem( "2K", RetrieveYoutubeUrl::R1440p );
- yt_resolution_combo->addItem( "4K", RetrieveYoutubeUrl::R2160p );
-#endif
-
- connect(streaming_type_combo, SIGNAL(currentIndexChanged(int)), this, SLOT(streaming_type_combo_changed(int)));
-
-#ifndef YOUTUBE_SUPPORT
- youtube_box->hide();
-#endif
-
-#ifndef CONVERT_TO_VTT
- subs_box->hide();
-#endif
-
-#ifndef MPV_SUPPORT
- ytdl_quality_frame->hide();
-#endif
-
-#ifndef USE_YT_USER_AGENT
- yt_user_agent_label->hide();
- yt_user_agent_edit->hide();
-#endif
-
retranslateStrings();
}
@@ -85,40 +46,6 @@
void PrefNetwork::retranslateStrings() {
retranslateUi(this);
-
- int streaming_item = streaming_type_combo->currentIndex();
- streaming_type_combo->clear();
- streaming_type_combo->addItem(tr("Disabled"), Preferences::NoStreaming);
- #ifdef MPV_SUPPORT
- streaming_type_combo->addItem(tr("Auto"), Preferences::StreamingAuto);
- #endif
- #ifdef YOUTUBE_SUPPORT
- streaming_type_combo->addItem("YouTube", Preferences::StreamingYT);
- #endif
- #ifdef MPV_SUPPORT
- streaming_type_combo->addItem("mpv + youtube-dl", Preferences::StreamingYTDL);
- #endif
- streaming_type_combo->setCurrentIndex(streaming_item);
-
- #ifdef MPV_SUPPORT
- int quality_item = ytdl_quality_combo->currentIndex();
- ytdl_quality_combo->clear();
-
- #define YTQ(QUALITY) "bestvideo[height<=?" QUALITY "]+bestaudio/best[height<=?" QUALITY "]"
- //#define YTQ(QUALITY) "[height<=?" QUALITY "]"
- ytdl_quality_combo->addItem(tr("Best video and audio"), "");
- ytdl_quality_combo->addItem(tr("Best"), "best");
- ytdl_quality_combo->addItem("1080p", YTQ("1080"));
- ytdl_quality_combo->addItem("720p", YTQ("720"));
- ytdl_quality_combo->addItem("480p", YTQ("480"));
- ytdl_quality_combo->addItem("360p", YTQ("360"));
- ytdl_quality_combo->addItem("240p", YTQ("240"));
- ytdl_quality_combo->addItem("144p", YTQ("144"));
- ytdl_quality_combo->addItem(tr("Worst"), "worst");
-
- ytdl_quality_combo->setCurrentIndex(quality_item);
- #endif
-
createHelp();
}
@@ -130,32 +57,6 @@
proxy_password_edit->setText(pref->proxy_password);
setProxyType(pref->proxy_type);
-
- setStreamingType(pref->streaming_type);
-#ifdef YOUTUBE_SUPPORT
- setYTResolution( pref->yt_resolution );
- yt_dash_check->setChecked( pref->yt_use_dash );
- yt_use_60fps_check->setChecked( pref->yt_use_60fps );
- yt_user_agent_edit->setText( pref->yt_user_agent );
-#endif
-
-#ifdef MPV_SUPPORT
- setYTDLQuality(pref->ytdl_quality);
-#endif
-
-#ifdef CHROMECAST_SUPPORT
- Chromecast * cc = Chromecast::instance();
- setLocalIP(cc->localAddress(), cc->localAddresses());
- port_spin->setValue(cc->serverPort());
- directory_listing_check->setChecked(cc->directoryListing());
-
- #ifdef CONVERT_TO_VTT
- convert_subs_check->setChecked(cc->autoConvertToVTT());
- subs_position_spin->setValue(cc->subtitlePosition());
- overwrite_subs_check->setChecked(cc->overwriteVTT());
- subs_filter_check->setChecked(cc->isSubtitleFilterEnabled());
- #endif
-#endif
}
void PrefNetwork::getData(Preferences * pref) {
@@ -168,32 +69,6 @@
pref->proxy_password = proxy_password_edit->text();
pref->proxy_type = proxyType();
-
- pref->streaming_type = streamingType();
-#ifdef YOUTUBE_SUPPORT
- pref->yt_resolution = YTResolution();
- pref->yt_use_dash = yt_dash_check->isChecked();
- pref->yt_use_60fps = yt_use_60fps_check->isChecked();
- pref->yt_user_agent = yt_user_agent_edit->text();
-#endif
-
-#ifdef MPV_SUPPORT
- pref->ytdl_quality = YTDLQuality();
-#endif
-
-#ifdef CHROMECAST_SUPPORT
- Chromecast * cc = Chromecast::instance();
- cc->setLocalAddress(localIP());
- cc->setServerPort(port_spin->value());
- cc->setDirectoryListing(directory_listing_check->isChecked());
-
- #ifdef CONVERT_TO_VTT
- cc->setAutoConvertToVTT(convert_subs_check->isChecked());
- cc->setSubtitlePosition(subs_position_spin->value());
- cc->setOverwriteVTT(overwrite_subs_check->isChecked());
- cc->enableSubtitleFilter(subs_filter_check->isChecked());
- #endif
-#endif
}
void PrefNetwork::setProxyType(int type) {
@@ -207,173 +82,9 @@
return proxy_type_combo->itemData(index).toInt();
}
-#ifdef YOUTUBE_SUPPORT
-void PrefNetwork::setYTResolution(int r) {
- yt_resolution_combo->setCurrentIndex(yt_resolution_combo->findData(r));
-}
-
-int PrefNetwork::YTResolution() {
- int index = yt_resolution_combo->currentIndex();
- return yt_resolution_combo->itemData(index).toInt();
-}
-#endif
-
-void PrefNetwork::setStreamingType(int type) {
- int i = streaming_type_combo->findData(type);
- if (i < 0) i = 0;
- streaming_type_combo->setCurrentIndex(i);
-}
-
-int PrefNetwork::streamingType() {
- int i = streaming_type_combo->currentIndex();
- return streaming_type_combo->itemData(i).toInt();
-}
-
-#ifdef MPV_SUPPORT
-void PrefNetwork::setYTDLQuality(const QString & q) {
- int i = ytdl_quality_combo->findData(q);
- if (i < 0) i = 0;
- ytdl_quality_combo->setCurrentIndex(i);
-}
-
-QString PrefNetwork::YTDLQuality() {
- int i = ytdl_quality_combo->currentIndex();
- return ytdl_quality_combo->itemData(i).toString();
-}
-#endif
-
-void PrefNetwork::streaming_type_combo_changed(int i) {
- //qDebug() << "PrefNetwork::streaming_type_combo_changed:" << i;
- youtube_box->setEnabled(i == Preferences::StreamingYT || i == Preferences::StreamingAuto);
-
-#ifdef MPV_SUPPORT
- ytdl_quality_frame->setEnabled(i == Preferences::StreamingAuto || i == Preferences::StreamingYTDL);
-#endif
-}
-
-#ifdef CHROMECAST_SUPPORT
-void PrefNetwork::setLocalIP(const QString & ip, const QStringList & values) {
- local_ip_combo->clear();
- local_ip_combo->addItem(tr("Auto"));
- local_ip_combo->addItems(values);
-
- if (ip.isEmpty()) {
- local_ip_combo->setCurrentIndex(0);
- } else {
- int pos = local_ip_combo->findText(ip);
- if (pos > -1) {
- local_ip_combo->setCurrentIndex(pos);
- } else {
- local_ip_combo->setEditText(ip);
- }
- }
-}
-
-QString PrefNetwork::localIP() {
- if (local_ip_combo->currentIndex() == 0) {
- return "";
- } else {
- return local_ip_combo->currentText();
- }
-}
-#endif
-
void PrefNetwork::createHelp() {
clearHelp();
- addSectionTitle(tr("YouTube"));
-
- setWhatsThis(streaming_type_combo, tr("Support for video sites"),
- "<ul>"
- "<li><b>" + tr("Disabled") +":</b> " + tr("support for video sites is turned off") +"</li>"+
- #ifdef MPV_SUPPORT
- "<li><b>" + tr("Auto") +":</b> " + tr("it will try to use mpv + youtube-dl only for the sites that require it") +"</li>"+
- #endif
- #ifdef YOUTUBE_SUPPORT
- "<li><b>YouTube:</b> " + tr("only the internal support for YouTube will be used") +"</li>"+
- #endif
- #ifdef MPV_SUPPORT
- "<li><b>mpv + youtube-dl:</b> " +tr("uses mpv + youtube-dl for all sites") +"</li>"+
- #endif
- "</ul>"
- );
-
-#ifdef MPV_SUPPORT
- setWhatsThis(ytdl_quality_combo, tr("Preferred quality"),
- tr("This option specifies the preferred quality for the video streams handled by youtube-dl.") +
- "<ul>"
- "<li><b>" + tr("Best video and audio") +":</b> " + tr("selects the best video and audio streams available") +"</li>"
- "<li><b>" + tr("Best") +":</b> " + tr("selects the best quality format available as a single file") +"</li>"
- "<li><b>" + tr("1080p, 720p...") +":</b> " + tr("will try to use the selected resolution if available") +"</li>"
- "<li><b>" + tr("Worst") +":</b> " + tr("selects the worst quality format available") +"</li>"
- "</ul>");
-#endif
-
- /*
- setWhatsThis(yt_support_check, tr("Enable Youtube internal support"),
- tr("If this option is checked, SMPlayer will try to play videos from Youtube URLs.") );
- */
-
- setWhatsThis(yt_resolution_combo, tr("Playback quality"),
- tr("Select the preferred quality for YouTube videos.") );
-
-#ifdef YOUTUBE_SUPPORT
- setWhatsThis(yt_dash_check, tr("Use adaptive streams"),
- tr("This option enables adaptive streams which can provide videos up to 4K.") );
-
- setWhatsThis(yt_use_60fps_check, tr("Use 60 fps if available"),
- tr("This option enables streams at 60 frames per second if available.") );
-#endif
-
-#ifdef USE_YT_USER_AGENT
- setWhatsThis(yt_user_agent_edit, tr("User agent"),
- tr("Set the user agent that SMPlayer will use when connecting to YouTube.") );
-#endif
-
-#ifdef MPV_SUPPORT
- /*
- setWhatsThis(streaming_check, tr("Enable mpv's support for streaming sites"),
- tr("If this option is checked, SMPlayer will try to play videos from "
- "streaming sites like Youtube, Dailymotion, Vimeo, Vevo, etc.") + "<br>"+
- tr("Requires mpv and youtube-dl.") );
- */
-#endif
-
-#ifdef CHROMECAST_SUPPORT
- addSectionTitle(tr("Chromecast"));
-
- setWhatsThis(local_ip_combo, tr("Local IP"),
- tr("The local IP address of this computer. It will be passed to Chromecast "
- "so that it can access the files from this computer.") );
-
- setWhatsThis(port_spin, tr("Port"),
- tr("The port that the web server will use.") );
-
- setWhatsThis(directory_listing_check, tr("Directory listing"),
- tr("When the web server is running, any device in your network can access the "
- "files from this computer. If this option is on, any device can get a listing "
- "of the files in this computer. "
- "If this option is off, the list won't be available.") );
-
- #ifdef CONVERT_TO_VTT
- setWhatsThis(convert_subs_check, tr("Convert SRT subtitles to VTT"),
- tr("When this option is enabled SMPlayer will convert automatically subtitle files "
- "in SRT format to VTT format. The VTT subtitle will have the same filename but extension .vtt"));
-
- setWhatsThis(overwrite_subs_check, tr("Overwrite existing VTT files"),
- tr("If this option is enabled SMPlayer will overwrite existing VTT files."));
-
- setWhatsThis(subs_filter_check, tr("Try to remove advertisements"),
- tr("If this option is enabled SMPlayer will try to find advertisements "
- "in the subtitles and remove them."));
-
- setWhatsThis(subs_position_spin, tr("Position of subtitles on screen"),
- tr("This option sets the position on the screen where the subtitles are displayed.") +"<br>"+
- tr("0 is the top of the screen, 100 is the bottom of the screen.") +" "+
- tr("The special value -1 means the default position."));
- #endif
-#endif
-
addSectionTitle(tr("Proxy"));
setWhatsThis(use_proxy_check, tr("Enable proxy"),
--- a/src/prefnetwork.h 2020-02-16 22:51:47.000000000 +0100
+++ b/src/prefnetwork.h 2023-02-23 15:27:00.408858047 +0100
@@ -48,27 +48,6 @@
void setProxyType(int type);
int proxyType();
-#ifdef YOUTUBE_SUPPORT
- void setYTResolution(int r);
- int YTResolution();
-#endif
-
- void setStreamingType(int);
- int streamingType();
-
-#ifdef MPV_SUPPORT
- void setYTDLQuality(const QString & q);
- QString YTDLQuality();
-#endif
-
-#ifdef CHROMECAST_SUPPORT
- void setLocalIP(const QString & ip, const QStringList & values);
- QString localIP();
-#endif
-
-protected slots:
- void streaming_type_combo_changed(int);
-
protected:
virtual void retranslateStrings();
};
--- a/src/smplayer.pro
+++ b/src/smplayer.pro
@@ -18,7 +18,7 @@
DEFINES += SINGLE_INSTANCE
DEFINES += FIND_SUBTITLES
DEFINES += VIDEOPREVIEW
-DEFINES += YOUTUBE_SUPPORT
+#DEFINES += YOUTUBE_SUPPORT
DEFINES += BLURAY_SUPPORT
DEFINES += TV_SUPPORT
DEFINES += GUI_CHANGE_ON_RUNTIME
@@ -28,17 +28,17 @@
DEFINES += MINIGUI
DEFINES += MPCGUI
DEFINES += SKINS
-DEFINES += MPRIS2
+#DEFINES += MPRIS2
#DEFINES += UPDATE_CHECKER
#DEFINES += CHECK_UPGRADED
-DEFINES += AUTO_SHUTDOWN_PC
+#DEFINES += AUTO_SHUTDOWN_PC
#DEFINES += CAPTURE_STREAM
DEFINES += BOOKMARKS
DEFINES += MOUSE_GESTURES
DEFINES += GLOBALSHORTCUTS
DEFINES += ADD_BLACKBORDERS_FS
DEFINES += INITIAL_BLACKBORDERS
-DEFINES += CHROMECAST_SUPPORT
+#DEFINES += CHROMECAST_SUPPORT
DEFINES += USE_QRCODE
DEFINES += MPV_SUPPORT
--- a/src/prefnetwork.ui 2019-01-26 21:11:22.000000000 +0100
+++ b/src/prefnetwork.ui 2023-02-23 14:49:30.000000000 +0100
@@ -19,443 +19,6 @@
<property name="currentIndex">
<number>0</number>
</property>
- <widget class="QWidget" name="youtube_page">
- <attribute name="title">
- <string>&amp;YouTube (and other sites)</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_3">
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Support for &amp;video sites:</string>
- </property>
- <property name="buddy">
- <cstring>streaming_type_combo</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="streaming_type_combo">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QWidget" name="ytdl_quality_frame" native="true">
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <spacer name="horizontalSpacer_6">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QLabel" name="ytdl_quality_label">
- <property name="text">
- <string>P&amp;referred quality:</string>
- </property>
- <property name="buddy">
- <cstring>ytdl_quality_combo</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="ytdl_quality_combo"/>
- </item>
- <item>
- <spacer name="horizontalSpacer_5">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>221</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="youtube_box">
- <property name="title">
- <string>Options for YouTube</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <layout class="QHBoxLayout" name="_3">
- <item>
- <widget class="QLabel" name="yt_label">
- <property name="text">
- <string>Playback &amp;quality:</string>
- </property>
- <property name="buddy">
- <cstring>yt_resolution_combo</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QComboBox" name="yt_resolution_combo"/>
- </item>
- <item>
- <spacer>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QCheckBox" name="yt_dash_check">
- <property name="text">
- <string>Use a&amp;daptive streams (resolution up to 4K)</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QWidget" name="adaptative_streams_widget" native="true">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_6">
- <property name="margin">
- <number>0</number>
- </property>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_5">
- <item>
- <spacer name="horizontalSpacer_7">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QCheckBox" name="yt_use_60fps_check">
- <property name="text">
- <string>Use &amp;60 fps if available</string>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QLabel" name="yt_user_agent_label">
- <property name="text">
- <string>&amp;User agent:</string>
- </property>
- <property name="buddy">
- <cstring>yt_user_agent_edit</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="yt_user_agent_edit"/>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_2">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
- <widget class="QWidget" name="cc_page">
- <attribute name="title">
- <string>C&amp;hromecast</string>
- </attribute>
- <layout class="QVBoxLayout" name="verticalLayout_5">
- <item>
- <widget class="QGroupBox" name="groupBox">
- <property name="title">
- <string>Web Server</string>
- </property>
- <layout class="QGridLayout" name="gridLayout_2">
- <item row="6" column="0" colspan="3">
- <widget class="QLabel" name="label_10">
- <property name="font">
- <font>
- <weight>75</weight>
- <bold>true</bold>
- </font>
- </property>
- <property name="text">
- <string>Changes in this section will be applied the next time the web server is restarted</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QSpinBox" name="port_spin">
- <property name="maximum">
- <number>65535</number>
- </property>
- </widget>
- </item>
- <item row="4" column="0" colspan="3">
- <widget class="QCheckBox" name="directory_listing_check">
- <property name="text">
- <string>&amp;Directory listing</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_8">
- <property name="text">
- <string>Local &amp;IP:</string>
- </property>
- <property name="buddy">
- <cstring>local_ip_combo</cstring>
- </property>
- </widget>
- </item>
- <item row="2" column="2">
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>179</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_9">
- <property name="text">
- <string>&amp;Port:</string>
- </property>
- <property name="buddy">
- <cstring>port_spin</cstring>
- </property>
- </widget>
- </item>
- <item row="3" column="2">
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>179</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="0" colspan="3">
- <widget class="QLabel" name="label_7">
- <property name="text">
- <string>In order to serve local media from this computer to Chromecast, SMPlayer will run a tiny web server. You can adjust here some of the settings.</string>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item row="5" column="0" colspan="3">
- <widget class="Line" name="line">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QComboBox" name="local_ip_combo">
- <property name="editable">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="subs_box">
- <property name="title">
- <string>Subtitles</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_4">
- <item>
- <widget class="QCheckBox" name="convert_subs_check">
- <property name="text">
- <string>Convert SRT subtitles to &amp;VTT</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QWidget" name="subtitle_container" native="true">
- <property name="enabled">
- <bool>false</bool>
- </property>
- <layout class="QGridLayout" name="gridLayout_3">
- <property name="margin">
- <number>0</number>
- </property>
- <item row="0" column="0" rowspan="2">
- <spacer>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>21</width>
- <height>61</height>
- </size>
- </property>
- </spacer>
- </item>
- <item row="0" column="1">
- <widget class="QCheckBox" name="overwrite_subs_check">
- <property name="text">
- <string>&amp;Overwrite existing VTT files</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QCheckBox" name="subs_filter_check">
- <property name="text">
- <string>Try to &amp;remove advertisements</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <item>
- <widget class="QLabel" name="label_11">
- <property name="text">
- <string>Position of &amp;subtitles on screen:</string>
- </property>
- <property name="buddy">
- <cstring>subs_position_spin</cstring>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QSpinBox" name="subs_position_spin">
- <property name="minimum">
- <number>-1</number>
- </property>
- <property name="maximum">
- <number>100</number>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_4">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <spacer name="verticalSpacer_3">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>40</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </widget>
<widget class="QWidget" name="proxy_page">
<attribute name="title">
<string>&amp;Proxy</string>