DVB Device anzeige im GraphTFT Plugin

  • Hallo,
    wer kann mir dabei helfen die Ausgabe des genialen Graphtft Plugins (hier 0.0.8 ) leicht zu modifizieren.
    Normalerweise wird bei Aufnahmen im ständigen Wechsel die gerade laufenden Aufzeichnungen angezeigt. Ich hätte gern, dass vor dem Namen der Aufzeichnung noch die Nr. des DVB Device angezeigt wird, also z.B. "1 irgenwas" dann "2 nochwas" dann "3 alsnochwas".


    die entsprechende Stelle im Source dürfte wohl hier sein :
    (auszug aus display.c)


    void cGraphTFTDisplay::Recording(const cDevice *Device, const char *Name)
    {
    d(5, "Recording %s to %p\n", Name, Device);
    if (Name != NULL) {
    RecordingInfo info;
    cMutexLock lock(&_mutex);
    info.device = Device;
    info.name = Name;
    _recordings.push_back(info);
    _recordingIn = -SECONDS(5);
    _doUpdate.Broadcast();
    } else {
    cMutexLock lock(&_mutex);
    Recordings::iterator it = _recordings.begin();
    for ;) it != _recordings.end(); ++it) {
    if ((*it).device == Device && StoppedTimer((*it).name.c_str())) {
    d(5, "deleting recording %s\n", (*it).name.c_str());
    _recordings.erase(it);
    break;
    }
    }
    if (_recordings.size() > 0) {
    _showRecording = _showRecording % _recordings.size();
    _recordingIn = -SECONDS(5);
    }
    _doUpdate.Broadcast();
    }
    }



    Ich hatte mich schon versucht an der Zeile "info.name= Name;" geändert in "info.name= Name,Device; Aber dass war wohl zu blauäugig. ?(


    Die Krönung des Ganzen wäre noch den zugehörigen Aufnahme Kanal anzuhängen, aber ich glaube das ist wohl so einfach nicht zu machen.


    Also, ist das für ein C Kenner leicht zu machen ?


    Schonmal Danke :]


  • Such mal die Stelle raus, wo letzen Endes die Daten auf das LCD geschoben werden .... da machts mehr Sinn, die Änderung vorzunehmen ....


    arghgra

  • Da ich heute gute Laune habe ;)


    Ersetze mal in display.c die Methode DisplayRecording durch folgendes:


    Code
    void cGraphTFTDisplay::DisplayRecording(int x, int y, int width, int height,int red, int green, int blue, int transperents, string font, int size, int align, int lines)
    {	
    	if (_recordings.size() > 0)
    	{
    		string fullinfo = _recordings[_showRecording].device.c_str() + ' ' + _recordings[_showRecording].name.c_str();
    		DisplayText(x, y, width, height, red, green, blue, transperents, font, size, align, lines, fullinfo);
    	}
    }


    arghgra

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!