.type = PT_BOOL,
.id = "enabled",
.name = N_("Enabled"),
+ .desc = N_("Enable/disable tuner/adapter."),
.off = offsetof(mpegts_input_t, mi_enabled),
.notify = mpegts_input_enabled_notify,
.def.i = 1,
.type = PT_INT,
.id = "priority",
.name = N_("Priority"),
+ .desc = N_("The tuner priority value (a higher value means to "
+ "use this tuner out of preference)."),
.off = offsetof(mpegts_input_t, mi_priority),
.def.i = 1,
.opts = PO_ADVANCED
.type = PT_INT,
.id = "spriority",
.name = N_("Streaming priority"),
+ .desc = N_("The tuner priority value for streamed channels "
+ "through HTTP or HTSP (a higher value means to use "
+ "this tuner out of preference). If not set (zero), "
+ "the standard priority value is used."),
.off = offsetof(mpegts_input_t, mi_streaming_priority),
.def.i = 1,
.opts = PO_ADVANCED
.type = PT_STR,
.id = "displayname",
.name = N_("Name"),
+ .desc = N_("Name of the tuner/adapter."),
.off = offsetof(mpegts_input_t, mi_name),
.notify = idnode_notify_title_changed,
},
.type = PT_BOOL,
.id = "ota_epg",
.name = N_("Over-the-air EPG"),
+ .desc = N_("Enable over-the-air program guide (EPG) scanning "
+ "on this input device."),
.off = offsetof(mpegts_input_t, mi_ota_epg),
.def.i = 1,
},
.type = PT_BOOL,
.id = "initscan",
.name = N_("Initial scan"),
+ .desc = N_("Allow the initial scan tuning on this device "
+ "(scan when Tvheadend starts). See Skip Initial "
+ "Scan in the network settings for further details."),
.off = offsetof(mpegts_input_t, mi_initscan),
.def.i = 1,
.opts = PO_ADVANCED,
.type = PT_BOOL,
.id = "idlescan",
.name = N_("Idle scan"),
+ .desc = N_("Allow idle scan tuning on this device."),
.off = offsetof(mpegts_input_t, mi_idlescan),
.def.i = 1,
.opts = PO_ADVANCED,
.type = PT_STR,
.id = "networks",
.name = N_("Networks"),
+ .desc = N_("Associate this device with one or more networks."),
.islist = 1,
.set = mpegts_input_class_network_set,
.get = mpegts_input_class_network_get,
.type = PT_STR,
.id = "linked",
.name = N_("Linked input"),
+ .desc = N_("Wake up the linked input whenever this adapter "
+ "is used. The subscriptions are named as “keep”. "
+ "Note that this isn't normally needed, and is here "
+ "simply as a workaround to driver bugs in certain "
+ "dual tuner cards that otherwise lock the second tuner."),
.set = mpegts_input_class_linked_set,
.get = mpegts_input_class_linked_get,
.list = mpegts_input_class_linked_enum,
.ic_properties = (const property_t[]){
{
MUX_PROP_STR("delsys", N_("Delivery system"), dvbt, delsys, "DVBT"),
- .desc = N_("Select the delivery system the mux uses. "
+ .desc = N_("The delivery system the mux uses. "
"If you have a DVB-T tuner you must select DVB-T "
"here."),
},
},
{
MUX_PROP_STR("bandwidth", N_("Bandwidth"), dvbt, bw, N_("AUTO")),
- .desc = N_("Select the bandwidth the mux uses. "
+ .desc = N_("The bandwidth the mux uses. "
"If you're not sure of the value leave as AUTO "
"but be aware that tuning may fail as some drivers "
"do not like the AUTO setting."),
},
{
MUX_PROP_STR("constellation", N_("Constellation"), dvbt, qam, N_("AUTO")),
- .desc = N_("Select the COFDM modulation used by the mux. "
+ .desc = N_("The COFDM modulation used by the mux. "
"If you're not sure of the value leave as AUTO."),
},
{
MUX_PROP_STR("transmission_mode", N_("Transmission mode"), dvbt, mode, N_("AUTO")),
- .desc = N_("Select the transmission/OFDM mode used by the mux. "
+ .desc = N_("The transmission/OFDM mode used by the mux. "
"If you're not sure of the value leave as AUTO "
"but be aware that tuning may fail as some drivers "
"do not like the AUTO setting."),
},
{
MUX_PROP_STR("guard_interval", N_("Guard interval"), dvbt, guard, N_("AUTO")),
- .desc = N_("Select the guard interval used by the mux. "
+ .desc = N_("The guard interval used by the mux. "
"If you're not sure of the value leave as AUTO."),
},
{
MUX_PROP_STR("hierarchy", N_("Hierarchy"), dvbt, hier, N_("AUTO")),
- .desc = N_("Select the Hierarchical modulation used by this mux. "
+ .desc = N_("The hierarchical modulation used by this mux. "
"Most people will not need to change this setting."),
},
{
MUX_PROP_STR("fec_hi", N_("FEC high"), dvbt, fechi, N_("AUTO")),
- .desc = N_("Select the forward error correction high value. "
+ .desc = N_("The forward error correction high value. "
"Most people will not need to change this setting."),
},
{
MUX_PROP_STR("fec_lo", N_("FEC low"), dvbt, feclo, N_("AUTO")),
- .desc = N_("Select the forward error correction low value. "
+ .desc = N_("The forward error correction low value. "
"Most people will not need to change this setting."),
},
{
.type = PT_INT,
.id = "plp_id",
.name = N_("PLP ID"),
- .desc = N_("Select the physical layer pipe ID. "
+ .desc = N_("The physical layer pipe ID. "
"Most people will not need to change this setting."),
.off = offsetof(dvb_mux_t, lm_tuning.dmc_fe_stream_id),
.def.i = DVB_NO_STREAM_ID_FILTER,
.type = PT_U32,
.id = "symbolrate",
.name = N_("Symbol rate (Sym/s)"),
- .desc = N_("The symbol rate."),
+ .desc = N_("The symbol rate used on the mux."),
.off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_qam.symbol_rate),
},
{
MUX_PROP_STR("constellation", N_("Constellation"), dvbc, qam, N_("AUTO")),
- .desc = N_("Select the quadrature amplitude modulation (QAM) used by the mux. "
+ .desc = N_("The quadrature amplitude modulation (QAM) used by the mux. "
"If you're not sure of the value leave as AUTO."),
},
{
MUX_PROP_STR("fec", N_("FEC"), dvbc, fec, N_("AUTO")),
- .desc = N_("Select the forward error correction used on the mux."),
+ .desc = N_("The forward error correction used on the mux."),
},
{}
}
.type = PT_U32,
.id = "frequency",
.name = N_("Frequency (kHz)"),
- .desc = N_("The frequency of the mux (in Hertz)."),
+ .desc = N_("The frequency of the mux/transponder in Hertz,"),
.off = offsetof(dvb_mux_t, lm_tuning.dmc_fe_freq),
.set = dvb_mux_dvbs_class_frequency_set,
},
.type = PT_U32,
.id = "symbolrate",
.name = N_("Symbol rate (Sym/s)"),
- .desc = N_("The symbol rate."),
+ .desc = N_("The symbol rate used on the mux/transponder."),
.off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_qpsk.symbol_rate),
.set = dvb_mux_dvbs_class_symbol_rate_set,
},
{
- MUX_PROP_STR("polarisation", N_("Polarization"), dvbs, polarisation, NULL)
+ MUX_PROP_STR("polarisation", N_("Polarization"), dvbs, polarisation, NULL),
+ .desc = N_("The polarization used on the mux."),
},
{
- MUX_PROP_STR("modulation", N_("Modulation"), dvbs, qam, NULL)
+ MUX_PROP_STR("modulation", N_("Modulation"), dvbs, qam, NULL),
+ .desc = N_("The modulation used on the mux."),
},
{
- MUX_PROP_STR("fec", N_("FEC"), dvbs, fec, "AUTO")
+ MUX_PROP_STR("fec", N_("FEC"), dvbs, fec, "AUTO"),
+ .desc = N_("The forward error correction. "
+ "Most people will not need to change this setting."),
},
{
- MUX_PROP_STR("rolloff", N_("Rolloff"), dvbs, rolloff, "AUTO")
+ MUX_PROP_STR("rolloff", N_("Rolloff"), dvbs, rolloff, "AUTO"),
+ .desc = N_("The rolloff used on the mux."),
},
{
- MUX_PROP_STR("pilot", N_("Pilot"), dvbs, pilot, "AUTO")
+ MUX_PROP_STR("pilot", N_("Pilot"), dvbs, pilot, "AUTO"),
+ .desc = N_("Enable/disable pilot tone."),
},
{
.type = PT_INT,
.opts = PO_ADVANCED
},
{
- MUX_PROP_STR("pls_mode", N_("PLS mode"), dvbs, pls_mode, "ROOT")
+ MUX_PROP_STR("pls_mode", N_("PLS mode"), dvbs, pls_mode, "ROOT"),
+ .desc = N_("The Physical Layer Scrambling (PLS) mode "
+ "used on this mux."),
},
{
.type = PT_U32,
.id = "pls_code",
.name = N_("PLS code"),
- .desc = N_("Enter the Physical Layer Scrambling (PLS) code "
+ .desc = N_("The Physical Layer Scrambling (PLS) code "
"used on this mux."),
.off = offsetof(dvb_mux_t, lm_tuning.dmc_fe_pls_code),
.def.u32 = 1,
.set = dvb_mux_dvbt_class_frequency_set,
},
{
- MUX_PROP_STR("modulation", N_("Modulation"), atsc_t, qam, N_("AUTO"))
+ MUX_PROP_STR("modulation", N_("Modulation"), atsc_t, qam, N_("AUTO")),
+ .desc = N_("The modulation used on the mux."),
},
{}
}
.off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_qam.symbol_rate),
},
{
- MUX_PROP_STR("constellation", N_("Constellation"), dvbc, qam, N_("AUTO"))
+ MUX_PROP_STR("constellation", N_("Constellation"), dvbc, qam, N_("AUTO")),
+ .desc = N_("The quadrature amplitude modulation (QAM) used by the mux. "
+ "If you're not sure of the value leave as AUTO."),
},
{
- MUX_PROP_STR("fec", N_("FEC"), dvbc, fec, N_("AUTO"))
+ MUX_PROP_STR("fec", N_("FEC"), dvbc, fec, N_("AUTO")),
+ .desc = N_("The forward error correction used on the mux."),
},
{}
}
},
{
MUX_PROP_STR("bandwidth", N_("Bandwidth"), isdb_t, bw, N_("AUTO")),
- .desc = N_("Select the bandwidth the mux uses. "
+ .desc = N_("The bandwidth the mux uses. "
"If you're not sure of the value leave as AUTO "
"but be aware that tuning may fail as some drivers "
"do not like the AUTO setting."),
},
{
MUX_PROP_STR("guard_interval", N_("Guard interval"), isdb_t, guard, N_("AUTO")),
- .desc = N_("Select the guard interval used by the mux. "
+ .desc = N_("The guard interval used by the mux. "
"If you're not sure of the value leave as AUTO."),
},
/* Layer A */
{
MUX_PROP_STR("layera_fec", N_("Layer A: FEC"), isdb_t, isdbt_fec_a, N_("AUTO")),
+ .desc = N_("The layer A forward error correction."),
},
{
MUX_PROP_STR("layera_mod", N_("Layer A: Constellation"), isdb_t, isdbt_mod_a, N_("AUTO")),
+ .desc = N_("The layer A constellation."),
},
{
.type = PT_U32,
.id = "layera_segcnt",
.name = N_("Layer A: Segment count"),
+ .desc = N_("The layer A segment count."),
.off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_isdbt.layers[0].segment_count),
},
{
.type = PT_U32,
.id = "layera_timint",
.name = N_("Layer A: Time interleaving"),
+ .desc = N_("The layer A time interleaving."),
.off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_isdbt.layers[0].time_interleaving),
},
/* Layer B */
{
MUX_PROP_STR("layerb_fec", N_("Layer B: FEC"), isdb_t, isdbt_fec_b, N_("AUTO")),
+ .desc = N_("The layer B forward error correction."),
},
{
MUX_PROP_STR("layerb_mod", N_("Layer B: Constellation"), isdb_t, isdbt_mod_b, N_("AUTO")),
+ .desc = N_("The layer B constellation."),
},
{
.type = PT_U32,
.id = "layerb_segcnt",
.name = N_("Layer B: Segment count"),
+ .desc = N_("The layer B segment count."),
.off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_isdbt.layers[1].segment_count),
},
{
.type = PT_U32,
.id = "layerb_timint",
.name = N_("Layer B: Time interleaving"),
+ .desc = N_("The layer B time interleaving."),
.off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_isdbt.layers[1].time_interleaving),
},
/* Layer C */
{
MUX_PROP_STR("layerc_fec", N_("Layer C: FEC"), isdb_t, isdbt_fec_c, N_("AUTO")),
+ .desc = N_("The layer C forward error correction."),
},
{
MUX_PROP_STR("layerc_mod", N_("Layer C: Constellation"), isdb_t, isdbt_mod_c, N_("AUTO")),
+ .desc = N_("The layer C constellation."),
},
{
.type = PT_U32,
.id = "layerc_segcnt",
.name = N_("Layer C: Segment count"),
+ .desc = N_("The layer C segment count."),
.off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_isdbt.layers[2].segment_count),
},
{
.type = PT_U32,
.id = "layerc_timint",
.name = N_("Layer C: Time interleaving"),
+ .desc = N_("The layer C time interleaving."),
.off = offsetof(dvb_mux_t, lm_tuning.u.dmc_fe_isdbt.layers[2].time_interleaving),
},
{}
.ic_properties = (const property_t[]){
{
MUX_PROP_STR("delsys", N_("Delivery system"), dvbc, delsys, "DVB-C"),
- .desc = N_("Select the delivery system used by your cable provider."),
+ .desc = N_("The delivery system used by your cable provider."),
},
{
.type = PT_U32,
.ic_properties = (const property_t[]){
{
MUX_PROP_STR("delsys", N_("Delivery system"), dab, delsys, "DAB"),
- .desc = N_("Select the delivery system used by your cable provider."),
+ .desc = N_("The delivery system used by your cable provider."),
},
{
.type = PT_U32,