API-Unterschiede TF5k - TMS - Kommentare

TAPs für die SRP- und CRP-Serie
Ameise
Topfazubi
Topfazubi
Beiträge: 30
Registriert: Do 22. Jan 2009, 20:33
Receivertyp: TF 5000PVR Masterpiece
Wohnort: NRW

AW: API-Unterschiede TF5k - TMS - Kommentare

#21

Beitrag von Ameise » So 11. Okt 2009, 16:45

Ich habe noch ein Anfängerfrage :cry: (betrifft den Masterpiece!!! Soll ich lieber im TAP Unterforum posten??)

Ich versuche gerade Pixel zu malen. Sie sollen weiß werden (nicht transparent!!).
Wenn ich folgendes

Code: Alles auswählen

unsigned int bitmap[14][18];
word rgn= TAP_Osd_Create(50, 40, 680, 450, 0, FALSE );
for (i=0; i<18; i++)
   for (j=0; j<14; j++)
      bitmap[j][i]= COLOR_White;
TAP_Osd_DrawPixmap(rgn, 40, 40, 14, 18, bitmap, FALSE, OSD_1555 );
mache, erhalte ich ein transparentes weiß.
Wenn ich anstatt COLOR_White 0x7FFF (=alpha 0) nehme, wird nichts angezeigt.
Mit
TAP_Osd_FillBox(rgn, 40, 40, 14, 18, COLOR_White);
wird kein transparentes weiß angezeigt.

Wie bekomme ich bei TAP_Osd_DrawPixmap ein "richtiges" weiß?
TF 5000MP FW Jan 2007

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28924
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: API-Unterschiede TF5k - TMS - Kommentare

#22

Beitrag von FireBird » So 11. Okt 2009, 18:33

Du meinst, es ist weiß, aber ein wenig durchsichtig? Das wäre die globale Transparenzeinstellung im Menü.

Ameise
Topfazubi
Topfazubi
Beiträge: 30
Registriert: Do 22. Jan 2009, 20:33
Receivertyp: TF 5000PVR Masterpiece
Wohnort: NRW

AW: API-Unterschiede TF5k - TMS - Kommentare

#23

Beitrag von Ameise » So 11. Okt 2009, 19:30

FireBird hat geschrieben:Du meinst, es ist weiß, aber ein wenig durchsichtig? Das wäre die globale Transparenzeinstellung im Menü.


Ja, ganz genau.
Transparenz ist ja ganz schön, aber warum wird das nur bei TAP_Osd_DrawPixmap durchsichtig dargestellt. Wenn ich TAP_Osd_FillBox oder TAP_Osd_PutPixel verwende, sind die Pixel nicht durchsichtig :confused:

Und ich dachte, dass man über das Alpha Bit in der Farbe genau das an und ausschalten kann.
Scheint aber irgendwie nicht der Fall zu sein.
Zuletzt geändert von Ameise am So 11. Okt 2009, 19:32, insgesamt 1-mal geändert.
TF 5000MP FW Jan 2007

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28924
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: API-Unterschiede TF5k - TMS - Kommentare

#24

Beitrag von FireBird » So 11. Okt 2009, 19:38

Ich bin mir immer noch nicht sicher, ob ich Dich richtig verstehe. Ist es komplett durchsichtig, oder wird schon Farbe gemalt? Der MP kann nämlich einzelne Regionen nicht mit unterschiedlicher Transparenz malen, sondern nur eine ganze Ebene hat immer die gleiche Transparenz. Also entweder ist die ganze TAP-Plane ein bisserl durchsichtig, oder nicht.

/Edit: das Alpha-Bit steuert nur, ob komplett durchsichtig, oder nicht.

Ameise
Topfazubi
Topfazubi
Beiträge: 30
Registriert: Do 22. Jan 2009, 20:33
Receivertyp: TF 5000PVR Masterpiece
Wohnort: NRW

AW: API-Unterschiede TF5k - TMS - Kommentare

#25

Beitrag von Ameise » So 11. Okt 2009, 19:50

Hallo Firebird,

hier ist mein Code, damit du es dir vielleicht selber anschauen kannst:

Code: Alles auswählen

#include "tap.h"

#define ID_FM_TEST 0x90980002

TAP_ID( ID_FM_TEST );
TAP_PROGRAM_NAME("Test");
TAP_AUTHOR_NAME("A");
TAP_DESCRIPTION("Test");
TAP_ETCINFO(__DATE__);


dword TAP_EventHandler( word event, dword param1, dword param2 )
{
  return param1;
}

