Go to the documentation of this file.
59 if (mod.endsWith(
"vsb"))
60 return mod.left(mod.length() - 3) +
"-VSB";
62 if (mod.startsWith(
"qam_"))
63 return "QAM-" + mod.mid(4, mod.length());
66 return QObject::tr(
"Analog");
73 std::vector<uint> cardids;
78 "SELECT capturecard.cardid "
80 "WHERE capturecard.sourceid = :SOURCEID AND "
81 " capturecard.parentid = 0 AND "
82 " capturecard.hostname = :HOSTNAME");
97 "Sorry, the Transport Editor can only edit transports "
98 "of a video source that is connected to a capture card."));
103 std::vector<CardUtil::INPUT_TYPES> cardtypes;
105 for (
uint cardid : cardids)
109 if (cardtype ==
"DVB")
126 #endif // USING_SATIP
134 "Failed to probe a capture card connected to this "
135 "transport's video source. Please make sure the "
136 "backend is not running."));
141 cardtypes.push_back(nType);
145 if (cardtypes.empty())
150 for (
size_t i = 1; i < cardtypes.size(); i++)
170 "The capture cards connected to this transport's video source "
171 "are incompatible. Please create separate video sources "
172 "per capture card type."));
179 for (
size_t i = 1; i < cardtypes.size(); i++)
188 retval = cardtypes[i];
197 for (
auto *setting : qAsConst(
m_list))
253 "SELECT mplexid, modulation, frequency, "
254 " symbolrate, networkid, transportid, "
255 " constellation, mod_sys "
256 "FROM dtv_multiplex, videosource "
257 "WHERE dtv_multiplex.sourceid = :SOURCEID AND "
258 " dtv_multiplex.sourceid = videosource.sourceid "
259 "ORDER by networkid, transportid, frequency, mplexid");
276 while (mod.length() < 7)
280 rate = (rate ==
"0") ?
"" : QString(
"rate %1").arg(rate);
283 QString(
"netid %1").arg(
query.
value(4).toUInt(), 5) :
"";
286 QString(
"tid %1").arg(
query.
value(5).toUInt(), 5) :
"";
305 QString txt = QString(
"%1 %2 %3 %4 %5 %6 %7")
307 .arg(hz).arg(rate).arg(netid).arg(tid).arg(
type);
312 this, [transport,
this] () {
Delete(transport); });
314 this, [transport,
this] () {
Menu(transport); });
316 m_list.push_back(transport);
329 m_list.push_back(transport);
340 tr(
"Are you sure you would like to delete this transport?"),
342 [transport,
this](
bool result)
350 query.
prepare(
"DELETE FROM dtv_multiplex WHERE mplexid = :MPLEXID");
357 "WHERE deleted IS NULL AND mplexid = :MPLEXID");
364 m_list.removeAll(transport);
374 auto *
menu =
new MythMenu(tr(
"Transport Menu"),
this,
"transportmenu");
375 menu->AddItem(tr(
"Delete..."), [transport,
this] () {
Delete(transport); });
380 menuPopup->SetReturnEvent(
this,
"transportmenu");
382 if (menuPopup->Create())
444 bool is_atsc_country) :
447 setLabel(QObject::tr(
"Digital TV Standard"));
449 "Guiding standard to use for making sense of the "
450 "data streams after they have been demodulated, "
451 "error corrected and demultiplexed."));
471 QString hz = (in_kHz) ?
"kHz" :
"Hz";
472 setLabel(QObject::tr(
"Frequency") +
" (" + hz +
")");
474 "Frequency (Option has no default).\n"
475 "The frequency for this transport (multiplex) in") +
" " + hz +
".");
485 setLabel(QObject::tr(
"Symbol Rate"));
488 "Symbol Rate (symbols/sec).\n"
489 "Most DVB-S transponders transmit at 27.5 "
490 "million symbols per second."));
510 setLabel(QObject::tr(
"Symbol Rate"));
513 "Symbol Rate (symbols/second).\n"
514 "Most DVB-C transports transmit at 6.9 or 6.875 "
515 "million symbols per second."));
532 setHelpText(QObject::tr(
"Polarity (Option has no default)"));
550 "constellation" :
"modulation")
552 setLabel(QObject::tr(
"Modulation"));
553 setHelpText(QObject::tr(
"Modulation, aka Constellation"));
603 setHelpText(QObject::tr(
"Inversion (Default: Auto):\n"
604 "Most cards can autodetect this now, so leave it at Auto"
605 " unless it won't work."));
619 setHelpText(QObject::tr(
"Bandwidth (Default: Auto)"));
634 setHelpText(QObject::tr(
"Bandwidth for DVB-T2 (Default: Auto)"));
675 setHelpText(QObject::tr(
"Forward Error Correction (Default: Auto)"));
687 setLabel(QObject::tr(
"LP Coderate"));
688 setHelpText(QObject::tr(
"Low Priority Code Rate (Default: Auto)"));
700 setLabel(QObject::tr(
"HP Coderate"));
701 setHelpText(QObject::tr(
"High Priority Code Rate (Default: Auto)"));
711 setLabel(QObject::tr(
"Guard Interval"));
712 setHelpText(QObject::tr(
"Guard Interval for DVB-T (Default: Auto)"));
727 setLabel(QObject::tr(
"Guard Interval"));
728 setHelpText(QObject::tr(
"Guard Interval for DVB-T2 (Default: Auto)"));
746 setLabel(QObject::tr(
"Transmission Mode"));
747 setHelpText(QObject::tr(
"Transmission Mode for DVB-T (Default: Auto)"));
763 setLabel(QObject::tr(
"Transmission Mode"));
764 setHelpText(QObject::tr(
"Transmission Mode for DVB-T2 (Default: Auto)"));
782 setHelpText(QObject::tr(
"Hierarchy (Default: Auto)"));
797 setLabel(QObject::tr(
"Modulation System"));
798 setHelpText(QObject::tr(
"Modulation System (Default: DVB-T2)"));
810 setLabel(QObject::tr(
"Modulation System"));
811 setHelpText(QObject::tr(
"Modulation System (Default: DVB-S2)"));
823 setLabel(QObject::tr(
"Modulation System"));
824 setHelpText(QObject::tr(
"Modulation System (Default: DVB-C/A)"));
838 setHelpText(QObject::tr(
"Roll-off factor (Default: 0.35)"));
937 for (
int i = 0; i < actions.size() && !handled; i++)
939 QString
action = actions[i];
946 else if (
action ==
"MENU")
static bool HDHRdoesDVBC(const QString &device)
If the device is valid, check if the model does DVB-C.
DVBInversion(const MultiplexID *id)
QMap< QString, QVariant > MSqlBindings
typedef for a map of string -> string bindings for generic queries.
bool isActive(void) const
bool next(void)
Wrap QSqlQuery::next() so we can display the query results.
QSqlQuery wrapper that fetches a DB connection from the connection pool.
virtual void setName(const QString &name)
SignalPolarity(const MultiplexID *id)
virtual void setValue(const QString &newValue)
QString GetColumnName(void) const
RollOff(const MultiplexID *id)
DVBCModulationSystem(const MultiplexID *id)
static enum INPUT_TYPES toInputType(const QString &name)
DVBTModulationSystem(const MultiplexID *id)
DVBForwardErrorCorrectionSelector(Storage *_storage)
QString GetWhereClause(MSqlBindings &bindings) const override
TransportSetting(const QString &label, uint mplexid, uint sourceid, uint cardtype)
QVariant value(int i) const
QString GetColumnName(void) const
QVector< StandardSetting * > m_list
bool exec(void)
Wrap QSqlQuery::exec() so we can display SQL.
virtual QString GetDBValue(void) const =0
TransportListEditor(uint initial_sourceid)
Screen in which all other widgets are contained and rendered.
DVBTBandwidth(const MultiplexID *id)
void SetSourceID(uint _sourceid)
static MythThemedMenu * menu
void Delete(TransportSetting *transport)
void resultEdit(DialogCompletionEvent *) override
VERBOSE_PREAMBLE Most true
static QString ProbeSubTypeName(uint inputid)
DVBSSymbolRate(const MultiplexID *id)
VideoSourceShow * m_videosource
Modulation(const MultiplexID *id, uint nType)
void settingsChanged(StandardSetting *selectedSetting=nullptr)
virtual void addChild(StandardSetting *child)
void edit(MythScreenType *) override
DVBTCoderateHP(const MultiplexID *id)
bool TranslateKeyPress(const QString &Context, QKeyEvent *Event, QStringList &Actions, bool AllowJumps=true)
Get a list of actions for a keypress in the given context.
Basic menu dialog, message and a list of options.
static MSqlQueryInfo InitCon(ConnectionReuse _reuse=kNormalConnection)
Only use this in combination with MSqlQuery constructor.
static void DBError(const QString &where, const MSqlQuery &query)
static CardUtil::INPUT_TYPES get_cardtype(uint sourceid)
DVBCSymbolRate(const MultiplexID *id)
const MultiplexID * m_mplexId
virtual void setHelpText(const QString &str)
static CardUtil::INPUT_TYPES toDVBInputType(const QString &deviceid)
DVBSModulationSystem(const MultiplexID *id)
DVBT2TransmissionMode(const MultiplexID *id)
Collection of helper utilities for input DB use.
DVBTTransmissionMode(const MultiplexID *id)
virtual QString getValue(void) const
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
DVBTGuardInterval(const MultiplexID *id)
virtual void setLabel(QString str)
DVBT2GuardInterval(const MultiplexID *id)
static QString GetRawInputType(uint inputid)
void valueChanged(const QString &newValue)
void addSelection(const QString &label, QString value=QString(), bool select=false)
void Menu(TransportSetting *transport)
DTVStandard(const MultiplexID *id, bool is_dvb_country, bool is_atsc_country)
VideoSourceID(const MultiplexID *id, uint _sourceid)
virtual void removeChild(StandardSetting *child)
void bindValue(const QString &placeholder, const QVariant &val)
Add a single binding.
Event dispatched from MythUI modal dialogs to a listening class containing a result of some form.
Frequency(const MultiplexID *id, bool in_kHz=false)
static bool HDHRdoesDVB(const QString &device)
If the device is valid, check if the model does DVB.
MythMainWindow * GetMythMainWindow(void)
MythScreenStack * GetStack(const QString &Stackname)
void setVisible(bool visible)
QString GetHostName(void)
DVBTHierarchy(const MultiplexID *id)
bool keyPressEvent(QKeyEvent *event) override
static uint GetSourceID(const QString &name)
virtual void AddScreen(MythScreenType *screen, bool allowFade=true)
MSqlQuery query(MSqlQuery::InitCon())
MythConfirmationDialog * ShowOkPopup(const QString &message, bool showCancel)
Non-blocking version of MythPopupBox::showOkPopup()
MuxDBStorage(StorageUser *_setting, const MultiplexID *_id, const QString &_name)
DVBTCoderateLP(const MultiplexID *id)
DVBT2Bandwidth(const MultiplexID *id)
static QString GetVideoDevice(uint inputid)
DVBForwardErrorCorrection(const MultiplexID *id)
static QString pp_modulation(const QString &mod)
INPUT_TYPES
all the different inputs
bool prepare(const QString &query)
QSqlQuery::prepare() is not thread safe in Qt <= 3.3.2.
QString GetSetClause(MSqlBindings &bindings) const override