[Patch] Menü-Eintrag für den Phillips RC-Workaround

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Frank0711
Interessierter
Interessierter
Beiträge: 75
Registriert: Samstag 8. Februar 2003, 09:57

[Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von Frank0711 »

Anbei ein Diff gegen das CVS von gestern Abend um unter "Treiber- und Bootoptionen" den Phillips-Fernbedienungs-Workaround aktivierbar zu machen. Geht bestimmt auch schöner mit "$Vendor" Abfrage, um den Menüpunkt nur bei Philipsboxen anzuzeigen, aber für mich reicht das erstmal so.

Edit: Version 2 angehängt - dank an dbt: philips-rc-patch-v2.diff

Bild

Edit: Link angepasst, dank an MarcM


Letzter Edit: Der Patch wurde ins CVS eingecheckt.
Zuletzt geändert von Frank0711 am Freitag 23. Mai 2008, 18:16, insgesamt 8-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von dbt »

Danke! Aber der Link ist etwas anstrengend :(

PS: Wir haben uns eigentlich angewöhnt Links im ULC bereitzustellen, weil es immer ein Ärgernis ist mit dem werbeverseuchten PopupServerGedingse.
Frank0711
Interessierter
Interessierter
Beiträge: 75
Registriert: Samstag 8. Februar 2003, 09:57

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von Frank0711 »

Leider habe ich mich noch nicht um einen Account dort bemüht. Ist derweil jemand mit rechten im Upc so nett, das diff dort zu uploaden?
MarcM
Foren-Moderator
Beiträge: 1119
Registriert: Sonntag 9. Juni 2002, 13:28

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von MarcM »

joa...da isser

philips-rc-patch.diff

Marc
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von dietmarw »

eigentlich könnte das mal jemand einchecken.. :wink:
dwilx

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von dwilx »

Da fehlt aber der eigentliche Patch. Das sind doch nur die Optionen und Locales, oder übersehe ich was?
Frank0711
Interessierter
Interessierter
Beiträge: 75
Registriert: Samstag 8. Februar 2003, 09:57

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von Frank0711 »

@dixidix

Soweit ich das sehe ist der Rest bereits im CVS.
AudioSlyer
Erleuchteter
Erleuchteter
Beiträge: 450
Registriert: Sonntag 28. Juli 2002, 01:18

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von AudioSlyer »

http://cvs.tuxbox-cvs.sourceforge.net/l ... 00115.html

insmod dbox2_fp_input.o philips_rc_patch=1
mohousch
Einsteiger
Einsteiger
Beiträge: 362
Registriert: Mittwoch 14. Dezember 2005, 03:25

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von mohousch »

in der rcS stehen wahlweise noch andere Optionen (new, old,...); kann man nicht unter Diverse Einstellungen/Fernbedienung noch eine Unter-Menü Auswahl für die FB bringen wo man alle 4 Optionen wählen kann.?
dwilx

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von dwilx »

AudioSlyer hat geschrieben:http://cvs.tuxbox-cvs.sourceforge.net/l ... 00115.html

insmod dbox2_fp_input.o philips_rc_patch=1
Jap :oops: ist mir tatsächlich entgangen.
mohousch hat geschrieben:in der rcS stehen wahlweise noch andere Optionen (new, old,...); kann man nicht unter Diverse Einstellungen/Fernbedienung noch eine Unter-Menü Auswahl für die FB bringen wo man alle 4 Optionen wählen kann.?
Es könnte meiner Meinung nach passieren, dass "Diverse Einstellungen" demnächst sogar komplett entfällt. Das mutmaße ich mal, kann mich aber auch irren. :oops:
mohousch
Einsteiger
Einsteiger
Beiträge: 362
Registriert: Mittwoch 14. Dezember 2005, 03:25

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von mohousch »

wegen des aufräumen hab's so vorschlagen;)
ich hänge hier ein Bild wie das aussehen könnte:
Bild
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von dbt »

Frank0711 hat geschrieben:Anbei ein Diff gegen das CVS von gestern Abend um unter "Treiber- und Bootoptionen" den Phillips-Fernbedienungs-Workaround aktivierbar zu machen. Geht bestimmt auch schöner mit "$Vendor" Abfrage, um den Menüpunkt nur bei Philipsboxen anzuzeigen, aber für mich reicht das erstmal so.

philips-rc-patch.diff

Bild
Wie wärs damit: Habs mal boxabhängig eingebaut, so dass die Menüpunkte deaktivert werden, wenn da keine Philips dran hängt. Auch eNX hab ich da mal behandelt, also dann nur aktiviert, wenn Sagem oder Philips da ist. Ginge natürlich auch komplett ein/auszublenden. Bei Dreams ist das sowieso ausgeblendet, aber bei dBoxen hat es evtl. irgendwie mehr Sinn nur zu deaktivieren, damit man auch sieht was da eingestellt ist. Könnte ja sein, man flasht sich sein Image auf unterschiedliche Boxtypen und hat trotzdem einen Einblick was eingestellt ist.
In dem Fall ist der Screenshot von einer Nokia gemacht worden.
Bild

Das ist mit deinem Patch machbar, also deinen Patch anwenden und diese Funktion in neutrino_menu.cpp so abändern:

Code: Alles auswählen

void CNeutrinoApp::InitDriverSettings(CMenuWidget &driverSettings)
{
	bool item_enabled[DRIVER_SETTING_FILES_COUNT];
	int boxtype = g_Controld->getBoxType();
	
	dprintf(DEBUG_DEBUG, "init driversettings\n");
	driverSettings.addItem(GenericMenuSeparator);
	driverSettings.addItem(GenericMenuBack);
	driverSettings.addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_DRIVERSETTINGS_DRIVER_BOOT));

#ifndef HAVE_DREAMBOX_HARDWARE
	CSPTSNotifier *sptsNotifier = new CSPTSNotifier;
	driverSettings.addItem(new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_SPTSMODE, &g_settings.misc_spts, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, sptsNotifier));
