home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / OTL-MS02.DMS / in.adf / Guide / MovieShop / rexx / tl_u_Flip.msrx < prev    next >
Encoding:
Text File  |  1995-06-25  |  2.5 KB  |  109 lines

  1. /*
  2.  
  3. Effektmodul-Beispiel mit UPN Schnittliste
  4.  
  5. Stauchen und anschließendes Spreizen
  6.  
  7. Edwin Bielawski 10. 6. 95
  8.  
  9. */
  10.  
  11. OPTIONS RESULTS
  12. OPTIONS FAILAT 21
  13.  
  14. /* ----------------------------------------------------- */
  15.  
  16. Example = 'U_Flip'
  17.  
  18. InitRun = GetClip('mstl_'Example)
  19. /* ----------------------------------------------------- */
  20.  
  21. If ("MS_GUIDE:Rexx/tl_init.msrx"(UPN 2)>0) Then Exit 10
  22.  
  23. /* ----------------------------------------------------- */
  24.  
  25. Path_Flip = InitOperator('Flip')
  26. Path_Background = InitOperator('Background')
  27. Path_Compose = InitOperator('Compose')
  28.  
  29. ADDRESS MOVIESHOP
  30.  
  31. /* ----------------------------------------------------- */
  32.  
  33. TIMETONUMBER '1:00'
  34. Offset = RESULT
  35.  
  36. /* ----------------------------------------------------- */
  37.  
  38. GOTOSCENE 'NUMBER 0'
  39. If (RC>0) Then Exit 10
  40. GETFRAMENUMBER
  41. If (RC>0) Then Exit 10
  42. Sc1Len = RESULT
  43.  
  44. SCENETOTIMELINE 'TIME 0 TRACK 1'
  45. If (RC>0) Then Exit 10                  /* Erste Szene */
  46.  
  47. /* ----------------------------------------------------- */
  48.  
  49. GOTOSCENE 'NUMBER 1'
  50. If (RC>0) Then Exit 10
  51. GETFRAMENUMBER
  52. If (RC>0) Then Exit 10
  53. Sc2Len = RESULT
  54.  
  55. Sc2Pos = ((Sc1Len%2+Offset)%Offset)*Offset /* Runden auf Sekunden */
  56.  
  57. If (Sc2Pos>Sc1Len) Then Sc2Pos=0
  58. If ((Sc1Len-Sc2Pos)>Offset) Then Sc2Pos=Sc1Len-Offset
  59. If ((Sc2Pos+Sc2Len)<Sc1Len) Then Sc2Pos=Sc1Len-Sc2Len
  60.  
  61. NUMBERTOTIME Sc2Pos
  62. Sc2PosTime = RESULT
  63.  
  64. SCENETOTIMELINE 'TIME' Sc2PosTime 'TRACK 0'
  65. If (RC>0) Then Exit 10                  /* Zweite Szene */
  66.  
  67. /* ----------------------------------------------------- */
  68.  
  69. Op1Len = Sc1Len-Sc2Pos
  70. Op2Len = Op1len % 2
  71.  
  72. NUMBERTOTIME Op1Len
  73. Op1LenTime = RESULT
  74.  
  75. NUMBERTOTIME Op2Len
  76. Op2LenTime = RESULT
  77.  
  78. NUMBERTOTIME Sc1Len - Op2Len
  79. Op2PosTime = RESULT
  80.  
  81. EFFECTTOTIMELINE Path_Flip 'TRACK 2 TIME' Sc2PosTime 'LENGTH' Op1LenTime
  82. If (RC>0) Then Exit 10
  83.  
  84. EFFECTTOTIMELINE Path_Background 'TRACK 3 TIME' Op2PosTime 'LENGTH' Op2LenTime
  85. If (RC>0) Then Exit 10
  86.  
  87. EFFECTTOTIMELINE Path_Compose 'TRACK 4 TIME' Op2PosTime 'LENGTH' Op2LenTime
  88. If (RC>0) Then Exit 10
  89.  
  90. Call "MS_GUIDE:Rexx/tl_calc.msrx"(Example 'Demo')
  91.  
  92. Exit 0
  93.  
  94. /* ----------------------------------------------------- */
  95.  
  96. InitOperator:
  97.   Parse ARG OpName
  98.  
  99.   Call "MS_GUIDE:Rexx/tl_search.msrx"(OpName)
  100.   OpFullName = GetClip('OpFullName')
  101.   Call SetClip('OpFullName')
  102.  
  103.   If (Exists('MS_GUIDE:Prefs/'Example'.'OpName)) Then ADDRESS COMMAND 'Copy >NIL:' 'MS_GUIDE:Prefs/'Example'.'OpName TO OpFullName'.prefs'
  104.   Else Do
  105.     Call SetClip('mstl_'Example,'1')
  106.     If (InitRun=1) Then ADDRESS COMMAND 'Copy >NIL:' OpFullName'.prefs' TO 'MS_GUIDE:Prefs/'Example'.'OpName
  107.   End
  108.   Return(OpFullName)
  109.