DVB-Cube BETA <<< Das deutsche PC und DVB-Forum >>>

Diverse DVB Software für verschiedene Karten => # Linux DVB (vdr, kaffeine, ect.) => # Kaffeine => Thema gestartet von: kater am 23 August, 2009, 20:11

Titel: In kaffeine die Anzahl der wählbaren LNBs erhöhen?
Beitrag von: kater am 23 August, 2009, 20:11
in den DVB Einstellungen von kaffeine 0.8.9 sind max 4 LNBs wählbar. Da der von mir verwendete Rotor nicht über DiseqC gesteuert wird sondern der Sat von einem Positionierer per Handauswahl angefahren wird, entspricht jede Satposition einem anderen LNB. Da aber nur 4 Plätze vorhanden sind, sind meine Möglichkeiten eingeschränkt. Gibt es eine Möglichkeit da was zu ändern?
THX
kater
Titel: Re: In kaffeine die Anzahl der wählbaren LNBs erhöhen?
Beitrag von: mtron am 23 August, 2009, 20:26
von haus aus ist 4 das max. Ändern lässt sich das in den Sourcen Datei src/input/dvb/dvbconfig.cpp in der Funktion DvbConfigDialog.

Ab der Zeile 670 Sind die einzelnen LNB's mit den nötigen Connects usw: (das Beispiel gibts 4 mal)

lnb0[i] = new MPushButton( gb, i, 0 );
lnb0[i]->setGuiItem( KGuiItem(i18n("LNB 1 settings..."), icon->loadIconSet("hwinfo", KIcon::Small) ) );
lnb0[i]->setEnabled(true);
grid->addWidget( lnb0[i], gridLine, 0 );
connect( lnb0[i], SIGNAL(clicked(int,int)), this, SLOT(setLnb(int,int)));
rotor0[i] = new MComboBox( gb, i, 0 );
rotor0[i]->insertStringList( rotorList );
rotor0[i]->setCurrentItem( dvbConfig->devList.at(i)->lnb[0].rotorType );
grid->addWidget( rotor0[i], gridLine, 1 );
connect( rotor0[i], SIGNAL(activated(int,int,int)), this, SLOT(setRotor(int,int,int)));
swidg = new QWidget( gb );
sgrid = new QGridLayout( swidg, 1, 1, 0, 0 );
sat0[i] = new QComboBox( swidg );
sat0[i]->insertStringList( dvbConfig->getSourcesList(dvbConfig->devList.at(i)->type) );
sgrid->addWidget( sat0[i], 0, 0 );
src0[i] = new MPushButton( swidg, i, 0 );
src0[i]->setGuiItem( KGuiItem(i18n("Sources list...") ) );
connect( src0[i], SIGNAL(clicked(int,int)), this, SLOT(setRotorSources(int,int)) );
sgrid->addWidget( src0[i], 1, 0 );
if ( dvbConfig->devList.at(i)->lnb[0].rotorType==0 ) {
setSource( sat0[i], dvbConfig->devList.at(i)->lnb[0].source[0] );
src0[i]->hide();
}
else {
sat0[i]->hide();
}
grid->addWidget( swidg, gridLine, 2 );

Das sollte sich theoretisch bis 8 LNB's (kernel limit für DVB devices, wenn mehr willst musst den kernel patchen und neu kompilieren) nach dieser Stanza erweitern lassen (also von lnb0 - lnb7).

Auch nicht vergessen dann natürlich im dazugehörigen header file dvbconfig.h die public class DvbConfigDialog (ab Zeile 220) dementsprechend anzupassen.

Dann sollte es eigentlich funktionieren. Kaffeine neu kompilieren und schauen was dem compieler daran nicht passt. Vielleicht schreib ich dir dazu bei gelegenheit einen patch wenn es nicht selbst hinbekommst ;)

Titel: Re: In kaffeine die Anzahl der wählbaren LNBs erhöhen?
Beitrag von: kater am 23 August, 2009, 20:40
werd ich versuchen, danke dir.
Titel: Re: In kaffeine die Anzahl der wählbaren LNBs erhöhen?
Beitrag von: kater am 24 August, 2009, 18:15
hallo mtron, hab mir die Einträge mal angeschaut. Muß ich jetzt um zB ein LNB mehr zu bekommen, den kompletten Text, siehe dein code Feld, in der .cpp hinzufügen und in diesem die entsprechenden Einträge, zB lnb0 ->lnb5 oder LNB 1 settings -> LNB 5 settings entsprechend dem logischem Schema erweitern,
oder sind nur Teile davon betroffen?
Was mich irritiert, in jedem der Blöcke sind auch Angaben bezüglich rotor gemacht, wo ich nichts verändern möchte.
Weiterhin, welche Angaben in der dvbconfig.h müssen dazu ergänzt werden? Nur die sich auf LNB beziehen?
Antwort hat Zeit da ich morgen erst mal paar Tage verschwinde.
Danke
kater