source: branches/classes/bin/audioext.rx@ 173

Last change on this file since 173 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.4 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 and mmfind.exe.
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 waveaudio devices */
52 tempExt=tempExt||' '||parseWaveDevice(WORD(waveaudio, b))
53END
54
55/* Build string and remove known extensions */
56DO b=1 to WORDS(tempExt)
57 curExt=WORD(tempExt,b)
58 SELECT
59 WHEN TRANSLATE(curExt)="MP3" THEN NOP /* Already supported by a spezialized class */
60 WHEN TRANSLATE(curExt)="OGG" THEN NOP
61 WHEN TRANSLATE(curExt)="FLA" THEN NOP
62 WHEN TRANSLATE(curExt)="FLAC" THEN NOP
63 WHEN TRANSLATE(curExt)="WAV" THEN NOP
64
65 OTHERWISE
66 if allExt\='' THEN allExt=allExt||','
67 allExt=allExt||'*.'||STRIP(curExt)
68 END
69END
70return allExt
71EXIT
72
73/**************************************/
74
75parseDrivers:
76a=a+1
77DO WHILE LEFT(mmini.a,1)\='['
78 IF ABBREV(TRANSLATE(mmini.a),"WAVEAUDIO")=1 THEN DO
79 thePos=POS("=",mmini.a)
80 if thePos=0 then return
81 waveaudio=TRANSLATE(RIGHT(mmini.a, LENGTH(mmini.a)-thePos)," ",",")
82 return
83 END
84 a=a+1
85 IF a>mmini.0 THEN return
86END
87return
88
89parseWavedevice:
90
91theDevice='['ARG(1)']'
92DO a=1 to mmini.0
93 if ABBREV(TRANSLATE(mmini.a), TRANSLATE(theDevice))=1 THEN DO
94 /* Device section found */
95 a=a+1
96 DO WHILE LEFT(mmini.a,1)\='['
97 IF ABBREV(TRANSLATE(mmini.a),"EXTNAMES")=1 THEN DO
98 thePos=POS("=",mmini.a)
99 if thePos=0 then return
100 ext=SUBWORD(TRANSLATE(RIGHT(mmini.a, LENGTH(mmini.a)-thePos)," ",","),2)
101 return ext
102 END
103 a=a+1
104 IF a>mmini.0 THEN return ""
105 END
106 END
107END
108return ""
Note: See TracBrowser for help on using the repository browser.