Als Neuling habe ich vor 3 Tagen in der Hilfe (siehe hilfe.tvbrowser.org/viewtopic.php?f=41&t=18967) gefragt, ob die Aufnahmesteuerung auch bei Radio-Bouquets funktioniert. Erst danach bin ich auf diesen Thread gestoßen. Daraufhin habe ich mich im Quellcode des Aufnahmesteuerung-Plugin auf die Suche gemacht. In DreamboxConnector.java bin ich fündig geworden. Dort steht:
Code: Alles auswählen
private final static String BOUQUET_LIST = "1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25)FROM BOUQUET \"bouquets.tv\" ORDER BY bouquet";
Wegen "bouquets.tv" ist klar, dass keine Radio-Bouquets abgerufen werden. An sich dürfte es gar nicht so schwer sein, die Unterstützung für Radio-Bouquets zu ergänzen. Da ich noch nie Java-Applikationen mit Eclipse, SVN und Maven programmiert habe, bin eben erstmal gescheitert. Sonst programmiere ich nur in JavaScript und Perl. Ich will ja auch nichts zerschießen. Vom Prinzip stelle ich mir die Anpassung wie folgt vor.
1.
Code: Alles auswählen
private final static String BOUQUET_LIST = "1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25)FROM BOUQUET \"bouquets.tv\" ORDER BY bouquet";
ersetzen durch
Code: Alles auswählen
private final static String[] BOUQUET_LIST = {"1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25)FROM BOUQUET \"bouquets.tv\" ORDER BY bouquet", "1:7:1:0:0:0:0:0:0:0:(type == 1) || (type == 17) || (type == 195) || (type == 25)FROM BOUQUET \"bouquets.radio\" ORDER BY bouquet"};
2. Weiter unten in dieser Datei müsste
Code: Alles auswählen
TreeMap<String, String> bouquets = getServiceDataBouquets(URLEncoder.encode(BOUQUET_LIST, "UTF8"));
for (Entry<String, String> entry : bouquets.entrySet()) {
String key = entry.getKey();
String bouqetName = entry.getValue();
TreeMap<String, String> map = getServiceData(URLEncoder.encode(key, "UTF8"));
for (Entry<String, String> mEntry : map.entrySet()) {
String mkey = mEntry.getKey();
allChannels.add(new DreamboxChannel(mkey, mEntry.getValue(), bouqetName));
}
}
ersetzt werden durch
Code: Alles auswählen
for (String ITEM : BOUQUET_LIST) {
TreeMap<String, String> bouquets = getServiceDataBouquets(URLEncoder.encode(ITEM, "UTF8"));
for (Entry<String, String> entry : bouquets.entrySet()) {
String key = entry.getKey();
String bouqetName = entry.getValue();
TreeMap<String, String> map = getServiceData(URLEncoder.encode(key, "UTF8"));
for (Entry<String, String> mEntry : map.entrySet()) {
String mkey = mEntry.getKey();
allChannels.add(new DreamboxChannel(mkey, mEntry.getValue(), bouqetName));
}
}
}
Oder so ähnlich. Gibt es einen Java-Experten, der das in dem Aufnahmesteuerung-Plugin einbauen könnte?