Nach sendungen suchen

Wünsche, Anträge, Fehlermeldungen

Suchfunktion in Neutrino

Ja, das vermisse ich auch
48
65%
Nein, so etwas brauch ich nich
26
35%
 
Insgesamt abgegebene Stimmen: 74

Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Ich würde sagen: Glück gehabt ;)

Mir hatte das Feature auch schon immer gefehlt, und ich hatte ich erst jetzt Zeit dazu gehabt...
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

@all

Da jetzt alles im CVS ist hier gleich mal die angepasste Doku im Wiki... :wink:

http://wiki.tuxbox-cvs.sourceforge.net/ ... s_Programm


Gruß
____Paule
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

so, mein Post war erst im falschen Thread :-)
@Guenther

Code: Alles auswählen

-				channel_id = bouquetList->Bouquets[m_search_bouquet_id]->channelList->getChannelFromIndex(channel)->channel_id;
+				channel_id = (*(bouquetList->Bouquets[bouquet]->channelList))[channel]->channel_id;
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

PauleFoul hat geschrieben:@all

Da jetzt alles im CVS ist hier gleich mal die angepasste Doku im Wiki... :wink:

http://wiki.tuxbox-cvs.sourceforge.net/ ... s_Programm


Gruß
____Paule
Prima das du Dich so toll um die Wiki kümmerst, wir SW-Nerds machen das immer so ungern ;)

Folgendes ist nicht ganz richtig, müßte so (oder ähnlich, mir fällt gerade nichts besseres ein) geändert werden (Genresuche gibt es übrigends noch nicht).

EPG-Titel (Sendungsname), EPG-Info1 (Kurzbeschreibung der Sendung) oder EPG-Info2 (Beschreibung der Sendung).

Wenn jemand noch einen besseren Einfall für die Beschreibung im Menu hat, nur raus damit. Ich sehe das nicht als Kritik, sondern immer als konstruktive Verbesserung. Z.B. ist Sendungsname wohl wirklich besser als EPG-Titel. Die anderen sind leider ein bisschen lang. Ich lege in der Regel immer großen Wert auf aussagekräftige deutsche! Wörter. Ist für die meisten einfach besser zu verstehen als dieses technische Denglisch ;)

Apropos: Movieplayer und Audioplayer sind mir z.B. ein Dorn im Auge. Wie wäre es z.B. besser mit 'Filmwiedergabe' und 'Musikwiedergabe' (paßt noch nicht so ganz, aber in die Richtung halt)? Ist aber auch nicht wirklich wichtig ;)
Zuletzt geändert von Günther am Dienstag 9. Januar 2007, 01:30, insgesamt 2-mal geändert.
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Houdini hat geschrieben:so, mein Post war erst im falschen Thread :-)
@Guenther

Code: Alles auswählen

-				channel_id = bouquetList->Bouquets[m_search_bouquet_id]->channelList->getChannelFromIndex(channel)->channel_id;
+				channel_id = (*(bouquetList->Bouquets[bouquet]->channelList))[channel]->channel_id;
Mann, mann, mann, was habe ich da rumprobiert :evil: es wollte einfach nicht klappen, Es war damals wohl einfach zu spät und danach habe ich es 'vergessen'. Werde ich bei Gelegenheit mal zurückbauen ;)
Danke!
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

ich kann dir versichern, daß ich auch 'ne Weile rumgedoktert hatte
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Hi,

ich hab mal einen Vorschlag für das Suchfenster erstellt... :wink:

Bild

Außerdem würde mich interessieren, ab Ihr eine Lösung für das Problem
mit der Groß/Kleinschreibung bei der Suche gefunden habt...


Gruß
____Paule
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Hat den keiner eine Idee zu meinem Vorschlag und meiner Frage?? :gruebel:



Gruß
____Paule
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

@Paule

Hier mal vorab zum bewerten

Code: Alles auswählen

Index: sectionsd.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp,v
retrieving revision 1.234
diff -u -r1.234 sectionsd.cpp
--- sectionsd.cpp	12 Jan 2007 22:57:56 -0000	1.234
+++ sectionsd.cpp	21 Jan 2007 16:14:33 -0000
@@ -1434,7 +1434,7 @@
 }
 #endif
 
