diff --git a/acinclude.m4 b/acinclude.m4 index 1ffd8642b..a26d3901a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -419,6 +419,10 @@ AC_ARG_WITH(boxtype, tripledragon|coolstream|spark|azbox|generic|armbox) BOXTYPE="$withval" ;; + vusolo4k) + BOXTYPE="armbox" + BOXMODEL="$withval" + ;; *) AC_MSG_ERROR([bad value $withval for --with-boxtype]) ;; @@ -427,7 +431,7 @@ AC_ARG_WITH(boxtype, AC_ARG_WITH(boxmodel, AS_HELP_STRING([--with-boxmodel], [valid for coolstream: hd1, hd2]) -AS_HELP_STRING([], [valid for armbox: hd51, hd60]) +AS_HELP_STRING([], [valid for armbox: hd51, hd60, vusolo4k]) AS_HELP_STRING([], [valid for generic: raspi]), [case "${withval}" in hd1|hd2) @@ -449,6 +453,13 @@ AS_HELP_STRING([], [valid for generic: raspi]), AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) fi ;; + vusolo4k) + if test "$BOXTYPE" = "armbox"; then + BOXMODEL="$withval" + else + AC_MSG_ERROR([unknown model $withval for boxtype $BOXTYPE]) + fi + ;; hd51|hd60) if test "$BOXTYPE" = "armbox"; then BOXMODEL="$withval" @@ -483,6 +494,7 @@ AM_CONDITIONAL(BOXMODEL_CS_HD2, test "$BOXMODEL" = "hd2") AM_CONDITIONAL(BOXMODEL_HD51, test "$BOXMODEL" = "hd51") AM_CONDITIONAL(BOXMODEL_HD60, test "$BOXMODEL" = "hd60") +AM_CONDITIONAL(BOXMODEL_VUSOLO4K, test "$BOXMODEL" = "vusolo4k") AM_CONDITIONAL(BOXMODEL_RASPI, test "$BOXMODEL" = "raspi") @@ -512,6 +524,9 @@ elif test "$BOXMODEL" = "hd51"; then elif test "$BOXMODEL" = "hd60"; then AC_DEFINE(BOXMODEL_HD60, 1, [hd60]) AC_DEFINE(ENABLE_CHANGE_OSD_RESOLUTION, 1, [enable change the osd resolution]) +elif test "$BOXMODEL" = "vusolo4k"; then + AC_DEFINE(BOXMODEL_VUSOLO4K, 1, [vusolo4k]) + AC_DEFINE(ENABLE_CHANGE_OSD_RESOLUTION, 1, [enable change the osd resolution]) elif test "$BOXMODEL" = "raspi"; then AC_DEFINE(BOXMODEL_RASPI, 1, [raspberry pi]) fi diff --git a/data/y-web/Y_Blocks.txt b/data/y-web/Y_Blocks.txt index 03975d882..f2c67d39c 100644 --- a/data/y-web/Y_Blocks.txt +++ b/data/y-web/Y_Blocks.txt @@ -537,9 +537,10 @@ start-block~remote {=if-equal:{=var-get:boxtype=}~CST Trinity Duo~ {=include-block:Y_Blocks.txt;rc_cst_v6=}~ {=if-equal:{=var-get:boxtype=}~AX-Technologies HD51~{=include-block:Y_Blocks.txt;rc_ax_hd51=}~ {=if-equal:{=var-get:boxtype=}~Mutant HD51~ {=include-block:Y_Blocks.txt;rc_mutant_hd51=}~ + {=if-equal:{=var-get:boxtype=}~VU SOLO4K~ {=include-block:Y_Blocks.txt;rc_vusolo4k=}~ {=comment:fallback~=} {=include-block:Y_Blocks.txt;rc_cst_v1=} - =}=}=}=}=}=}=}=}=}=} + =}=}=}=}=}=}=}=}=}=}=} =}=} ~ {=if-equal:{=var-get:yfbtype=}~-2~ {=include-block:Y_Blocks.txt;rc_dbox_philips=}~ @@ -554,9 +555,10 @@ start-block~remote {=if-equal:{=var-get:yfbtype=}~8~ {=include-block:Y_Blocks.txt;rc_cst_v6=}~ {=if-equal:{=var-get:yfbtype=}~9~ {=include-block:Y_Blocks.txt;rc_ax_hd51=}~ {=if-equal:{=var-get:yfbtype=}~10~ {=include-block:Y_Blocks.txt;rc_mutant_hd51=}~ + {=if-equal:{=var-get:yfbtype=}~11~ {=include-block:Y_Blocks.txt;rc_vusolo4k=}~ {=comment:fallback~=} {=include-block:Y_Blocks.txt;rc_cst_v1=} - =}=}=}=}=}=}=}=}=}=}=}=} + =}=}=}=}=}=}=}=}=}=}=}=}=} =} end-block~remote @@ -1064,3 +1066,56 @@ start-block~rc_mutant_hd51 end-block~rc_mutant_hd51 + +# ------ Remote VU Solo 4K +start-block~rc_vusolo4k + + + +Power +text +subtitle + + +mute +1 +2 +3 +4 +5 +6 +7 +8 +9 +previous +0 +next +red +green +yellow +blue +up +left +OK +right +down +volume up +exit +channelup +volume down +epg +channeldown +menu +videoaltlast +audio +help +rewind +play +pause +forward +tv +record +stop +radio + +end-block~rc_vusolo4k diff --git a/data/y-web/Y_Settings_yWeb.yhtm b/data/y-web/Y_Settings_yWeb.yhtm index 7a5668106..27f94bee0 100644 --- a/data/y-web/Y_Settings_yWeb.yhtm +++ b/data/y-web/Y_Settings_yWeb.yhtm @@ -42,6 +42,7 @@ function do_init(){ case "8": // cst trinity duo case "9": // ax hd51 case "10": // mutant hd51 + case "11": // vusolo4k sel=(sel*1+val*1); break; default: @@ -161,6 +162,7 @@ select { + {=L:set.yweb.screenshot_rc=} diff --git a/data/y-web/images/Makefile.am b/data/y-web/images/Makefile.am index 7f52dc9db..16f7c22f0 100644 --- a/data/y-web/images/Makefile.am +++ b/data/y-web/images/Makefile.am @@ -91,11 +91,15 @@ install_DATA += rc_cst_v1.jpg \ rc_cst_v6.png endif -if BOXTYPE_ARMBOX +if BOXMODEL_HD51 install_DATA += rc_ax_hd51.png \ rc_mutant_hd51.png endif +if BOXMODEL_VUSOLO4K +install_DATA += rc_vusolo4k.png +endif + # file manager install_DATA += chmod.png \ copy.gif \ diff --git a/data/y-web/images/rc_vusolo4k.png b/data/y-web/images/rc_vusolo4k.png new file mode 100644 index 000000000..6c7caf116 Binary files /dev/null and b/data/y-web/images/rc_vusolo4k.png differ diff --git a/src/driver/rcinput.h b/src/driver/rcinput.h index 7314acc39..669a4c88a 100644 --- a/src/driver/rcinput.h +++ b/src/driver/rcinput.h @@ -223,8 +223,13 @@ class CRCInput RC_tv = KEY_TV, RC_radio = KEY_RADIO, RC_text = KEY_TEXT, +#if defined BOXMODEL_VUSOLO4K + RC_info = 0xFFFE, + RC_epg = KEY_INFO, +#else RC_info = KEY_INFO, RC_epg = KEY_EPG, +#endif RC_recall = KEY_LAST, RC_favorites = KEY_FAVORITES, RC_sat = KEY_SAT, diff --git a/src/gui/scan_setup.h b/src/gui/scan_setup.h index 53eca560d..bb749eed1 100644 --- a/src/gui/scan_setup.h +++ b/src/gui/scan_setup.h @@ -66,7 +66,11 @@ class CScanSetup : public CMenuTarget, public CChangeObserver CGenericMenuActivate msettings; CMenuOptionChooser * linkfe; +#if BOXMODEL_VUSOLO4K + std::string modestr[16]; +#else std::string modestr[4]; +#endif /* variables for selected frontend */ /* diseqc mode */ diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 8dea25a1e..d1cd83f34 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -5178,9 +5178,12 @@ void CNeutrinoApp::loadKeys(const char * fname) g_settings.mpkey_rewind = tconfig.getInt32( "mpkey.rewind", CRCInput::RC_rewind ); g_settings.mpkey_forward = tconfig.getInt32( "mpkey.forward", CRCInput::RC_forward ); g_settings.mpkey_stop = tconfig.getInt32( "mpkey.stop", CRCInput::RC_stop ); -#if HAVE_ARM_HARDWARE +#if BOXMODEL_HD51 || BOXMODEL_HD60 g_settings.mpkey_play = tconfig.getInt32( "mpkey.play", CRCInput::RC_playpause ); g_settings.mpkey_pause = tconfig.getInt32( "mpkey.pause", CRCInput::RC_playpause ); +#elif BOXMODEL_VUSOLO4K + g_settings.mpkey_play = tconfig.getInt32( "mpkey.play", CRCInput::RC_play ); + g_settings.mpkey_pause = tconfig.getInt32( "mpkey.pause", CRCInput::RC_playpause ); #else g_settings.mpkey_play = tconfig.getInt32( "mpkey.play", CRCInput::RC_play ); g_settings.mpkey_pause = tconfig.getInt32( "mpkey.pause", CRCInput::RC_pause ); diff --git a/src/zapit/include/zapit/femanager.h b/src/zapit/include/zapit/femanager.h index e64f4580a..bf090da46 100644 --- a/src/zapit/include/zapit/femanager.h +++ b/src/zapit/include/zapit/femanager.h @@ -31,8 +31,13 @@ #include +#ifdef BOXMODEL_VUSOLO4K +#define MAX_FE 16 +#define MAX_ADAPTERS 4 +#else #define MAX_FE 4 #define MAX_ADAPTERS 4 +#endif //#define DYNAMIC_DEMUX //#define MAKE_FE_KEY(adapter, number) ((adapter << 8) | (number & 0xFF)) diff --git a/src/zapit/src/frontend.cpp b/src/zapit/src/frontend.cpp index c63b0ee83..55dd49dfd 100644 --- a/src/zapit/src/frontend.cpp +++ b/src/zapit/src/frontend.cpp @@ -1233,7 +1233,11 @@ bool CFrontend::buildProperties(const FrontendParameters *feparams, struct dtv_p case FEC_2_3: fec = FEC_2_3; if (feparams->delsys == DVB_S2 && feparams->modulation == PSK_8) +#if defined BOXMODEL_VUSOLO4K + pilot = PILOT_AUTO; +#else pilot = PILOT_ON; +#endif break; case FEC_3_4: fec = FEC_3_4;