[MMIXER] Fix additional data size initialization for different audio formats (#6753)
[reactos.git] / base / applications / rapps / README.ENG
1 For more information about RAPPS, take a look at <https://reactos.org/wiki/RAPPS>
2
3 ADDING DOWNLOADABLE PROGRAMS TO THE RAPPS DATABASE
4 --------------------------------------------------
5
6 Each program entry consists of a text file formatted with an INI-like syntax.
7
8 They must be encoded in UTF-16 LE (Little Endian) or characters out of the ANSI range
9 will display broken mojibake, some editors like Notepad++ call this format UCS-2 Little Endian.
10
11 If you plan on including your program entry in the ReactOS source code versioning keep in mind
12 that entries are stored in UTF-8 without BOM (Byte Order Mask) for VCS friendliness.
13
14 They get automatically converted to UTF-16 when creating the compressed rappmgr.cab package,
15 which is how clients obtain their program lists every time a Database upgrade is triggered.
16
17 Also, each [Section] is language-independent and individual, you can override the URL to a source
18 program or any other field by adding a language-specific [Section.], followed by the language code.
19
20 NOTE: You can find a complete listing of LCIDs and language names here, includes neutral codes:
21 <https://msdn.microsoft.com/en-us/library/windows/desktop/dd318693%28v=vs.85%29.aspx>
22
23 Now RAPPS also accepts neutral language codes, meaning that you can do things like this:
24
25 ; Default English fallback, used if everything else fails.
26 [Section]
27 Name = Name in English
28
29 ; Neutral Spanish, used if the specific variant of Spanish does not match.
30 [Section.0a]
31 Name = Name in Generic Spanish
32
33 ; Spanish from Spain, used if the system is configured for it.
34 [Section.0c0a]
35 Name = Name in Castilian Spanish
36
37
38 You can also define an entry without English fallback to make it visible to certain users only.
39 For instance; software from 1C, which is mostly for Russian speakers and unusable for anyone else.
40
41 File format overview:
42
43 ; This is a INI-style comment, useful for adding additional information.
44 ; Lines starting with a ; character are skipped by the parser.
45
46 [Section]
47 Name = My fun stuff-o-matic
48 RegName = Name in Registry
49 Version = 1.1.1
50 License = GPL
51 Description = Shortish description giving some additional background information about what it does.
52 SizeBytes = 1594881
53 Category = 5
54 URLSite = https://example.org/
55 URLDownload = https://ftp.example.org/pub/installer.exe
56
57 [Section.0419] ; 0419 - for Russian language
58 Description = Description in Russian language
59 ...
60
61
62 The mandatory fields are: Name, Category and URLDownload
63 All other fields are completely optional and can be skipped.
64
65 List of valid categories:
66 1 - Audio
67 2 - Video
68 3 - Graphics
69 4 - Games
70 5 - Internet
71 6 - Office
72 7 - Development
73 8 - Edutainment
74 9 - Engineering
75 10 - Finance
76 11 - Science
77 12 - Tools
78 13 - Drivers
79 14 - Libraries
80 15 - Themes
81 16 - Other
82
83 The official list of downloadable programs is kept on a public ReactOS server
84 and synced every time RAPPS is launched for the first time.
85
86 NOTE: You can find the most current URL in rapps.h, defined as APPLICATION_DATABASE_URL.
87
88 To generate a RAPPS database (usually a rappmgr.cab/rappmgr2.cab archive), use
89 the included scripts:
90
91 For Windows & other NT-derived: CreateCabFile.bat
92 For Linux & other UNIX flavors: CreateCabFile.sh
93
94
95 Once the rappmgr.cab is downloaded to the user's local %AppData%\RApps, RAPPS extracts it
96 using cabinet.dll inside %AppData%\RApps\appdb. After that, it will parse all the *.txt
97 files contained therein.
98
99 Every subsequent time, the program tries to access the local .txt files
100 until a database update is manually triggered by the user.
101
102 If the rappmgr.cab file is moved or just missing, RAPPS will download it again.