zapit.conf direkt nach Kanalsuche speichern?

Wünsche, Anträge, Fehlermeldungen
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

zapit.conf direkt nach Kanalsuche speichern?

Beitrag von Nico 77 »

Wäre es nicht interessant das die zapit.conf direkt nach der Kanalsuche gespeichert wird?
Oder das man die diseqc Einstellungen bei der Auswahl beim drücken auf speichern nicht nur in der scan.conf sondern direkt in die zapit.conf gespeichert und genutzt wird?
Jedesmal runterfahren zum speichern der diseqc Daten ist nicht schön gelöst, einmal vergessen und neu suchen. :cry:
Kenne mich leider zu wenig aus um das für mich selber zu lösen.


Gruß Nico.....
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Beitrag von Barf »

Grundsätzlich speichert ein Programm seine Daten ab, wenn es es braucht um seine Funktionalität zu erfüllen.

Was willst du erreichen? Ist irgendwie ein Bug vorhanden, oden hast du ein Request bzgl. Funktionalität?

zapit speichert die Daten ab wenn es (ordentlich) runtergefahren wird. Kannst du erreichen mit pzapit -kill.
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Beitrag von Nico 77 »

Naja eigentlich flasht man ein sein Image und schaut Wochen oder Monate dann macht man irgendwann mal sein root.update.

Wer fährt die Box in der Zwischenzeit wirklich runter?
Das Problem ist das wenn die Box mit root.update neu geflasht wird nacher die zapit.conf fehlt weil nie runtergefahren.

Ich sehe dies als Bug, die Dieseqeinstellungen sollten meiner Meinung nach einer Kanalsuche gespeichert werden. :)
ChristophK
Interessierter
Interessierter
Beiträge: 78
Registriert: Mittwoch 29. Dezember 2004, 18:55

Beitrag von ChristophK »

ich finde, "man" lässt seine box nicht laufen, sonder schaltet sie schon hin und wieder aus...
da ich das jedoch über eine schaltbare steckerleiste mach, gehen bei mir manchmal auch einstellungen verloren, weil das programm ja nicht ordnungsgemäß runtergefahren wurde, so gesehn wär ne art autosave-funktion schon ganz praktisch (vielleicht mit test auf veränderungen, damit keine flash-zyklen verbraten werden...)
Gorcon
Tuxboxer
Tuxboxer
Beiträge: 5873
Registriert: Samstag 23. Februar 2002, 22:46

Beitrag von Gorcon »

Ich lass meine Box grundsätzlich nie laufen wenn ich nicht gerade TV schauen will oder aufnehmen will. Dann wird automatisch immer abgespeichert. Standby habe ich noch nie genutzt. (finde ich überflüßig)
Gruß Gorcon
Nico 77
Semiprofi
Semiprofi
Beiträge: 1383
Registriert: Freitag 18. April 2003, 15:12

Beitrag von Nico 77 »

Genauso interessant wäre es wenn bei Bouquets neu laden auch die Diseqcdaten aus der zapit.conf mit geladen werden und nicht erst nach einem neustart. :-?
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Beitrag von racker »

Hallo,
Nico 77 hat geschrieben:Ich sehe dies als Bug, die Dieseqeinstellungen sollten meiner Meinung nach einer Kanalsuche gespeichert werden.
Die einfachste Lösung wäre:

diff gegen apps/dvb/zapit/src/scan.cpp

Code: Alles auswählen

--- scan.cpp.original	2005-03-03 20:59:33.000000000 +0100
+++ scan.cpp	2005-04-10 20:46:15.362360544 +0200
@@ -82,6 +82,8 @@
 void write_xml_header(FILE * fd);
 void write_xml_footer(FILE * fd);
 
+extern void saveSettings(bool);
+
 t_satellite_position getSatellitePosition(const char * const providerName)
 {
 	t_satellite_position satellite_position;
@@ -188,6 +190,7 @@
 		scanBouquetManager->clearAll();
 		delete scanBouquetManager;
 	}
+		saveSettings(true);
 }
Das ist dann allerdings genauso "fest verdrahtet" wie das Speichern beim Beenden von Zapit.

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

Beitrag von Nico 77 »

Hi danke für die hilfe :) , hatte das heute im laufe des Tages so in der zapit.cpp gemacht:

Code: Alles auswählen

void saveSettings_scan(bool write_confextra)
{
	if (write_confextra) {
		config.setInt32("lastSatellitePosition", frontend->getCurrentSatellitePosition());
		config.setInt32("diseqcRepeats", frontend->getDiseqcRepeats());
		config.setInt32("diseqcType", frontend->getDiseqcType());

		if (config.getModifiedFlag())
			config.saveConfig(CONFIGFILE);

	}
}
Und in der Scanroutine ein saveSettings_scan(true); eingefügt.

Code: Alles auswählen

int start_scan(bool scan_mode)
{
	if (!scanInputParser) {
		parseScanInputXml();
		if (!scanInputParser) {
			WARN("scan not configured");
			return -1;
		}
	}

	bouquetManager->clearAll();
	stopPlayBack();
	pmt_stop_update_filter(&pmt_update_fd);
	pmt_update_fd = -1;
	tuned_transponder_id = TRANSPONDER_ID_NOT_TUNED;
	found_transponders = 0;
	found_channels = 0;
	scan_runs = 1;

	if (pthread_create(&scan_thread, 0, start_scanthread,  (void*)scan_mode)) {
		ERROR("pthread_create");
		scan_runs = 0;
		return -1;
	}

	saveSettings_scan(true);

	return 0;
}
Hast du vielleicht eine Idee wie man beim Bouquetsladen die zapit.conf mitladen lassen kann damit die DiseqC Parameter nicht erst nach einer Kanalsuche bzw nach einem Neustart geladen werden? :)

Ps: Diffs krieg ich nicht hin. ;)
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Beitrag von racker »

Hallo,

dass ich kein Programmierer bin, habe ich schon an anderer Stelle geschrieben.
-> nicht zuviel erwarten, ich experimentiere noch :D
Wenn es bei dir so funktioniert hat, kann man das beste aus unseren
beiden Codeschnipseln nehmen.
Dann schreibst du statt

Code: Alles auswählen

saveSettings_scan(true);
einfach

Code: Alles auswählen

saveSettings(true);
und ersparst du dir den Rest.
Den "scan-Thread" habe ich noch nicht so richtig verstanden...
Ps: Diffs krieg ich nicht hin.
diff -Bbu org_file new_file > xxxxx.diff
ist die einfachste Variante :wink:
Hast du vielleicht eine Idee wie man beim Bouquetsladen die zapit.conf mitladen lassen kann damit die DiseqC Parameter nicht erst nach einer Kanalsuche bzw nach einem Neustart geladen werden?
Der Sinn erschließt sich mir nicht so ganz...
Wie wäre es mit einem Shell-Plugin:

Code: Alles auswählen

#/bin/sh
pzapit -kill
sleep 3
zapit &
sleep 3
pzapit -rn   #register neutrino as event client
sleep 2
pzapit -c    #reload channels bouquets
Nicht getestet, aber die Theorie sagt, es könnte so gehen ... :gruebel:

/Edit: Eine Lösung in C ist glaube ich besser :)