PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : GPRM's in DVDlab Pro



Ashoff
2. October 2004, 16:18
Der Sinn der Splitter Box in DLPro ist mir soweit klar.
Doch das Erstellen der Kommandos noch völlig unklar.
Was bedeutet die Gleichung GPRM=0?
Worauf bezieht sich die "0"?
Worauf beziehe ich meine Zahlenwerte?
Kann mir jemand an einem ganz simplen Beispiel den Einsatz einer Splitter Box mal vorführen. In ganz einfachen Worten.
danke.

LR1
2. October 2004, 19:16
Hier (http://forum.gleitz.info/showthread.php?t=14771) ist ein Thread, wo ein paar Links zu dem ganzen Thema sind, wenn danach noch was unklar sein sollte meldest dich wieder.

Ashoff
4. October 2004, 13:19
Danke für den Tip. Habe mir den Thread schon vor zwei Wochen angeschaut. Ist natürlich recht komplex.
Ein einfaches Beispiel würde den Weg über Moskau vieleicht gleich zum Ziel des Verständnisses führen.
Versuch es mal.
Danke

BJ1
4. October 2004, 14:25
GPRM0=0 ist keine Gleichung, sondern eine Zuweisung. Das bedeutet nichts anderes, als dem General Parameter Register Memory mit der Nummer 0 (das erste Register) einen Wert 0 zuzuweisen (reinzuschreiben). Mit diesem Register kann ich jetzt so ziemlich alles machen, wie z.B. rechnen, mit anderen Registern vergleichen usw usf.

Möchte man sich mit der VM-Programmierung auseinandersetzen, sollte man
a) sich LRs Link zu Gemüte ziehen
b) Grundkenntnisse in der Programmierung haben (Basic, Pascal etc. reicht).

Gruss BJ1

LR1
4. October 2004, 18:59
Tja, BJ1 hat es ja schon gesagt, aber ich will es nicht umsonst geschrieben haben und nebenbei gesagt,
ich glaube ich kann es nicht einfach erklären und hoffe es ist anhand dieses Beispiels verständlich.
Ist sozusagen eine Alternative zu dem Projekt von BJ1 (http://forum.gleitz.info/showthread.php?t=18002) .

Nun gut, versuchen wir es mal.

Nehmen wir an du hast einen Film mit 10 Kapiteln.
Im RootMenü hast du einen Play All Button und 10 Buttons zum anspringen einzelner Kapitel.
Nun kannst du per Button Command einem GPRM einen Wert zuweisen mit z.B.
GPRM2 = Wert
und gleichzeitig noch einen Link setzen.
Den Play all Button verlinkst du direkt, also mit JumpVTS_TT1 oder LinkTailPGC
Die anderen bekommen folgende VM-Commands

Play All-->JumpVTS_TT1 oder LinkTailPGC
Button 1-->GPRM2 = 1, LinkTailPGC GPRM2 wird auf 1 gesetzt und Sprung zu den PostCmds
Button 2-->GPRM2 = 2, LinkTailPGC
u.s.w.
Und als PostCmd im Menü wieder JumpVTS_TT1 Springe zum Title 1

Im Film als PreCommands :
1 If (GPRM2 == 2) LinkPTT 2 Wenn GPRM2 gleich 2 dann springe zu Kapitel 2
2 If (GPRM2 == 3) LinkPTT 3 If (GPRM2 = 1) braucht man nicht
u.s.w.

Und als CellCmd bei jedem Kapitel :
1 If (GPRM2 != 0), LinkTailPGC Wenn GPRM2 nicht gleich 0 wird zu den PostCmds gesprungen
ansonsten weitergespielt (hier hast du einen Splitter)
Tipp an dieser Stelle: In DVDlab nur einmal eintragen und nach dem Compilen mit PgcEdit
das Command jeder Cell zuweisen, sonst hat man das selbe Command 10 mal drinstehen.

Als PostCmd im Film:
1 CallSS VTSM (menu ROOT, rsm_cell 1) Springe zum Rootmenü

Nun ist man wieder im Menü und bevor man jetzt mit GPRM2 = 0 das Register zurücksetzt auf 0,
kann man den zum selektieren des nächsten Buttons benutzen wenn man will.
Dazu folgende PreCommands im RootMenü:

1 If (GPRM2 == 0) Goto 7
2 GPRM2 += 1 Der Wert im GPRM2 wird um 1 erhöht
3 GPRM2 *=1024 wird mit 1024 multiplitiert
4 GPRM12 = GPRM2 Wert von GPRM2 wird an GPRM12 übergeben
5 GPRM2 = 0 und kann nun gelöscht werden
6 Goto 10 Sprung zur Zeile 10 nach welcher das Button HiLite gesetzt wird
(Interne Programmierung von DVDlab)

Sprich wenn man ein Kapitel über einen KapitelButton angesprungen hat und
danach wieder ins Menü kommt dann wird der Button des Nächsten Kapitels selektiert.

So ich glaub ich habe fertig. Vielleicht habe ich noch irgendwo nen Wurm drin,
wenn jemand einen findet bitte nicht essen, ich brauche ihn zum Angeln.

LigH
5. October 2004, 09:28
Ein kleiner vielleicht: In der Sprachfamilie 'C' wird ein einfaches Gleichheitszeichen '=' für Zuweisungen benutzt; das doppelte Gleichheitszeichen dient dem Vergleich auf Gleichheit - aber dann gehört zwischen die beiden kein Leerzeichen. Hab das mal so überarbeitet.

LR1
5. October 2004, 09:47
Ja, das Leerzeichen habe ich im Word reingetan, damit es auch deutlich ist, dass es zwei sind, habe dann nicht mehr dran gedacht, dass es hier anders dargestellt wird.