#endif

	for (int i = 0; i < DRIVER_SETTING_FILES_COUNT; i++)
	{
		FILE * fd = fopen(driver_setting_files[i].filename, "r");
		if (fd)
		{
			fclose(fd);
			g_settings.misc_option[i] = 1;
		}
		else
			g_settings.misc_option[i] = 0;
		
			if ((driver_setting_files[i].filename == "/var/etc/.philips_rc_patch") && (boxtype !=2)) // Philips only
			{
				item_enabled[i] = false;
			}
			else if  ((driver_setting_files[i].filename == "/var/etc/.no_enxwatchdog") && (boxtype ==1)) // not for Nokia
			{
				item_enabled[i] = false;
			}
			else
			{
				item_enabled[i] = true;
			}
				
		driverSettings.addItem(new CMenuOptionChooser(driver_setting_files[i].name, &(g_settings.misc_option[i]), driver_setting_files[i].options, 2, item_enabled[i], new CTouchFileNotifier(driver_setting_files[i].filename)));
	}

#ifndef HAVE_DREAMBOX_HARDWARE
	driverSettings.addItem(new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_FB_DESTINATION, &g_settings.uboot_console, DRIVERSETTINGS_FB_DESTINATION_OPTIONS, DRIVERSETTINGS_FB_DESTINATION_OPTION_COUNT, true, ConsoleDestinationChanger));
#endif
} 
Frank0711
Interessierter
Interessierter
Beiträge: 75
Registriert: Samstag 8. Februar 2003, 09:57

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von Frank0711 »

Vielen Dank! Hab dann mal den Patch auf den aktuellen Stand gebracht: philips-rc-patch-v2.diff

gruss,
Frank
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von Nico 77 »

Den Patch im Menü Philips only zu machen war nicht gut, ich habe eine Sagem die hat den Bug auch und nun? :-?
Bitte wenn dann nur die Nokia ausklammern! :)
mohousch
Einsteiger
Einsteiger
Beiträge: 362
Registriert: Mittwoch 14. Dezember 2005, 03:25

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von mohousch »

Hi

ich verstehe es sowieso nicht warum wenn der Treiber-Module noch andere Parameter unterstützt und die nicht berücksichtigt worden?
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von dbt »

Nico 77 hat geschrieben:Den Patch im Menü Philips only zu machen war nicht gut, ich habe eine Sagem die hat den Bug auch und nun? :-?
Bitte wenn dann nur die Nokia ausklammern! :)
Edit: ist geändert
Nico 77 hat geschrieben:ich verstehe es sowieso nicht warum wenn der Treiber-Module noch andere Parameter unterstützt und die nicht berücksichtigt worden?
Welche wären das?
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von flasher »

dbt hat geschrieben:Welche wären das?
driver/fp/dbox2_fp_rc.c:

disable_old_rc
disable_new_rc
philips_rc_patch
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von dbt »

Achso, hätte ja mal einer vorher was sagen können :D, wenn jemand die Lust und Zeit dazu hat das reinzubauen, dann kann er das ja mal machen :wink:
flasher
Developer
Beiträge: 467
Registriert: Dienstag 15. Juli 2003, 10:58

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von flasher »

Ja :)

Wobei die ersten beiden wohl nur für Philips und Nokia interessant sind der letzte für Philips und Sagem.
Wird dann wohl schwer dass in einen Menüpunkt zu packen.

Gruß
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von dbt »

flasher hat geschrieben:Ja :)

Wird dann wohl schwer dass in einen Menüpunkt zu packen.
Deswegen sag ich ja:
wenn jemand die Lust und Zeit dazu hat

