source: trunk/PerianResources.r @ 1108

Revision 1108, 4.0 KB checked in by gbooker, 5 years ago (diff)

New system for defining resources. Hopefully this makes more sense

Line 
1/*
2 *  PerianResources.r
3 *  Perian
4 *
5 *  Created by Graham Booker on 7/10/09.
6 *  Copyright 2009 __MyCompanyName__. All rights reserved.
7 *
8 */
9
10#ifndef kCurrentTHNGResID
11#define kCurrentTHNGResID kStartTHNGResID
12#endif
13
14#ifdef kCodecName
15
16#ifdef AudioComponentType
17
18resource 'thga' (kCodecInfoResID) {
19        decompressorComponentType,              // Type
20        kCodecSubType,                                  // SubType
21        kCodecManufacturer,                             // Manufacturer
22        0,                                                              // Flags
23        0,                                                              // Flags Mask
24        0,                                                              // Code type
25        0,                                                              // Code ID
26        'strn',                                                 // Name Type
27        kCodecInfoResID,                                // Name ID
28        'stri',                                                 // Info Type
29        kCodecInfoResID,                                // Info ID
30        0,                                                              // Icon type
31        0,                                                              // Icon ID
32    'miss',                                                     // Alias component type
33    'base',                                                     // Alias component subtype
34    0,                                                          // Alias component manufacturer
35    0,                                                          // Alias component flags
36    0,                                                          // Alias component flags mask
37};
38
39#else  //!AudioComponentType
40
41resource 'cdci' (kCodecInfoResID) {
42        kCodecName,                                             // Type
43        1,                                                              // Version
44        1,                                                              // Revision level
45        kCodecManufacturer,                             // Manufacturer
46        kDecompressionFlags,                    // Decompression Flags
47        0,                                                              // Compression Flags
48        kFormatFlags,                                   // Format Flags
49        128,                                                    // Compression Accuracy
50        128,                                                    // Decomression Accuracy
51        200,                                                    // Compression Speed
52        200,                                                    // Decompression Speed
53        128,                                                    // Compression Level
54        0,                                                              // Reserved
55        1,                                                              // Minimum Height
56        1,                                                              // Minimum Width
57        0,                                                              // Decompression Pipeline Latency
58        0,                                                              // Compression Pipeline Latency
59        0                                                               // Private Data
60};
61
62#endif  //AudioComponentType
63
64resource 'strn' (kCodecInfoResID) {
65        kCodecName " (Perian)"
66};
67
68resource 'stri' (kCodecInfoResID) {
69        kCodecDescription
70};
71
72#endif
73
74resource 'thng' (kCurrentTHNGResID) {
75        decompressorComponentType,              // Type                 
76        kCodecSubType,                                  // SubType
77        kCodecManufacturer,                             // Manufacturer
78        0,                                                              // - use componentHasMultiplePlatforms
79        0,
80        0,
81        0,
82        'strn',                                                 // Name Type
83        kCodecInfoResID,                                // Name ID
84        'stri',                                                 // Info Type
85        kCodecInfoResID,                                // Info ID
86        0,                                                              // Icon Type
87        0,                                                              // Icon ID
88        kCodecVersion,                                  // Version
89        componentHasMultiplePlatforms + // Registration Flags
90        componentDoAutoVersion,                 // Registration Flags
91        0,                                                              // Resource ID of Icon Family
92        {
93                kDecompressionFlags,
94                'dlle',                                         // Entry point found by symbol name 'dlle' resource
95                kEntryPointID,                          // ID of 'dlle' resource
96                platformPowerPCNativeEntryPoint,
97                kDecompressionFlags,
98                'dlle',
99                kEntryPointID,
100                platformIA32NativeEntryPoint,
101        };
102};
103
104#define IncrementAmount 1
105#if (kCurrentTHNGResID  - kStartTHNGResID) & 128
106#define CurrentIncrementedAmount128 128
107#else
108#define CurrentIncrementedAmount128 0
109#endif
110
111#if (kCurrentTHNGResID  - kStartTHNGResID) & 64
112#define CurrentIncrementedAmount64 64
113#else
114#define CurrentIncrementedAmount64 0
115#endif
116
117#if (kCurrentTHNGResID  - kStartTHNGResID) & 32
118#define CurrentIncrementedAmount32 32
119#else
120#define CurrentIncrementedAmount32 0
121#endif
122
123#if (kCurrentTHNGResID  - kStartTHNGResID) & 16
124#define CurrentIncrementedAmount16 16
125#else
126#define CurrentIncrementedAmount16 0
127#endif
128
129#if (kCurrentTHNGResID  - kStartTHNGResID) & 8
130#define CurrentIncrementedAmount8 8
131#else
132#define CurrentIncrementedAmount8 0
133#endif
134
135#if (kCurrentTHNGResID  - kStartTHNGResID) & 4
136#define CurrentIncrementedAmount4 4
137#else
138#define CurrentIncrementedAmount4 0
139#endif
140
141#if (kCurrentTHNGResID  - kStartTHNGResID) & 2
142#define CurrentIncrementedAmount2 2
143#else
144#define CurrentIncrementedAmount2 0
145#endif
146
147#if (kCurrentTHNGResID  - kStartTHNGResID) & 1
148#define CurrentIncrementedAmount1 1
149#else
150#define CurrentIncrementedAmount1 0
151#endif
152
153#if kCurrentTHNGResID == kStartTHNGResID
154#define kCurrentTHNGResID kStartTHNGResID + IncrementAmount + CurrentIncrementedAmount128 + CurrentIncrementedAmount64 + CurrentIncrementedAmount32 + CurrentIncrementedAmount16 + CurrentIncrementedAmount8 + CurrentIncrementedAmount4 + CurrentIncrementedAmount2 + CurrentIncrementedAmount1
155#endif
156
157#undef kCodecSubType
158#undef kCodecName
159#undef kCodecDescription
Note: See TracBrowser for help on using the repository browser.