int TAP_Main(void)
{
	int i, j;
	unsigned int bitmap[50][50];
	word rgn= TAP_Osd_Create(50, 40, 680, 450, 0, FALSE );

	for (i=0; i<50; i++)
		for (j=0; j<50; j++)
			bitmap[j][i]= COLOR_White;

  TAP_Osd_FillBox(rgn, 40, 40, 50, 50, COLOR_White);
	TAP_Osd_DrawPixmap(rgn, 40, 100, 50, 50, bitmap, TRUE, OSD_1555 );

	for (i=0;i < 50; i++)
	{
		TAP_Osd_PutPixel(rgn, 100+i, 80, COLOR_White);
		TAP_Osd_PutPixel(rgn, 100+i, 81, COLOR_White);
		TAP_Osd_PutPixel(rgn, 100+i, 82, COLOR_White);
	}

	TAP_Delay(1000);

	TAP_Osd_Delete(rgn);

	return 0;
}
Ich male immer mit COLOR_White. Mal ist es wirklich weiß. Mal kann man das Fernsehprogramm durchscheinen sehen.
Ist das ein BUG oder so gewollt?
Zuletzt geändert von Ameise am So 11. Okt 2009, 19:52, insgesamt 1-mal geändert.
TF 5000MP FW Jan 2007

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28924
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: API-Unterschiede TF5k - TMS - Kommentare

#26

Beitrag von FireBird » So 11. Okt 2009, 20:12

Ich verstehe. :thinker:

Ameise
Topfazubi
Topfazubi
Beiträge: 30
Registriert: Do 22. Jan 2009, 20:33
Receivertyp: TF 5000PVR Masterpiece
Wohnort: NRW

AW: API-Unterschiede TF5k - TMS - Kommentare

#27

Beitrag von Ameise » So 11. Okt 2009, 20:16

Es wäre super, wenn jemand mit einem 5500 oder TMS das mal ausprobieren könnte.

Oder hast du einen Firebird??

Ich habe ja jetzt einen Workaround gefunden (PutPixel anstatt DrawPixmap verwenden). Ist aber trotzdem
unschön...
TF 5000MP FW Jan 2007

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28924
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: API-Unterschiede TF5k - TMS - Kommentare

#28

Beitrag von FireBird » So 11. Okt 2009, 20:23

Ich verstehe bezog sich auf einen Test mit meinem Masterpiece. :wink: Es wird eindeutig nur jede 2. Spalte mit weissen Pixeln gefüllt (Gegentest mit PutPixel). Scheint wohl ein Problem mit dem Speicherlayout zu sein.

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28924
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: API-Unterschiede TF5k - TMS - Kommentare

#29

Beitrag von FireBird » So 11. Okt 2009, 20:26

Problem gefunden. Nachdem es sich um ein 1555-Format handelt, muss natürlich auch Dein Bitmap im word-Alignment vorliegen.

Code: Alles auswählen

unsigned short int bitmap[50][50];

Ameise
Topfazubi
Topfazubi
Beiträge: 30
Registriert: Do 22. Jan 2009, 20:33
Receivertyp: TF 5000PVR Masterpiece
Wohnort: NRW

AW: API-Unterschiede TF5k - TMS - Kommentare

#30

Beitrag von Ameise » So 11. Okt 2009, 20:52

Verstehe ich es richtig, dass int 4 Byte und short int nur 2 Byte haben?

:patsch:

Vielen Dank Firebird :hello: :hello: :hello: :thanks: :thanks: :thanks: :thanks: :thanks:


EDIT: Kaum macht man es richtig, sehe ich nur noch weiß :wink:
Zuletzt geändert von Ameise am So 11. Okt 2009, 20:58, insgesamt 4-mal geändert.
TF 5000MP FW Jan 2007

Benutzeravatar
xyzzyx
TAPPortierer
TAP<font color=DarkRed>Portierer</font>
Beiträge: 2099
Registriert: Sa 6. Jun 2009, 18:35
Receivertyp: SRP-2100 (TMS), **** Duo²
Receiverfirmware: verschiedene
Kontaktdaten:

AW: API-Unterschiede TF5k - TMS - Kommentare

#31

Beitrag von xyzzyx » Mo 12. Okt 2009, 17:02

Jean Pütz würde sagen:
Ich habe da mal was vorbereitet. :D

englische Übersetzung der API Unterschiede
MfG,
xyzzyx

Die Liste meiner portierten und meiner eigenen TAPs findet man hier

:bounce: Download: Homepage :bounce: Installieren: TAPtoDate :bounce: Beschreibungen: Topfield TAP-Seite :bounce:

Benutzeravatar
Twilight
Zauberküchencheflehrling mit extra Butter
Zauberküchencheflehrling mit extra Butter
Beiträge: 64899
Registriert: Fr 9. Dez 2005, 09:17
Receivertyp: 1 x SRP 2100(TMS) TFIR und .1 x SRP 2410 M
Wohnort: Wien Umgebung

AW: API-Unterschiede TF5k - TMS - Kommentare