-static void sendAllEvents(int connfd, t_channel_id serviceUniqueKey, bool oldFormat = true,char search = 0,std::string* search_text = NULL )
+static void sendAllEvents(int connfd, t_channel_id serviceUniqueKey, bool oldFormat = true, char search = 0, std::string search_text = "")
 {
 #define MAX_SIZE_EVENTLIST	64*1024
 	char *evtList = new char[MAX_SIZE_EVENTLIST]; // 64kb should be enough and dataLength is unsigned short
@@ -1463,43 +1463,46 @@
 		lockEvents();
 		int serviceIDfound = 0;
 
+		if (search_text.length()) std::transform(search_text.begin(), search_text.end(), search_text.begin(), tolower);
 		for (MySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey::iterator e = mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.begin(); e != mySIeventsOrderServiceUniqueKeyFirstStartTimeEventUniqueKey.end(); ++e)
 		{
 			if ((*e)->get_channel_id() == serviceUniqueKey)
 			{
 				serviceIDfound = 1;
 				
-				std::string eName = (*e)->getName();
-				std::string eText = (*e)->getText();
-				std::string eExtendedText = (*e)->getExtendedText();
-				
 				bool copy = true;
 				if(search == 0); // nothing to do here
 				else if(search == 1)
 				{
-				    if(eName.find(*search_text) == std::string::npos)
-				        copy = false;
+					std::string eName = (*e)->getName();
+					std::transform(eName.begin(), eName.end(), eName.begin(), tolower);
+					if(eName.find(search_text) == std::string::npos)
+						copy = false;
 				}
 				else if(search == 2)
 				{
-				    if(eText.find(*search_text) == std::string::npos)
-				        copy = false;
+					std::string eText = (*e)->getText();
+					std::transform(eText.begin(), eText.end(), eText.begin(), tolower);
+					if(eText.find(search_text) == std::string::npos)
+						copy = false;
 				}
 				else if(search == 3)
 				{
-				    if(eExtendedText.find(*search_text) == std::string::npos)
-				        copy = false;
+					std::string eExtendedText = (*e)->getExtendedText();
+					std::transform(eExtendedText.begin(), eExtendedText.end(), eExtendedText.begin(), tolower);
+					if(eExtendedText.find(search_text) == std::string::npos)
+						copy = false;
 				}
 				
 				if(copy)
 				{
 					for (SItimes::iterator t = (*e)->times.begin(); t != (*e)->times.end(); ++t)
 					{
-	//					if (t->startzeit > laststart) {
-	//					laststart = t->startzeit;
+//						if (t->startzeit > laststart) {
+//						laststart = t->startzeit;
 						if ( oldFormat )
 						{
-	#define MAX_SIZE_STRTIME	50
+#define MAX_SIZE_STRTIME	50
 							char strZeit[MAX_SIZE_STRTIME];
 							char strZeit2[MAX_SIZE_STRTIME];
 							struct tm *tmZeit;
@@ -3772,7 +3775,7 @@
 		data_ptr += sizeof(char);
 		if(search != 0)
 			search_text = data_ptr;
-		sendAllEvents(connfd, channel_id, false,search,&search_text);
+		sendAllEvents(connfd, channel_id, false, search, search_text);
 	}
 	return;
 }
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

@ Houdini

Ich muss Dir leider mittteilen, dass ich mich nicht in der Lage fühle den
von Dir geposteten Quelltext zu beurteilen... Da mangelt es einfach bei
mir an den entsprechenden Fähigkeiten... :wink:

Aber schön das Du in der Richtung aktiv geworden bist. Da ich fest davon
ausgehen das Deine Änderung funktioniert, warte ich einfach bis diese
ins CVS eingeflossen ist.

Dickes THX für Deine Arbeit.


Gruß
____Paule
CarstenW
Erleuchteter
Erleuchteter
Beiträge: 416
Registriert: Mittwoch 17. Januar 2007, 16:47

Beitrag von CarstenW »

@Houdini,

ist doch einfach nur:

Code: Alles auswählen

#> patch originalfile diff-file
und dann neu übersetzten,oder ?

Carsten
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

also ich kenns:

patch [parameter] originalfile < diff.file
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

die paar zeilen kann man locker manuell reinschieben.
test folgt dann sofort.
CarstenW
Erleuchteter
Erleuchteter
Beiträge: 416
Registriert: Mittwoch 17. Januar 2007, 16:47

Beitrag von CarstenW »

Verzeiht mir meine kleinen dummen Fragen zwischendurch, fange halt erst damit an.
Der Auszug aus man patch
SYNOPSIS
patch [options] [originalfile [patchfile]]

but usually just

patch -pnum <patchfile
Danach geht wohl beides :-)

Carsten
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

ich vermute, dass das ganze durch die Umwandlung in Kleinbuchstaben ne ecke länger dauern wird, deswegen hab ich es nicht sofort eingecheckt
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

also das mit den klein großschreibung geht wunderbar. ich konnte keine zeitverzögerung feststellen.

ich hab bei ard nach tag gesucht, und Tagesschau,tagesschau um zwölf,Ard Mittagsmagazin gefunden. el geht also prima.
CarstenW
Erleuchteter
Erleuchteter
Beiträge: 416
Registriert: Mittwoch 17. Januar 2007, 16:47

Beitrag von CarstenW »

Dann bitte ins CVS.

Carsten
Grüße ...........Carsten


FAQ-Bereich | Anfängerfragen | Boardregeln | Images | Das Wiki
skydiver
Einsteiger
Einsteiger
Beiträge: 256
Registriert: Montag 14. Januar 2002, 23:13

Beitrag von skydiver »

ich find die reihenfolge nicht optimal.
man geht doch wie folgt vor:
suchbegriff, optionen, suche starten... zumindest ist das bei mir so.
immer erst runter und dann wieder hochspringen macht imho wenig sinn.
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

das könnte man doch ändern, ist kein großer akt. brauchst ja nur den ersten und letzten eintrag drehen

Code: Alles auswählen

CMenuWidget searchMenu(LOCALE_EVENTFINDER_HEAD, "features.raw", 450);
	searchMenu.addItem(GenericMenuSeparator);
	searchMenu.addItem(mf0, false);
	searchMenu.addItem(GenericMenuSeparatorLine);
	searchMenu.addItem(mo0, false);
	searchMenu.addItem(mf1, false);
	searchMenu.addItem(mo1, false);
	searchMenu.addItem(GenericMenuSeparatorLine);
	searchMenu.addItem(mf2, false);
so ist PauleFoul sein code

Code: Alles auswählen

CMenuWidget searchMenu(LOCALE_EVENTFINDER_HEAD, "features.raw", 450);
	searchMenu.addItem(GenericMenuSeparator);
	searchMenu.addItem(mf2, false);
	searchMenu.addItem(GenericMenuSeparatorLine);
	searchMenu.addItem(mo0, false);
	searchMenu.addItem(mf1, false);
	searchMenu.addItem(mo1, false);
	searchMenu.addItem(GenericMenuSeparatorLine);
	searchMenu.addItem(mf0, false);
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

skydiver hat geschrieben:ich find die reihenfolge nicht optimal.
man geht doch wie folgt vor:
suchbegriff, optionen, suche starten... zumindest ist das bei mir so.
immer erst runter und dann wieder hochspringen macht imho wenig sinn.
Das habe ich mir auch erst so gedacht... Aber nicht getraut es vorzuschlagen... :D
mb405 hat geschrieben:also das mit den klein großschreibung geht wunderbar. ich konnte keine zeitverzögerung feststellen.

ich hab bei ard nach tag gesucht, und Tagesschau,tagesschau um zwölf,Ard Mittagsmagazin gefunden. el geht also prima.
Wenn das so funktioniert hat Houdini mal wieder klasse Arbeit abgeliefert!
Dickes THX an Dich



Gruß
____Paule
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

skydiver hat geschrieben:ich find die reihenfolge nicht optimal.
man geht doch wie folgt vor:
suchbegriff, optionen, suche starten... zumindest ist das bei mir so.
immer erst runter und dann wieder hochspringen macht imho wenig sinn.
Guter Einwand, hätte ich selber drauf kommen können ;).

Paules Verbesserungen finde ich auch sehr gut, werde ich mal so einpflegen - wenn es keine Gegenstimmen gibt ...
PauleFoul
Wissender
Wissender
Beiträge: 1839
Registriert: Sonntag 17. August 2003, 01:39

Beitrag von PauleFoul »

Günther hat geschrieben:
skydiver hat geschrieben:ich find die reihenfolge nicht optimal.
man geht doch wie folgt vor:
suchbegriff, optionen, suche starten... zumindest ist das bei mir so.
immer erst runter und dann wieder hochspringen macht imho wenig sinn.
Guter Einwand, hätte ich selber drauf kommen können ;).

Paules Verbesserungen finde ich auch sehr gut, werde ich mal so einpflegen - wenn es keine Gegenstimmen gibt ...
Gerne :D

Aber vielleicht kann man "Suche starten" wirklich ganz nach unten
nehmen, damit das ganze eine logische Reihenfolge bekommt... :)


Gruß
____Paule
mb405
Tuxboxer
Tuxboxer
Beiträge: 2331
Registriert: Donnerstag 24. März 2005, 21:52

Beitrag von mb405 »

ich habs so bei mir Bild
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

So sieht es korrekt aus, und ist auch logisch aufgebaut.

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
Günther
Developer
Beiträge: 587
Registriert: Freitag 9. September 2005, 21:48

Beitrag von Günther »

Houdini hat geschrieben:ich vermute, dass das ganze durch die Umwandlung in Kleinbuchstaben ne ecke länger dauern wird, deswegen hab ich es nicht sofort eingecheckt
Das vermute ich auch (Faktor 2). Wenn die Suche innerhalb eines Bouqets allerdings - sagen wir mal - unter 5 Sekunden bliebe, wäre das noch OK.

Bei der Suche über alle Kanäle wird es definitiv länger dauern, aber meist sucht man ja innerhalb eines Bouquets. Muss ich mal testen.