source: trunk/classes/bin/mpegext.rx@ 150

Last change on this file since 150 was 4, checked in by stevenhl, 8 years ago

Import modifications from cwmm-0_2_9-work-01_10_2006.zip dated 2006-08-27

File size: 2.6 KB
Line 
1/* rexx - Get the extension of MPEG types added using
2 the multimedia setup object. For example *.DAT.
3 This script is called by M_MMPG.
4*/
5
6call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
7call SysLoadFuncs
8
9allExt=""
10waveaudio=""
11
12/* Get MMOS2 directory */
13mmos2Dir=STRIP(TRANSLATE(value("MMBASE",,"OS2ENVIRONMENT")," ",";"))
14if LEFT(mmos2Dir,1)='\' THEN
15 mmpm2Ini=mmos2Dir||'mmpm2.ini'
16else
17 mmpm2Ini=mmos2Dir||'\mmpm2.ini'
18
19if STREAM(mmpm2ini, "C", "Query exists")='' THEN DO
20 /* MMPM2.INI not found */
21 rc=""
22 exit ""
23END
24
25/* Read ini */
26a=0
27DO WHILE LINES(mmpm2ini)
28 a=a+1
29 mmini.a=STRIP(LINEIN(mmpm2ini))
30END
31mmini.0=a
32ret=STREAM(mmpm2ini, "C", "close")
33
34/* Find [DRIVERS] section */
35DO a=1 to mmini.0
36 if ABBREV(TRANSLATE(mmini.a), "[DRIVERS]")=1 THEN DO
37 call parseDrivers
38 LEAVE
39 END
40END
41
42if waveaudio="" THEN DO
43 rc=""
44 exit ""
45END
46/*Now we have the wave device(s) */
47
48/* Get extensions from all devices */
49tempext=""
50DO b=1 to WORDS(waveaudio)
51 /* We may have several video devices */
52 /* We only want OpenMPEG by IBM */
53 IF POS("IBMMPEG", TRANSLATE(WORD(waveaudio, b))) >< 0 THEN
54 tempExt=tempExt||' '||parseWaveDevice(WORD(waveaudio, b))
55END
56
57/* Build string and remove known extensions */
58DO b=1 to WORDS(tempExt)
59 curExt=WORD(tempExt,b)
60 SELECT
61 WHEN TRANSLATE(curExt)="AVI" THEN NOP /* Already supported by a spezialized class */
62 WHEN TRANSLATE(curExt)="FLI" THEN NOP
63 WHEN TRANSLATE(curExt)="MOV" THEN NOP
64 WHEN TRANSLATE(curExt)="MPG" THEN NOP
65 WHEN TRANSLATE(curExt)="VBS" THEN NOP /* This one is also handled by MMMPG */
66
67
68 OTHERWISE
69 if allExt\='' THEN allExt=allExt||','
70 allExt=allExt||'*.'||STRIP(curExt)
71 END
72END
73
74return allExt
75EXIT
76
77/**************************************/
78
79parseDrivers:
80a=a+1
81DO WHILE LEFT(mmini.a,1)\='['
82 IF ABBREV(TRANSLATE(mmini.a),"DIGITALVIDEO")=1 THEN DO
83 thePos=POS("=",mmini.a)
84 if thePos=0 then return
85 waveaudio=TRANSLATE(RIGHT(mmini.a, LENGTH(mmini.a)-thePos)," ",",") /* There may be several entries */
86 return
87 END
88 a=a+1
89 IF a>mmini.0 THEN return
90END
91return
92
93parseWavedevice:
94
95theDevice='['ARG(1)']'
96DO a=1 to mmini.0
97 if ABBREV(TRANSLATE(mmini.a), TRANSLATE(theDevice))=1 THEN DO
98 /* Device section found */
99 a=a+1
100 DO WHILE LEFT(mmini.a,1)\='['
101 IF ABBREV(TRANSLATE(mmini.a),"EXTNAMES")=1 THEN DO
102 thePos=POS("=",mmini.a)
103 if thePos=0 then return
104 ext=SUBWORD(TRANSLATE(RIGHT(mmini.a, LENGTH(mmini.a)-thePos)," ",","),2)
105 return ext
106 END
107 a=a+1
108 IF a>mmini.0 THEN return ""
109 END
110 END
111END
112return ""
Note: See TracBrowser for help on using the repository browser.