#32

Beitrag von Twilight » Mo 12. Okt 2009, 17:23

xyzzyx hat geschrieben:Jean Pütz würde sagen:
Ich habe da mal was vorbereitet. :D

englische Übersetzung der API Unterschiede

spitzenklasse :!: :up: :pray:

twilight

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28924
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: API-Unterschiede TF5k - TMS - Kommentare

#33

Beitrag von FireBird » Mo 12. Okt 2009, 17:25

Ich habe den Link bei den englischen Australiern eingestellt.

Benutzeravatar
xyzzyx
TAPPortierer
TAP<font color=DarkRed>Portierer</font>
Beiträge: 2099
Registriert: Sa 6. Jun 2009, 18:35
Receivertyp: SRP-2100 (TMS), **** Duo²
Receiverfirmware: verschiedene
Kontaktdaten:

AW: API-Unterschiede TF5k - TMS - Kommentare

#34

Beitrag von xyzzyx » Mo 12. Okt 2009, 17:37

thx.
JDA habe ich es schonmal direkt geschrieben.
MfG,
xyzzyx

Die Liste meiner portierten und meiner eigenen TAPs findet man hier

:bounce: Download: Homepage :bounce: Installieren: TAPtoDate :bounce: Beschreibungen: Topfield TAP-Seite :bounce:

Benutzeravatar
xyzzyx
TAPPortierer
TAP<font color=DarkRed>Portierer</font>
Beiträge: 2099
Registriert: Sa 6. Jun 2009, 18:35
Receivertyp: SRP-2100 (TMS), **** Duo²
Receiverfirmware: verschiedene
Kontaktdaten:

AW: API-Unterschiede TF5k - TMS - Kommentare

#35

Beitrag von xyzzyx » Sa 17. Okt 2009, 23:06

Hier mal was zum Thema Gleitkomma-Berechnungen, das ich kürzlich entdeckt habe (betrifft TMS):

Das Problem war, dass bei sehr großen Werten (z.B. REC-Dateigrößen von 55 MB bis 15 GB in Byte-Angabe) keine Nachkommastellen berechnet wurden. In speziellen Fällen hat er sogar gar nichts angezeigt (auch nicht vor dem Komma).

Es handelt sich immer um double-Variablen. Jetzt könnte jemand sagen, dass es an der Datentyp-Begrenzung liegt. Allerdings war auch kein Unterschied zu float oder long double feststellbar.
Oder bezieht sich hierbei der größere Datentyp long double nicht auf die möglichen Werte vor dem Komma sondern eher auf die Genauigkeit, d.h. mehr Nachkommastellen?
float - 4 bytes
double - 8 bytes
long double - 8 bytes



Daher war hier z.B. das Umrechnen von Byte auf Kilobyte vorab nötig:

// eine Prozentanzeige für den Dateilesestand
calc1 = filepos / 1024;
calc2 = flen / 1024;
if (calc2 > 0) calc = calc1 * 100 / calc2; else calc = 0; //DIV0 vermeiden
TAP_SPrint(out, "%3.1f%%", calc);

Vorher war es:
if (flen > 0) calc = filepos * 100 / flen; else calc = 0; //DIV0 vermeiden
TAP_SPrint(out, "%3.1f%%", calc);
Dabei passierte es, dass meine Prozentanzeige während des Einlesens nach 78% wieder auf 0% zurücksprang (und nochmal bis 21% zählte), obwohl filepos definitiv bis flen hochlief.




Im nachfolgenden Fall half es nur, die Fileposition schrittweise erst von Byte auf Kilobyte und dann von Kilobyte auf Megabyte umzurechnen.

// eine Anzeige der bisher gelesenen Megabytes
calc = filepos / 1024;
calc = calc / 1024;
TAP_SPrint(out, "%4.1f MB", calc);

Vorher war es:
calc = filepos / (1024*1024);
TAP_SPrint(out, "%4.1f MB", calc);
Da zeigte er keine NKS, obwohl es mathematisch dasselbe wäre.


Zumindest funktionierte es mit den Umrechnungen erstmal für meine aktuellen Dateigrößen. Ob es bei noch größeren Dateien wieder Probleme gäbe, weiß ich momentan noch nicht.


Ansonsten gibts auch noch andere vom 5000er bekannte Probleme aufgrund eines Implementierungsfehlers.
MfG,
xyzzyx

Die Liste meiner portierten und meiner eigenen TAPs findet man hier

:bounce: Download: Homepage :bounce: Installieren: TAPtoDate :bounce: Beschreibungen: Topfield TAP-Seite :bounce:

Benutzeravatar
xyzzyx
TAPPortierer
TAP<font color=DarkRed>Portierer</font>
Beiträge: 2099
Registriert: Sa 6. Jun 2009, 18:35
Receivertyp: SRP-2100 (TMS), **** Duo²
Receiverfirmware: verschiedene
Kontaktdaten:

AW: API-Unterschiede TF5k - TMS - Kommentare

#36

Beitrag von xyzzyx » Di 20. Okt 2009, 19:44

Siehe hier:
Betrifft ja nicht nur PlayPCM sondern auch die TAP_Wav_Player-Funktionen, oder?
Das menusound Beispiel macht bei mir scheinbar auch keinen wav-Ton oder läuft es bei euch mit Ton?
MfG,
xyzzyx

Die Liste meiner portierten und meiner eigenen TAPs findet man hier

:bounce: Download: Homepage :bounce: Installieren: TAPtoDate :bounce: Beschreibungen: Topfield TAP-Seite :bounce:

Benutzeravatar
FireBird
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru
Beiträge: 28924
Registriert: Fr 9. Dez 2005, 09:59
Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k
Wohnort: Wien

AW: API-Unterschiede TF5k - TMS - Kommentare

#37

Beitrag von FireBird » Di 20. Okt 2009, 19:55

PlayPCM macht manchmal Krach, meist reagiert der Topf danach nicht mehr. Das ist noch auf der Bug-Liste.

Benutzeravatar
Töppi
TöppiHolic der mit dem h tanzt , Anstifter und Möchtegernstatusaufdecker
TöppiHolic der mit dem <font color=ed>h</font> tanzt <font color=#E9E9E9>,  Anstifter und Möchtegernstatusaufdecker</font>
Beiträge: 26843
Registriert: So 27. Aug 2006, 19:22
Receivertyp: 2410M
Receiverfirmware: Feb. 2014
Wohnort: Nähe Mainz

AW: API-Unterschiede TF5k - TMS - Kommentare

#38

Beitrag von Töppi » Sa 5. Dez 2009, 10:54

FireBird hat geschrieben:Jetzt wieder ein Unterschied:

Wollte man früher wissen, ob Timeshift gerade aktiv ist, mußte man die beiden Slots 0 und 1 abfragen und auf recType == RECTYPE_Timeshift testen. Beim TMS ist der Slot 2 für TS vorgesehen.

If one needs to know if time shift is active on a TF5k, it was necessary to check slots 0 and 1 and test for recType == RECTYPE_Timeshift. On the TMS, slot 2 is reserved for the TS details.

Code: Alles auswählen

TYPE_RecInfo          RecInfo;

TAP_Hdd_GetRecInfo(2, &RecInfo);
if(RecInfo.recType == RECTYPE_Timeshift)
{
  …
}


das erklärt manches..... Danke.
Gruß
Klaus :wink:
................
:topf: SRP-2410M

:respekt:
TAP's (Autostart):
| TMSDisplay | F*Skip TMS 3.xx | SmartEPG | SmartFiler | RebuildNAV | Automove TMS | TMSRemote | Callmonitor | SmartSeriesrename | Switch2FTA |

BluField62
Durfte nun endlich auch mal ein Statusanstifter sein

<div title=Der mit dem gaaanz anderen Statussymbol>Durfte nun endlich auch mal ein Statusanstifter sein</div>
Beiträge: 18273
Registriert: So 26. Okt 2008, 12:11

AW: API-Unterschiede TF5k - TMS - Kommentare

#39

Beitrag von BluField62 » Sa 5. Dez 2009, 11:02

Erklärt das vielleicht auch, dass ich bei aktiviertem TS keine Meldung "Prüfe Festplatte" bekomme, ohne aber doch?

Benutzeravatar
Töppi
TöppiHolic der mit dem h tanzt , Anstifter und Möchtegernstatusaufdecker
TöppiHolic der mit dem <font color=ed>h</font> tanzt <font color=#E9E9E9>,  Anstifter und Möchtegernstatusaufdecker</font>
Beiträge: 26843
Registriert: So 27. Aug 2006, 19:22
Receivertyp: 2410M
Receiverfirmware: Feb. 2014
Wohnort: Nähe Mainz

AW: API-Unterschiede TF5k - TMS - Kommentare

#40

Beitrag von Töppi » Sa 5. Dez 2009, 11:06

dein Problem bezieht sich auf eine Firmwareroutine, meine Bemerkung auf eine Änderung der API, die eine Fehlfunktion in einem TAP zur Folge hat, die mit dieser fehlenden Info zu lösen sind.....
Gruß
Klaus :wink:
................
:topf: SRP-2410M

:respekt:
TAP's (Autostart):
| TMSDisplay | F*Skip TMS 3.xx | SmartEPG | SmartFiler | RebuildNAV | Automove TMS | TMSRemote | Callmonitor | SmartSeriesrename | Switch2FTA |

Antworten

Zurück zu „SRP/CRP TAP-Bereich“