source: branches/v2.9/classes/bin/audioext.rx@ 106

Last change on this file since 106 was 2, checked in by stevenhl, 8 years ago

Import sources from cwmm-full.zip dated 2005-03-21

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