Falls ich mal zwischen den Babyzeiten dazu komme :-? würde ich mal drauf schauen, sieht aber momentan nur nach kurzen Zeitfenstern aus.
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Re: [Patch] Menü-Eintrag für den Phillips RC-Workaround

Beitrag von Nico 77 »

Hatte das früher mal so implentiert bei mir:

Code: Alles auswählen

#define DRIVERSETTINGS_FB_DESTINATION_OPTION_COUNT 3
const CMenuOptionChooser::keyval DRIVERSETTINGS_FB_DESTINATION_OPTIONS[DRIVERSETTINGS_FB_DESTINATION_OPTION_COUNT] =
{
	{ 0, LOCALE_OPTIONS_NULL   },
	{ 1, LOCALE_OPTIONS_SERIAL },
	{ 2, LOCALE_OPTIONS_FB     }
};

typedef struct driver_setting_files_philips
{
	const neutrino_locale_t                  name;
	const char * const                       filename;
	const CMenuOptionChooser::keyval * const options;
} driver_setting_files_struct_philips;

const driver_setting_files_struct_philips driver_setting_files[DRIVER_SETTING_FILES_COUNT_1] =
{
	{LOCALE_DRIVERSETTINGS_PHILIPS_RC_PATCH , "/var/etc/.rc_patch" , OPTIONS_OFF0_ON1_OPTIONS }
};

typedef struct driver_setting_files_nokia
{
	const neutrino_locale_t                  name;
	const char * const                       filename;
	const CMenuOptionChooser::keyval * const options;
} driver_setting_files_struct_nokia;

const driver_setting_files_struct_nokia driver_setting_files_2[DRIVER_SETTING_FILES_COUNT_2] =
{
	{LOCALE_DRIVERSETTINGS_NOKIA_RC_OLD     , "/var/etc/.oldrc"   , OPTIONS_OFF0_ON1_OPTIONS },
	{LOCALE_DRIVERSETTINGS_NOKIA_RC_NEW     , "/var/etc/.newrc"   , OPTIONS_OFF0_ON1_OPTIONS }
};

void CNeutrinoApp::InitDriverSettings(CMenuWidget &driverSettings)
{
	dprintf(DEBUG_DEBUG, "init driversettings\n");
	driverSettings.addItem(GenericMenuSeparator);
	driverSettings.addItem(GenericMenuBack);
	driverSettings.addItem(GenericMenuSeparatorLine);
	driverSettings.addItem(new CMenuForwarder(LOCALE_DRIVERSETTINGS_ENXGTX    , true, NULL, new AVIA_ConfWidget, NULL, CRCInput::RC_nokey));
	driverSettings.addItem(GenericMenuSeparatorLine);
	for (int i = 0; i < DRIVER_SETTING_FILES_COUNT_1; i++)
	{
		FILE * fd = fopen(driver_setting_files[i].filename, "r");
		if (fd)
		{
			fclose(fd);
			g_settings.driver_option_1[i] = 1;
		}
		else
			g_settings.driver_option_1[i] = 0;

		if ((g_info.box_Type == CControld::TUXBOX_MAKER_PHILIPS) || (g_info.box_Type == CControld::TUXBOX_MAKER_SAGEM))
		driverSettings.addItem(new CMenuOptionChooser(driver_setting_files[i].name, &(g_settings.driver_option_1[i]), driver_setting_files[i].options, 2, true, new CTouchFileNotifier(driver_setting_files[i].filename)));
	}
	for (int i = 0; i < DRIVER_SETTING_FILES_COUNT_2; i++)
	{
		FILE * fd = fopen(driver_setting_files_2[i].filename, "r");
		if (fd)
		{
			fclose(fd);
			g_settings.driver_option_2[i] = 1;
		}
		else
			g_settings.driver_option_2[i] = 0;
	
		if (g_info.box_Type == CControld::TUXBOX_MAKER_NOKIA)
		driverSettings.addItem(new CMenuOptionChooser(driver_setting_files_2[i].name, &(g_settings.driver_option_2[i]), driver_setting_files_2[i].options, 2, true, new CTouchFileNotifier(driver_setting_files_2[i].filename)));
	}
	driverSettings.addItem(GenericMenuSeparatorLine);
	CSPTSNotifier *sptsNotifier = new CSPTSNotifier;
	driverSettings.addItem(new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_SPTSMODE, &g_settings.misc_spts, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, sptsNotifier));
	driverSettings.addItem(new CMenuOptionChooser(LOCALE_DRIVERSETTINGS_FB_DESTINATION, &g_settings.uboot_console, DRIVERSETTINGS_FB_DESTINATION_OPTIONS, DRIVERSETTINGS_FB_DESTINATION_OPTION_COUNT, true, ConsoleDestinationChanger));
}
Also hatte die RC Sachen aufgeteilt, damit sie nur bei den jeweiligen Boxentyp sichtbar waren.

@dbt
Danke für das ändern. :)