Aufnahmeeinstellungen während einer laufenden Aufnahme

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Aufnahmeeinstellungen während einer laufenden Aufnahme

Beitrag von Gaucho316 »

Während eine Aufnahme lief, bin ich gestern zufällig in die Aufnahmeeinstellungen gegangen. Nach Verlassen des Menüs hat Neutrino vergessen, dass es eigentlich etwas aufnimmt. Ich habe mir deswegen eben mal record_setup.cpp angesehen und festgestellt, dass in Zeile 336 CNeutrinoApp::getInstance()->recordingstatus = 0; ausgeführt wird. Ist das Absicht? Wenn ja, wäre es nicht besser den Menüpunkt einfach zu sperren?
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Aufnahmeeinstellungen während einer laufenden Aufnahme

Beitrag von Gaucho316 »

Ich habe die Historie des "record_setup" jetzt mal etwas verfolgt. Der Eintrag ist schon lange überflüssig und kann weg. Früher wurde an dieser Stelle wohl mal "recordingstatus" initialisiert. Inzwischen geschieht das aber beim Erzeugen von Neutrino. Das Fehlverhalten kam übrigens erst durch die Auslagerung der Aufnahmeeinstellungen in eine eigene Klasse zustande. Zuvor wurde das Aufnahmeeinstellungen-Menü ja nur einmal zusammengebaut und blieb im Speicher. Somit wurde die Initialisierung von "recordingstatus" auch nur einmal gemacht und nicht wie jetzt bei jedem Aufruf des Menüs.

Link entfernt
Zuletzt geändert von Gaucho316 am Freitag 7. Mai 2010, 20:16, insgesamt 1-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Aufnahmeeinstellungen während einer laufenden Aufnahme

Beitrag von dbt »

Thx, evtl. sollte man sogar generell verhindern, dass die Aufnahmeeinstellungen überhaupt geöffnet werden können, während eine Aufnahme läuft. Man wechselt ja auch nicht während der Fahrt am Auto die Räder. :wink:
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Aufnahmeeinstellungen während einer laufenden Aufnahme

Beitrag von seife »

Das wäre jedenfalls sicherer ;)
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Aufnahmeeinstellungen während einer laufenden Aufnahme

Beitrag von dbt »

vlt. so:

Code: Alles auswählen

diff --git a/tuxbox/neutrino/data/locale/deutsch.locale b/tuxbox/neutrino/data/locale/deutsch.locale
index f515f4e..569fa71 100644
--- a/tuxbox/neutrino/data/locale/deutsch.locale
+++ b/tuxbox/neutrino/data/locale/deutsch.locale
@@ -1161,6 +1161,7 @@ recordingmenu.help Aufnahmegeräte:\n-----------------------\nServer:\nauf PC mi
 recordingmenu.no_scart Unterdrücke Scart-Umschaltung
 recordingmenu.off aus
 recordingmenu.record_in_spts_mode in SPTS-Modus aufnehmen
+recordingmenu.record_is_running Aufnahme läuft gerade!
 recordingmenu.recording_type Aufnahme Gerät
 recordingmenu.ringbuffers Grösse Ringpuffer
 recordingmenu.ringbuffers_05M 512 KB
diff --git a/tuxbox/neutrino/data/locale/english.locale b/tuxbox/neutrino/data/locale/english.locale
index 2d58243..a6e3f3d 100644
--- a/tuxbox/neutrino/data/locale/english.locale
+++ b/tuxbox/neutrino/data/locale/english.locale
@@ -1161,6 +1161,7 @@ recordingmenu.help Recording devices:\n--------------------------\nserver:\nusin
 recordingmenu.no_scart Switch to SCART
 recordingmenu.off off
 recordingmenu.record_in_spts_mode Use spts mode
+recordingmenu.record_is_running Recording is in progress!
 recordingmenu.recording_type Recording Device
 recordingmenu.ringbuffers Ringbuffer Size
 recordingmenu.ringbuffers_05M 512 KB
diff --git a/tuxbox/neutrino/src/gui/record_setup.cpp b/tuxbox/neutrino/src/gui/record_setup.cpp
index bfff2cc..8082a98 100644
--- a/tuxbox/neutrino/src/gui/record_setup.cpp
+++ b/tuxbox/neutrino/src/gui/record_setup.cpp
@@ -92,8 +92,10 @@ int CRecordSetup::exec(CMenuTarget* parent, const std::string &actionKey)
 		return res;
 	}
 
-
-	showRecordSetup();
+	if (!CNeutrinoApp::getInstance()->recordingstatus)
+		showRecordSetup();
+	else
+		DisplayInfoMessage(g_Locale->getText(LOCALE_RECORDINGMENU_RECORD_IS_RUNNING));
 	
 	return res;
 }
@@ -333,7 +335,6 @@ void CRecordSetup::showRecordSetup()
 	recordingSettings->hide();
 	delete recordingSettings;
 
-	CNeutrinoApp::getInstance()->recordingstatus = 0;
 }
 
 
diff --git a/tuxbox/neutrino/src/system/locals_intern.h b/tuxbox/neutrino/src/system/locals_intern.h
index 16e75aa..ea91d11 100644
--- a/tuxbox/neutrino/src/system/locals_intern.h
+++ b/tuxbox/neutrino/src/system/locals_intern.h
@@ -1188,6 +1188,7 @@ const char * locale_real_names[] =
 	"recordingmenu.no_scart",
 	"recordingmenu.off",
 	"recordingmenu.record_in_spts_mode",
+	"recordingmenu.record_is_running",
 	"recordingmenu.recording_type",
 	"recordingmenu.ringbuffers",
 	"recordingmenu.ringbuffers_05M",
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Aufnahmeeinstellungen während einer laufenden Aufnahme

Beitrag von Gaucho316 »

Könnte man nicht auch den Menüpunkt ausgrauen, solange eine Aufnahme läuft? Oder ist das nicht so einfach möglich?
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Aufnahmeeinstellungen während einer laufenden Aufnahme

Beitrag von GetAway »

Ausgrauen klingt logisch, aber was, wenn du dich beim Start einer Aufnahme im Menü befindest? :wink:
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Aufnahmeeinstellungen während einer laufenden Aufnahme

Beitrag von dbt »

Ich finde es eigentlich immer besser, wenn dem Benutzer angemessen mitgeteilt wird warum er dies und jenes nicht machen darf. Wenn man etwas nur ausgraut, weiß man zwar, dass die Option nicht möglich ist, aber nicht warum. Ausgrauen wäre zwar möglich aber so vom Aufwand her unverhältnismässig. Das dürfte erst einfacher werden, wenn wenn das Hauptmenü komplett aufgeräumt ist.
GetAway hat geschrieben:... aber was, wenn du dich beim Start einer Aufnahme im Menü befindest? :wink:
Edit: erledigt

Ich vermute du meinst, wenn ein Timer startet, dann müsste man das vom Timer aus Regeln und den Benutzer freundlich darauf hinweisen, dass er jetzt nichts dort verloren hat. Dann müsste man das Menü auch unzugänglich machen können. Wie man sieht auch hier wieder der Effekt, je mehr die GUI mit dem Benutzer interagiert, um so aufwändiger wirds. :wink:
Edit: Erst mal schauen in wie weit das passieren kann, wäre ein ziemlicher Zufall :wink: